Updates for caracal testing support

These updates, on the master branch, are to support testing the caracal
packages and support of the charms for caracal.  They do NOT lock the charms
down, and don't change the testing branches to stable branches.

Change-Id: I6f8bd495a2078b5683a05a63124d7902d0a86f74
This commit is contained in:
Alex Kavanagh 2024-02-09 18:15:47 +00:00
parent 05b081bf5f
commit 007f302ed6
12 changed files with 79 additions and 93 deletions

View File

@ -1,7 +0,0 @@
# NOTES(lourot):
# * We don't install charmcraft via pip anymore because it anyway spins up a
# container and scp the system's charmcraft snap inside it. So the charmcraft
# snap is necessary on the system anyway.
# * `tox -e build` successfully validated with charmcraft 1.2.1
cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35.

View File

@ -32,9 +32,3 @@ bases:
- name: ubuntu
channel: "22.04"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "23.04"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "23.10"
architectures: [amd64, s390x, ppc64el, arm64]

View File

@ -545,7 +545,7 @@ class IdentityServiceContext(OSContextGenerator):
'internal_auth_url': internal_auth_url,
})
# we keep all veriables in ctxt for compatibility and
# we keep all variables in ctxt for compatibility and
# add nested dictionary for keystone_authtoken generic
# templating
if keystonemiddleware_os_release:
@ -557,6 +557,7 @@ class IdentityServiceContext(OSContextGenerator):
# NOTE(jamespage) this is required for >= icehouse
# so a missing value just indicates keystone needs
# upgrading
ctxt['admin_user_id'] = _resolve('service_user_id')
ctxt['admin_tenant_id'] = _resolve('service_tenant_id')
ctxt['admin_domain_id'] = _resolve('service_domain_id')
return ctxt

View File

