Multiple project updates

* upgrade Rally dependency to point to require 4.1.0

  This brings SQLAlchemy 2 support which is covered by
  unittests/functional tests now.

* dropping testtools test dep.

  We are dropping it just because standard unittest
  lib is good enough for our use

* deprecatng murani, sahara, senlin plugins as those projects are
  retired

Change-Id: I8ff6f8f8497907091a91c16a2e4a76051827397d
This commit is contained in:
Andriy Kurilin 2024-05-08 13:53:03 -07:00
parent c5cb9ba25b
commit 9d53318f04
11 changed files with 138 additions and 154 deletions

View File

@ -1,30 +0,0 @@
- job:
name: rally-task-murano
parent: rally-task-at-devstack
required-projects:
- name: openstack/devstack
- name: openstack/rally
- name: openstack/rally-openstack
- name: openstack/heat
- name: openstack/murano
vars:
devstack_localrc:
# TODO(frickler): drop this once heat no longer needs it
KEYSTONE_ADMIN_ENDPOINT: true
devstack_plugins:
rally-openstack: https://opendev.org/openstack/rally-openstack
murano: https://opendev.org/openstack/murano
heat: https://opendev.org/openstack/heat
devstack_services:
murano: true
# disable redundant services for the job
ceilometer-acentral: false
ceilometer-acompute: false
ceilometer-alarm-evaluator: false
ceilometer-alarm-notifier: false
ceilometer-anotification: false
ceilometer-api: false
ceilometer-collector: false
horizon: false
tempest: false
rally_task: rally-jobs/murano.yaml

View File

@ -20,6 +20,7 @@
- rally_openstack/task/cleanup/resources.py - rally_openstack/task/cleanup/resources.py
- rally_openstack/task/scenarios/barbican - rally_openstack/task/scenarios/barbican
- tests/ci/playbooks - tests/ci/playbooks
voting: false
- rally-task-cinder - rally-task-cinder
- rally-task-designate: - rally-task-designate:
files: files:
@ -51,9 +52,6 @@
- rally-task-mistral - rally-task-mistral
# it did not work for a long time. try to re-configure it # it did not work for a long time. try to re-configure it
#- rally-task-monasca #- rally-task-monasca
#- rally-task-murano:
# voting: false
- rally-task-neutron
- rally-task-neutron-trunk: - rally-task-neutron-trunk:
files: files:
- .zuul.d/zuul.yaml - .zuul.d/zuul.yaml
@ -68,8 +66,6 @@
- rally-task-neutron-with-extensions: - rally-task-neutron-with-extensions:
voting: false voting: false
- rally-task-nova - rally-task-nova
# it did not work for a long time
#- rally-task-senlin
#- rally-task-octavia: #- rally-task-octavia:
# voting: false # voting: false
- rally-task-telemetry: - rally-task-telemetry:
@ -91,15 +87,15 @@
- rally-openstack-docker-build - rally-openstack-docker-build
#- rally-task-basic-with-existing-users #- rally-task-basic-with-existing-users
- rally-task-simple-job - rally-task-simple-job
- rally-task-barbican: #- rally-task-barbican:
files: # files:
- .zuul.d/zuul.yaml # - .zuul.d/zuul.yaml
- rally-jobs/barbican.yaml # - rally-jobs/barbican.yaml
- rally_openstack/common/osclients.py # - rally_openstack/common/osclients.py
- rally_openstack/common/services/key_manager # - rally_openstack/common/services/key_manager
- rally_openstack/task/cleanup/resources.py # - rally_openstack/task/cleanup/resources.py
- rally_openstack/task/scenarios/barbican # - rally_openstack/task/scenarios/barbican
- tests/ci/playbooks # - tests/ci/playbooks
- rally-task-cinder - rally-task-cinder
#- rally-task-heat #- rally-task-heat
#- rally-task-ironic #- rally-task-ironic

View File

@ -35,7 +35,7 @@ Support of Python 3.6 and Python 3.7
Changed Changed
~~~~~~~ ~~~~~~~
Bump docker image to use Rally 4.0.0 Bump docker image to use Rally 4.1.0
Fixed Fixed
~~~~~ ~~~~~
@ -55,6 +55,16 @@ Fixed
* Heat template validation when multi users. * Heat template validation when multi users.
Deprecated
~~~~~~~~~~
Deprecate plugins of the following projects as they are marked as retired by
OpenStack governance.
* `Murano <https://review.opendev.org/c/openstack/governance/+/919358>`_
* `Sahara <https://review.opendev.org/c/openstack/governance/+/919374>`_
* `Senlin <https://review.opendev.org/c/openstack/governance/+/919347>`_
[2.3.0] - 2023-08-01 [2.3.0] - 2023-08-01
-------------------- --------------------

