All Classes Functions
hypervisor.docker_driver.DockerDriver Class Reference

docker driver for nfio. More...

Inheritance diagram for hypervisor.docker_driver.DockerDriver:

Public Member Functions

def __init__
 
def get_id
 Returns a container's ID. More...
 
def get_ip
 Returns a container's IP address. More...
 
def deploy
 Deploys a docker container. More...
 
def start
 Starts a docker container. More...
 
def restart
 Restarts a docker container. More...
 
def stop
 Stops a docker container. More...
 
def pause
 Pauses a docker container. More...
 
def unpause
 Unpauses a docker container. More...
 
def destroy
 Destroys a docker container. More...
 
def execute_in_guest
 Executed commands inside a docker container. More...
 
def guest_status
 Returns the status of a docker container. More...
 

Detailed Description

docker driver for nfio.

This class provides methods for managing docker containers.

Definition at line 20 of file docker_driver.py.

Member Function Documentation

def hypervisor.docker_driver.DockerDriver.deploy (   self,
  host,
  user,
  image_name,
  vnf_name,
  is_privileged = True 
)

Deploys a docker container.

Parameters
hostIP address or hostname of the machine where the docker container is to be deployed
username of the user who owns the VNF
image_namedocker image name for the VNF
vnf_namename of the VNF instance
is_privilegedif True then the container is deployed in privileged mode
Returns
docker container ID

Definition at line 166 of file docker_driver.py.

167  def deploy(self, host, user, image_name, vnf_name, is_privileged=True):
168  self._validate_host(host)
169  self._validate_image_name(image_name)
170  vnf_fullname = user + '-' + vnf_name
171  self._validate_cont_name(vnf_fullname)
172  dcx = self._get_client(host)
173  host_config = dict()
174  if is_privileged:
175  host_config['Privileged'] = True
177  container = dcx.create_container(
178  image=image_name,
179  hostname=host,
180  name=vnf_fullname,
181  host_config=host_config)
182  return container['Id']
def _error_handling
convert docker-py exceptions to nfio exceptions
def _get_client
Returns a Docker client.
def deploy
Deploys a docker container.
def hypervisor.docker_driver.DockerDriver.destroy (   self,
  host,
  user,
  vnf_name,
  force = True 
)

Destroys a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF
forceif set to False then a running VNF will not be destroyed. default is True

Definition at line 267 of file docker_driver.py.

268  def destroy(self, host, user, vnf_name, force=True):
269  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
271  dcx.remove_container(container=vnf_fullname, force=force)
def destroy
Destroys a docker container.
def _error_handling
convert docker-py exceptions to nfio exceptions
def hypervisor.docker_driver.DockerDriver.execute_in_guest (   self,
  host,
  user,
  vnf_name,
  cmd 
)

Executed commands inside a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF
cmdthe command to execute inside the container
Returns
The output of the command passes as cmd

Definition at line 284 of file docker_driver.py.

285  def execute_in_guest(self, host, user, vnf_name, cmd):
286  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
287  if self.guest_status(host, user, vnf_name) != 'running':
290  response = dcx.execute(vnf_fullname,
291  ["/bin/bash", "-c", cmd], stdout=True, stderr=False)
292  return response
def _error_handling
convert docker-py exceptions to nfio exceptions
def execute_in_guest
Executed commands inside a docker container.
def guest_status
Returns the status of a docker container.
def hypervisor.docker_driver.DockerDriver.get_id (   self,
  host,
  user,
  vnf_name 
)

Returns a container's ID.

Parameters
hostIP address or hostname of the machine where the docker container is deployed
username of the user who owns the VNF
vnf_namename of the VNF instance whose ID is being queried
Returns
docker container ID.

Definition at line 130 of file docker_driver.py.

131  def get_id(self, host, user, vnf_name):
132  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
133  return inspect_data['Id'].encode('ascii')
def get_id
Returns a container's ID.
def hypervisor.docker_driver.DockerDriver.get_ip (   self,
  host,
  user,
  vnf_name 
)

Returns a container's IP address.

Parameters
hostIP address or hostname of the machine where the docker container is deployed
username of the user who owns the VNF
vnf_namename of the VNF instance whose ID is being queried
Returns
docker container's IP.

Definition at line 145 of file docker_driver.py.

146  def get_ip(self, host, user, vnf_name):
147  if self.guest_status(host, user, vnf_name) != 'running':
149  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
150  return inspect_data['NetworkSettings']['IPAddress'].encode('ascii')
def get_ip
Returns a container's IP address.
def guest_status
Returns the status of a docker container.
def hypervisor.docker_driver.DockerDriver.guest_status (   self,
  host,
  user,
  vnf_name 
)

Returns the status of a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF
Returns
current state of the docker container

Definition at line 304 of file docker_driver.py.

305  def guest_status(self, host, user, vnf_name):
306  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
307  return inspect_data['State']['Status'].encode('ascii')
def guest_status
Returns the status of a docker container.
def hypervisor.docker_driver.DockerDriver.pause (   self,
  host,
  user,
  vnf_name 
)

Pauses a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF

Definition at line 238 of file docker_driver.py.

239  def pause(self, host, user, vnf_name):
240  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
242  dcx.pause(container=vnf_fullname)
def _error_handling
convert docker-py exceptions to nfio exceptions
def pause
Pauses a docker container.
def hypervisor.docker_driver.DockerDriver.restart (   self,
  host,
  user,
  vnf_name 
)

Restarts a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF

Definition at line 210 of file docker_driver.py.

211  def restart(self, host, user, vnf_name):
212  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
214  dcx.restart(container=vnf_fullname)
def _error_handling
convert docker-py exceptions to nfio exceptions
def restart
Restarts a docker container.
def hypervisor.docker_driver.DockerDriver.start (   self,
  host,
  user,
  vnf_name,
  is_privileged = True 
)

Starts a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF
is_privilegedif True then the container is started in privileged mode

Definition at line 194 of file docker_driver.py.

195  def start(self, host, user, vnf_name, is_privileged=True):
196  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
198  dcx.start(container=vnf_fullname,
199  dns=self.__dns_list,
200  privileged=is_privileged)
def _error_handling
convert docker-py exceptions to nfio exceptions
def start
Starts a docker container.
def hypervisor.docker_driver.DockerDriver.stop (   self,
  host,
  user,
  vnf_name 
)

Stops a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF

Definition at line 224 of file docker_driver.py.

225  def stop(self, host, user, vnf_name):
226  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
228  dcx.stop(container=vnf_fullname)
def _error_handling
convert docker-py exceptions to nfio exceptions
def stop
Stops a docker container.
def hypervisor.docker_driver.DockerDriver.unpause (   self,
  host,
  user,
  vnf_name 
)

Unpauses a docker container.

Parameters
hostIP address or hostname of the machine/VM where the docker container is deployed
username of the user
vnf_namename of the VNF

Definition at line 251 of file docker_driver.py.

252  def unpause(self, host, user, vnf_name):
253  dcx, vnf_fullname, inspect_data = self._lookup_vnf(host, user, vnf_name)
255  dcx.unpause(container=vnf_fullname)
def _error_handling
convert docker-py exceptions to nfio exceptions
def unpause
Unpauses a docker container.

The documentation for this class was generated from the following file: