Commit Graph

80 Commits

Author SHA1 Message Date
Frode Nordahl e64a527e23
Work-around for Cargo download dependency failed
This is a work-around for charm build failures resulting in:
"Cargo download dependency failed "send: no filter connected".

This is documented in the following upstream issue:
https://github.com/rust-lang/cargo/issues/12202

This affects lunar builds where the curl version is 7.88.1.

Thanks to Colin Watson for help with figuring this out.

Closes-Bug: #2037589
Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com>
Change-Id: I7a01c7cf9e28d1b766d45b2dcc906d44b347b1d7
2023-10-11 11:21:14 +02:00
Frode Nordahl fa21facfe4 Make version pinning optional
The OVN charms prepared for the upgrade from OVN 20.03 to newer
versions by enabling the version pinning by default.

Since then we have reached agreement with upstream that rolling
upgrades should work when upgrading within the previous upstream
LTS version and the next.

Having the pinning enabled by default causes unnecessary grief for
anyone already upgraded to OVN 22.03, so it's time to turn it off
by default.

We add a charm configuration option in case anyone wants to
upgrade across LTS boundaries in the future.

Closes-Bug: #2030944
Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com>
Change-Id: I21dc2dc6615d39ffaa88cc27dbe3b2ba9b3982c4
2023-08-22 15:13:27 +02:00
Zuul 792ff0fbb5 Merge "Add 2023.2 Bobcat support" 2023-08-04 21:40:11 +00:00
Corey Bryant ed578d4dc2 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: I75d90bfc1e78a9c3f76f128e4f54846b01653917
2023-08-03 13:56:36 -04:00
Peter Matulis 1090b6e196 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.

Add charmhub-pop topic

Change-Id: I7ac6283884e85c319a634e210da8972d49abff8c
2023-07-25 15:28:16 -04:00
Dmitrii Shcherbakov 4bcf39ae51 Add Antelope support
* 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

* 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: I1215592725d1941f214738ee86250c74a398ee9a
2023-04-26 12:37:07 +00:00
Dmitrii Shcherbakov bc15fdac16 Handle deferred stops
The ovs package in kinetic+ (zed+) uses  dh_installsystemd with
--no-start for ovsdb-server, ovs-vswitchd, and ovs-record-hostname.
this results in stop events rather than restart events. This
change updates the restart-services actions for this charm to
handle stop events.

Closes-Bug: #2012553
Change-Id: If1dd5d0e5ca640a91893376366b23e78649d5772
2023-04-26 13:14:19 +03:00
Frode Nordahl fa3721f369
tox.ini: Fixup
Remove pins.

Properly format passenv list.

Drop the outer tox.ini func-target hack.

Drop the incepted tox in src/test-requirements.txt.

Drop pip.sh script.

Change-Id: I25dec5d1853a5aeb686df353d7c661f4a6eb5b69
2023-01-04 23:37:10 +01:00
Frode Nordahl 9bb84a0f01
Fix description of ovn-source configuration option
The current description erronously refers to 'focal-ovn-22.03' as
a valid value, while the correct value is 'cloud:focal-ovn-22.03'.

Closes-Bug: #1992592
Change-Id: I569e03aba227f488aa5199b48b9cf6fa67d382df
2022-10-13 10:45:23 +02:00
Frode Nordahl 8e47acd497
Use charmcraft reactive plugin for build
Charmcraft 2.1 provides the required functionality to build the
charm using the reactive plugin.

Add missing `kinetic` series in src/metadata.yaml.

Drop the `build-rective` target, old charm-tools environment
variables and redundant minversion in tox.ini.

Fixup the bases configuration and make associated changes to test
bundles.

Change-Id: I559e49ab80ca6de8b42192e1b961448a4522ce86
2022-10-11 18:44:56 +02:00
Frode Nordahl 3c061a754e Fix issues with charm and payload upgrade
Commit 1bdca14 added support for using the UCA
focal-ovn-22.03 pocket by default for new deployments on Focal.

Unfortunately the change missed some required changes for this
to work end to end.

Ensure charm works on Focal without any UCA pocket with the
`openstack-release` package already intalled.  The behavior
of `charms.openstack` is quite different dependning on whether
that information is available or not.

