Commit Graph

184 Commits

Author SHA1 Message Date
Goutham Pacha Ravi
11260fcbc9 Standalone nfs-ganesha with cephadm deployment
Manila supports using a standalone NFS-Ganesha server
as well as a ceph orchestrator deployed NFS-Ganesha cluster
("ceph nfs service"). We've only ever allowed using
ceph orch deployed NFS with ceph orch deployed clusters
through this devstack plugin. With this change,
the plugin can optionally deploy a standalone
NFS-Ganesha service with a ceph orch deployed
ceph cluster. This will greatly simplify testing when we sunset
the package based installation/deployment of ceph.

Depends-On: I2198eee3892b2bb0eb835ec66e21b708152b33a9
Change-Id: If983bb5d5a5fc0c16c1cead84b5fa30ea961d21b
Implements: bp/cephadm-deploy
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
(cherry picked from commit ca2486efb4)
(cherry picked from commit af28bdab39)
(cherry picked from commit 2a7fca87fe)
2024-09-25 18:16:59 +00:00
Ashley Rodriguez
b540b164b6 Bump to Reef
Bumps ceph versions to Reef to enable ingress service deployments.
Affects only cephadm based jobs

Change-Id: I85ad659bf1ad36cb5340a53cd57603451fc77147
(cherry picked from commit c7fb07d479)
(cherry picked from commit 8195827bd9)
2024-04-05 16:12:57 +00:00
Zuul
e1cca72767 Merge "Update default ceph image tag to remove patch version" into stable/2023.1 2024-02-08 22:13:36 +00:00
ashrod98
98901bd27a Remote Ceph with cephadm
Add podman ceph-common and jq as part of preinstall dependency.
Add REMOTE_CEPH capabilities to CEPHADM deployment.
Removed set_min_client only if cinder is enabled, this should be set
in any case.
Get FSID from ceph.conf in /etc/ceph to avoid unnecessary override.
Update paste-deploy workaround to be used always.

Part of an effort to test multinode deployments with cephadm.

Pinned tempest-py3-base to single-node-jammy.
Added cephadm deploy to tempest-py3 job.

Needed-By: I5162815b66d3f3e8cf8c1e246b61b0ea06c1a270
Change-Id: I84249ae268dfe00a112c67e5170b679acb318a25
2023-12-04 16:23:17 +00:00
Goutham Pacha Ravi
8ec10d48c5 Update default ceph image tag to remove patch version
Ceph release tags adhere to a versioning scheme x.y.z [1], where:
- x = major release number (e.g.: quincy is 17, reef is 18)
- y = 1 or 2, where 1 is an release candidate, and 2 is a stable release
- z = patch/updates

We shouldn't hardcode a patch version in the default container
image we're fetching in our jobs, unless absolutely necessary
for some bugfix/feature that we rely on.

[1] https://docs.ceph.com/en/latest/releases/general/
Related-Bug: #1989273

Change-Id: Iea541d2edefc871bcac2d965997c88462fcbe521
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
(cherry picked from commit 7b209845d5)
(cherry picked from commit 190be0de97)
2023-11-10 04:18:00 +00:00
Goutham Pacha Ravi
b8829a54f2 Cleanup installation and revive cephfs-nfs job
The cephfs-nfs job was turned off [1] for perma-failing.
This commit adds the original non-voting job back into the
check queue and fixes some installation issues:

1) use ceph "quincy" release: Ceph Pacific's end of life
   is 2023-06-01 [2]. The manila community thinks deployers
   are more likely to use quincy with the 2023.2 (bobcat)
   release of OpenStack.
2) run the job with centos-stream-9: There are no packages
   currently available for Jammy Jellyfish on download.ceph.com [3].
   The OS shouldn't really matter for this CI job that is meant to
   test feature functionality provided by manila. At this time, we'd
   like to stick with builds provided by the ceph community instead
   of the distro since it may take a while to get bugfixes into distro
   builds.
3) The install script uses "nfs-ganesha" builds for ubuntu and
   centos hosted by the nfs-ganesha community [4]. We will not rely on
   the ceph community to provide the latest builds for
   nfs-ganesha any longer.

This commit also cleans up the unnecessary condition in the
ceph script file pertaining to configuring ceph packages for
Jammy Jellyfish. This step wasn't doing anything.
Ubuntu packages don't work at the moment and that requires some more
investigation.

