Commit Graph

142 Commits

Author SHA1 Message Date
Samuel Walladge b852fa02bd Document rationale for erasure coded pools
This addresses the questions:

- Why doesn't the charm let me use an erasure coded pool as the default?
- How do I use the secondary erasure coded pool once it is configured?

Change-Id: Ia885ce41043a4cb04a6d92993474c44e9b994c55
2023-10-17 08:33:06 +10:30
Peter Matulis 4210d634e7 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: I4b117272f68a27732809d0dddc31ac9cf69c60d9
2023-08-09 10:48:55 +02:00
Corey Bryant 3c9e6f10ba Add 2023.2 Bobcat support
* sync charm-helpers to classic charms
* change openstack-origin/source default to quincy
* 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/stable

Change-Id: Ibb97b427f29a061adc2d67e55ae3976387d332c7
2023-08-08 11:59:35 +02:00
Chris MacNaughton f7764412a3 Add support for interim Ubuntu releases
- update bundles to include UCA pocket tests
- update test configuration
- update metadata to include lunar
- update snapcraft to allow run-on for lunar

Change-Id: I351ec2e549ef9ce1b25d4a57643c5f2e5e151d66
2023-03-16 14:28:02 -04:00
Corey Bryant 62482b50db Add kinetic support
Add 22.10 run-on base and add kinetic to metadata.yaml.

Additional changes:
* change CHARMCRAFT_* vars to CRAFT_* and add entrypoint
* pin tox < 4.0.0 for now
* switch to charmcraft pack
* add standard bindep.txt
* switch charm-tools to 2.8.4 to remove py310 ruamel requirement
* use charmcraft_channel 2.0/stable

Change-Id: I549e8382e4c079eb9eefec13f2a72e994e2b86f0
2023-02-03 10:00:04 -05:00
Chris MacNaughton 0e36e8c893 Remove small OpenStack deployment from functional tests
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/864
Change-Id: Ic143b99503a396d7ae1484a1a3e68bdd6e7ce525
2022-08-30 13:08:52 -04:00
Chris MacNaughton 5505caa345 Remove force-deploy for Jammy
Additionally, Move jammy-yoga out of dev-bundles

Change-Id: Ibcfee61d595e8966ce0d17cc09983da870cec278
2022-08-09 14:54:14 -04:00
Zuul 062ed67a8a Merge "Add *.charm to gitignore" 2022-07-12 13:57:40 +00:00
Ethan Myers 8f31a33a0f Enable charm to configure mds cache options.
Closes-Bug: #1891409
Func-Test-PR: https://github.com/openstack-charmers/zaza-openstack-tests/pull/774
Change-Id: If2bdd5c0f2afa1843e686cf69570a50901c85875
2022-06-02 08:06:11 -06:00
Alex Kavanagh 1e6a5252dd Add *.charm to gitignore
This patch adds *.charm to the .gitignore to ensure that any built
artifacts are ignored.

Change-Id: I4c79baf0802b2daa6aa9e9435ac9c99b605fc844
2022-04-18 21:05:47 +01:00
Chris MacNaughton 721df6ebf7 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
- Default source is yoga

Change-Id: I2aaa39d6f780c415db54b28eaf445732247d7d47
2022-04-13 16:17:03 +02:00
Alex Kavanagh 62a5f93079 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: I1bbdebb22fcd6cac4ceae74d90d70a8d94f3c769
2022-02-01 19:41:05 +00:00
Alex Kavanagh 69381f0328 Migrate charm to charmhub latest/edge track
Change-Id: I8ee68aa5d714b2052f846862b9db265956b43830
2022-01-27 19:36:55 +00:00
Hervé Beraud 0446879a1e 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: If34c7c237f705b7b78261ccd0fc4a1655663300a
2021-12-15 10:58:59 +00:00
Corey Bryant b455c46541 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
* drop bluestore model alias to simplify osci.yaml

Change-Id: I1df6bb74fd96d934aa97cce18307a3227b165882
2021-11-18 16:07:37 -05:00
Alex Kavanagh bee914c6bf 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: I1a8c12dc00e05d5d01606f68eb151d86acf61815
2021-09-21 13:52:56 +01:00
Eric Chen 2cfacc2646 Remove ntp installation in ceph-fs.
For the case in container, it is not necessary to install ntp.
For the bare metal, we now expect operators to use a subordinate
ntp charm instead. Therefore, we remove ntp installation in
ceph-fs.

Closes-Bug: #1935013
Change-Id: I48f1a6a1ee6153bbc86cc9acf9302d8eb9d7db43
2021-09-13 08:03:56 +00:00
Aurelien Lourot 2f234a8911 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: I1eb0e1b428c1b850326202af03747826f2029336
2021-07-22 14:52:05 +02:00
Aurelien Lourot 4d343edc66 Add impish to metadata.yaml
Change-Id: I6d93ffc924e760a497c5dc74b59a665f888412f0
2021-06-22 09:16:21 +00:00
Corey Bryant 7bd637b04a rebuild - restore c-h proxy env vars for add-apt-repository
Change-Id: I53017bdb31cc7cfbe9e11e0d856fbd065ba34563
2021-05-13 09:08:11 -04:00
Alex Kavanagh 0a9eeb59c7 Test bundles for focal-wallaby and hirsute-wallaby
These are the test bundles (and any associated changes) for
focal-wallaby and hirsute-wallaby support.

