Commit Graph

204 Commits

Author SHA1 Message Date
Trent Lloyd b25affc465 osci.yaml: Increase ha-ovn job timeout
The ha-ovn jobs specifically are frequently taking at least 3h when
successful and often fail when almost finished with a timeout of 4h
(14400s) which is the timeout for the parent func-target job.

Increase the timeout for these specific jobs to 5h (18000s).

Change-Id: I1a973f5c39cb5e4886d6194b6b63ce0bea06e07b
2024-01-17 01:42:10 +00:00
Corey Bryant f76d066df5 Update octavia.conf auth config for bobcat
As noticed in bobcat testing, the [service_auth] section requires
more configuration than it did in the past. Additionally, as noted
in I686cfdef78de927fa4bc1921c15e8d5853fd2ef9, Octavia will no longer
take the authentication settings for Neutron from the [service_auth]
as a fallback. It will instead require them to be in the [neutron]
section. However, [service_auth] settings will still be used for
other services like Nova and Glance.

This change adds auth config options to the [service_auth] and
[neutron] sections, moves the auth_section config option to the
[keystone_authtoken] section, and sets the auth_section config
option to point to the [service_auth] section.

Closes-Bug: #2043095
Related-Bug: #2043129
Change-Id: I290f543827d63bb685209d615c9f448c2ff9d31e
2023-11-09 11:52:29 -05:00
Felipe Reyes d91db5f6fe Drop Ubuntu 23.04 (Lunar) support
- Remove lunar testing bundles
- Remove lunar from metadata.yaml
- Remove lunar CI jobs defined in osci.yaml
- Switch to charmcraft 2.x/candidate channel
- Remove ubuntu 23.04 base from charmcraft.yaml

Change-Id: If4d8b3160f0455b1ac5c576e2a82d71bac47edbb
2023-11-03 12:42:27 +00:00
Alex Kavanagh 8387b10da9 Add bobcat (and later) template for octavia.conf
This removes the [service_auth] section and moves the `auth_section` to
[neutron] as per I686cfdef78de927fa4bc1921c15e8d5853fd2ef9 for bobcat
and later.

Change-Id: I460baa19921408bbd9d4ef0e62e335da10d7d2de
2023-11-03 08:20:38 -04:00
Samuel Walladge d8d8963667 Wait for management interface IP to be assigned
There can be a delay between the interface being created,
and an IP address getting assigned,
which previously caused a race condition where
the config could be rendered before the IP address was ready
resulting in the health manager bind_ip to be empty.

This ensures that the IP address will be ready before continuing,
which will ensure that the config rendering will not happen until ready,
and the configure-resources action will only return once it's all done.

Closes-Bug: #1961088
Change-Id: I2cae5f0e307c8cd14f1831f3416d890ad604b705
2023-09-28 08:39:14 +09:30
Zuul 41faa00230 Merge "Ensure get_requests_for_local_unit doesn't fail on incomplete relation" 2023-08-07 22:04:16 +00:00
Zuul eb25b43c74 Merge "Add 2023.2 Bobcat support" 2023-08-04 20:53:33 +00:00
Alex Kavanagh fc85965b3b Ensure get_requests_for_local_unit doesn't fail on incomplete relation
This is a rebuild/make sync for charms to pickup the fix in charmhelpers to fix
any inadvertant accesses of ['ca'] in the relation data before it is available
from vault in the certificates relation.  Fix in charmhelpers is in [1].

[1] https://github.com/juju/charm-helpers/pull/824
Closes-Bug: #2028683

Change-Id: Id3636d55f26d05ffed994e3ccc0575ec66a5e389
2023-08-04 18:48:55 +01:00
Corey Bryant d57fc830d0 Add 2023.2 Bobcat support
* sync charm-helpers to classic charms
* change openstack-origin/source default to bobcat
* add mantic to metadata series
* align testing with bobcat
* add new bobcat bundles
* add bobcat bundles to tests.yaml
* add bobcat tests to osci.yaml
* update build-on and run-on bases
* drop kinetic
* update charmcraft_channel to 2.x/edge

Change-Id: I4c0cf7412e98528e4bca2c42ce910fe728f778fe
2023-08-03 13:57:23 -04:00
Peter Matulis e3b8b03378 Add docs key and point at Discourse
Add the 'docs' key and point it at a Discourse topic
previously populated with the charm's README contents.