[1] Id2ae61979505de5efb47ce90a2bac8aac2fc5484
[2] https://docs.ceph.com/en/latest/releases/
[3] https://www.spinics.net/lists/ceph-users/msg74312.html
[4] https://download.nfs-ganesha.org/

Change-Id: I40dfecfbbe21b2f4b3e4efd903980b5b146c4202
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
(cherry picked from commit 563cb5deeb)
2023-10-11 19:06:17 +00:00
Dmitriy Rabotyagov
e80282791f Use default Ubuntu Jammy ceph repos
Ubuntu 22.04 does provide Ceph Quincy (17.2.*) out of the box, thus
there's no urgent need to have comunity repos and we can simply rely
on distro-provided ones. We can remove logic once community publish
Ceph packages for Ubuntu Jammy (22.04).

Change-Id: I169971ef77f11ceb01a5db87441051dcb33555f7
2022-11-16 11:08:28 +00:00
Zuul
19db7b46ab Merge "Set snapshot_support to true for cephfsnfstype" 2022-09-30 10:55:07 +00:00
Victoria Martinez de la Cruz
6b73342c9c Set snapshot_support to true for cephfsnfstype
CephFS driver supports snapshots, therefore the snapshot_support
extra spec for the cephfsnfstype we create should be True.

Change-Id: I97b58697f27824a97cfd31ed21d79916b9e270cc
2022-09-26 13:13:09 +00:00
Victoria Martinez de la Cruz
46186d062b Add cephfs_nfs_cluster_id option
As part of change I1826f2970528928a31b32a664013380e38bbd7c9
we added a configuration option to the manila cephfs nfs driver
when deployed using cephadm.

We also need this option set here to get the m-shr service
to pick the right helper when deploying with DevStack

Change-Id: If99714e07f4b75c76db29a660ad8d1e93f7055e5
2022-09-14 17:12:43 +00:00
Victoria Martinez de la Cruz
3c0ce20d00 Use a standard port for NFS
We should be using a standard port for NFS

Most frequently used ports for NFS are 111 and 2049.

Change-Id: I78503c7780feebdc51ab32973b5cb7b8cea30272
2022-08-24 16:41:28 +00:00
Zuul
536335b9f8 Merge "Bump Ceph default version to Quincy in cephadm deploy" 2022-08-17 00:18:04 +00:00
Victoria Martinez de la Cruz
0f018f081b Bump Ceph default version to Quincy in cephadm deploy
Latest Ceph stable version is Quincy. This patch set
sets Quincy as default for the cephadm deploy.
This change won't have an impact in the script being
currently used in our CI.

Change-Id: I2d87ec0e93853cd0852944b30a87f6127f491550
2022-08-10 09:02:45 +00:00
Zuul
956b123b28 Merge "Remove pg_num and pgp_num config from bootstrap_ceph" 2022-08-02 15:22:13 +00:00
Victoria Martinez de la Cruz
22d94f462e Remove pg_num and pgp_num config from bootstrap_ceph
The configuration that we are using by default that
sets pg_num and pgp_num values in bootstrap_ceph
breaks devstack-plugin-ceph when using the latest Ceph version (quincy).

This patch sets removes the config for pg_num and pgp_num,
so we delegate to Ceph the pools autoscaling.

Closes-Bug: #1983107
Change-Id: Iecd949ef2258ae8a6ded596219bb993aeff20de5
2022-07-29 14:01:20 +00:00
Goutham Pacha Ravi
ed3c978f11 Set default value for MANILA_CEPH_GANESHA_RADOS_STORE
It's not a required configuration item; and its not required
with cephadm deployed NFS-Ganesha daemon/s.

Change-Id: I54380f1cb905dfa5ab287ba423561aa75bc1d2f4
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2022-07-19 01:16:52 +05:30
Zuul
f1ad6ff275 Merge "Deploy with cephadm" 2022-06-30 12:14:30 +00:00
Victoria Martinez de la Cruz
bba01bdd2f Deploy with cephadm
Add the option to deploy the Ceph cluster
with the cephadm tool.

Depends-On: I799521f008123b8e42b2021c1c11d374b834bec3
Co-Authored-By: Francesco Pantano <fpantano@redhat.com>

Change-Id: Id2a704b136b9e47b7b88ef586282cb5d0f754cf1
2022-06-27 18:54:15 +02:00
Luigi Toscano
e222cc9769 Ceph set minimum client version
This patch adds a new VAR for when the user wants to set the minimum
client version used in a Manila/Glance/Nova/Cinder test job in addition
to using devstack.