Ensure charm is able to detect availability of and to perform
payload upgrade on change of source.

Ensure charm does not attempt payload upgrade on charm upgrade.
When upgrading from a charm that does not have the `ovn-source`
configuration option, the reactive automatic flag
`config.changed.ovn-source` will fire even though it has not
changed.  Clear the flag in upgrade-charm hook.

Also drop bespoke reactive handler for change of source.

The layer change in openstack-charmers/charm-layer-ovn#73 adds
handling for the `source` and `ovn-source` configuration options,
as a consequence, the bespoke handler in this charm needs to be
removed.

Closes-Bug: #1991319
Change-Id: I5dd49c5ee0af741536fc1a2974d25f8521c5a581
2022-10-02 22:34:22 +02:00
Corey Bryant d901631ecd
Ensure build continues if src directory exists
This change also aligns the entry point with openstack charms.
For example:
https://review.opendev.org/c/openstack/charm-cinder-lvm/+/859408

Also fix ppc64el and s390x build failure.

Closes-Bug: #1991128
Change-Id: I614f464896ba1466e37764a628a2b9fe69b51277
2022-09-28 17:35:40 +02:00
Frode Nordahl edc50ebb46
Default to OVN 22.03 for fresh deployments on Focal
Add `ovn-source` configuration option which should be used in
addition to the `source` configuration option.

The default of the `ovn-source` configuration option is
determined at runtime based on whether the end user has provided
config, whether its a fresh or upgraded charm deployment and which
series it is deployed on.

Change-Id: I3d55bafb598339b0b69ad0d65473d79bf9cdbe4c
2022-09-23 16:41:53 +02:00
Zuul da3d9ad5dc Merge "Add Kinetic and Zed support" 2022-09-21 07:32:04 +00:00
Zuul c79e05feb5 Merge "Use native Raft storage for Vault in gate bundles" 2022-09-20 20:52:25 +00:00
Zuul f6cca122bd Merge "Build separately for each supported series and use binary builds" 2022-09-20 20:48:46 +00:00
Corey Bryant 9a1325e307 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
* drop reactive plugin overrides
* move interface/layer env vars to charmcraft.yaml

Change-Id: I2cb698f719106e54b06009f24ea47259419e9cad
2022-09-20 18:36:45 +03:00
Dmitrii Shcherbakov e67e295043 Use native Raft storage for Vault in gate bundles
Change-Id: I4578454513bc8b44c424832a634fa81eae4c8cbb
2022-09-20 18:36:41 +03:00
Dmitrii Shcherbakov f7a4a460ad 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.

Change-Id: Ibfe317d1056e44baa32c414d33f54d656887d2a1
2022-09-20 16:33:37 +03:00
Zuul 3acb92c725 Merge "Rebuild to pickup DPDK driver improvements" 2022-05-03 03:03:53 +00:00
James Page 2ea68bb50d
Updates for jammy/22.03 enablement
- charmcraft: build-on 20.04 -> run-on 20.04/22.04 [*archs]
- Refresh tox targets
- Drop impish bundles and OSCI testing
- Add jammy metadata

Drop NRPE from Jammy bundles as the charm is not updated to
support Python 3.10 yet.

Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/742
Change-Id: Idd8a2e2387da0012ba78d50960630e7a1472dc8e
2022-04-06 17:13:36 +02:00
Frode Nordahl bd72421016
Use Netplan to configure SR-IOV and HWOL
Rebuild pulls in updates to layer-ovn which enables use
of Netplan to configure SR-IOV and Hardware Offload.

Also drop past release specific classes.  As part of the migration
to charmhub we have also changed the release strategy from having
every release support all previous supported os/release
combinations to only support current and previous version (to
ensure N+1 upgrades).

Change-Id: Idc7837fd5b939b05c3ae1c8007c3080c7f0192e3
2022-04-04 09:43:32 +02:00
James Page ce189c45d5 Rebuild to pickup DPDK driver improvements
Rebuild charm to pickup new feature in layer-ovn to support
installation of additional DPDK network drivers for less
well supports cards.

Closes-Bug: 1936850
Change-Id: I61c9b0b1b49b1604e070876ceed32965da193454
2022-02-16 14:59:58 +00:00
Alex Kavanagh 81d7faefa8 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