hisute-wallaby test is disabled (moved to dev) due to [1].

[1] https://github.com/juju-solutions/layer-basic/issues/194

Change-Id: I108ce673e31500d1e3c2b2d9f0530bae6ece486a
2021-05-05 09:56:24 +01:00
Alex Kavanagh 581e730614 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: I89267c171f245fbc92ad67545e97d99f48f798e2
2021-05-03 16:02:38 +01:00
Alex Kavanagh 36869e1e1f Update for libraries sync 21.04
* Updated build.lock generated on xenial
* Modified wheelhouse.txt to pick up charms.ceph stable/21.04 branch

Change-Id: Ifdf2620bb3c529fbdfa8bcd3f11b85428f32e3b3
2021-04-09 20:22:11 +01:00
Alex Kavanagh 46797fc986 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

* Manual fix to build.lock to work around bug [1]

[1] https://github.com/juju/charm-tools/issues/603

Change-Id: I6be25d404436647a19e18231ccd0985dd49bb858
2021-04-07 18:47:42 +01:00
Alex Kavanagh c8feba48a5 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: Ide508d37e11b37d2c4d19942fbeef9655390fae9
2021-03-02 20:52:31 +00:00
Zuul 6390808350 Merge "Add new osci.yaml" 2021-02-24 12:08:02 +00:00
Chris MacNaughton 95d02c8e46 Add new osci.yaml
This change is preparatory to migration Ubuntu OpenStack CI
from Jenkins to Zuul

Change-Id: I559aa794935acd63a0456d4ccbb33c9205a54fda
2021-02-23 12:01:21 +01:00
Billy Olsen ddd1acc56f Prune gate tests
Prune gate tests and move tests to dev_bundles.

Change-Id: Ifa837d3fec22a331bd650d20d630ab3700b76e62
2021-02-19 16:58:57 -07:00
Alex Kavanagh 5b4afdcf0d 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: Ie689cc96f5458c3622cb3752f2dffd5cf8e5499d
2021-02-17 12:07:50 +00:00
Alex Kavanagh c592e43e86 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: I573a2dfb313501576ebe64af717497e7abcd828f
2021-02-02 17:05:39 +00:00
David Ames 96be7532d2 Rebuild with udpated charm-tools 2.8.2
Validate the newest version of charm-tools: 2.8.2
https://github.com/juju/charm-tools/pull/598

Change-Id: I06992f94471e0f4f5b699dc6e96af2a64c29bac7
2021-02-01 14:07:11 -08:00
Alex Kavanagh 691448ac06 Updates for testing period for 20.01 release
Includes updates to charmhelpers/charms.openstack for cert_utils
and unit-get for the install hook error on Juju 2.9

* charm-helpers sync for classic charms
* rebuild for reactive charms
* ensure tox.ini is from release-tools
* ensure requirements.txt files are from release-tools
* On reactive charms:
  - ensure master branch for charms.openstack
  - ensure master branch for charm-helpers

Change-Id: Ife8c24cefab36793f2e3f0b08e6a828504d4380f
2021-01-15 16:28:05 +00:00
Aurelien Lourot e245bd4345 Remove Disco and Eoan bits
Change-Id: I6cff076fd856020a4a438c9729fa7ac4e7a89a0f
2021-01-12 13:51:13 +01:00
Aurelien Lourot b155a50403 Sync release-tools
Sync release-tools boilerplate containing these changes
in order to pin pip < 20.3:
https://github.com/openstack-charmers/release-tools/pull/125
https://github.com/openstack-charmers/release-tools/pull/126

Change-Id: Ide8ec614917d57bd89600686b80d1f10ebbb1cd2
2020-12-11 13:53:48 +01:00
Aurelien Lourot d410dced9c Add Groovy to the test gate
Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/468
Change-Id: Ifaa7b5b3ecd419e3e5c361bfdcfc4a2a0ea0332d
2020-11-25 14:51:17 +01:00
Frode Nordahl f93febc7f1
Add blurb about Ceph BlueStore compression
Change-Id: I9e40bf5a0110655bc6b7ac97b9b5128cbc1c26bd
2020-10-20 13:18:39 +02:00
Alex Kavanagh 7d55a49107 Rebuild reactive charms to pick up latest charm-helpers release.
v0.20.18 has been released and needs incorporating into the reactive charms.

Change-Id: If81ca0c3fefb20318358e16feb6fea7415a09e83
2020-10-14 16:25:55 +01:00
Peter Matulis a44894a249 Update README for Ceph EC pools
This updates the README for erasure coded
Ceph pools for the case of CephFS.