A new configuration option, CEPH_MIN_ CLIENT _VERSION, has been
introduced to specify a Ceph-minium client version that allows proper
handling when deleting images and snapshots with dependencies, etc. The
default value is null.

Co-Author-By: Sofia Enriquez <lsofia.enriquez@gmail.com>
Change-Id: Id8e581893ee4b373b268acc7c59b670985cedc2f
2022-06-23 21:57:03 +00:00
Abhishek Kekane
8a27b7bdd8 Allow glance ceph osd cinder,nova pool access
Recently cinder has utilized clone v2 support of Ceph for its
RBD backend, since then if you attempt to delete an image from
glance that has a dependent volume, all future uses of that
image will fail in error state. Despite the fact that image
itself is still inside of Ceph/Glance. This issue is reproducible
if you are using ceph client version greater than 'luminous'

To resolve this issue glance RBD driver now checks whether original
image has any dependency before deleting/removing it's snapshot and
returns 409 response if it has any dependency. To check this
dependency glance osd needs 'read' access to cinder and nova
side RBD pool.

This change allows glance keyring/osd a read access on cinder and nova
side RBD pool.

Related-Bug: #1954883
Change-Id: I2e6221e6de23920998bb5f32b2323704b3c89f74
2021-12-20 04:59:38 +00:00
Sean Mooney
4d9f4b2235 remove python3-logutils
this change ensure that python3-logutils is removed so that
that it can be installed by pip later.

Before today in passing build, there were no python3-logutils pulled by neutron deps so
it was not installed or tried to uninstall so all good
- https://zuul.openstack.org/build/590c5996ca1b402486bfe1c7e1d08535/log/job-output.txt

But from today (10th Dec), python3-logutils pulled by neutron deps and failure started
- https://zuul.opendev.org/t/openstack/build/722c6caf8e454849b897a43bcf617dd2/log/job-output.txt#9419

The root cause of why this issue started happening today is not known. May be its
pecan===1.4.1 ? I8ee467bbb363f428a005f92554812bfdae95881a making it install but there
is no change for logutils as deps in pecan previous version 1.3.3 also[1]).  Or it may
be cpeh/ubuntu packaging.

But it is clear that python3-logutils  is coming from somewhere and causing gate blocker
in Nova gate, let's remove it and later we can find the root cause if anyone need this
package for their ceph job.

[1] https://github.com/pecan/pecan/blob/1.3.3/requirements.txt#L5

Closes-bug: #1954427

Change-Id: Icb63649b252fd6eb229adeae454b5ec3c6b79cad
2021-12-10 20:09:14 +00:00
Zuul
bb7ea57a58 Merge "Fix Ganesha repository broken urls" 2021-10-18 18:59:31 +00:00
silvacarloss
0e27c6d650 Fix Ganesha repository broken urls
Few URLs from some ganesha repositories were not corresponding
to actual valid URLs, where packages could be searched in
the repository.

These broken URLs have now been fixed.

Change-Id: If27b488cfec29731b74e7db774c4811b0e34c14e
2021-10-15 16:33:43 +00:00
Eric Harney
d1fbd5a31d Initialize RBD pool
When we deploy devstack, we need to initialize the RBD pool.

Not doing so means that functionality like rbd trash purge
scheduling will not work correctly.

Ref: https://docs.ceph.com/en/latest/start/quick-rbd/
Change-Id: I5b0b3b83fb7ef805929fdcd106a5c8a988b05ec4
2021-08-26 19:22:20 +00:00
Victoria Martinez de la Cruz
83a076c214 Add CentOS8 Stream support
Remove the need of using FORCE_CEPH_INSTALL=yes
for CentOS8 Stream

Change-Id: I76c2c3805a8f606dca69a0f12aca226680fda573
2021-06-21 17:55:48 +00:00
Victoria Martinez de la Cruz
503781a9f8 Remove redundant Fedora version check
Seems a trace from older code. It doesn't make
much sense to allow all Fedora versions that
matches f[0-9][0-9] and then check for specific
Fedora versions in the following lines.

Remove this check and just allow some specific
versions

Change-Id: Ie14a453f96689f574f1b388ab8f6e5467a59b7f7
2021-06-18 15:43:58 +00:00
Giulio Fidente
1c3a975873 Bump up Ceph to Pacific and Ganesha to v3.5
This will change the version of Ceph from Octopus to Pacific and,
with it, the version of Ganesha from v3.3 to v3.5 which is the
version shipped into the Ceph Pacific container.

