From 63f0b1dd5a3d15b63e70d000af7c2741d1e32db2 Mon Sep 17 00:00:00 2001 From: Dong Ma Date: Sun, 22 Nov 2020 22:54:10 +0800 Subject: [PATCH] Update ceilometer zuul jobs and fix UT on python3 * Enable upload-git-mirror job to replicate to github.ibm.com * Enable python3 job and drop py2 job * Fixed the UT errors on python3 * Fixed the pep8: E501 line too long (83 > 79 characters) Change-Id: I6a15ff396282032e91732eaad632ea65db7c18e0 --- .zuul.yaml | 105 ++++++++++++++++++ ceilometer_zvm/compute/virt/zvm/inspector.py | 31 +++--- .../unit/compute/virt/zvm/test_inspector.py | 4 + tox.ini | 13 +-- 4 files changed, 131 insertions(+), 22 deletions(-) create mode 100644 .zuul.yaml diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..3a61ac9 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,105 @@ +- project: + templates: + - openstack-python3-ussuri-jobs + post: + jobs: + - ceilometer-zvm-upload-git-mirror + +- job: + name: ceilometer-zvm-upload-git-mirror + parent: upload-git-mirror + description: Mirrors x/ceilometer-zvm to iaasci/ceilometer-zvm + vars: + git_mirror_repository: iaasci/ceilometer-zvm + secrets: + - name: git_mirror_credentials + secret: ceilometer-zvm-secret + pass-to-parent: true + +- secret: + name: ceilometer-zvm-secret + data: + user: git + host: github.ibm.com + host_key: github.ibm.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1K6pnwsCh8hFCqvzWkb1y3ajXervgfokIdZ/VIURIItVBIINtH5Ynupt2cLLBMYysYjR1I/P4VNZf7bX+HejjJqMf92psXQ1VToyKeNZ+i01CrhZko11157veidnMwVmKoCIdrKpsLgqthJ6kXLrTqaVIQ1sh3lKZ0tFRsqgiwNbstwhRZe/MyUoDuzHZQPooxsiy5dBO+LpkovCShwVfZ3380UyAfScPrUZcX2zY/qmGDz4puXOWj/CQupoe76JoVenfwrjfTw2I+GoPxpZK6R47akoAekCO+Dw8VW4NnTDR6L7eGkclltQSC7HQ9MiFDB4Z49ONWQwotLdttDr5 + ssh_key: !encrypted/pkcs1-oaep + - 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 diff --git a/ceilometer_zvm/compute/virt/zvm/inspector.py b/ceilometer_zvm/compute/virt/zvm/inspector.py index 3d8b5b4..c9bf3e1 100644 --- a/ceilometer_zvm/compute/virt/zvm/inspector.py +++ b/ceilometer_zvm/compute/virt/zvm/inspector.py @@ -58,25 +58,28 @@ class ZVMInspector(virt_inspector.Inspector): nics_data = self._inspect_inst_data(instance, 'vnics') # Construct the final result for nic in nics_data: - yield virt_inspector.InterfaceStats(name=nic['nic_vdev'], - mac=None, - fref=None, - parameters=None, - rx_bytes=nic['nic_rx'], - rx_packets=nic['nic_fr_rx'], - rx_errors=None, - rx_drop=None, - tx_bytes=nic['nic_tx'], - tx_packets=nic['nic_fr_tx'], - tx_errors=None, - tx_drop=None - ) + yield virt_inspector.InterfaceStats( + name=nic['nic_vdev'], + mac=None, + fref=None, + parameters=None, + rx_bytes=nic['nic_rx'], + rx_bytes_delta=nic['nic_rx_delta'], + rx_packets=nic['nic_fr_rx'], + rx_errors=None, + rx_drop=None, + tx_bytes=nic['nic_tx'], + tx_bytes_delta=nic['nic_tx_delta'], + tx_packets=nic['nic_fr_tx'], + tx_errors=None, + tx_drop=None + ) def inspect_instance(self, instance, duration): inst_stats = self._inspect_inst_data(instance, 'stats') cpu_number = inst_stats['guest_cpus'] used_cpu_time = (inst_stats['used_cpu_time_us'] * units.k) - used_mem_mb = inst_stats['used_mem_kb'] / units.Ki + used_mem_mb = inst_stats['used_mem_kb'] // units.Ki # Construct the final result return virt_inspector.InstanceStats(cpu_number=cpu_number, cpu_time=used_cpu_time, diff --git a/ceilometer_zvm/tests/unit/compute/virt/zvm/test_inspector.py b/ceilometer_zvm/tests/unit/compute/virt/zvm/test_inspector.py index 250b9d3..74eb344 100644 --- a/ceilometer_zvm/tests/unit/compute/virt/zvm/test_inspector.py +++ b/ceilometer_zvm/tests/unit/compute/virt/zvm/test_inspector.py @@ -47,7 +47,9 @@ class TestZVMInspector(unittest.TestCase): 'nic_fr_rx': 99999, 'nic_fr_tx': 99999, 'nic_rx': 9999999, + 'nic_rx_delta': 9999999, 'nic_tx': 9999999, + 'nic_tx_delta': 9999999, 'nic_fr_rx_dsc': 0, 'nic_fr_tx_dsc': 0, 'nic_fr_rx_err': 0, @@ -57,7 +59,9 @@ class TestZVMInspector(unittest.TestCase): 'nic_fr_rx': 88888, 'nic_fr_tx': 88888, 'nic_rx': 8888888, + 'nic_rx_delta': 8888888, 'nic_tx': 8888888, + 'nic_tx_delta': 8888888, 'nic_fr_rx_dsc': 0, 'nic_fr_tx_dsc': 0, 'nic_fr_rx_err': 0, diff --git a/tox.ini b/tox.ini index cf4ebeb..f48f3b7 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,10 @@ [tox] minversion = 1.6 -envlist = pep8,py27 +envlist = pep8,py27,py36,py37,py38 skipsdist = True [testenv] +whitelist_externals = * usedevelop = True install_command = pip install -U {opts} {packages} setenv = @@ -11,17 +12,13 @@ setenv = deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -egit+https://github.com/openstack/ceilometer@master#egg=ceilometer -commands = python setup.py testr --slowest --testr-args='{posargs}' +commands = /bin/cp -r {toxinidir}/ceilometer_zvm/compute/virt/zvm \ + {toxinidir}/.tox/{envname}/src/ceilometer/ceilometer/compute/virt/ + python setup.py testr --slowest --testr-args='{posargs}' [testenv:pep8] commands = flake8 -[testenv:py27] -whitelist_externals = git -commands = /bin/cp -r {toxinidir}/ceilometer_zvm/compute/virt/zvm \ - {toxinidir}/.tox/py27/src/ceilometer/ceilometer/compute/virt/ - python setup.py testr --slowest --testr-args='{posargs}' - [testenv:venv] commands = {posargs}