Commit Graph

702 Commits

Author SHA1 Message Date
Peter Sabaini ae6ee7f590 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
2023-12-15 19:49:09 +01:00
Zuul ca9e4fdf05 Merge "Document how multiple devices must be provided" 2023-12-07 15:11:02 +00:00
Zuul 5bba68b2b2 Merge "Update command references to juju 3.x syntax" 2023-12-07 15:10:49 +00:00
Luciano Lo Giudice d46e6b66d6 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
2023-11-27 01:29:25 +00:00
Pedro Castillo 1494d9a245 Refactor cache validation for the ceph-osd NRPE check
Closes-Bug: #2019251
Closes-Bug: #2021507
Change-Id: Ib50414756165f2587f0127e572675c7ca8e31ef9
2023-11-13 07:53:37 -06:00
Nobuto Murata c4209b3965 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
2023-11-06 20:18:36 +01:00
Samuel Walladge a02b1e9e4a 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
2023-10-11 14:19:12 +10:30
Peter Sabaini 1bac66ee50 Remove FileStore support
Remove support for creating FileStore OSDs. Also prevent upgrade
attempts to Reef if a FileStore OSD is detected

Change-Id: I9609bc0222365cb1f4059312b466a12ef4e0397f
2023-10-06 09:03:51 +02:00
Samuel Walladge ceb8187284 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
2023-09-29 13:39:08 +09:30
Peter Sabaini f13800fb0d 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
2023-09-27 12:52:32 +02:00
Jake Nabasny 2380ad7cde Update command references to juju 3.x syntax
Change-Id: I4f1e1bbcf43a55b465382af914a0951aedf8c62b

Change "relate" to "integrate" in README juju cmd

Change-Id: I4f1e1bbcf43a55b465382af914a0951aedf8c62b
2023-09-20 12:07:47 -04:00
Luciano Lo Giudice 7821a38e25 Sync libraries again (Reef mapping was missing)
Change-Id: I41b5abba9c29a99c16c67ee0d4a8c10e760c76fa
2023-09-13 14:11:36 -03:00
Luciano Lo Giudice e97890043c Sync charm libraries
Change-Id: Ie6ae6fa1369db537fa606fa04df538f9a5587a0c
2023-09-12 19:23:43 -03:00
Zuul c7e8b113f6 Merge "Remove some CI jobs and test bundles" 2023-09-08 09:58:58 +00:00
Luciano Lo Giudice 8b8f15ad32 Remove some CI jobs and test bundles
Change-Id: I526f090426d72842a709adc39ff796fafa17dcbb
2023-09-07 11:12:10 -03:00
Samuel Walladge ba6186e5de Add config option for tuning osd memory target
Closes-Bug: #1934143

Depends-On: https://review.opendev.org/c/openstack/charm-ceph-mon/+/869896

Change-Id: I22dfc25c4ac2737f5d872ca2bdab3c533533dbff
2023-08-15 15:16:52 +09:30
Felipe Reyes 68d4591b0d Use charmcraft 2.x to build
Change-Id: I02cdc32404868bde1456672f43edb525d3aaf59c
2023-08-10 17:00:17 -04:00
Zuul 0505d53f92 Merge "Add 2023.2 Bobcat support" 2023-08-02 20:40:48 +00:00
Samuel Walladge f3d67ff89d 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
2023-07-31 15:02:57 +09:30
Zuul 79328c9dac Merge "Add docs key and point at Discourse" 2023-07-25 22:10:10 +00:00
Corey Bryant 986981c6f4 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

Change-Id: I7449eba63107b43525359fb92ae1a0ad9e648bab
2023-07-25 17:26:56 -04:00
Peter Sabaini 6a0b48e916 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
2023-07-24 17:24:24 +02:00
Jadon Naas af700cf326 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
2023-07-18 13:58:38 -04:00
Luciano Lo Giudice f1cdc830dc 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
2023-04-06 19:17:59 -03:00
Zuul 2e0440f07c Merge "Charm-helpers sync" 2023-03-28 20:54:24 +00:00
Zuul cc9bceca32 Merge "Add mock to make unit tests work on Kinetic" 2023-03-28 12:47:40 +00:00
Felipe Reyes 57d647005b Charm-helpers sync
Sync to get Antelope support.

