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

View File

@ -35,7 +35,7 @@ Support of Python 3.6 and Python 3.7
Changed
~~~~~~~
Bump docker image to use Rally 4.0.0
Bump docker image to use Rally 4.1.0
Fixed
~~~~~
@ -55,6 +55,16 @@ Fixed
* 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
--------------------

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,
# 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
# 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
gnocchiclient # Apache Software License

View File

@ -15,8 +15,7 @@ pytest-xdist # MIT
coverage!=4.4 # Apache-2.0
ddt # MIT
testtools # MIT
# 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

View File

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

View File

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

View File

@ -50,8 +50,9 @@ class RallyJobsTestCase(test.TestCase):
def _tox_job_sorter(job_name):
python_maj_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"):
job_name = job_name.split("-", 1)[0]
python_maj_version = int(job_name[2])
python_min_version = int(job_name[3:])
job_name = "py"

View File

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