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: Ieb68946379d497db3ac385513c528b852dba88cd
This commit is contained in:
@@ -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.
|
|
@@ -29,9 +29,3 @@ bases:
|
|||||||
- name: ubuntu
|
- name: ubuntu
|
||||||
channel: "22.04"
|
channel: "22.04"
|
||||||
architectures: [amd64, s390x, ppc64el, arm64]
|
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]
|
|
||||||
|
@@ -414,18 +414,27 @@ def get_requests_for_local_unit(relation_name=None):
|
|||||||
is_legacy_request = set(sent).intersection(legacy_keys)
|
is_legacy_request = set(sent).intersection(legacy_keys)
|
||||||
for unit in related_units(rid):
|
for unit in related_units(rid):
|
||||||
data = relation_get(rid=rid, unit=unit)
|
data = relation_get(rid=rid, unit=unit)
|
||||||
if data.get(raw_certs_key):
|
# Note: Bug#2028683 - data may not be available if the certificates
|
||||||
bundles.append({
|
# relation hasn't been populated by the providing charm. If no 'ca'
|
||||||
'ca': data['ca'],
|
# in the data then don't attempt the bundle at all.
|
||||||
'chain': data.get('chain'),
|
if data.get('ca'):
|
||||||
'certs': json.loads(data[raw_certs_key])})
|
if data.get(raw_certs_key):
|
||||||
elif is_legacy_request:
|
bundles.append({
|
||||||
bundles.append({
|
'ca': data['ca'],
|
||||||
'ca': data['ca'],
|
'chain': data.get('chain'),
|
||||||
'chain': data.get('chain'),
|
'certs': json.loads(data[raw_certs_key])
|
||||||
'certs': {sent['common_name']:
|
})
|
||||||
{'cert': data.get(local_name + '.server.cert'),
|
elif is_legacy_request:
|
||||||
'key': data.get(local_name + '.server.key')}}})
|
bundles.append({
|
||||||
|
'ca': data['ca'],
|
||||||
|
'chain': data.get('chain'),
|
||||||
|
'certs': {
|
||||||
|
sent['common_name']: {
|
||||||
|
'cert': data.get(local_name + '.server.cert'),
|
||||||
|
'key': data.get(local_name + '.server.key')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
return bundles
|
return bundles
|
||||||
|
|
||||||
|
@@ -545,7 +545,7 @@ class IdentityServiceContext(OSContextGenerator):
|
|||||||
'internal_auth_url': internal_auth_url,
|
'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
|
# add nested dictionary for keystone_authtoken generic
|
||||||
# templating
|
# templating
|
||||||
if keystonemiddleware_os_release:
|
if keystonemiddleware_os_release:
|
||||||
@@ -557,6 +557,7 @@ class IdentityServiceContext(OSContextGenerator):
|
|||||||
# NOTE(jamespage) this is required for >= icehouse
|
# NOTE(jamespage) this is required for >= icehouse
|
||||||
# so a missing value just indicates keystone needs
|
# so a missing value just indicates keystone needs
|
||||||
# upgrading
|
# upgrading
|
||||||
|
ctxt['admin_user_id'] = _resolve('service_user_id')
|
||||||
ctxt['admin_tenant_id'] = _resolve('service_tenant_id')
|
ctxt['admin_tenant_id'] = _resolve('service_tenant_id')
|
||||||
ctxt['admin_domain_id'] = _resolve('service_domain_id')
|
ctxt['admin_domain_id'] = _resolve('service_domain_id')
|
||||||
return ctxt
|
return ctxt
|
||||||
@@ -1748,9 +1749,9 @@ class WSGIWorkerConfigContext(WorkerConfigContext):
|
|||||||
|
|
||||||
def __call__(self):
|
def __call__(self):
|
||||||
total_processes = _calculate_workers()
|
total_processes = _calculate_workers()
|
||||||
enable_wsgi_rotation = config('wsgi-rotation')
|
enable_wsgi_socket_rotation = config('wsgi-socket-rotation')
|
||||||
if enable_wsgi_rotation is None:
|
if enable_wsgi_socket_rotation is None:
|
||||||
enable_wsgi_rotation = True
|
enable_wsgi_socket_rotation = True
|
||||||
ctxt = {
|
ctxt = {
|
||||||
"service_name": self.service_name,
|
"service_name": self.service_name,
|
||||||
"user": self.user,
|
"user": self.user,
|
||||||
@@ -1764,7 +1765,7 @@ class WSGIWorkerConfigContext(WorkerConfigContext):
|
|||||||
"public_processes": int(math.ceil(self.public_process_weight *
|
"public_processes": int(math.ceil(self.public_process_weight *
|
||||||
total_processes)),
|
total_processes)),
|
||||||
"threads": 1,
|
"threads": 1,
|
||||||
"wsgi_rotation": enable_wsgi_rotation,
|
"wsgi_socket_rotation": enable_wsgi_socket_rotation,
|
||||||
}
|
}
|
||||||
return ctxt
|
return ctxt
|
||||||
|
|
||||||
|
@@ -12,7 +12,7 @@ Listen {{ admin_port }}
|
|||||||
Listen {{ public_port }}
|
Listen {{ public_port }}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
{% if wsgi_rotation -%}
|
{% if wsgi_socket_rotation -%}
|
||||||
WSGISocketRotation On
|
WSGISocketRotation On
|
||||||
{% else -%}
|
{% else -%}
|
||||||
WSGISocketRotation Off
|
WSGISocketRotation Off
|
||||||
|
@@ -12,7 +12,7 @@ Listen {{ admin_port }}
|
|||||||
Listen {{ public_port }}
|
Listen {{ public_port }}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
{% if wsgi_rotation -%}
|
{% if wsgi_socket_rotation -%}
|
||||||
WSGISocketRotation On
|
WSGISocketRotation On
|
||||||
{% else -%}
|
{% else -%}
|
||||||
WSGISocketRotation Off
|
WSGISocketRotation Off
|
||||||
|
@@ -161,6 +161,7 @@ OPENSTACK_CODENAMES = OrderedDict([
|
|||||||
('2022.2', 'zed'),
|
('2022.2', 'zed'),
|
||||||
('2023.1', 'antelope'),
|
('2023.1', 'antelope'),
|
||||||
('2023.2', 'bobcat'),
|
('2023.2', 'bobcat'),
|
||||||
|
('2024.1', 'caracal'),
|
||||||
])
|
])
|
||||||
|
|
||||||
# The ugly duckling - must list releases oldest to newest
|
# 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)
|
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):
|
def get_swift_codename(version):
|
||||||
'''Determine OpenStack codename that corresponds to swift version.'''
|
'''Determine OpenStack codename that corresponds to swift version.'''
|
||||||
codenames = [k for k, v in SWIFT_CODENAMES.items() if version in v]
|
codenames = [k for k, v in SWIFT_CODENAMES.items() if version in v]
|
||||||
@@ -585,7 +575,6 @@ def get_installed_os_version():
|
|||||||
return openstack_release().get('OPENSTACK_CODENAME')
|
return openstack_release().get('OPENSTACK_CODENAME')
|
||||||
|
|
||||||
|
|
||||||
@cached
|
|
||||||
def openstack_release():
|
def openstack_release():
|
||||||
"""Return /etc/os-release in a dict."""
|
"""Return /etc/os-release in a dict."""
|
||||||
d = {}
|
d = {}
|
||||||
@@ -847,14 +836,10 @@ def openstack_upgrade_available(package):
|
|||||||
if not cur_vers:
|
if not cur_vers:
|
||||||
# The package has not been installed yet do not attempt upgrade
|
# The package has not been installed yet do not attempt upgrade
|
||||||
return False
|
return False
|
||||||
if "swift" in package:
|
try:
|
||||||
codename = get_os_codename_install_source(src)
|
avail_vers = get_os_version_install_source(src)
|
||||||
avail_vers = get_os_version_codename_swift(codename)
|
except Exception:
|
||||||
else:
|
avail_vers = cur_vers
|
||||||
try:
|
|
||||||
avail_vers = get_os_version_install_source(src)
|
|
||||||
except Exception:
|
|
||||||
avail_vers = cur_vers
|
|
||||||
apt.init()
|
apt.init()
|
||||||
return apt.version_compare(avail_vers, cur_vers) >= 1
|
return apt.version_compare(avail_vers, cur_vers) >= 1
|
||||||
|
|
||||||
|
@@ -158,15 +158,19 @@ def get_osd_settings(relation_name):
|
|||||||
return _order_dict_by_key(osd_settings)
|
return _order_dict_by_key(osd_settings)
|
||||||
|
|
||||||
|
|
||||||
def send_application_name(relid=None):
|
def send_application_name(relid=None, app_name=None):
|
||||||
"""Send the application name down the relation.
|
"""Send the application name down the relation.
|
||||||
|
|
||||||
:param relid: Relation id to set application name in.
|
:param relid: Relation id to set application name in.
|
||||||
:type relid: str
|
:type relid: str
|
||||||
|
:param app_name: Application name to send in the relation.
|
||||||
|
:type app_name: str
|
||||||
"""
|
"""
|
||||||
|
if app_name is None:
|
||||||
|
app_name = application_name()
|
||||||
relation_set(
|
relation_set(
|
||||||
relation_id=relid,
|
relation_id=relid,
|
||||||
relation_settings={'application-name': application_name()})
|
relation_settings={'application-name': app_name})
|
||||||
|
|
||||||
|
|
||||||
def send_osd_settings():
|
def send_osd_settings():
|
||||||
|
@@ -151,6 +151,7 @@ import contextlib
|
|||||||
import datetime
|
import datetime
|
||||||
import itertools
|
import itertools
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
import pprint
|
import pprint
|
||||||
import sqlite3
|
import sqlite3
|
||||||
@@ -521,6 +522,42 @@ _KV = None
|
|||||||
|
|
||||||
def kv():
|
def kv():
|
||||||
global _KV
|
global _KV
|
||||||
|
|
||||||
|
# If we are running unit tests, it is useful to go into memory-backed KV store to
|
||||||
|
# avoid concurrency issues when running multiple tests. This is not a
|
||||||
|
# problem when juju is running normally.
|
||||||
|
|
||||||
|
env_var = os.environ.get("CHARM_HELPERS_TESTMODE", "auto").lower()
|
||||||
|
if env_var not in ["auto", "no", "yes"]:
|
||||||
|
logging.warning("Unknown value for CHARM_HELPERS_TESTMODE '%s'"
|
||||||
|
", assuming 'no'", env_var)
|
||||||
|
env_var = "no"
|
||||||
|
|
||||||
|
if env_var == "no":
|
||||||
|
in_memory_db = False
|
||||||
|
elif env_var == "yes":
|
||||||
|
in_memory_db = True
|
||||||
|
elif env_var == "auto":
|
||||||
|
# If UNIT_STATE_DB is set, respect this request
|
||||||
|
if "UNIT_STATE_DB" in os.environ:
|
||||||
|
in_memory_db = False
|
||||||
|
# Autodetect normal juju execution by looking for juju variables
|
||||||
|
elif "JUJU_CHARM_DIR" in os.environ or "JUJU_UNIT_NAME" in os.environ:
|
||||||
|
in_memory_db = False
|
||||||
|
else:
|
||||||
|
# We are probably running in unit test mode
|
||||||
|
logging.warning("Auto-detected unit test environment for KV store.")
|
||||||
|
in_memory_db = True
|
||||||
|
else:
|
||||||
|
# Help the linter realise that in_memory_db is always set
|
||||||
|
raise Exception("Cannot reach this line")
|
||||||
|
|
||||||
if _KV is None:
|
if _KV is None:
|
||||||
_KV = Storage()
|
if in_memory_db:
|
||||||
|
_KV = Storage(":memory:")
|
||||||
|
else:
|
||||||
|
_KV = Storage()
|
||||||
|
else:
|
||||||
|
if in_memory_db and _KV.db_path != ":memory:":
|
||||||
|
logging.warning("Running with in_memory_db and KV is not set to :memory:")
|
||||||
return _KV
|
return _KV
|
||||||
|
@@ -52,7 +52,7 @@ def _snap_exec(commands):
|
|||||||
:param commands: List commands
|
:param commands: List commands
|
||||||
:return: Integer exit code
|
:return: Integer exit code
|
||||||
"""
|
"""
|
||||||
assert type(commands) == list
|
assert isinstance(commands, list)
|
||||||
|
|
||||||
retry_count = 0
|
retry_count = 0
|
||||||
return_code = None
|
return_code = None
|
||||||
|
@@ -246,6 +246,14 @@ CLOUD_ARCHIVE_POCKETS = {
|
|||||||
'bobcat/proposed': 'jammy-proposed/bobcat',
|
'bobcat/proposed': 'jammy-proposed/bobcat',
|
||||||
'jammy-bobcat/proposed': 'jammy-proposed/bobcat',
|
'jammy-bobcat/proposed': 'jammy-proposed/bobcat',
|
||||||
'jammy-proposed/bobcat': '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
|
# OVN
|
||||||
'focal-ovn-22.03': 'focal-updates/ovn-22.03',
|
'focal-ovn-22.03': 'focal-updates/ovn-22.03',
|
||||||
@@ -279,6 +287,7 @@ OPENSTACK_RELEASES = (
|
|||||||
'zed',
|
'zed',
|
||||||
'antelope',
|
'antelope',
|
||||||
'bobcat',
|
'bobcat',
|
||||||
|
'caracal',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -308,6 +317,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([
|
|||||||
('kinetic', 'zed'),
|
('kinetic', 'zed'),
|
||||||
('lunar', 'antelope'),
|
('lunar', 'antelope'),
|
||||||
('mantic', 'bobcat'),
|
('mantic', 'bobcat'),
|
||||||
|
('noble', 'caracal'),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
@@ -5,12 +5,10 @@ description: |
|
|||||||
Automatically keep your glance mirror in sync with any (multiple) source(s)
|
Automatically keep your glance mirror in sync with any (multiple) source(s)
|
||||||
of simplestreams data.
|
of simplestreams data.
|
||||||
tags:
|
tags:
|
||||||
- misc
|
- misc
|
||||||
- openstack
|
- openstack
|
||||||
series:
|
series:
|
||||||
- jammy
|
- jammy
|
||||||
- lunar
|
|
||||||
- mantic
|
|
||||||
subordinate: false
|
subordinate: false
|
||||||
provides:
|
provides:
|
||||||
simplestreams-image-service:
|
simplestreams-image-service:
|
||||||
|
@@ -63,7 +63,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '4'
|
- '4'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance:
|
glance:
|
||||||
charm: ch:glance
|
charm: ch:glance
|
||||||
@@ -72,7 +72,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '5'
|
- '5'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance-simplestreams-sync:
|
glance-simplestreams-sync:
|
||||||
charm: ../../glance-simplestreams-sync.charm
|
charm: ../../glance-simplestreams-sync.charm
|
||||||
@@ -89,7 +89,7 @@ applications:
|
|||||||
source: *source
|
source: *source
|
||||||
to:
|
to:
|
||||||
- '7'
|
- '7'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-osd:
|
ceph-osd:
|
||||||
charm: ch:ceph-osd
|
charm: ch:ceph-osd
|
||||||
@@ -102,7 +102,7 @@ applications:
|
|||||||
- '8'
|
- '8'
|
||||||
- '9'
|
- '9'
|
||||||
- '10'
|
- '10'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-mon:
|
ceph-mon:
|
||||||
charm: ch:ceph-mon
|
charm: ch:ceph-mon
|
||||||
@@ -113,7 +113,7 @@ applications:
|
|||||||
- '11'
|
- '11'
|
||||||
- '12'
|
- '12'
|
||||||
- '13'
|
- '13'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
relations:
|
relations:
|
||||||
- ['keystone:certificates', 'vault:certificates']
|
- ['keystone:certificates', 'vault:certificates']
|
||||||
|
@@ -63,7 +63,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '4'
|
- '4'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance:
|
glance:
|
||||||
charm: ch:glance
|
charm: ch:glance
|
||||||
@@ -72,7 +72,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '5'
|
- '5'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance-simplestreams-sync:
|
glance-simplestreams-sync:
|
||||||
charm: ../../glance-simplestreams-sync.charm
|
charm: ../../glance-simplestreams-sync.charm
|
||||||
@@ -89,7 +89,7 @@ applications:
|
|||||||
source: *source
|
source: *source
|
||||||
to:
|
to:
|
||||||
- '7'
|
- '7'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-osd:
|
ceph-osd:
|
||||||
charm: ch:ceph-osd
|
charm: ch:ceph-osd
|
||||||
@@ -102,7 +102,7 @@ applications:
|
|||||||
- '8'
|
- '8'
|
||||||
- '9'
|
- '9'
|
||||||
- '10'
|
- '10'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-mon:
|
ceph-mon:
|
||||||
charm: ch:ceph-mon
|
charm: ch:ceph-mon
|
||||||
@@ -113,7 +113,7 @@ applications:
|
|||||||
- '11'
|
- '11'
|
||||||
- '12'
|
- '12'
|
||||||
- '13'
|
- '13'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
relations:
|
relations:
|
||||||
- ['keystone:certificates', 'vault:certificates']
|
- ['keystone:certificates', 'vault:certificates']
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
variables:
|
variables:
|
||||||
source: &source distro
|
source: &source cloud:jammy-caracal
|
||||||
|
|
||||||
series: mantic
|
series: jammy
|
||||||
|
|
||||||
comment:
|
comment:
|
||||||
- 'machines section to decide order of deployment. database sooner = faster'
|
- 'machines section to decide order of deployment. database sooner = faster'
|
||||||
@@ -63,7 +63,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '4'
|
- '4'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance:
|
glance:
|
||||||
charm: ch:glance
|
charm: ch:glance
|
||||||
@@ -72,7 +72,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '5'
|
- '5'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance-simplestreams-sync:
|
glance-simplestreams-sync:
|
||||||
charm: ../../glance-simplestreams-sync.charm
|
charm: ../../glance-simplestreams-sync.charm
|
||||||
@@ -89,7 +89,7 @@ applications:
|
|||||||
source: *source
|
source: *source
|
||||||
to:
|
to:
|
||||||
- '7'
|
- '7'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-osd:
|
ceph-osd:
|
||||||
charm: ch:ceph-osd
|
charm: ch:ceph-osd
|
||||||
@@ -102,7 +102,7 @@ applications:
|
|||||||
- '8'
|
- '8'
|
||||||
- '9'
|
- '9'
|
||||||
- '10'
|
- '10'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-mon:
|
ceph-mon:
|
||||||
charm: ch:ceph-mon
|
charm: ch:ceph-mon
|
||||||
@@ -113,7 +113,7 @@ applications:
|
|||||||
- '11'
|
- '11'
|
||||||
- '12'
|
- '12'
|
||||||
- '13'
|
- '13'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
relations:
|
relations:
|
||||||
- ['keystone:certificates', 'vault:certificates']
|
- ['keystone:certificates', 'vault:certificates']
|
@@ -1,7 +1,7 @@
|
|||||||
variables:
|
variables:
|
||||||
source: &source distro
|
source: &source distro
|
||||||
|
|
||||||
series: lunar
|
series: noble
|
||||||
|
|
||||||
comment:
|
comment:
|
||||||
- 'machines section to decide order of deployment. database sooner = faster'
|
- 'machines section to decide order of deployment. database sooner = faster'
|
||||||
@@ -63,7 +63,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '4'
|
- '4'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance:
|
glance:
|
||||||
charm: ch:glance
|
charm: ch:glance
|
||||||
@@ -72,7 +72,7 @@ applications:
|
|||||||
openstack-origin: *source
|
openstack-origin: *source
|
||||||
to:
|
to:
|
||||||
- '5'
|
- '5'
|
||||||
channel: latest/edge
|
channel: 2024.1/edge
|
||||||
|
|
||||||
glance-simplestreams-sync:
|
glance-simplestreams-sync:
|
||||||
charm: ../../glance-simplestreams-sync.charm
|
charm: ../../glance-simplestreams-sync.charm
|
||||||
@@ -89,7 +89,7 @@ applications:
|
|||||||
source: *source
|
source: *source
|
||||||
to:
|
to:
|
||||||
- '7'
|
- '7'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-osd:
|
ceph-osd:
|
||||||
charm: ch:ceph-osd
|
charm: ch:ceph-osd
|
||||||
@@ -102,7 +102,7 @@ applications:
|
|||||||
- '8'
|
- '8'
|
||||||
- '9'
|
- '9'
|
||||||
- '10'
|
- '10'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
ceph-mon:
|
ceph-mon:
|
||||||
charm: ch:ceph-mon
|
charm: ch:ceph-mon
|
||||||
@@ -113,7 +113,7 @@ applications:
|
|||||||
- '11'
|
- '11'
|
||||||
- '12'
|
- '12'
|
||||||
- '13'
|
- '13'
|
||||||
channel: latest/edge
|
channel: reef/edge
|
||||||
|
|
||||||
relations:
|
relations:
|
||||||
- ['keystone:certificates', 'vault:certificates']
|
- ['keystone:certificates', 'vault:certificates']
|
@@ -7,24 +7,15 @@ comment:
|
|||||||
# functest-deploy --bundle /path/to/gate/bundle
|
# functest-deploy --bundle /path/to/gate/bundle
|
||||||
gate_bundles:
|
gate_bundles:
|
||||||
- jammy-antelope
|
- jammy-antelope
|
||||||
|
|
||||||
dev_bundles:
|
|
||||||
- jammy-bobcat
|
- jammy-bobcat
|
||||||
- lunar-antelope
|
- jammy-caracal
|
||||||
- mantic-bobcat
|
dev_bundles:
|
||||||
|
- noble-caracal
|
||||||
tests_options:
|
tests_options:
|
||||||
force_deploy:
|
force_deploy:
|
||||||
- lunar-antelope
|
- noble-caracal
|
||||||
- mantic-bobcat
|
|
||||||
|
|
||||||
# functest-run-suite --smoke ...
|
|
||||||
# functest-deploy --bundle /path/to/smoke/bundle
|
|
||||||
# smoke bundle should (Ubuntu LTS latest)-(OpenStack latest)
|
|
||||||
smoke_bundles:
|
smoke_bundles:
|
||||||
- jammy-antelope
|
- jammy-caracal
|
||||||
|
|
||||||
# special target deploy status for above deploy phase
|
|
||||||
target_deploy_status:
|
target_deploy_status:
|
||||||
vault:
|
vault:
|
||||||
# vault will be blocked with functest-deploy, this is ok to move on
|
# vault will be blocked with functest-deploy, this is ok to move on
|
||||||
|
18
tox.ini
18
tox.ini
@@ -32,11 +32,13 @@ passenv =
|
|||||||
CS_*
|
CS_*
|
||||||
OS_*
|
OS_*
|
||||||
TEST_*
|
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]
|
[testenv:build]
|
||||||
basepython = python3
|
basepython = python3
|
||||||
deps = -r{toxinidir}/build-requirements.txt
|
deps =
|
||||||
# charmcraft clean is done to ensure that
|
# charmcraft clean is done to ensure that
|
||||||
# `tox -e build` always performs a clean, repeatable build.
|
# `tox -e build` always performs a clean, repeatable build.
|
||||||
# For faster rebuilds during development,
|
# For faster rebuilds during development,
|
||||||
@@ -49,12 +51,16 @@ commands =
|
|||||||
|
|
||||||
[testenv:py310]
|
[testenv:py310]
|
||||||
basepython = python3.10
|
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
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
|
||||||
[testenv:py3]
|
[testenv:py3]
|
||||||
basepython = python3
|
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
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
|
||||||
[testenv:pep8]
|
[testenv:pep8]
|
||||||
@@ -68,7 +74,9 @@ commands = flake8 {posargs} hooks unit_tests tests actions lib files
|
|||||||
# Technique based heavily upon
|
# Technique based heavily upon
|
||||||
# https://github.com/openstack/nova/blob/master/tox.ini
|
# https://github.com/openstack/nova/blob/master/tox.ini
|
||||||
basepython = python3
|
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
|
-r{toxinidir}/test-requirements.txt
|
||||||
setenv =
|
setenv =
|
||||||
{[testenv]setenv}
|
{[testenv]setenv}
|
||||||
|
Reference in New Issue
Block a user