When the new charm revision is released to the Charmhub,
this Discourse-based content will be displayed there. In
the absense of the this new key, the Charmhub's default
behaviour is to display the value of the charm's
'description' key.

Change-Id: I50e457e3b9affdd0ca83602c1e580b75c6aa5434
2023-07-25 16:34:07 -04:00
Edward Hope-Morley f326ef267a Ensure mgmt network mtu
This will ensure that mtu is set whenever setup_hm_port()
is called regardless of if the port has just been created
or not. Also checks mtu in update-status hook.

Change-Id: I80b5cea812becd1724fcfe2a8a232253eac76735
Closes-Bug: #2018998
2023-06-09 17:01:08 +01:00
Corey Bryant 856093cda9 Enable jammy-antelope voting and drop kinetic-zed tests
* Voting was turned on for jammy-antelope in the
  project-template for charm-functional-jobs in zosci-config
* Voting for jammy-antelope bundles with non-standard names
  is turned on in individual charms
* Kinetic-zed bundles/tests are removed

Change-Id: If0d46c9efe32c533fa79b5c52447f00ed3887a51
2023-04-20 16:51:25 +00:00
Felipe Reyes 07d0b94cdb Add pkg-config to build-packages
Closes-Bug: #2016922
Change-Id: I7469c45fd90207857918b3c727fc2779d32236f0
2023-04-18 15:59:32 -04:00
Corey Bryant a147b4459e Add Antelope support
* sync charm-helpers to classic charms
* change openstack-origin/source default to antelope
* align testing with antelope
* add new antelope bundles
* add antelope bundles to tests.yaml
* add antelope tests to osci.yaml and .zuul.yaml
* update build-on and run-on bases

Change-Id: Ie29529f16ae522c42c5f11441be7526d28042bb4
2023-03-14 19:25:58 +00:00
Tiago Pasqualini d1d369c703 Add amphora connection timeouts options to charm
This patch adds the possibility to configure the number of retries
and the timeout between those retries when connection to the
amphorae.

Closes-bug: #1988094
Change-Id: Idf25c327fe34f751f622a3a467a5ba8f73125681
2023-01-27 12:33:48 -03:00
Liam Young 10a800bab3 Fix charm for tox4 compatibility
Related-Bug: 2002788
Change-Id: Ia779496a07775281eca0ae555d338be285b6b2a2
2023-01-17 17:56:32 +00:00
Felipe Reyes a705435156 Configure OVN southdb connection.
OVN Octavia provider gained support for health monitoring, this is
achieved by allowing the octavia-driver-agent connect to the southdb,
this change adds the connection strings otherwise the daemon tries to
connect to 127.0.0.1:6442 .

Change-Id: I6f7f1b9252e74ddcc2729a11c74b3c08ee8a7eb2
Closes-Bug: #1980290
2022-10-07 00:14:09 +00:00
Corey Bryant e237d6621e Ensure upgrades are executed
Prior to this change, big bang upgrades were not being run
when openstack-origin was updated to a new release.

Closes-Bug: #1979553
Change-Id: I5cda72d55b7aba51d087bababa94435e53c2201b
2022-10-04 13:14:42 +00:00
Corey Bryant ff317f99fc
Add Kinetic and Zed support
* sync charm-helpers to classic charms
* change openstack-origin/source default to zed
* align testing with zed
* add new zed bundles
* add zed bundles to tests.yaml
* add zed tests to osci.yaml and .zuul.yaml
* update build-on and run-on bases
* add bindep.txt for py310
* sync tox.ini and requirements.txt for ruamel
* use charmcraft_channel 2.0/stable
* move interface/layer env vars to charmcraft.yaml
* fix gss mirror_list and odr retrofit-uca-pocket
* use local charm overlay for HA config instead of manually managing
  symlinks

Depends-On: https://review.opendev.org/c/openstack/charm-octavia/+/858919
Change-Id: I759b60939a4fe2c9599d34e2ff64649426ffbf62
2022-10-02 23:15:08 +02:00
Corey Bryant 7cb77afe26
Build separately for each supported series and use binary builds
Charms for OpenStack Yoga supports both Ubuntu Focal and Jammy
which means Python 3.8 and Python 3.10.  Managing dependencies
across those two versions is non-trivial and we need to build
the charm on the series the charm is supposed to support.

Switch to using a binary build which allows pip's dependency
resolution to work.

This patch also drops the impish bundle and fixes channels
for auxiliary charms.

