* Update charm-octavia from branch 'master'
to b25affc465e0882748e4658b83e47641ffbf7751
- 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
* Update charm-octavia from branch 'master'
to f76d066df5330d8b8dd47ddc54abbb41e6f78bc2
- 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
* Update charm-octavia from branch 'master'
to d91db5f6fe69fd5e77ac655dbfcd45fd10bdf3f9
- 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
* Update charm-octavia from branch 'master'
to 8387b10da97a3c20ac34d56ff16867b0a98c3992
- 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
* Update charm-octavia from branch 'master'
to d8d8963667cb620370e2c424dbe668460ab99ff1
- 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
* Update charm-octavia from branch 'master'
to 41faa0023072e572fb7d9c7a1f4614fba4631c18
- Merge "Ensure get_requests_for_local_unit doesn't fail on incomplete relation"
- 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
* Update charm-octavia from branch 'master'
to e3b8b03378793562740590d8f849876aee0d1f15
- 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
* Update charm-octavia from branch 'master'
to f326ef267aa3e671b608b823bfcaf938868cba45
- 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
* Update charm-octavia from branch 'master'
to 856093cda9ef4705963f4978b4c65fbc8c1913c0
- 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
* Update charm-octavia from branch 'master'
to d1d369c70314532eea341e8cce4247727f4d8410
- 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
* Update charm-octavia from branch 'master'
to a70543515682ccae99f64a46653bc9d6601083e5
- 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
* Update charm-octavia from branch 'master'
to e237d6621eec7734a18dae52618030c30a21c9b8
- 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
* Update charm-octavia from branch 'master'
to ff317f99fc18ac3d8ef9b97f32621b6956c19f50
- 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
* Update charm-octavia from branch 'master'
to 7cb77afe26b25ae1bab1bf7b0125021a44529a04
- 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
* Update charm-octavia from branch 'master'
to 975502813f51f022887508e7d2c5840308c198d8
- Merge "Add *.charm to gitignore"
- Add *.charm to gitignore
This patch adds *.charm to the .gitignore to ensure that any built
artifacts are ignored.
Change-Id: If7fbc010602ef1b4d7023909e94748ade3ff7f48
* Update charm-octavia from branch 'master'
to 814666c26f0506188e8ede511a0b20c642ac608c
- 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
* Update charm-octavia from branch 'master'
to 93b85b6b24d84b63037dab9d2e5d04ab006403a3
- Merge "Update charmcraft so that it builds on 20.04, deploys everywhere"
- 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
* Update charm-octavia from branch 'master'
to 736e243bb95d79079fc0cda341f315975318d321
- 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>
* Update charm-octavia from branch 'master'
to 8c95f18ca183e2614043da40a8d67671a4ed3387
- 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
* Update charm-octavia from branch 'master'
to 49b7a2348fdb4b4a2c57afce7531a4780c63ccb9
- 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
* Update charm-octavia from branch 'master'
to cc292d72e2cb47366e093490c5319503f86d93ec
- 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
* Update charm-octavia from branch 'master'
to 07b5dc8ea8d289bb514ae0125d6f0f25919cb078
- 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>
* Update charm-octavia from branch 'master'
to 721c7a574c6c028de991de41cfb85e0a81b4f681
- 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
* Update charm-octavia from branch 'master'
to 1dfabe091bb6a4847ec5e19975ece82034a4e320
- 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
* Update charm-octavia from branch 'master'
to 7a39e9f608b789d21642d5d14c932b139b33835b
- Merge "Test bundles for focal-wallaby and hirsute-wallaby"
- 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>
* Update charm-octavia from branch 'master'
to 4cc576af79effdb877d0456c1d85fb2249d92367
- Add impish to metadata.yaml
Change-Id: I48fc59344e7caf4cb2d5220f6d0298276a766519
* Update charm-octavia from branch 'master'
to 7cbd4de09e86ed677cdfde4fa9a4232fc8a86a75
- 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
* Update charm-octavia from branch 'master'
to 762bfc6b29136eb94113baff8946a70aa1590706
- 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
* Update charm-octavia from branch 'master'
to f1a602ca41af1d0ed2f42f17e3ac7c9316fb2628
- 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 bc0f83fee6af481324f2f9c7e8f01a5c3bde991c.
Closes-Bug: #1918271
Related-Bug: #1885936
Change-Id: I4bc65ea1fcf3c01b68ed92b31e91a64940afe10e
* Update charm-octavia from branch 'master'
to 062d9971f1269ff83ebb845ba58f4da55401ef10
- 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
* Update charm-octavia from branch 'master'
to d5b9859741829adc403b8078999bbc9998ec6611
- 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
* Update charm-octavia from branch 'master'
to abc730c2af223483d310ff69ed9e0a1bef0a6584
- 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
* Update charm-octavia from branch 'master'
to 9f66f4bdd51bab0ecc704a6cb77432ddd3c90ee0
- 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
* Update charm-octavia from branch 'master'
to 54efc3a2b43321126584a270ed0d9598f210127c
- 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
* Update charm-octavia from branch 'master'
to 24e2f1050c0a212be7122185673bf43c8148272c
- Merge "Add hirsute and remove trusty from metadata.yaml"
- Add hirsute and remove trusty from metadata.yaml
This update adds the new hirsute Ubuntu release (21.04) and
removes trusty support (14.04 which is EOL at 21.04).
Change-Id: I63119543315a6bbd9a12f6efedb4e5195db81bed
* Update charm-octavia from branch 'master'
to 46610722dc499ab258116cd03a5165dfa2f48906
- Merge "Go into blocked state if using OVN but no certs"
- Go into blocked state if using OVN but no certs
Make the charm go into a blocked state if it has aan ovsdb-cms
relation but not certificates relation.
Change-Id: I4a769f3f0a01535b070cfec04a1b199821c500f5
Partial-Bug: #1885936
* Update charm-octavia from branch 'master'
to 307da842f49df40e62ff4f55b24e20329e3934b4
- Merge "Move lookup of per-unit Neutron port to common helper"
- Move lookup of per-unit Neutron port to common helper
Change-Id: Iba22bc9f4aa8f9c231f606ebb9b40d79272a95e8
* Update charm-octavia from branch 'master'
to 0c07a1f7959dfca82e2e2f12070dd4c8f5168988
- Merge "Ensure octavia-driver-agents gets installed"
- Ensure octavia-driver-agents gets installed
Due to a 'quirk' being fixed, the octavia-driver-agents don't get
installed if the ovsdb-subordinate relation is the last to be made.
This is due to the update-status hook gating the reactive handler from
running which 'fixed' the issue. Looking deeper, if the handler isn't
the first to run, then the charm's packages won't get initialised
properly.
This patch fixes that by using the dynamic properties 'all_packages' and
'full_service_list' available in charms.openstack core for the Charm
class. This means that it doesn't matter when the flag is set, as long
as it is before the property is accessed. Looking at the handler, this
will be in the right place for the install.
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/514
Change-Id: I5fd75c9d371390bca402d6a3a264421a44fd092a
Closes-Bug: #1916764
* Update charm-octavia from branch 'master'
to b10ec49117c56fc547f6adcf4c9be8f8f0b965f7
- Merge "Log all action failures to debug log"
- Log all action failures to debug log
Introduce and use a simple wrapper to log any exceptions thrown
from API calls to the debug log before setting the action_fail
status for the action.
Change-Id: I4c5e7199d03eb8980e5c3e2025509f00116fcf99
Closes-Bug: 1890315
* Update charm-octavia from branch 'master'
to 8fed37b4b9ec5d420548a1d3d83e2a169decb8a8
- Merge "Add new osci.yaml"
- Add new osci.yaml
This change is preparatory to migration Ubuntu OpenStack CI
from Jenkins to Zuul
Change-Id: I996496c12e189257a27fdb39dd094ccb0a6df929