Change-Id: I850bf37fa395949d6df9ad2c5157b75012ee8ba2
2023-03-28 09:01:40 -03:00
Zuul 53dc8b8bad Merge "Fix pristine status" 2023-03-27 16:37:04 +00:00
Zuul 7b0bc3699f Merge "Fix: increase timeout for remove-disk" 2023-03-27 16:32:21 +00:00
Peter Sabaini 22dfd2cc8f 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
2023-03-20 20:40:53 +01:00
Peter Sabaini 8c7ae6889a 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
2023-03-20 17:33:03 +01:00
Chris MacNaughton aa2ec8c861 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
2023-03-17 10:29:20 -04:00
Zuul 4a02ac14bb Merge "Adds timeout for ceph command calls." 2023-03-10 18:36:54 +00:00
Zuul b787063ed7 Merge "Adds cinder volume in test bundles to replace loopback devices in test." 2023-03-10 13:13:45 +00:00
utkarshbhatthere 470be74771
Adds timeout for ceph command calls.
Change-Id: I8c81b1f0042181d814d5f268282b082c8a5fc217
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/989
2023-03-10 17:42:53 +05:30
utkarshbhatthere 1fe0aa07d3
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
2023-03-06 16:30:51 +05:30
Zuul 511250b515 Merge "Save the crash module auth key" 2023-02-24 16:01:57 +00:00
Corey Bryant 931d530ab5 Add kinetic support
Add 22.10 run-on base and add kinetic to metadata.yaml.

Change-Id: I519e59794d1e046d0bf985d8a22129270c33c10a
2023-01-31 10:11:43 -05:00
Samuel Walladge 97be046f9b 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
2023-01-20 15:13:13 +10:30
alitvinov 38407abdd5 Tweak apparmor profile to access OSD volumes.
Plus add aa-profile-mode enforce option to the test bundles.

Closes-Bug: #1860801
Change-Id: I8264ad760d92da3faa384c8edca5566fc622c57d
2023-01-11 08:14:26 +00:00
Luciano Lo Giudice d13e6ba384 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
2023-01-11 12:28:59 +09:00
Zuul f50e64fb33 Merge "Enable users to start/stop Crimson OSD's" 2022-11-08 15:08:26 +00:00
Luciano Lo Giudice dbe3ee52bc 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
2022-10-18 18:11:47 -03:00
Corey Bryant 856dffb486 Sync charm-helpers for zed support
Change-Id: I266226c771282194f809120be0271012705cb4bd
2022-09-26 19:01:37 +00:00
Chris MacNaughton aa64bbcbcd Add mock to make unit tests work on Kinetic
Change-Id: I0740c4ad27da89b9dbfbc49af4aaf3e3443af012
2022-09-12 14:24:29 -04:00
Chris MacNaughton ea56c2c197 Ensure add-disk and hooks handle disks the same way
Depends-On: I2ea119f5a1b2a36ccd36df4db094f208a1db100e
Depends-On: Ie19e5318ea35c38e5d02963260b85fec0f233df6
Change-Id: Idebe45504233fb5559a3e9ddd9b2d6534cba7bb2
Closes-Bug: #1820271
2022-09-12 09:29:05 -04:00
Chris MacNaughton 0b8a583892 Fix ceph-osd disk removal on Jammy
Closes-Bug: #1987695
Change-Id: I7523e8fa0f6b62329eefcce6daf250881812943c
2022-08-29 15:44:49 -04:00
Chris MacNaughton 9fa1b45fe8 Remove force-deploy for Jammy
Additionally, Move jammy-yoga out of dev-bundles

Change-Id: I759ed6b716c91f28bed2b9a1010e01e39c138114
2022-08-09 14:52:19 -04:00
Billy Olsen 82f576ac30 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
2022-05-13 11:40:39 -07:00
Billy Olsen d4f3dd2ee6 Updates for jammy quincy and finalise charmcraft builds
- Update charmcraft.yaml for arch builds
- Remove impish-xena tests
- Update osci.yaml to include py3.10 default job
- Resync charmhelpers and charms.ceph

Change-Id: I41abace773d8926eaa00076dd83f52849c96150d
2022-04-07 16:47:55 +02:00