* Update charm-ceph-osd from branch 'master'
to 2d5663b83c023906b4e6fd9e756fd85565a492ed
- Don't bind to ipv4 if prefer-ipv6 is true
Following https://tracker.ceph.com/issues/52867 we need to tell the OSD
which address family to use via the ms_bind_ipv4/6 config flags.
I added them to the ceph.conf template and updated the config hook.
Launchpad: https://bugs.launchpad.net/charm-ceph-osd/+bug/2056337
Change-Id: Ifbd59c204a82109e2b71991078f59537f6db42d3
* Update charm-ceph-osd from branch 'master'
to bd57a326e918c2c2b5f43c53f893a6bfa83e7e04
- Sync charmhelpers
Prep for noble/caracal, unit test fix
Change-Id: I5ad6b618bb3a5660a61ac3c536430c8e380e655c
* Update charm-ceph-osd from branch 'master'
to ae6ee7f590bb97b2fc6354b97dc3e62a0f8db940
- Reef default source bobcat
For the reef track, we want to default to having bobcat as a source,
as this will give reef packages
Change-Id: I3b5434cffc7e324c676ecbb6a146d29e2f553e5b
* Update charm-ceph-osd from branch 'master'
to ca9e4fdf056fe877eac56f2680ffa9c44725cd80
- Merge "Document how multiple devices must be provided"
- Document how multiple devices must be provided
osd-devices, bluestore-db, bluestore-wal, and osd-journal
accept multiple devices.
Note these must be strictly space separated (not newlines),
due to how .split(' ') is used.
Change-Id: Ic1b883b791fbd1801bbda4d9b9330117d6aea516
* Update charm-ceph-osd from branch 'master'
to d46e6b66d6a390ae4697e785ae925bff23c35db3
- Revert default source to 'yoga'
The Openstack libs don't recognize Ceph releases when specifying
the charm source. Instead, we have to use an Openstack release.
Since it was set to quincy, reset it to yoga.
Change-Id: Ie9d485e89bd97d10774912691d657428758300ae
Closes-Bug: #2044052
* Update charm-ceph-osd from branch 'master'
to c4209b3965b0f53b8ae7c064269bc3dec7e7e595
- Allow ceph device scrape-health-metrics
Ceph has a function to collect health metrics through smartctl or nvme
command out of the box. And it relies on sudo spawned from the ceph-osd
process so it needs to be considered in the apparmor policy.
[/etc/sudoers.d/ceph-smartctl in ceph-base package]
> ## allow ceph daemons (which run as user ceph) to collect device
> ## health metrics
>
> ceph ALL=NOPASSWD: /usr/sbin/smartctl -x --json=o /dev/*
> ceph ALL=NOPASSWD: /usr/sbin/nvme * smart-log-add --json /dev/*
Also sync charmhelpers and mock platform info
Closes-Bug: #2031637
Change-Id: I981a5db0fd49eca83aa8a619f0cbd0d34a533842
* Update charm-ceph-osd from branch 'master'
to 1bac66ee504e9a17ea8fdf5888485ac20b036edb
- Remove FileStore support
Remove support for creating FileStore OSDs. Also prevent upgrade
attempts to Reef if a FileStore OSD is detected
Change-Id: I9609bc0222365cb1f4059312b466a12ef4e0397f
* Update charm-ceph-osd from branch 'master'
to ceb81872845bafb08e60405dec6a0f060afa9f81
- Warn in status if tune-osd-memory-target invalid
This is useful, because if an invalid value is set,
the value is ignored and not overridden,
and an error logged.
So now we warn about this in the status to be more obvious to the user.
Change-Id: Idc4a7706f30cbcea8aee83a1406fa84139fe510d
* Update charm-ceph-osd from branch 'master'
to f13800fb0d2b6c53a0df9fcfdfaec4f409b921f0
- Add upgrade func testing
Change functional testing to also test upgrades from charmhub version
to the locally built charm. Include a new test for installing a locally built charm from scratch.
Also pin some support charms to specific tracks.
Change-Id: Id7de1723a4bbfcff02dd606be650b4410f897913
* Update charm-ceph-osd from branch 'master'
to 7821a38e25b5b0a7b8b7dbb29088dad4169bec70
- Sync libraries again (Reef mapping was missing)
Change-Id: I41b5abba9c29a99c16c67ee0d4a8c10e760c76fa
* Update charm-ceph-osd from branch 'master'
to c7e8b113f652cabf7814dee901c4acd1183fd7c3
- Merge "Remove some CI jobs and test bundles"
- Remove some CI jobs and test bundles
Change-Id: I526f090426d72842a709adc39ff796fafa17dcbb
* Update charm-ceph-osd from branch 'master'
to 68d4591b0dbade3c220db1ae2aba1addb2acdb3d
- Use charmcraft 2.x to build
Change-Id: I02cdc32404868bde1456672f43edb525d3aaf59c
* Update charm-ceph-osd from branch 'master'
to f3d67ff89d6b4155bc6dbee5a7c70dcd4b1dc347
- Clarify that osd-devices not present are ignored
This means that for cases where servers may have a different
number of disks, the same application can be deployed across all,
listing all disks in the osd-devices option.
Any devices in the list that aren't found on the server
will simply be ignored.
Change-Id: I7d0e32571845f790bb1ec42aa6eef72cc9b57b38
* Update charm-ceph-osd from branch 'master'
to 79328c9dac673e20215e9bdfea4055faca1cfda7
- Merge "Add docs key and point at Discourse"
- 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: I0fb5e14bd2e58d4abdcce6e230d5c4c1a1d00af7
* Update charm-ceph-osd from branch 'master'
to 6a0b48e916b61e6c236e77a39f095512f35386f2
- Fix: test bundles for jammy and lunar
Series and UCA pockets were off. Also deploy supporting charms for
lunar on jammy for stability
Change-Id: I805b28bf625d69626fcf663530ac93073d298732
* Update charm-ceph-osd from branch 'master'
to f1cdc830dcfeb8cda78021fd7ecdb510f20d84d8
- Remove relation test
The CephRelationTest class wasn't of much used and the test was
rather flaky, since it compared public IP addresses.
Change-Id: I9a77f4a86412f9bf4d27c0d7e0a7fe34d5a403ff
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1034
* Update charm-ceph-osd from branch 'master'
to cc9bceca32a261346452fc82351b0fa3840911b0
- Merge "Add mock to make unit tests work on Kinetic"
- Add mock to make unit tests work on Kinetic
Change-Id: I0740c4ad27da89b9dbfbc49af4aaf3e3443af012
* Update charm-ceph-osd from branch 'master'
to 53dc8b8bad1c7a3e72f205c648fd35be6b27bd54
- Merge "Fix pristine status"
- Fix pristine status
Only check configured devices instead of all system devices and don't check already processed devices when computing pristine status
Closes-Bug: #1988088
Change-Id: Ia6bf7a5b7abddb72c3ec61fd9e02daf42e94c2da
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1025
* Update charm-ceph-osd from branch 'master'
to 7b0bc3699f6b6764e85e2a21735abea4a8b0f3fd
- Merge "Fix: increase timeout for remove-disk"
- Fix: increase timeout for remove-disk
The `ceph osd purge` command used for the remove-disk action can take
several minutes to run. Increase the timeout for this to avoid
spurious errors.
Change-Id: I3a7fafa42c4a2ecaf45ba476e0157937e468ca33
* Update charm-ceph-osd from branch 'master'
to aa2ec8c861dd6019c619b823395452f8e288a2c1
- 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: I16b9d724930eacca42b9410c73931caceca8cca8
* Update charm-ceph-osd from branch 'master'
to b787063ed79786b8f7c72a524d29b31573cf528a
- Merge "Adds cinder volume in test bundles to replace loopback devices in test."
- Adds cinder volume in test bundles to replace loopback devices in test.
Change-Id: I96b52dda0698d8942a836bd5df0baa3a0e3500ad
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/989
* Update charm-ceph-osd from branch 'master'
to 511250b51594907b52daa6b35129019a034d0a08
- Merge "Save the crash module auth key"
- Save the crash module auth key
Read the key set on the mon relation,
and use ceph-authtool to save it to a keyring,
for use by the crash module for crash reporting.
When this auth key is set, the crash module (enabled by default)
will update ceph-mon with a report.
It also results in a neat summary of recent crashes
that can be viewed by `ceph health detail`.
For example:
```
$ juju ssh ceph-mon/leader -- sudo ceph health detail
HEALTH_WARN 1 daemons have recently crashed
[WRN] RECENT_CRASH: 1 daemons have recently crashed
osd.1 crashed on host node-3 at 2023-01-04T05:25:18.218628Z
```
ref. https://docs.ceph.com/en/latest/mgr/crash/
See also https://review.opendev.org/c/openstack/charm-ceph-mon/+/869138
for where the client_crash_key relation data set is implemented.
Depends-On: https://review.opendev.org/c/openstack/charm-ceph-mon/+/869138
Closes-Bug: #2000630
Change-Id: I77c84c368e6665e4988ebe9a735f000f99d0b78e
* Update charm-ceph-osd from branch 'master'
to 931d530ab5c16bcde62874e07e0fab9e225f6c4e
- Add kinetic support
Add 22.10 run-on base and add kinetic to metadata.yaml.
Change-Id: I519e59794d1e046d0bf985d8a22129270c33c10a
* Update charm-ceph-osd from branch 'master'
to 38407abdd566b1e2cec7ab2b414e9382167cc318
- Tweak apparmor profile to access OSD volumes.
Plus add aa-profile-mode enforce option to the test bundles.
Closes-Bug: #1860801
Change-Id: I8264ad760d92da3faa384c8edca5566fc622c57d
* Update charm-ceph-osd from branch 'master'
to d13e6ba384c30d98351961e8f9a762d8b9927ed9
- Unpin tox version
This unpinning is meant to solve the issues with tox 4.x breaking all
the virtualenv dependencies. Also, re-sync from release-tools.
Change-Id: I673c4b96de74f83d8fd3c0657c7ab0477fc4e9dc
* Update charm-ceph-osd from branch 'master'
to f50e64fb33350d0181186f9ee83f19d2198ad4d2
- Merge "Enable users to start/stop Crimson OSD's"
- Enable users to start/stop Crimson OSD's
This patchset modifies the add-disk action so that it now
can optionally start a Crimson OSD daemon.
Change-Id: I59bf4e41f1f56c6bda2352b5613289ff73113342
Depends-On: If58bde4d5445ed5de420abc007db6bf8b8e43269
* Update charm-ceph-osd from branch 'master'
to 856dffb486864fe1b51b0a57e29ef3ad3d331081
- Sync charm-helpers for zed support
Change-Id: I266226c771282194f809120be0271012705cb4bd
* Update charm-ceph-osd from branch 'master'
to ea56c2c19748026193cbb32faee17e760333ef40
- Ensure add-disk and hooks handle disks the same way
Depends-On: I2ea119f5a1b2a36ccd36df4db094f208a1db100e
Depends-On: Ie19e5318ea35c38e5d02963260b85fec0f233df6
Change-Id: Idebe45504233fb5559a3e9ddd9b2d6534cba7bb2
Closes-Bug: #1820271
* Update charm-ceph-osd from branch 'master'
to 0b8a5838925a65c4c6eaee54c1967e7228b545d3
- Fix ceph-osd disk removal on Jammy
Closes-Bug: #1987695
Change-Id: I7523e8fa0f6b62329eefcce6daf250881812943c
* Update charm-ceph-osd from branch 'master'
to 9fa1b45fe870d91b98f47a189b9e10dda3f4177f
- Remove force-deploy for Jammy
Additionally, Move jammy-yoga out of dev-bundles
Change-Id: I759ed6b716c91f28bed2b9a1010e01e39c138114
* Update charm-ceph-osd from branch 'master'
to 82f576ac30ad7d8e0da4d9212b29ecbeb76294a9
- Don't bootstrap osds on mon-relation-departed hook
The charm attempts to bootstrap OSDs on both the mon-relation-changed
and the mon-relation-departed hooks. There is no logical reason that
the OSDs should be bootstrapped in the -departed hook.
Change-Id: I79a790291b0e361d2748d6bed8c989d16ad36daf
Closes-Bug: #1885195
* Update charm-ceph-osd from branch 'master'
to 55720fa087f3ddaddbd761d24c2ceb1ef72d70d3
- Implement the 'remove-disk' action
This new action allows users to either purge an OSD, or remove it,
opening up the possibility of recycling the previous OSD id. In
addition, this action will clean up any bcache devices that were
created in previous steps.
Change-Id: If3566031ba3f02dac0bc86938dcf9e85a66a66f0
Depends-On: Ib959e81833eb2094d02c7bdd507b1c8b7fbcd3db
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/683
* Update charm-ceph-osd from branch 'master'
to 88ecd7f6ec01b1ebfc1ce6775302898ef1f523eb
- Updates to enable jammy and finalise charmcraft builds
- Add 22.04 to charmcraft.yaml
- Update metadata to include jammy
- Remove impish from metadata
- ensure that the source is yoga
Change-Id: Ibb93704c6d66f522cf112ad115b3a294d7a1eb03
* Update charm-ceph-osd from branch 'master'
to 99ef6cb306b361621cdbcd6e44268b80051955b9
- Merge "Enhance the 'add-disk' action for disk replacement"
- Enhance the 'add-disk' action for disk replacement
As part of the task to improve disk replacement, the 'add-disk' action
needs some changes. This includes:
- Creating 'bcache' devices to accelerate disk access.
- Creating caching partitions of a specified size.
- Recycling previously deactivated OSD ids.
Change-Id: Id5027f30d51c23d2be4c34f82867d65a50b35137
Depends-On: I43d0a0bc11664c37532c0117711affc93c9d1ad1
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/675
* Update charm-ceph-osd from branch 'master'
to c3e89c09bdb0d18059444a6fcdc48063798f05af
- Update to classic charms to build using charmcraft in CI
This update is to ensure that the Zuul Canonical CI builds the charm
before functional tests and ensure that that artifact is used for the
functional tests. This is to try to ensure that the charm that gets
landed to the charmhub is the same charm that was tested with.
Change-Id: I83118e15ff91480370182b404b3d3b7d24b5c67c
* Update charm-ceph-osd from branch 'master'
to 73fe60b3dfde78c21e2b4ade0654ce750453dc7b
- Spelling fixes from codespell with additional consistency cleanups.
Includes a resync of charms.ceph.
Change-Id: I281fe17acaea826b79bfa902a8d9e7a8b59482a9
* Update charm-ceph-osd from branch 'master'
to 4cbac58ba1219c5865e50635dc99051f9aabf059
- 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: Ib658c7f61fe4aceafc1919e366d24ce81ec1dd63
* Update charm-ceph-osd from branch 'master'
to aa0405dc94bad6f99996fe71faa8b04489c339a6
- Merge "Clear the default value for osd-devices"
- Clear the default value for osd-devices
Using /dev/vdb as default can go in conflict when using juju storage to
attach devices dynamically as OSD and journal, because juju may be
attaching as the first disk a volume that's meant to be used as a
journal and making the list of devices overlap.
Change-Id: I97c7657a82ea463aa090fc6266a4988c8c6bfeb4
Closes-Bug: #1946504
* Update charm-ceph-osd from branch 'master'
to a4e7e82119c45af1ffdd10f2dea748fa620ea95b
- Merge "Add accepted formats on 'key' configuration"
- Add accepted formats on 'key' configuration
Add a bit more information on config.yaml about the type of keys
that can be passed as a parameter to the 'key' configuration.
Signed-off-by: David Negreira <david.negreira@canonical.com>
Change-Id: Ieeb0f598ca9a7188f81619c2b4fe88af14f260fd
Closes-Bug: #1942605