Update metadata with jammy support.

Replace `octavia.setup.ensure_lts_images` with the default glance
lts image configure job.

Drop python build dependencies in wheelhouse and let the binary
build figure those out automatically.

Closes-Bug: #1915171
Change-Id: I744a8903be7450b5d9b2af3f96c6f61d206f9271
2022-10-02 23:14:13 +02:00
Zuul 975502813f Merge "Add *.charm to gitignore" 2022-07-12 14:38:43 +00:00
Alex Kavanagh 9eb1424d2e Add *.charm to gitignore
This patch adds *.charm to the .gitignore to ensure that any built
artifacts are ignored.

Change-Id: If7fbc010602ef1b4d7023909e94748ade3ff7f48
2022-04-18 21:09:16 +01:00
Billy Olsen 814666c26f Correct zaza dependencies
Change Iadd11634d1fe44731ecf0a6104561b4aeebff23f errantly landed the
patch with the src/test-requirements.txt pointing to a non-official zaza
branch for testing purposes.

This reverts the part of the dependencies to point to the correct and
official zaza repositories.

Change-Id: I764efe462fa1933f3c13aed91acfb203248ac9b1
2022-04-18 10:45:32 -07:00
Zuul 93b85b6b24 Merge "Update charmcraft so that it builds on 20.04, deploys everywhere" 2022-04-13 14:09:28 +00:00
Alex Kavanagh e7f094d26d Update charmcraft so that it builds on 20.04, deploys everywhere
This is to build a multi-arch charm on amd64 on 20.04 but deliver it
on 20.04, 22.04 and across the 4 arches.

Change-Id: I2b9832ee63b0addf316da41c42e6cc4b70108ebe
2022-04-08 15:06:44 +01:00
David Ames dbee693a16 Add NRPE Check for Octavia Certificates
Change-Id: Ie4718b2c145e977fd11fff06ed3e854d41715eb8
Closes-Bug: 1885815
2022-04-04 09:51:24 +02:00
Alex Kavanagh 736e243bb9 Update to build using charmcraft
Due to a build problem with the reactive plugin, this change falls back
on overriding the steps and doing a manual build, but it also ensures
the CI system builds the charm using charmcraft.  Changes:

- add a build-requirements.txt
- modify charmcraft.yaml
- modify osci.yaml
    -> indicate build with charmcraft
- modify tox.ini
    -> tox -e build does charmcraft build/rename
    -> tox -e build-reactive does the reactive build
- modify bundles to use the <charm>.charm artifact in tests.
  and fix deprecation warning re: prefix
- tox inception to enable tox -e func-test in the CI
- Unit test fix

Depends-On: https://review.opendev.org/c/openstack/charm-keystone/+/830986
Depends-On: https://review.opendev.org/c/openstack/charm-interface-keystone/+/830988
Change-Id: Iadd11634d1fe44731ecf0a6104561b4aeebff23f
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
2022-04-02 12:03:51 +01:00
Peter Matulis 8c95f18ca1 Sync commands in README with CDG content
Make the commands in the README the same as those on the
Octavia page of the CDG.

Duplicated content will be removed and replaced with a
link to the CDG during the next review of the README.

Related-Bug: #1948506
Change-Id: I5c182d3c985bdd6ca304bfa8c055241e6b6f0f68
2022-01-19 12:04:39 -05:00
Hervé Beraud 49b7a2348f Use unittest.mock instead of mock
The mock third party library was needed for mock support in py2
runtimes. Since we now only support py36 and later, we can use the
standard lib unittest.mock module instead.

Note that https://github.com/openstack/charms.openstack is used during tests
and he need `mock`, unfortunatelly it doesn't declare `mock` in its
requirements so it retrieve mock from other charm project (cross dependency).
So we depend on charms.openstack first and when
Ib1ed5b598a52375e29e247db9ab4786df5b6d142 will be merged then CI
will pass without errors.

Depends-On: Ib1ed5b598a52375e29e247db9ab4786df5b6d142
Change-Id: Ib9cd965d84654a4ff3a5c24814d8a171865b2db1
2021-12-16 09:12:41 +00:00
Zhang Hua cc292d72e2 Delete hm port on unit removal
JUJU_DEPARTING_UNIT will be set in leader unit as well when removing one
unit, so update_controller_ip_port_list can use it to delete hm port and
update neutron ip list. Besides, cluster.{connected,available} will be
set by interface-openstack-ha when relation-{broken,departed} is changed,
so update_controller_ip_port_list will also have a change to run.
In other words, as long as update_controller_ip_port_list is triggered
for various reasons, the cleanup will be completed.