View File

@ -1,4 +1,4 @@
FROM xrally/xrally:4.0.0 FROM xrally/xrally:4.1.0
# "rally" user (which is selected by-default) is owner of "/rally" directory, # "rally" user (which is selected by-default) is owner of "/rally" directory,
# so there is no need to call chown or switch the user # so there is no need to call chown or switch the user

View File

@ -1,9 +1,9 @@
# of appearance. Changing the order has an impact on the overall integration # of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later. # process, which may cause wedges in the gate later.
requests!=2.20.0,!=2.24.0 # Apache License, Version 2.0 requests!=2.20.0,!=2.24.0 # Apache-2.0
rally>=3.4.0 # Apache License, Version 2.0 rally>=4.1.0 # Apache License, Version 2.0
# OpenStack related # OpenStack related
gnocchiclient # Apache Software License gnocchiclient # Apache Software License

View File

@ -15,8 +15,7 @@ pytest-xdist # MIT
coverage!=4.4 # Apache-2.0 coverage!=4.4 # Apache-2.0
ddt # MIT ddt # MIT
testtools # MIT
# docs # docs
docutils # public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt) docutils # BSD License/GNU General Public License (GPL)/Python Software Foundation License
Pygments # BSD-2-Clause Pygments # BSD-2-Clause

View File

@ -14,8 +14,7 @@
# under the License. # under the License.
import json import json
import re import re
import unittest
import testtools
from tests.functional import utils from tests.functional import utils
@ -28,7 +27,7 @@ TEST_ENV = {
} }
class DeploymentTestCase(testtools.TestCase): class DeploymentTestCase(unittest.TestCase):
def test_create_fromenv_list_show(self): def test_create_fromenv_list_show(self):
# NOTE(andreykurilin): `rally deployment create --fromenv` is # NOTE(andreykurilin): `rally deployment create --fromenv` is
@ -82,12 +81,12 @@ class DeploymentTestCase(testtools.TestCase):
"--filename %s" % file.filename) "--filename %s" % file.filename)
self.assertIn("t_create_file_debug", rally("deployment list")) self.assertIn("t_create_file_debug", rally("deployment list"))
self.assertEqual(config, rally("deployment config", getjson=True)) self.assertEqual(config, rally("deployment config", getjson=True))
e = self.assertRaises(utils.RallyCliError, rally, with self.assertRaises(utils.RallyCliError) as e_ctx:
"--debug deployment check") rally("--debug deployment check")
self.assertIn( self.assertIn(
"AuthenticationFailed: Could not find versioned identity " "AuthenticationFailed: Could not find versioned identity "
"endpoints when attempting to authenticate.", "endpoints when attempting to authenticate.",
e.output) e_ctx.exception.output)
def test_use(self): def test_use(self):
rally = utils.Rally() rally = utils.Rally()

View File

@ -14,12 +14,12 @@ import fnmatch
import io import io
import os import os
import re import re
import unittest
import rally_openstack import rally_openstack
import testtools
class TestFormat(testtools.TestCase): class TestFormat(unittest.TestCase):
def _check_lines_wrapping(self, doc_file, raw): def _check_lines_wrapping(self, doc_file, raw):
code_block = False code_block = False
text_inside_simple_tables = False text_inside_simple_tables = False

View File

@ -50,8 +50,9 @@ class RallyJobsTestCase(test.TestCase):
def _tox_job_sorter(job_name): def _tox_job_sorter(job_name):
python_maj_version = 0 python_maj_version = 0
python_min_version = 0 python_min_version = 0
_rally, _tox, job_name = job_name.split("-", 3) _rally, _tox, job_name = job_name.split("-", 2)
if job_name.startswith("py"): if job_name.startswith("py"):
job_name = job_name.split("-", 1)[0]
python_maj_version = int(job_name[2]) python_maj_version = int(job_name[2])
python_min_version = int(job_name[3:]) python_min_version = int(job_name[3:])
job_name = "py" job_name = "py"

View File

