Merge "Remove get_cpu_used from container driver"

This commit is contained in:
Zuul 2019-05-27 03:23:55 +00:00 committed by Gerrit Code Review
commit a2be9ad956
4 changed files with 4 additions and 38 deletions

View File

@ -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)

View File

@ -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:

View File

@ -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

View File

@ -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'])