def docker(self, obj): """Construct docker client based on object. :param obj: Object for which the client is created. It is expected to be None when retrieving an existing client. When creating a client, it contains the user and project to be used. """ if self._dockerclient is not None: return self._dockerclient host_node = self.properties.get(self.HOST_NODE, None) host_cluster = self.properties.get(self.HOST_CLUSTER, None) ctx = context.get_admin_context() self.host = self._get_host(ctx, host_node, host_cluster) # TODO(Anyone): Check node.data for per-node host selection host_type = self.host.rt['profile'].type_name if host_type not in self._VALID_HOST_TYPES: msg = _("Type of host node (%s) is not supported") % host_type raise exc.InternalError(message=msg) host_ip = self._get_host_ip(obj, self.host.physical_id, host_type) if host_ip is None: msg = _("Unable to determine the IP address of host node") raise exc.InternalError(message=msg) url = 'tcp://%(ip)s:%(port)d' % { 'ip': host_ip, 'port': self.properties[self.PORT] } self._dockerclient = docker_driver.DockerClient(url) return self._dockerclient
def test_init(self, mock_docker): x_docker = mock_docker.return_value url = mock.Mock() sot = docker_v1.DockerClient(url) self.assertEqual(x_docker, sot._dockerclient) mock_docker.assert_called_once_with(base_url=url)
def test_container_delete(self, mock_client): mock_client.return_value = self._dockerclient url = mock.Mock() dockerclient = docker_driver.DockerClient(url) container = mock.Mock() res = dockerclient.container_delete(container) self.assertTrue(res) self._dockerclient.remove_container.assert_called_once_with(container)
def test_container_create(self, mock_client): mock_client.return_value = self._dockerclient url = mock.Mock() dockerclient = docker_driver.DockerClient(url) image = mock.Mock() dockerclient.container_create(image) self._dockerclient.create_container.assert_called_once_with( name=None, image=image, command=None)
def setUp(self, mock_docker): super(TestDocker, self).setUp() self.x_docker = mock.Mock() mock_docker.return_value = self.x_docker self.sot = docker_v1.DockerClient("abc")
def test_init(self, mock_client): mock_client.return_value = self._dockerclient url = mock.Mock() dockerclient = docker_driver.DockerClient(url)._dockerclient self.assertEqual(self._dockerclient, dockerclient)