Change-Id: I1b31ef9dd13e1d56284f8d9f8be03e3fee0eb0a7
2021-05-24 23:19:56 +02:00
Zuul
eff4aa43ac Merge "Clean up our disk image and mountpoint" 2021-05-21 21:08:05 +00:00
Victoria Martinez de la Cruz
c5545a3db5 Enable testing Ceph master
This changeset adds a config option (TEST_MASTER)
to toggle testing with the current Ceph master.
The builds are retrieved from Shaman, which is the
platform used by the Ceph community to submit their
latest builds.

The main goal of this change is to use this on our CI
and be able to catch bugs in OpenStack services that use
Ceph as a backend more quickly. Because of this, the
required non-voting job is also added.

Change-Id: Ibe26f89e7be3061cdb7acb441727efb2c396e29e
2021-05-11 17:02:29 +02:00
Eric Harney
35e1ff5cf4 Set RBD default features based on distro
In some jobs, we run tests that use "rbd map".
On older kernels, this will not work if newer
RBD features are used.  (Specifically, fast-diff
on bionic.)

On older distros, enable fewer features by default.

Closes-Bug: #1921897
Change-Id: Iff1c5210b0279379eb9612b206bdf456dd6f132e
2021-03-30 09:56:57 -04:00
Zuul
59bef674f5 Merge "Set rbd default features in ceph.conf" 2021-03-16 22:42:06 +00:00
Lee Yarwood
6e6c81bc57 nova: Make configure_ceph_nova multinode compatible
This change stops configure_ceph_nova from creating the vms pool when
CEPH_REMOTE=true as this suggests that it has already been created by
the controller that has CEPH_REMOTE=false set.

Change-Id: Iaad67025a23bf29e29011c6e78662692af2b564a
2021-03-12 17:22:50 +00:00
Eric Harney
467b4295f2 Set rbd default features in ceph.conf
The typical Cinder deployment should have
more than just "layering" enabled.

Enable fast-diff, which requires exclusive-lock
and object-map.

Previously, there was code that tried to enable
exclusive-lock when CEPH_ISCSI is enabled, but this
code would not work reliably, since it was doing
addition instead of bitwise-or.  Just remove it
since exclusive-lock will be enabled by default.

Change-Id: Idad98cfebf5e3b265316f2b6a3c201b472faa32c
2021-03-12 12:18:49 -05:00
Victoria Martinez de la Cruz
4c23af18d0 Update ceph default version to octopus
Consume packages from download.ceph.com for ceph octopus
Our focal fossa based CI jobs are getting octopus from
ubuntu ppas instead of getting the packages from
download.ceph.com.

This happens because, even though we were defaulting to
nautilus, ubuntu got the later version available
(in this case, the packages in ubuntu ppas).

Also, remove CEPH_STABLE_RELEASE env var, unify to CEPH_RELEASE
Stable branches CI versioning is done in the jobs definition now

Change-Id: I1edd5a50079f325fa143a7e0d51b3aa3bb5ed45d
2021-03-01 14:00:02 +00:00
Zuul
57b5ab1520 Merge "Update override-defaults to support ceph_iscsi" 2021-02-10 17:00:58 +00:00
Victoria Martinez de la Cruz
6c78c63238 Remove debug_ms
Having debug_ms enabled populates logs with too much
information. This makes it harder to debug in most cases.
Disable by default.

Change-Id: If180f9be42e95492ab457420e48a494fd2689e6e
2021-01-13 18:25:02 +00:00
Tom Barron
68b6ec14fd Tweak ganesha repo cleanup
Add a glob pattern at the end of the file removals so that we
also capture items like
  nfs-ganesha-ubuntu-libntirpc-3_0-focal.list.save
which can otherwise cause issues next time we stack
(install_prereqs sees it and gets confused).

Change-Id: I6bb75a75972c47fa87f0d703dda242d2b9bb07b7
2020-12-11 15:10:41 -05:00
Zuul
d2efe37715 Merge "Bump NFS Ganesha version" 2020-12-11 15:23:04 +00:00
Tom Barron
631414af25 Clean up CEPH_DATA_DIR when unstacking
When working locally it is nice to be able to
run unstack.sh and not have too much extra stuff
to clean up by hand before running stack.sh again.

