Commit Graph

27 Commits

Author SHA1 Message Date
Alex Kavanagh c331210e22 Convert the charm to binary wheel builds
Converting the charm to binary builds provides two benefits:

 - build time issues are moved to testing rather than (failing) at the
   install time, which can often happen after the charm is pushed to the
   charmhub.
 - the install time is much, much faster. This means upgrades take < 1m
   rather 3-4m.

Change-Id: Ib4f4a8acf807de0406b9588d32750e3a48ff2841
2023-07-20 16:44:47 +01:00
Felipe Reyes 2c10c15132 Rebuild the charm
Rebuild the charm to pick up charms.reactive-1.5.2 which includes a fix
for application is single unit.

Adding libpython3-dev to be able to build Cython

Related-Pr: https://github.com/juju-solutions/charms.reactive/pull/243
Change-Id: Ief281586efde5303c66bd7b0432589c9735c7f86
2023-04-06 15:04:15 -04:00
Liam Young 5bae2979e5 Fix charm for tox4 compatibility
Related-Bug: 2002788
Change-Id: Ib3d4f7ab7f884b47ce196c16357bffa11796cecc
2023-01-16 19:10:28 +00:00
Corey Bryant 0b7d041279 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: I577fff942606ded9885e9ba6f29040ba3fc7fb27
2022-08-26 18:40:45 +00:00
James Page 0012b14c46 Updates for jammy 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
- Set default channel to 1.8/stable

Change-Id: Ia9f2af61428f23dcccb9ca9966c42608a4738408
2022-04-05 15:42:53 +01:00
Alex Kavanagh b797fcfcbf 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: Icb73919f247c60a9e18cc2e563f0fda9c620cb14
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
2022-02-03 14:58:43 +01:00
Corey Bryant ac27608d02 Additional test updates
* switch to release-specific zosci functional tests
* switch to yoga zosci unit test job
* add py39

Change-Id: I3447ba421e4d73b12cd633bb4b3c4a60b5dd371f
2021-11-17 14:56:26 -05:00
Alex Kavanagh 75cdd8ddf8 Add impish bundle
- add non-voting impish bundle
- charm-helpers sync for new charm-helpers changes
- update tox/pip.sh to ensure setuptools<50.0.0

Change-Id: I9740ca887c4049a934b303b6634d4722d056c1ae
2021-09-27 20:18:14 +01:00
Aurelien Lourot c7cc2d4b94 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: I9856b8c1043051832dd4b3be165b4e022376b683
2021-07-27 07:53:00 +00:00
Alex Kavanagh d8e7e4644d 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: I531088a70f1281ba7f2f066c383e234fb7a8164f
2021-04-03 20:35:18 +01:00
Alex Kavanagh f6c58fffef 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: If226d1e14a213f0c04cf63a56058682f13d32dc2
2021-02-17 12:19:59 +00:00
Alex Kavanagh 7c419725bc Sync libraries & common files prior to freeze
* charm-helpers sync for classic charms
* charms.ceph sync for ceph charms
* rebuild for reactive charms
* sync tox.ini files as needed
* sync requirements.txt files to sync to standard

Change-Id: I82c35d13e7cbb4586a29c70ebccb4f687a17a496
2020-09-26 18:41:25 +01:00
Alex Kavanagh 8352f7ba54 Release sync for 20.08
- Classic charms: sync charm-helpers.
- Classic ceph based charms:  also sync charms.ceph
- Reactive charms: trigger a rebuild
- sync tox.ini
- sync requirements.txt and test-requirements.txt

Change-Id: I3ada82412445ab91cead3ed1b48cda798d279068
2020-07-27 21:01:05 +01:00
Liam Young dd4e04db45 Support application certs
The idea of an application cert is that it is identical on all
units. To generate one the interface collects all the published
sans and cns from the clients and generates one certificate
which is valid for all of them.

This change relies on an interface change *1

*1 https://github.com/juju-solutions/interface-tls-certificates/pull/22

Change-Id: I24362d23e2445970a7d1b078380f22dc672487ee
2020-03-25 12:01:06 +00:00
Ryan Beisner 9189405efd
Sync charm/ceph helpers, tox, and requirements
Change-Id: Id7b86f0fc64e7ee25aab8d8de09fd5b8b0da89c0
2019-09-30 20:59:41 -05:00
Camille Rodriguez 8d65538d3e Add disco-stein bundle to gate tests
The bundle disco-stein was in the dev bundles because
a bug with the Python 3.7 syntax prevented the success of
the deployment of HA clusters. This bug is fixed, we can
reintegrate disco-stein in the gate bundles.