Change-Id: I3199f7dba089767d27638ec3ca2b126a083fbe82
2022-02-01 21:04:37 +00:00
Corey Bryant 015414bfce Add WallabyOVNChassisCharm class
This aligns with the following charm-layer-ovn change:
https://github.com/openstack-charmers/charm-layer-ovn/pull/54

Depends-On: https://review.opendev.org/c/x/charm-ovn-dedicated-chassis/+/816055
Closes-Bug: #1951462
Change-Id: Ifafd9c6278e50511d3fc7caa411999578d64a0be
2021-11-22 08:24:04 -05:00
Corey Bryant 9a0782a8a8 Add yoga bundles and release-tool syncs
* charm-helpers sync for classic charms
* sync from release-tools
* switch to release-specific zosci functional tests
* run focal-ussuri as smoke tests
* remove trusty, xenial, and groovy metadata/tests
* drop py35 and add py39

Change-Id: I33a8831474633c5516a956fec86d13e333a03b76
2021-11-22 08:23:48 -05:00
Alex Kavanagh 1c35d6287a Add xena bundles
- add non-voting focal-xena bundle
- add non-voting impish-xena bundle
- rebuild to pick up charm-helpers changes
- update tox/pip.sh to ensure setuptools<50.0.0

Change-Id: Ic8780e9b5fea8a541fea4ddfcd7b07e0306df4c7
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
2021-10-08 10:49:43 +02:00
Frode Nordahl 9fd23feab4
Rebuild to pull in updated sriov-netplan-shim
The ovn-dedicated-chassis charm consumes the sriov-netplan-shim
Python package as a wheel for its `pci` module which is used to
render the `/etc/sriov-netplan-shim/interfaces.yaml` configuration
file used for boot time configuration of SR-IOV VFs.

The package was recently updated and the chages are required for
the charm to correctly interpret sysfs information when used with
recent versions of the mlx5_core driver.

Related-Bug: #1892132
Related-Bug: #1927125
Change-Id: I17792b718024d6ff7ff52394fe33f06db971e8b1
2021-09-08 09:43:31 +02:00
Frode Nordahl 33ed06cb23
Improve handling of major version upgrades
Setting the external_ids:ovn-match-northd-version value to
'true' will make the ovn-controller refrain from making updates to
the data plane tables in the event of a version mismatch.

This in combination with stopping the ovn-controller with the
ovn-ctl stop_controller --restart command will allow upgrades
to progress with little or no data plane downtime.
(Note that we will accomplish this by a separate proposal to the
OVN package itself in Ubuntu.)

As soon as the central components are upgraded ovn-controller will
notice and resume (re-)programming of the local Open vSwitch data
plane.

Closes-Bug: #1940043
Change-Id: I16fedbc455e25bec0de4a475a9daa55b700ab3a0
2021-08-16 15:27:46 +02:00
Zuul 3fd61e0c02 Merge "Mention deferred service events in README" 2021-08-03 13:30:32 +00:00
Aurelien Lourot 1d5290cf0f 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: I949a3dcd343638f8715537f52fc8d2f546bf0bc2
2021-07-22 15:00:10 +02:00
Peter Matulis 4b9d205e00 Mention deferred service events in README
This is a boilerplate section that will eventually
be added to the README for every charm that supports
the deferred restart feature.

Change-Id: Ic5728b7254a2a48e672026345620780ac65bf8a9
2021-07-09 13:57:40 -04:00
Frode Nordahl 257bb43029
Add prefer-chassis-as-gw configuration option
By default the CMS will schedule HA chassis groups across all
chassis with bridge- and bridge interface mappings configured.

This configuration option would allow you to influence where
gateways are scheduled when all units have equal bridge- and
bridge interface mapping configuration.

Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/599
Closes-Bug: #1908377
Closes-Bug: #1934678
Related-Bug: #1848757
Change-Id: Ifd8f6b29c4f117850b243e2fdb79067659242a0e
2021-07-07 15:10:46 +02:00
Alex Kavanagh 5f6c9e74c4 Test bundles for focal-wallaby and hirsute-wallaby
These are the test bundles (and any associated changes) for
focal-wallaby and hirsute-wallaby support.

