diff --git a/charmcraft.yaml b/charmcraft.yaml index de5ce246..58e7c161 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -32,9 +32,9 @@ bases: - name: ubuntu channel: "22.04" architectures: [amd64, s390x, ppc64el, arm64] - - name: ubuntu - channel: "22.10" - 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] diff --git a/charmhelpers/contrib/openstack/utils.py b/charmhelpers/contrib/openstack/utils.py index 83b6884b..e98be2c5 100644 --- a/charmhelpers/contrib/openstack/utils.py +++ b/charmhelpers/contrib/openstack/utils.py @@ -160,6 +160,7 @@ OPENSTACK_CODENAMES = OrderedDict([ ('2022.1', 'yoga'), ('2022.2', 'zed'), ('2023.1', 'antelope'), + ('2023.2', 'bobcat'), ]) # The ugly duckling - must list releases oldest to newest diff --git a/charmhelpers/core/host_factory/ubuntu.py b/charmhelpers/core/host_factory/ubuntu.py index a279d5be..732d76c3 100644 --- a/charmhelpers/core/host_factory/ubuntu.py +++ b/charmhelpers/core/host_factory/ubuntu.py @@ -32,6 +32,7 @@ UBUNTU_RELEASES = ( 'jammy', 'kinetic', 'lunar', + 'mantic', ) diff --git a/charmhelpers/fetch/ubuntu.py b/charmhelpers/fetch/ubuntu.py index 1bad0db8..1be992c4 100644 --- a/charmhelpers/fetch/ubuntu.py +++ b/charmhelpers/fetch/ubuntu.py @@ -238,6 +238,14 @@ CLOUD_ARCHIVE_POCKETS = { 'antelope/proposed': 'jammy-proposed/antelope', 'jammy-antelope/proposed': 'jammy-proposed/antelope', 'jammy-proposed/antelope': 'jammy-proposed/antelope', + # bobcat + 'bobcat': 'jammy-updates/bobcat', + 'jammy-bobcat': 'jammy-updates/bobcat', + 'jammy-bobcat/updates': 'jammy-updates/bobcat', + 'jammy-updates/bobcat': 'jammy-updates/bobcat', + 'bobcat/proposed': 'jammy-proposed/bobcat', + 'jammy-bobcat/proposed': 'jammy-proposed/bobcat', + 'jammy-proposed/bobcat': 'jammy-proposed/bobcat', # OVN 'focal-ovn-22.03': 'focal-updates/ovn-22.03', @@ -270,6 +278,7 @@ OPENSTACK_RELEASES = ( 'yoga', 'zed', 'antelope', + 'bobcat', ) @@ -298,6 +307,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([ ('jammy', 'yoga'), ('kinetic', 'zed'), ('lunar', 'antelope'), + ('mantic', 'bobcat'), ]) diff --git a/config.yaml b/config.yaml index 2e256acb..2b1c4b4e 100644 --- a/config.yaml +++ b/config.yaml @@ -14,7 +14,7 @@ options: Setting this to True will allow supporting services to log to syslog. openstack-origin: type: string - default: antelope + default: bobcat description: | Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, diff --git a/metadata.yaml b/metadata.yaml index e651f88c..999478c7 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -18,8 +18,8 @@ tags: - openstack series: - jammy -- kinetic - lunar +- mantic extra-bindings: public: admin: diff --git a/osci.yaml b/osci.yaml index ad86e2cc..85af21fc 100644 --- a/osci.yaml +++ b/osci.yaml @@ -6,4 +6,4 @@ needs_charm_build: true charm_build_name: nova-cloud-controller build_type: charmcraft - charmcraft_channel: 2.1/stable + charmcraft_channel: 2.x/stable diff --git a/tests/bundles/jammy-zed.yaml b/tests/bundles/jammy-bobcat.yaml similarity index 98% rename from tests/bundles/jammy-zed.yaml rename to tests/bundles/jammy-bobcat.yaml index 9cbb2400..d8ca66a0 100644 --- a/tests/bundles/jammy-zed.yaml +++ b/tests/bundles/jammy-bobcat.yaml @@ -1,5 +1,5 @@ variables: - openstack-origin: &openstack-origin cloud:jammy-zed + openstack-origin: &openstack-origin cloud:jammy-bobcat series: jammy diff --git a/tests/bundles/mantic-bobcat.yaml b/tests/bundles/mantic-bobcat.yaml new file mode 100644 index 00000000..b6a02901 --- /dev/null +++ b/tests/bundles/mantic-bobcat.yaml @@ -0,0 +1,257 @@ +variables: + openstack-origin: &openstack-origin distro + +series: mantic + +comment: +- 'machines section to decide order of deployment. database sooner = faster' +machines: + '0': + constraints: mem=3072M + '1': + constraints: mem=3072M + '2': + constraints: mem=3072M + '3': + '4': + '5': + '6': + '7': + '8': + '9': + # machines 10 and 11 are for nova-compute which needs more memory for the + # instances. + '10': + constraints: mem=4096M cores=4 + '11': + constraints: mem=4096M cores=4 + '12': + +applications: + + nova-cloud-controller-mysql-router: + charm: ch:mysql-router + channel: latest/edge + keystone-mysql-router: + charm: ch:mysql-router + channel: latest/edge + glance-mysql-router: + charm: ch:mysql-router + channel: latest/edge + neutron-api-mysql-router: + charm: ch:mysql-router + channel: latest/edge + placement-mysql-router: + charm: ch:mysql-router + channel: latest/edge + vault-mysql-router: + charm: ch:mysql-router + channel: latest/edge + + mysql-innodb-cluster: + charm: ch:mysql-innodb-cluster + num_units: 3 + options: + source: *openstack-origin + # Reduce chances of spurious "super-read-only" failures, see lp:1882205 + expel-timeout: 20 + to: + - '0' + - '1' + - '2' + channel: latest/edge + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + to: + - '3' + channel: latest/edge + + nova-cloud-controller: + charm: ../../nova-cloud-controller.charm + num_units: 1 + options: + openstack-origin: *openstack-origin + api-rate-limit-rules: "( POST, '*', .*, 9999, MINUTE );" + network-manager: Neutron + vendor-data: '{"some": "json data"}' + vendor-data-url: http://some.url/vdata + debug: true + to: + - '4' + + neutron-api: + charm: ch:neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + neutron-plugin: ovs + openstack-origin: *openstack-origin + flat-network-providers: physnet1 + neutron-security-groups: true + to: + - '5' + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '6' + channel: latest/edge + + neutron-gateway: + charm: ch:neutron-gateway + num_units: 1 + options: + openstack-origin: *openstack-origin + bridge-mappings: physnet1:br-ex + to: + - '7' + channel: latest/edge + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '8' + channel: latest/edge + + neutron-openvswitch: + charm: ch:neutron-openvswitch + channel: latest/edge + + placement: + charm: ch:placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '9' + channel: latest/edge + + nova-compute: + charm: ch:nova-compute + num_units: 2 + storage: + ephemeral-device: '40G' + options: + openstack-origin: *openstack-origin + config-flags: auto_assign_floating_ip=False + enable-live-migration: false + aa-profile-mode: enforce + debug: true + to: + - '10' + - '11' + channel: latest/edge + + vault: + charm: ch:vault + num_units: 1 + to: + - '12' + channel: latest/edge + +relations: + + - - 'nova-compute:image-service' + - 'glance:image-service' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:shared-db' + - 'nova-cloud-controller-mysql-router:shared-db' + - - 'nova-cloud-controller-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'glance:identity-service' + - 'keystone:identity-service' + + - - 'glance:shared-db' + - 'glance-mysql-router:shared-db' + - - 'glance-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'glance:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'neutron-api:shared-db' + - 'neutron-api-mysql-router:shared-db' + - - 'neutron-api-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'rabbitmq-server:amqp' + - 'neutron-openvswitch:amqp' + + - - 'placement:shared-db' + - 'placement-mysql-router:shared-db' + - - 'placement-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'placement:placement' + - 'nova-cloud-controller:placement' + + - - 'vault:shared-db' + - 'vault-mysql-router:shared-db' + - - 'vault-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'vault:certificates' + - 'neutron-api:certificates' + + - - 'vault:certificates' + - 'glance:certificates' + + - - 'vault:certificates' + - 'keystone:certificates' + + - - 'vault:certificates' + - 'nova-cloud-controller:certificates' + + - - 'vault:certificates' + - 'placement:certificates' diff --git a/tests/tests.yaml b/tests/tests.yaml index c9c35d3a..4bdd95f8 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -1,14 +1,15 @@ charm_name: nova-cloud-controller smoke_bundles: -- jammy-zed +- jammy-antelope gate_bundles: -- jammy-zed +- jammy-antelope dev_bundles: -- jammy-antelope +- jammy-bobcat - lunar-antelope +- mantic-bobcat target_deploy_status: vault: @@ -32,3 +33,4 @@ tests: tests_options: force_deploy: - lunar-antelope + - mantic-bobcat