Other small additions:
- removing sitepackages in tox.ini to avoid test env pollution
- skip_missing_interpreters in tox.ini set to False to avoid false
positives by skipping missing interpreters.

LP Related-Bug: #1823718
Change-Id: Ibad815c50a15aa8df7349262109fcdb2e4a3e341
2019-08-27 15:06:03 -04:00
Corey Bryant 8737386f34 Add Python 3 Train unit tests
This is a mechanically generated patch to ensure unit testing is in place
for all of the Tested Runtimes for Train.

See the Train python3-updates goal document for details:
https://governance.openstack.org/tc/goals/train/python3-updates.html

Note that python35-charm-jobs is retained since this charm is supported
on Xenial.

Change-Id: I35a710ef22d2b1185179f0679a1e18c530da49b9
Story: #2005924
Task: #34228
2019-07-30 10:17:25 -04:00
Zuul 23c4c43566 Merge "Add core snap resource, fix vault snap resource" 2019-05-13 21:00:37 +00:00
George Kraft d42a530675 Add core snap resource, fix vault snap resource
Change-Id: I39a842dfe33f02a46337338c9161e958764a7926
2019-05-10 15:38:23 -05:00
Chris MacNaughton d235e3d4c0 Migrate to split zaza - zaza.openstack
This change adds in zaza.openstack, as well as changing the
branch target of zaza to a branch with zaza.openstack
removed, allowing us to validate the new library

Change-Id: If2db3d8d992cd24fcf0cefb5409cb6cb17658eea
2019-05-09 14:19:12 +02:00
Pete Vander Giessen dadb8f916d Replace ostestr with stestr in testing framework.
A system upgrade broke ostestr. We can fix it by just calling stestr
directly.

Change-Id: I31189da2c56d98db1ed9dcf44c9938289812d8fa
2019-03-07 17:13:28 -05:00
Paul Goins def798490c Added tox environment for gathering coverage
This technique was borrowed from the tox "cover" environment in
openstack/nova's tox.ini.  This leverages the fact that stestr lets
you override the python executable via the PYTHON environment
variable.  Doing this allows us to easily generate coverage for our
unit tests.

An important caveat is that this does not provide any coverage for
tests via zaza, amulet, etc.  It is purely focused on the unit tests.

Note that this replaces the previous .coveragerc; coverage
configuration is instead pulled from tox.ini.

Change-Id: I42a5f115cce800e08afa68a43467fc323ce9c853
2019-03-01 14:44:08 +01:00
James Page 54a29e06ab Set options for KV backends
Ensure KV backend is created as a v2 backend by using
explicit provision of options when enabling the secret
backend.

Change-Id: Ief0a26c8a1adb9f6be39fa497222f809994c11d0
2018-10-24 08:44:05 +02:00
James Page 026e801475 Application version support
Set the vault app version in juju status using the version
returned from the Vault health data (rather than the installed
snap).

This review also puts in place the atexit handling needed for
general status assessment.

Change-Id: I1f8f0991534f4e130e924ffac733fa13141f0970
2018-04-17 09:36:46 +01:00
Liam Young 773b360a70 Restructure charm to follow src dir format
The OpenStack reactive charms use a src directory to store the
'source' charm. Convert the vault charm to comply with this
structure.

Change-Id: I7dd36b9aa7419459238f989dfe6c0553f7641cdf
2018-02-19 10:19:09 +00:00
Liam Young e40a910cd9 Add .gitreview
Add .gitreview file to point at openStack gerrit

Bring tox.ini and requirements mostly inline with other
reactive charms. tox.ini has to deviate slightly as
charm currently has no src dir.

Change-Id: I9184847409a884699d3b51641e19cbd9d30634fa
2018-02-19 09:24:02 +00:00
Liam Young b8b4f43092 Add tox.ini for building and flake8 tests
Add a tox.ini for creating virtualenvs and then executing builds,
flake8, unit tests and charm proof in those venvs. Example:

tox -e pep8
tox -e build
tox -e charm-proof
tox -e unit-tests

Partial-Bug: #1745966
2018-02-02 11:24:45 +00:00