and pin cffi to 1.14.6 and pyparsing<3.0.0 for python < 3.6

Closes-Bug: 1915512
Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/600
Change-Id: I88c61b8d2d0b573df7df071ed7978e83b6803c5c
2021-11-09 09:28:39 +08:00
Zuul 505e00700b Merge "Add xena bundles" 2021-10-06 20:47:29 +00:00
Alex Kavanagh cb9b4c4c61 Add xena bundles
- add non-voting focal-xena bundle
- add non-voting impish-xena bundle
- charm-helpers sync for new charm-helpers changes
- update tox/pip.sh to ensure setuptools<50.0.0

Change-Id: I5052bd30b7014c5bf63120c422efc4cb60b47d5f
2021-09-27 16:27:56 +01:00
Billy Olsen 07b5dc8ea8 Handle create_router when network and subnet exist
Subnets were not assigned if they already existed and were not created,
but the router creation code for the configure-resources depends on the
subnets variable for iteration. Initialize the subnets from the query
for the subnets for the case of existing subnets.

Additionally, the octavia charm uses a service user which can see other
subnets that are tagged 'charm-octavia'. Narrow the scope of the subnet
listing to the network being used by the charm.

Closes-Bug: #1866126
Change-Id: Id88a68a398a50532e11daff33fb774caf65a0c0a
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
2021-09-09 16:31:41 +02:00
Aurelien Lourot 58d203465b Sync release-tools
In order to fix ResolutionImpossible on tox invocation.

https://github.com/openstack-charmers/release-tools/issues/151
https://github.com/openstack-charmers/release-tools/pull/152

Change-Id: Id8cced3f4db2b1476bbb803dc75ba2dd5bd99390
2021-07-22 14:59:12 +02:00
Hemanth Nakkina 721c7a574c Move anti-affinity-policy config option to nova section
enable_anti_affinity, anti_affinity_policy options are configured
in controller_worker section instead of nova section in octavia.conf
templates.

This patch fixes by moving both the options to nova section.

Closes-Bug: #1935960
Change-Id: I4818e3282eb25c9d0f0829080d4a5791965dbee0
2021-07-13 17:33:09 +05:30
Frode Nordahl 1dfabe091b Make Amphora provider driver optional
Octavia supports multiple provider drivers. The reference Amphora
provider driver is distributed as part of the Octavia software,
and is enabled by default.

Add a configuration option which allows to not enable the Amphora
provider driver. This is useful for use cases where a different
driver is desired, and removes the checks for Amphora related
mandatory configuration options.

Change-Id: I4d14056bf901d813ac53fde9ccd4e8bdb56e3c55
2021-07-06 10:30:07 +02:00
Zuul 7a39e9f608 Merge "Test bundles for focal-wallaby and hirsute-wallaby" 2021-07-06 08:18:54 +00:00
Zuul 7e5ca56b8b Merge "rebuild - restore c-h proxy env vars for add-apt-repository" 2021-07-02 08:26:25 +00:00
Frode Nordahl c30f2982d5 Test bundles for focal-wallaby and hirsute-wallaby
These are the test bundles (and any associated changes) for
focal-wallaby and hirsute-wallaby support.

Re-enable testing with Victora Amphora.

Re-enable bionic-ussuri-ha-ovn now that the ovn 20.03.2 SRU
is complete.

Replace overlay symlinks with local-charm-overlay template.

Group jobs in two stages to avoid CI resource depletion.

Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/592
Change-Id: Id8a71ad90da98f6330328663478a948f4b134c0d
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
2021-06-28 13:28:44 +00:00
Aurelien Lourot 4cc576af79 Add impish to metadata.yaml
Change-Id: I48fc59344e7caf4cb2d5220f6d0298276a766519
2021-06-22 09:09:13 +00:00
Frode Nordahl 654258c982 README: Fix example certificate generation for internal octavia/amphora comms
Closes-Bug: #1927664
Change-Id: Ib4391f384c18fdb078c080e7bd94f906b71e900b
2021-06-03 16:15:34 +02:00
Frode Nordahl 7cbd4de09e Use separate application for Octavia's ovn-chassis subordinate
Just like with legacy Neutron ML2+OVS, the recommended deployment
topology for Octavia is to use a separate application for the
ovn-chassis subordinate co-located with Octavia.