Change-Id: I968788863d39248f2d1e401ac043bfffa3efb99a
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
2021-06-28 15:13:22 +02:00
Zuul 9debe72283 Merge "Add impish to metadata.yaml" 2021-06-07 08:00:46 +00:00
Aurelien Lourot 7335929567 Add impish to metadata.yaml
Change-Id: I4b1ca186aa0e0fa45b96d29f17e9e3b6e29fa977
2021-06-03 11:24:24 +02:00
Corey Bryant 23dcf948a1 rebuild - restore c-h proxy env vars for add-apt-repository
Change-Id: I1c7a5d4cfa8edf50d9da71fbbe38f0a051f7169b
2021-05-13 09:13:01 -04:00
Alex Kavanagh c5624ce780 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.

Change-Id: I1598633df7da16612aeb81a7c352977a523a83de
2021-05-03 16:10:19 +01:00
Liam Young 7a71e057a6 Update build lock file
Recent fixes to layer ovn were not picked up because the build.lock
file was not updated. This updates the build.lock file so
the layer-ovn fixes are included.

Change-Id: Ifd49d81e16902c8094ddb9ac0f0b0b50e632a84b
2021-04-23 08:01:42 +00:00
Zuul b060bd591c Merge "Rebuild to pick-up ovn-layer fix" 2021-04-22 18:56:57 +00:00
Liam Young 8049bccbeb Rebuild to pick-up ovn-layer fix
Rebuld to pickup layer-ovn fixes mainly LP #1925315

Change-Id: I9ca83e0d8509f0f63250050e2c47d4c3086eca55
Closes-Bug: #1925315
2021-04-22 13:11:34 +00:00
Liam Young 5061377d21 Upgrade if source changes.
Run package upgrade if source changes.

Change-Id: I8d340c407b9f7a68f81da4886320e94a8850c4c0
Closes-Bug: 1924596
2021-04-16 13:47:52 +00:00
Liam Young 66edeaaea3 Implementation of deferred restarts
Add deferred restart actions and config.

Change-Id: I06bea08c19c4aef40c2aae1ad5e8e21d2ef66579
2021-04-09 19:46:41 +00:00
Alex Kavanagh 78710b50d2 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

Change-Id: Ia060b7ebef8585b0976afaf7b8c26f18abdd7b15
2021-04-07 18:46:45 +00:00
Frode Nordahl 76694b9f08
Rebuild for layer changes
Related-Bug: #1919030
Change-Id: I76e91b97d4a0e4ab76d0c646b496fb36c53181d8
2021-03-17 12:11:29 +01:00
Chris MacNaughton 9ad665e522 Add new osci.yaml
This change is preparatory to migration Ubuntu OpenStack CI
from Jenkins to Zuul

Change-Id: Id44d2037d5743bc882388141d726194c51d82fbf
2021-03-05 17:58:13 +00:00
Alex Kavanagh 958319a64a 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: I96af53cd88361253e2f683c4eb10dcd4a268d779
2021-03-02 21:03:40 +00:00
Alex Kavanagh 3abcbef449 Updates to pin charm-tools to 2.8.3
* Update requirements.txt to pin charm-tools to 2.8.3
* Update tox.ini to change the build parameters.
* This upgrades from <2.7 which adds reproducible charms
* Bug was fixed that controlled the default output directory
  doesn't get 'builds' appended.  The tox change puts it
  back so that stable & master both build to the same
  directory.  This may be reviewed in the future.

Change-Id: I716de45b98f97d19138d424fc0279a5a058b30c1
2021-02-17 12:17:35 +00:00
Frode Nordahl 56aa7d22ed Use the common configuration adapter from layer-ovn
Related-Bug: #1906280
Change-Id: Ia0fbb6c48f959a5d9da3f4aaf280184c43d2e3bb
2021-02-12 16:52:43 +01:00
Alex Kavanagh 801c8b5611 Rebuild to use charm-tools pre 2.8 release
Reverting to an earlier version of charm-tools to
resolve some building issues seen with latest 2.8.2
version.

Change-Id: Ia4cf52bae72d1d561a253e4ec4e17703ac714cc7
2021-02-02 17:13:02 +00:00