@ -161,6 +161,7 @@ OPENSTACK_CODENAMES = OrderedDict([
('2022.2', 'zed'),
('2023.1', 'antelope'),
('2023.2', 'bobcat'),
('2024.1', 'caracal'),
])
# The ugly duckling - must list releases oldest to newest
@ -416,17 +417,6 @@ def get_os_version_codename(codename, version_map=OPENSTACK_CODENAMES,
error_out(e)
def get_os_version_codename_swift(codename):
'''Determine OpenStack version number of swift from codename.'''
# for k, v in six.iteritems(SWIFT_CODENAMES):
for k, v in SWIFT_CODENAMES.items():
if k == codename:
return v[-1]
e = 'Could not derive swift version for '\
'codename: %s' % codename
error_out(e)
def get_swift_codename(version):
'''Determine OpenStack codename that corresponds to swift version.'''
codenames = [k for k, v in SWIFT_CODENAMES.items() if version in v]
@ -846,14 +836,10 @@ def openstack_upgrade_available(package):
if not cur_vers:
# The package has not been installed yet do not attempt upgrade
return False
if "swift" in package:
codename = get_os_codename_install_source(src)
avail_vers = get_os_version_codename_swift(codename)
else:
try:
avail_vers = get_os_version_install_source(src)
except Exception:
avail_vers = cur_vers
try:
avail_vers = get_os_version_install_source(src)
except Exception:
avail_vers = cur_vers
apt.init()
return apt.version_compare(avail_vers, cur_vers) >= 1

View File

@ -246,6 +246,14 @@ CLOUD_ARCHIVE_POCKETS = {
'bobcat/proposed': 'jammy-proposed/bobcat',
'jammy-bobcat/proposed': 'jammy-proposed/bobcat',
'jammy-proposed/bobcat': 'jammy-proposed/bobcat',
# caracal
'caracal': 'jammy-updates/caracal',
'jammy-caracal': 'jammy-updates/caracal',
'jammy-caracal/updates': 'jammy-updates/caracal',
'jammy-updates/caracal': 'jammy-updates/caracal',
'caracal/proposed': 'jammy-proposed/caracal',
'jammy-caracal/proposed': 'jammy-proposed/caracal',
'jammy-proposed/caracal': 'jammy-proposed/caracal',
# OVN
'focal-ovn-22.03': 'focal-updates/ovn-22.03',
@ -279,6 +287,7 @@ OPENSTACK_RELEASES = (
'zed',
'antelope',
'bobcat',
'caracal',
)
@ -308,6 +317,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([
('kinetic', 'zed'),
('lunar', 'antelope'),
('mantic', 'bobcat'),
('noble', 'caracal'),
])

View File

@ -15,11 +15,9 @@ description: |
nova-scheduler, nova-api and nova-conductor services.
docs: https://discourse.charmhub.io/t/nova-cloud-controller-docs-index/10551
tags:
- openstack
- openstack
series:
- jammy
- lunar
- mantic
- jammy
extra-bindings:
public:
admin:

View File

@ -92,7 +92,7 @@ applications:
neutron-security-groups: true
to:
- '5'
channel: latest/edge
channel: 2024.1/edge
keystone:
charm: ch:keystone
@ -101,7 +101,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '6'
channel: latest/edge
channel: 2024.1/edge
neutron-gateway:
charm: ch:neutron-gateway
@ -111,7 +111,7 @@ applications:
bridge-mappings: physnet1:br-ex
to:
- '7'
channel: latest/edge
channel: 2024.1/edge
glance:
charm: ch:glance
@ -120,11 +120,11 @@ applications:
openstack-origin: *openstack-origin
to:
- '8'
channel: latest/edge
channel: 2024.1/edge
neutron-openvswitch:
charm: ch:neutron-openvswitch
channel: latest/edge
channel: 2024.1/edge
placement:
charm: ch:placement
@ -133,7 +133,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '9'
channel: latest/edge
channel: 2024.1/edge
nova-compute:
charm: ch:nova-compute
@ -149,7 +149,7 @@ applications:
to:
- '10'
- '11'
channel: latest/edge
channel: 2024.1/edge
vault:
charm: ch:vault

View File

@ -92,7 +92,7 @@ applications:
neutron-security-groups: true
to:
- '5'
channel: latest/edge
channel: 2024.1/edge
keystone:
charm: ch:keystone
@ -101,7 +101,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '6'
channel: latest/edge
channel: 2024.1/edge
neutron-gateway:
charm: ch:neutron-gateway
@ -111,7 +111,7 @@ applications:
bridge-mappings: physnet1:br-ex
to:
- '7'
channel: latest/edge
channel: 2024.1/edge
glance:
charm: ch:glance
@ -120,11 +120,11 @@ applications:
openstack-origin: *openstack-origin
to:
- '8'
channel: latest/edge
channel: 2024.1/edge
neutron-openvswitch:
charm: ch:neutron-openvswitch
channel: latest/edge
channel: 2024.1/edge
placement:
charm: ch:placement
@ -133,7 +133,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '9'
channel: latest/edge
channel: 2024.1/edge
nova-compute:
charm: ch:nova-compute
@ -149,7 +149,7 @@ applications:
to:
- '10'
- '11'
channel: latest/edge
channel: 2024.1/edge
vault:
charm: ch:vault

View File

@ -1,7 +1,7 @@
variables:
openstack-origin: &openstack-origin distro
openstack-origin: &openstack-origin cloud:jammy-caracal
series: mantic
series: jammy
comment:
- 'machines section to decide order of deployment. database sooner = faster'
@ -92,7 +92,7 @@ applications:
neutron-security-groups: true
to:
- '5'
channel: latest/edge
channel: 2024.1/edge
keystone:
charm: ch:keystone
@ -101,7 +101,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '6'
channel: latest/edge
channel: 2024.1/edge
neutron-gateway:
charm: ch:neutron-gateway
@ -111,7 +111,7 @@ applications:
bridge-mappings: physnet1:br-ex
to:
- '7'
channel: latest/edge
channel: 2024.1/edge
glance:
charm: ch:glance
@ -120,11 +120,11 @@ applications:
openstack-origin: *openstack-origin
to:
- '8'
channel: latest/edge
channel: 2024.1/edge
neutron-openvswitch:
charm: ch:neutron-openvswitch
channel: latest/edge
channel: 2024.1/edge
placement:
charm: ch:placement
@ -133,7 +133,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '9'
channel: latest/edge
channel: 2024.1/edge
nova-compute:
charm: ch:nova-compute
@ -149,7 +149,7 @@ applications:
to:
- '10'
- '11'
channel: latest/edge
channel: 2024.1/edge
vault:
charm: ch:vault

View File

@ -1,7 +1,7 @@
variables:
openstack-origin: &openstack-origin distro
series: lunar
series: noble
comment:
- 'machines section to decide order of deployment. database sooner = faster'
@ -92,7 +92,7 @@ applications:
neutron-security-groups: true
to:
- '5'
channel: latest/edge
channel: 2024.1/edge
keystone:
charm: ch:keystone
@ -101,7 +101,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '6'
channel: latest/edge
channel: 2024.1/edge
neutron-gateway:
charm: ch:neutron-gateway
@ -111,7 +111,7 @@ applications:
bridge-mappings: physnet1:br-ex
to:
- '7'
channel: latest/edge
channel: 2024.1/edge
glance:
charm: ch:glance
@ -120,11 +120,11 @@ applications:
openstack-origin: *openstack-origin
to:
- '8'
channel: latest/edge
channel: 2024.1/edge
neutron-openvswitch:
charm: ch:neutron-openvswitch
channel: latest/edge
channel: 2024.1/edge
placement:
charm: ch:placement
@ -133,7 +133,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '9'
channel: latest/edge
channel: 2024.1/edge
nova-compute:
charm: ch:nova-compute
@ -149,7 +149,7 @@ applications:
to:
- '10'
- '11'
channel: latest/edge
channel: 2024.1/edge
vault:
charm: ch:vault

View File

@ -1,36 +1,32 @@
charm_name: nova-cloud-controller
smoke_bundles:
- jammy-antelope
- jammy-caracal
gate_bundles:
- jammy-antelope
- jammy-antelope
- jammy-bobcat
- jammy-caracal
dev_bundles:
- jammy-bobcat
- lunar-antelope
- mantic-bobcat
- noble-caracal
target_deploy_status:
vault:
workload-status: blocked
workload-status-message: Vault needs to be initialized
configure:
- zaza.openstack.charm_tests.vault.setup.auto_initialize
- zaza.openstack.charm_tests.glance.setup.add_cirros_image
- zaza.openstack.charm_tests.keystone.setup.add_demo_user
- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network
- zaza.openstack.charm_tests.nova.setup.create_flavors
- zaza.openstack.charm_tests.nova.setup.manage_ssh_key
- zaza.openstack.charm_tests.vault.setup.auto_initialize
- zaza.openstack.charm_tests.glance.setup.add_cirros_image
- zaza.openstack.charm_tests.keystone.setup.add_demo_user
- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network
- zaza.openstack.charm_tests.nova.setup.create_flavors
- zaza.openstack.charm_tests.nova.setup.manage_ssh_key
tests:
- zaza.openstack.charm_tests.nova.tests.CirrosGuestCreateTest
- zaza.openstack.charm_tests.nova.tests.SecurityTests
- zaza.openstack.charm_tests.nova.tests.NovaCloudController
- zaza.openstack.charm_tests.nova.tests.NovaCloudControllerActionTest
- zaza.openstack.charm_tests.nova.tests.CirrosGuestCreateTest
- zaza.openstack.charm_tests.nova.tests.SecurityTests
- zaza.openstack.charm_tests.nova.tests.NovaCloudController
- zaza.openstack.charm_tests.nova.tests.NovaCloudControllerActionTest
tests_options:
force_deploy:
- lunar-antelope
- mantic-bobcat
- noble-caracal

18
tox.ini
View File

@ -32,11 +32,13 @@ passenv =
CS_*
OS_*
TEST_*
deps = -r{toxinidir}/test-requirements.txt
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/test-requirements.txt
[testenv:build]
basepython = python3
deps = -r{toxinidir}/build-requirements.txt
deps =
# charmcraft clean is done to ensure that
# `tox -e build` always performs a clean, repeatable build.
# For faster rebuilds during development,
@ -49,12 +51,16 @@ commands =
[testenv:py310]
basepython = python3.10
deps = -r{toxinidir}/requirements.txt
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py3]
basepython = python3
deps = -r{toxinidir}/requirements.txt
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:pep8]
@ -68,7 +74,9 @@ commands = flake8 {posargs} hooks unit_tests tests actions lib files
# Technique based heavily upon
# https://github.com/openstack/nova/blob/master/tox.ini
basepython = python3
deps = -r{toxinidir}/requirements.txt
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
setenv =
{[testenv]setenv}