@ -15,11 +15,11 @@
import fixtures import fixtures
import os import os
import unittest
from unittest import mock from unittest import mock
import uuid import uuid
from oslo_config import fixture as cfg_fixture # noqa N311 from oslo_config import fixture as cfg_fixture # noqa N311
import testtools
from rally.common import db from rally.common import db
from rally import plugins from rally import plugins
@ -41,15 +41,28 @@ class DatabaseFixture(cfg_fixture.Config):
db.schema_create() db.schema_create()
class TestCase(testtools.TestCase): class TestCase(fixtures.TestWithFixtures, unittest.TestCase):
"""Test case base class for all unit tests.""" """Test case base class for all unit tests."""
def setUp(self): def setUp(self):
super(TestCase, self).setUp() super(TestCase, self).setUp()
self.addCleanup(mock.patch.stopall) self.addCleanup(mock.patch.stopall)
# TODO(andreykurilin): port existing code to use 'standard' flow
def assertRaises(
self,
expected_exception,
callable,
*args,
**kwargs,
):
with super().assertRaises(expected_exception) as ctx:
callable(*args, **kwargs)
return ctx.exception
def _test_atomic_action_timer(self, atomic_actions, name, count=1, def _test_atomic_action_timer(self, atomic_actions, name, count=1,
parent=[]): parent=None):
parent = parent or []
if parent: if parent:
is_found = False is_found = False
@ -76,9 +89,6 @@ class TestCase(testtools.TestCase):
% {"name": name, "count": count, % {"name": name, "count": count,
"actual_count": actual_count}) "actual_count": actual_count})
def assertSequenceEqual(self, iterable_1, iterable_2, msg=None):
self.assertEqual(tuple(iterable_1), tuple(iterable_2), msg)
class DBTestCase(TestCase): class DBTestCase(TestCase):
"""Base class for tests which use DB.""" """Base class for tests which use DB."""

View File

