Merge "Remove get_cpu_used from container driver"
This commit is contained in:
commit
a2be9ad956
|
@ -54,6 +54,9 @@ class ComputeNodeTracker(object):
|
|||
|
||||
def update_available_resources(self, context):
|
||||
resources = self.container_driver.get_available_resources()
|
||||
# We allow 'cpu_used' to be missing from the container driver,
|
||||
# but the DB requires it to be non-null so just initialize it to 0.
|
||||
resources.setdefault('cpu_used', 0)
|
||||
|
||||
# Check if the compute_node is already registered
|
||||
node = self._get_compute_node(context)
|
||||
|
|
|
@ -1098,24 +1098,6 @@ class DockerDriver(driver.ContainerDriver):
|
|||
total_disk = disk_usage.total / 1024 ** 3
|
||||
return int(total_disk * (1 - CONF.compute.reserve_disk_for_image))
|
||||
|
||||
def get_cpu_used(self):
|
||||
cpu_used = 0
|
||||
with docker_utils.docker_client() as docker:
|
||||
containers = docker.containers()
|
||||
for container in containers:
|
||||
cnt_id = container['Id']
|
||||
# Fixme: if there is a way to get all container inspect info
|
||||
# for one call only?
|
||||
inspect = docker.inspect_container(cnt_id)
|
||||
cpu_shares = inspect['HostConfig']['CpuShares']
|
||||
if cpu_shares:
|
||||
cpu_used += float(cpu_shares) / 1024
|
||||
else:
|
||||
if 'NanoCpus' in inspect['HostConfig']:
|
||||
nanocpus = inspect['HostConfig']['NanoCpus']
|
||||
cpu_used += float(nanocpus) / 1e9
|
||||
return cpu_used
|
||||
|
||||
def add_security_group(self, context, container, security_group):
|
||||
|
||||
with docker_utils.docker_client() as docker:
|
||||
|
|
|
@ -177,9 +177,6 @@ class ContainerDriver(object):
|
|||
def get_total_disk_for_container(self):
|
||||
return NotImplementedError()
|
||||
|
||||
def get_cpu_used(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
def attach_volume(self, context, volume_mapping):
|
||||
raise NotImplementedError()
|
||||
|
||||
|
@ -233,8 +230,6 @@ class ContainerDriver(object):
|
|||
data['os_type'] = info['os_type']
|
||||
data['os'] = info['os']
|
||||
data['kernel_version'] = info['kernel_version']
|
||||
cpu_used = self.get_cpu_used()
|
||||
data['cpu_used'] = cpu_used
|
||||
data['labels'] = info['labels']
|
||||
disk_total = self.get_total_disk_for_container()
|
||||
data['disk_total'] = disk_total
|
||||
|
|
|
@ -791,16 +791,6 @@ class TestDockerDriver(base.DriverTestCase):
|
|||
self.assertEqual({"dev.type": "product"}, host_info['labels'])
|
||||
self.assertEqual('fake-dir', host_info['docker_root_dir'])
|
||||
|
||||
def test_get_cpu_used(self):
|
||||
self.mock_docker.containers = mock.Mock()
|
||||
self.mock_docker.containers.return_value = [{'Id': '123456'}]
|
||||
self.mock_docker.inspect_container = mock.Mock()
|
||||
self.mock_docker.inspect_container.return_value = {
|
||||
'HostConfig': {'NanoCpus': 1.0 * 1e9,
|
||||
'CpuShares': 0}}
|
||||
cpu_used = self.driver.get_cpu_used()
|
||||
self.assertEqual(1.0, cpu_used)
|
||||
|
||||
def test_stats(self):
|
||||
self.mock_docker.stats = mock.Mock()
|
||||
mock_container = mock.MagicMock()
|
||||
|
@ -911,9 +901,7 @@ class TestDockerDriver(base.DriverTestCase):
|
|||
@mock.patch('zun.container.driver.ContainerDriver.get_host_mem')
|
||||
@mock.patch(
|
||||
'zun.container.docker.driver.DockerDriver.get_host_info')
|
||||
@mock.patch(
|
||||
'zun.container.docker.driver.DockerDriver.get_cpu_used')
|
||||
def test_get_available_resources(self, mock_cpu_used, mock_info, mock_mem,
|
||||
def test_get_available_resources(self, mock_info, mock_mem,
|
||||
mock_disk, mock_numa_cpu, mock_numa_mem,
|
||||
mock_output):
|
||||
self.driver = DockerDriver()
|
||||
|
@ -938,7 +926,6 @@ class TestDockerDriver(base.DriverTestCase):
|
|||
'runtimes': ['runc'],
|
||||
'enable_cpu_pinning': False,
|
||||
'docker_root_dir': '/var/lib/docker'}
|
||||
mock_cpu_used.return_value = 1.0
|
||||
mock_disk.return_value = 80
|
||||
data = self.driver.get_available_resources()
|
||||
self.assertEqual(_numa_topo_spec, data['numa_topology'].to_list())
|
||||
|
@ -950,7 +937,6 @@ class TestDockerDriver(base.DriverTestCase):
|
|||
self.assertEqual(0, data['paused_containers'])
|
||||
self.assertEqual(2, data['stopped_containers'])
|
||||
self.assertEqual(48, data['cpus'])
|
||||
self.assertEqual(1.0, data['cpu_used'])
|
||||
self.assertEqual('x86_64', data['architecture'])
|
||||
self.assertEqual('linux', data['os_type'])
|
||||
self.assertEqual('CentOS', data['os'])
|
||||
|
|
Loading…
Reference in New Issue