We do this because the ovn-chassis application related to
nova-compute units will most likely have configuration set that
makes no sense for the Octavia units. (For example physical port
configuration, DPDK, SR-IOV, Hardware offloading etc etc)

Not adding this in the original Octavia OVN gate bundles was an
oversight, let's get it in.

Change-Id: I5852b3298d3d3e26ad077261fea07eb1d99d6e1c
2021-06-03 16:15:34 +02:00
Frode Nordahl 762bfc6b29 Confirm operational status of mgmt port
Put charm into a blocked state if the unit local port to mgmt.
network does not come up.

Add workaround in functional test that allows to re-enable
bionic-ussuri gate. Drop proposed from bionic-ussuri
bundles.

Closes-Bug: #1893446
Change-Id: I098e449723bce128e8c2efda1e9fafc9156a71e5
2021-06-03 16:15:34 +02:00
Frode Nordahl f1a602ca41 Retrieve chassis certificates from subordinate relation
When OVN provider driver is enabled, retrieve chassis
certificates from subordinate.

While a principal and subordinate charm executes in the same
environment, the payload usually execute under different service
accounts and as such it is impractical and may be less secure to
attempt to provide direct on-disk file access.

Also reverts commit bc0f83fee6.

Closes-Bug: #1918271
Related-Bug: #1885936
Change-Id: I4bc65ea1fcf3c01b68ed92b31e91a64940afe10e
2021-06-03 16:15:34 +02:00
Frode Nordahl 062d9971f1 Add deprecation notice for spares pool support
At the same time reduce the memory footprint of each func-target
job by 26G.

Change-Id: Ie2dedbb90bc0b6bfb695d696467a631b1c848fde
2021-06-03 16:15:34 +02:00
Frode Nordahl d5b9859741
Enable OVN L4 provider from Victoria onward
The driver is unreliable at Ussuri.

Also ensure we restart the ovn-driver-agent when configuration is
written to disk.

Ensure Port Security is enabled as this is a requirement for
reliable operation of the Amphora driver also exercised by the
functional tests.

Enable focal/groovy-victoria gates and re-enable Ussuri OVS gate.

Closes-Bug: #1927960
Closes-Bug: #1927962
Related-Bug: #1927959
Change-Id: I1bafd9eecb83aefb425bc5286f23d47c0885ac8e
2021-06-02 17:19:09 +02:00
Corey Bryant 6d1bb718f2 rebuild - restore c-h proxy env vars for add-apt-repository
Change-Id: I520a24cf9b6ae7e6e0870813b5dffc2648d0ce5e
2021-05-13 09:12:14 -04:00
Alex Kavanagh abc730c2af Updates to flip all libraries back to master
This patchset updates all the requirements for charms.openstack,
charm-helpers, charms.ceph, zaza and zaza-openstack-tests back
to master branch.

Also pin cachetools < 4.2.2 as 4.2.2+ breaks installations by requiring
setuptools >= 46.4 which breaks most installation targets.

Change-Id: I513e89ac95fe20e4e925cad2e0b190ed83512e80
2021-05-04 18:54:55 +01:00
Alex Kavanagh 9f66f4bdd5 21.04 libraries freeze for charms on master branch
* charm-helpers sync for classic charms
* build.lock file for reactive charms
* ensure tox.ini is from release-tools
* ensure requirements.txt files are from release-tools
* On reactive charms:
  - ensure stable/21.04 branch for charms.openstack
  - ensure stable/21.04 branch for charm-helpers
* build.lock file constructed on xenial builder

Change-Id: I8770c1ecdb6c533e8a5658d96f029e4bd3347809
2021-04-10 09:16:43 +01:00
Felipe Reyes 54efc3a2b4 Add anti-affinity-policy config option
This new option allows an operator decide if anti-affinity is set to
hint Nova of where to schedule the load balancers when the topology is
ACTIVE_STANDBY.

By default anti-affinity-policy is set to 'auto' which will set the
policy to soft-anti-affinity when the topology is set to ACTIVE_STANDBY
otherwise enable_anti_affinity is set to False.

Change-Id: I593a2784f12eb8abee2ec48aede27bdc745e5ede
Closes-Bug: #1813263
2021-03-11 09:38:39 -03:00