@ -1,124 +1,123 @@
alembic===1.9.4 alembic===1.13.1
appdirs===1.4.4 appdirs===1.4.4
attrs===23.1.0 attrs===23.2.0
autopage===0.5.1 autopage===0.5.2
Babel===2.12.1 Babel===2.14.0
bcrypt===4.0.1 bcrypt===4.1.2
cachetools===5.3.1 cachetools===5.3.3
certifi===2023.11.17 certifi===2024.2.2
cffi===1.15.1 cffi===1.16.0
charset-normalizer===3.2.0 charset-normalizer===3.3.2
click===8.1.7 click===8.1.7
cliff===4.4.0 cliff===4.6.0
cmd2===2.4.3 cmd2===2.4.3
cryptography===41.0.4 cryptography===42.0.5
debtcollector===2.5.0 debtcollector===3.0.0
decorator===5.1.1 decorator===5.1.1
distlib===0.3.7 distlib===0.3.8
dogpile.cache===1.2.2 dogpile.cache===1.3.2
fasteners===0.19 fasteners===0.19
filelock===3.12.4 filelock===3.13.3
futurist===2.4.1 futurist===3.0.0
gnocchiclient===7.0.8 gnocchiclient===7.0.8
google-auth===2.23.0 google-auth===2.29.0
idna===3.4 idna===3.6
iso8601===2.0.0 iso8601===2.1.0
Jinja2===3.1.2 jinja2===3.1.4
jmespath===1.0.1 jmespath===1.0.1
jsonpatch===1.33 jsonpatch===1.33
jsonpointer===2.4 jsonpointer===2.4
jsonschema===4.19.1 jsonschema===4.19.2
jsonschema-specifications===2023.7.1 jsonschema-specifications===2023.12.1
keystoneauth1===5.5.0 keystoneauth1===5.6.0
kubernetes===28.1.0 kubernetes===29.0.0
Mako===1.2.4 Mako===1.3.2
MarkupSafe===2.1.3 MarkupSafe===2.1.5
msgpack===1.0.6 msgpack===1.0.8
murano-pkg-check===0.3.0 murano-pkg-check===0.3.0
netaddr===0.9.0 netaddr===0.10.1
netifaces===0.11.0 netifaces===0.11.0
oauthlib===3.2.2 oauthlib===3.2.2
openstacksdk===2.1.0 openstacksdk===3.1.0
os-client-config===2.1.0 os-client-config===2.1.0
os-faults===0.2.7 os-faults===0.2.7
os-service-types===1.7.0 os-service-types===1.7.0
osc-lib===3.0.0 osc-lib===3.0.1
oslo.concurrency===5.3.0 oslo.concurrency===6.0.0
oslo.config===9.3.0 oslo.config===9.4.0
oslo.context===5.3.0 oslo.context===5.5.0
oslo.db===14.1.0 oslo.db===15.0.0
oslo.i18n===6.2.0 oslo.i18n===6.3.0
oslo.log===5.4.0 oslo.log===5.5.1
oslo.serialization===5.3.0 oslo.serialization===5.4.0
oslo.utils===7.0.0 oslo.utils===7.1.0
osprofiler===4.1.0 osprofiler===4.1.0
packaging===23.1 packaging===24.0
paramiko===3.3.1 paramiko===3.4.0
pbr===6.0.0 pbr===6.0.0
pip===23.3.2 pip===24.0
platformdirs===3.10.0 platformdirs===4.2.0
ply===3.11 ply===3.11
prettytable===3.9.0 prettytable===3.10.0
pyasn1===0.4.8 pyasn1===0.6.0
pyasn1-modules===0.3.0 pyasn1-modules===0.4.0
pycparser===2.21 pycparser===2.22
pyghmi===1.5.63 pyghmi===1.5.68
PyNaCl===1.5.0 PyNaCl===1.5.0
pyOpenSSL===23.2.0 pyOpenSSL===24.1.0
pyparsing===3.1.1 pyparsing===3.1.2
pyperclip===1.8.2 pyperclip===1.8.2
python-barbicanclient===5.6.1 python-barbicanclient===5.7.0
python-cinderclient===9.4.0 python-cinderclient===9.5.0
python-dateutil===2.8.2 python-dateutil===2.9.0.post0
python-designateclient===5.3.0 python-designateclient===6.0.1
python-glanceclient===4.4.0 python-glanceclient===4.5.0
python-heatclient===3.4.0 python-heatclient===3.5.0
python-ironicclient===5.4.0 python-ironicclient===5.6.0
python-keystoneclient===5.3.0 python-keystoneclient===5.4.0
python-magnumclient===4.3.0 python-magnumclient===4.4.0
python-manilaclient===4.7.0 python-manilaclient===4.8.0
python-mistralclient===5.1.0 python-mistralclient===5.2.0
python-monascaclient===2.8.0 python-monascaclient===2.8.0
python-muranoclient===2.7.0 python-muranoclient===2.8.0
python-neutronclient===11.1.0 python-neutronclient===11.2.0
python-novaclient===18.4.0 python-novaclient===18.6.0
python-octaviaclient===3.6.0 python-octaviaclient===3.7.0
python-openstackclient===6.4.0 python-openstackclient===6.6.0
python-saharaclient===4.2.0 python-saharaclient===4.2.0
python-senlinclient===3.1.0 python-senlinclient===3.1.0
python-subunit===1.4.3 python-subunit===1.4.4
python-swiftclient===4.4.0 python-swiftclient===4.5.0
python-troveclient===8.3.0 python-troveclient===8.4.0
python-watcherclient===4.2.0 python-watcherclient===4.4.0
python-zaqarclient===2.6.0 python-zaqarclient===2.7.0
pytz===2023.3.post1
PyYAML===6.0.1 PyYAML===6.0.1
rally===4.0.0 rally===4.1.0
referencing===0.30.2 referencing===0.34.0
requests===2.31.0 requests===2.31.0
requests-oauthlib===1.3.1 requests-oauthlib===1.3.1
requestsexceptions===1.4.0 requestsexceptions===1.4.0
rfc3986===2.0.0 rfc3986===2.0.0
rpds-py===0.10.3 rpds-py===0.18.0
rsa===4.9 rsa===4.9
semantic-version===2.10.0 semantic-version===2.10.0
setuptools===69.0.3 setuptools===69.2.0
simplejson===3.19.1 simplejson===3.19.2
six===1.16.0 six===1.16.0
SQLAlchemy===1.4.41 SQLAlchemy===2.0.29
stevedore===5.1.0 stevedore===5.2.0
testresources===2.0.1 testresources===2.0.1
testscenarios===0.5.0 testscenarios===0.5.0
testtools===2.7.0 testtools===2.7.1
typing-extensions===4.9.0 typing-extensions===4.11.0
tzdata===2023.3 tzdata===2024.1
ujson===5.8.0 ujson===5.9.0
urllib3===1.26.16 urllib3===1.26.18
virtualenv===20.24.5 virtualenv===20.25.1
warlock===2.0.1 warlock===2.0.1
wcwidth===0.2.6 wcwidth===0.2.13
WebOb===1.8.7 WebOb===1.8.7
websocket-client===1.6.3 websocket-client===1.7.0
wheel===0.42.0 wheel===0.43.0
wrapt===1.15.0 wrapt===1.16.0
yaql===2.0.1 yaql===3.0.0