The new text should be as similar as possible
for all the charms that support configuration
options for EC pools. See the below review for
the first of these charms whose README has been
updated.

https://review.opendev.org/#/c/749824/

Other minor improvements.

Change-Id: Ic6543e3241048591818358c972eadecd6ceab50c
2020-10-08 20:11:45 +00:00
Frode Nordahl 8b2b48f0ea
Add BlueStore Compression support
Ceph Bluestore Compression is a post-deploy configurable option
and allowing to update the broker request is required. Drop code
that gates the sending of pool broker request, the original issue
has been fixed in the interface code and it is now safe to call
multiple times.

Fold Erasure Coding test into regular bundles from Mimic and up
to allow testing both EC and BlueStore Compression at the same
time without test bundle explosion.

Unpin flake8

Change-Id: I9b529e61a8832a62f4db12cab8f352d468c8a3ad
2020-10-06 16:51:52 +02:00
Alex Kavanagh 9c9b3f0aa5 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: I3f7c0bce48a37fa71fe9c5445b06892f649243aa
2020-09-29 19:26:15 +01:00
Liam Young 051ba2a55f Align EC usage with best practice
When using erasure coding three pools are needed. One metadata
pool which is replicated, one default data pool which is replicated
and one erasure coded pool.

Add an additional ec-pool-weight option to allow the erasure coded
pool usage to be modelled within the deployment.

The consumer of the share will need to use xattrs to ensure that
the hierarchy of directories and files are stored in EC pool while
leaving the default replicated data pool for file backtraces.

Depends-On: Ib19e545fc676fa9e986f3fddcfb92cf99e778a3f
Depends-On: I48348ab2b6c8952c5e22008a074a60c1f35be952
Change-Id: I1af386d5e1d031f2f0387c7381af683f948172d9
Closes-Bug: #1895154
2020-09-25 10:54:47 +01:00
Aurelien Lourot 0a707cd97f Add focal-victoria to the test gate
Change-Id: I94f2c5035a42ea4dcb0ac1843807525bdaa6d5fc
2020-08-28 14:24:25 +02:00
James Page 513da36a16 Tidy configuration options
Update descriptions and align metadata-pool configuration option
with codebase. Metadata pools are used by CephFS for both replicated
and erasure-coded data pools.

Change-Id: Iee6ee64e7bd672f9932037bf91670d8f59083aa4
2020-08-27 11:22:47 +01:00
Liam Young f347a37d69 Add Support For Erase-Coded Pools
Add support for erasure coded pools.

1) Pool name of replicated and EC pools can now be set via
   pool-name config option.
2) Weight of replicated and EC pools can now be set via
   ceph-pool-weight config option.
3) Charm no longer uses initialize_mds from the ceph-mds
   interface. This moves the charm inline with ceph-client
   charms where the charm explicitly creates the pools they
   need.
4) Metadata pool name format is preserved with an underscore
   rather than a hyphen.

Change-Id: I97641c6daeeb2a1a65b081201772c89f6a7f539c
2020-08-25 08:48:23 +00:00
Liam Young 25317a00cd Update to work with changes to interface.
The ceph-mds interface has been updated to work in the same way
as the ceph-client interface. This requires some minor updates to
the charm so pools are requested when the ceph cluster is first
available and the service is configured once the pools have been
confirmed to exist.

Depends-On: I9f438bb678da1b69d8161390aad2cf58907bc1b5
Change-Id: I83148f73c7f0465ecfadaa9df92e4a53e30813de
2020-08-18 09:54:17 +00:00
Alex Kavanagh 458af8aaf6 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: If1bf8dbceba3aff96aeee6e5bf710185d1ed9612
2020-07-27 20:49:28 +01:00
Zuul 80c809a23c Merge "Improve README" 2020-07-13 06:08:36 +00:00
Peter Matulis 29ea9f428b Improve README
This improvement is part of a wave of polish
in preparation for the launch of the Ceph product.

Add Configuration, Actions, and Bugs sections.

In config.yaml, modernise example values for 'source'
and use consistent words with the ceph-osd, ceph-mon,
and ceph-fs charms.

Change-Id: Iaf45df89db4b471c6379e09881758dae4b723783
2020-07-09 13:06:40 -04:00
Aurelien Lourot 31d8e472c6 Add Victoria test bundles
Change-Id: Ibcb9032c11deb4c1062492a3f690843fad48cc6c
2020-07-09 16:22:39 +02:00
Alex Kavanagh 8cffe1665d Updates for 20.08 cycle start for groovy and libs
- Adds groovy to the series in the metadata
- Classic charms: sync charm-helpers.
- Classic ceph based charms:  also sync charms.ceph
- Reactive charms: trigger a rebuild

Change-Id: I9912fe43e6db71ed81e47175f9f790ed550c9c31
2020-07-09 08:48:49 +00:00