So clean up CEPH_DATA_DIR, contenta and mounts.

Also fix a spot where '/var/lib/ceph' (the default
value for CEPH_DATA_DIR) was hard-coded.

Change-Id: I43ff06ca38f42ea4305b2c862902bf6f612e32f0
2020-12-08 12:49:38 +00:00
Zuul
8521f4a0c8 Merge "Disable caching done by ganesha" 2020-12-08 06:21:12 +00:00
Victoria Martinez de la Cruz
adbc28ae1a Enable cephFS snapshots in manila
To use the snapshots capability that the cephfs drivers have
we need to set the share type extra spec enable_snapshot support
to True

Change-Id: I45dddd49578eaca81276bbf44a44701c80b8a8c4
2020-12-07 19:11:49 +00:00
Victoria Martinez de la Cruz
4d3e8cf65c Bump NFS Ganesha version
We are using NFS Ganesha 2.7 which is not longer supported
by the Ganesha community. Let's use v3.0 instead.

Closes-Bug: #1898952
Change-Id: I69543fd33c98817bba76c6712ae91264c532c12c
2020-12-07 13:54:24 -05:00
Victoria Martinez de la Cruz
9c14446e81 Disable caching done by ganesha
Disable caching done by ganesha when ganesha
is used as CephFS's gateway (manila's usecase)

This is the recommended Ganesha setting as libcephfs
already caches information. Doing so helps avoid
cache incoherency issues.

Change-Id: Iacd575ac61b39ab9dcf8814514b5e3267570a17f
Closes-Bug: #1898950
2020-11-18 21:33:24 +00:00
Dan Smith
914930e65e Clean up our disk image and mountpoint
We create a disk image during setup, which now gets persisted in
/etc/fstab across boots. Clean that up when we're instructed to
do a clean operation.

Depends-On: https://review.opendev.org/#/c/743007/
Change-Id: I54a6b637266c2f182eeece8942156b07581a7f0b
2020-11-09 15:02:44 -08:00
Dan Smith
75523680ce Focal fails to add repo before key
I'm not sure why this isn't failing in the gate, but locally I get
100% fail if I don't add the release key before the apt-add-
repository. This seems to be a change in focal as it worked fine
for me before upgrade.

This moves the key fetch/add before the repo.

Change-Id: I50d840986d630af033a7a3e47bb1e9c52e889791
2020-11-09 13:56:00 -08:00
Walter A. Boring IV
10104ab995 Update override-defaults to support ceph_iscsi
This patch updates the override-defaults to support
setting the CINDER_DRIVER, CINDER_ENABLED_BACKENDS
and CINDER_ISCSI_HELPER env vars for devstack to
ceph_iscsi if and only if ENABLE_CEPH_ISCSI is True.
This is needed by devstack lib/cinder to automatically
configure and enable ceph_iscsi as a backend.

Depends-On: https://review.opendev.org/#/c/662829/
Change-Id: I3447554343edfb5ec84ea65a521168e6d2831dfa
2020-10-15 22:16:23 +00:00
Ivan Kolodyazhny
76496e8234 Add ceph repo key to the system
Change-Id: Ic301602c7aada2b64d119b829b6919ee93a5870f
2020-10-13 17:23:08 +03:00
Lee Yarwood
caf3ebeaba Do not run dnf update -y after configuring ceph repos
This isn't required with dnf and can overwrite package downgrades
working around other issues in the underlying OS.

Change-Id: I6940f06c14a0e41d63d632724e85bb790229f307
2020-09-30 15:20:02 +01:00
Lee Yarwood
001f3a9b3a Use the py3 el8 RPMs on Fedora
As Fedora 32 has dropped py2 support we need to switch over to the py3
based el8 RPMs now. Fedora 31 can support both allowing us to switch
while still technically supporting it.

Change-Id: I79f61d61ccb044b6c24b5747b991045edf25679e
2020-09-24 15:04:44 +01:00
Lee Yarwood
f41119e1ef dnf: Correctly configure repos
I0eab8ad25112511b0c4dd4b7796b4cda821bca8b incorrectly attempted to write
directly to the /etc/repos.d/ directory as the stack user. This isn't
possible even with sudo so use the config-manager command to import
locally written files as the stack user.

Additionally ensure there is no whitespace at the start of each line
within the files.

Change-Id: I2fbc3b7c7df90328954eb4dcee921bd2ae9b2706
2020-09-24 14:55:42 +01:00