Commit Graph

136 Commits

Author SHA1 Message Date
Goutham Pacha Ravi 6c11c78631 Update default ceph version to "quincy"
Affects only the package based install script.

Pacific is going to be EOL'ed soon [1], we do not
expect folks to deploy the next version of OpenStack
(2023.2/Bobcat) with Ceph Pacific; moreover, all our
CI jobs are using Quincy by default, and the cephadm
script uses quincy by default.

[1] https://docs.ceph.com/en/latest/releases/index.html#active-releases

Change-Id: I6abdb1241e99d76bcee35b331e1059c4fe48296b
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2023-05-17 13:35:09 -07:00
Goutham Pacha Ravi 563cb5deeb 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>
2023-03-14 16:58:03 -07: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
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
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 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
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
Victoria Martinez de la Cruz 8c194dfada Stop using shaman
Shaman packages are not stable and generates
breakages in our gates quite frequently.

Use packages available in download.ceph.com instead.

Change-Id: I0eab8ad25112511b0c4dd4b7796b4cda821bca8b
2020-09-09 18:18:23 -03:00
Mohammed Naser 6b409867bf shaman: use 'ready' repo instead of any
We seem to have been requesting the latest build from the Shaman API
provided by Ceph however we did not filter the status to be 'ready'
which meant that we sometimes got 'building' status repositories that
cause the jobs to fail.

This should stabilize jobs a lot more by using only the ready
repositories.

Change-Id: Iff47bbe4954da3ab582a007ba04b3df50ae21cd4
2020-08-19 16:15:35 -04:00
Zuul 0d985a8a46 Merge "Fix ceph iscsi gw not working on ubuntu focal" 2020-08-05 19:43:01 +00:00
Dan Smith 5a0a36f159 Set the bluestore block size
It looks like the default bluestore that came with nautilus
is limiting us to a for-testing size of 10G regardless of what the
actual ceph volume is supposed to be. Try setting it to the size
we want (minus some room for overhead).

Closes-Bug: #1888895
Change-Id: I4e5233df826af6eeddc4e77820958909d4fe7d45
2020-07-24 14:46:27 -07:00
Victoria Martinez de la Cruz 4ca64cd718 Add mgr caps to manila user
Added mgr "allow *" for manila user

Change-Id: I4a0dfbe4925554adbb40fe3d24e44098589f1a09
2020-07-15 18:07:02 +00:00
Xinliang Liu 478b61632b Fix ceph iscsi gw not working on ubuntu focal
Limit ceph iscsi ubuntu support only to Focal. As only Focal has the
required packages and we don't want to install ceph-iscsi from master
source code which is changing all the way is not a good way for CI.

Remove api_host setting, let it be ceph iscsi default setting "::"[1],
Which references to ceph-ansible configuration[2]. This makes
rbd-target-api accessible for both localhost(gwcli) and HOST_IP.
Otherwise iscsi gateway creation will fail in newer version
ceph-iscsi[3].

Change minimum-gateways default to 1 for newer version ceph-iscsi,
otherwise client creation will fail on all-in-one setup[4].

Fix gateway creation failure with error:
"The first gateway defined must be the local machine"
Ceph-iscsi requires gateway name to be FQDN, sometimes hostname is not
the same as FQDN.

Fix stop_ceph_iscsi run twice.

Remove setup_packages_for_iscsi as openstack won't support projects that
require packages installed with git clone.

[1]: https://github.com/ceph/ceph-iscsi/blob/master/ceph_iscsi_config/gateway_setting.py#L174
[2]: https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-iscsi-gw/templates/iscsi-gateway.cfg.j2
[3]: https://github.com/ceph/ceph-iscsi/issues/193
[4]: https://github.com/ceph/ceph-iscsi/issues/195

Change-Id: I215b870c66cc27f10f8a6bf18d93feda477a3970
2020-07-10 08:54:41 +00:00
Lee Yarwood 16f8bef33b Use apt-get to update repos on Ubuntu
The use of apt to refresh repos is discouraged and prints the following
warning when used:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts

The use of apt also appears to break on our Xenial based branches where
we enable the Xenial Queens Ubuntu Cloud Archive repos that are
unsigned. When using apt to refresh these repos apt returns a failure,
while apt-get only returns a warning.

This change simply switches to apt-get to avoid the above warning and to
allow the older Xenial based stable branches to continue to work.

Change-Id: Ic534a47fff17d36eb1ef128ad6af70a34ed942c9
2020-07-07 15:41:54 +01:00
Victoria Martinez de la Cruz 5bfcd10235 Updates script to use latest version of Ceph
We were using Jewel/Luminous. Being a developer tool, we should
be sticking with newer versions.

This patch set also adds the following changes
- Refactor setup_packages_for_manila_on_<distro> functions
- Removes ceph_init call. Seems it lost relevance
- Removes APT repositories setup. We directly use shaman/chacra
packages directly
- Removes RUN_AS env var. It has been a while since Ceph
defaults to ceph user to run all the services. No longer needed.
- Removes sleep calls for services start checks. We use systemctl
checks.
- Adds more debugging logs
- Uses the search API from ceph shaman instead of hardwiring urls
- Adds the jq (JSON processor) dependency

Change-Id: I51c90e592070b99422e692d5e9e97083d93146e8
2020-06-19 00:07:57 -03:00
Kevin Zhao 7cb36090f3 support focal
Change-Id: Ieb04d25e0ce0b061e4e2ac26b36e371bd666eedd
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2020-06-18 08:03:01 +00:00
Zuul 8d23cc6621 Merge "Enable encrypted volume attachment on non-master branch" 2020-05-21 22:59:38 +00:00
Luigi Toscano 3987d1d673 Enable encrypted volume attachment on non-master branch
Implement an old TODO item, but in the other way: instead of
enabling the feature on certain branches, disable it on the old
branches (anything still open - even EM - before queens)
and rely on the default value (True) otherwise.

Change-Id: Id5dedf496b355362031deefab1573d052fc72a66
2020-05-21 01:55:58 +02:00
Victoria Martinez de la Cruz a97b1449cd Check that ceph-mon service has started to get its version
Add an extra check to verify that ceph-mon service has started
before trying to retrieve its version.

An already existing function is being used, wait_for_daemon

Since we now guarantee that we are using systemctl, we can use
the is-active feature. If the service is running, the exit code
will be 0.

Also, change the command used to get the mon version. We can use
the ceph version command provided by the new cli instead of using
ceph daemon command which requires more privileges.

Change-Id: I2d4f23721107c4b5cb1c09719c55424eecd0c880
Closes-Bug: #1872855
2020-04-23 23:07:51 +00:00
Victoria Martinez de la Cruz e6591702d8 Removes upstart support
Upstart is not being used anymore (last release was Sept 2014)
Doesn't make sense to keep bits for this

Make this plugin compatible only with distros with systemctl

Change-Id: I4fd533985d5bce3e0513c46558763629fb1539fc
Closes-Bug: #1874457
2020-04-23 15:34:20 +00:00
Stephen Finucane 856dbe5280 Only install python3 packages if necessary
In change I43de36ab570af40bc837d859568f5428c167f083, we started
installing the 'python3-' variants of the 'python-' packages installed
by the 'ceph-common' package in 'install_ceph_remote'. In that change,
we made the assertion that we didn't need to "both hiding this behind
the 'python3_enabled' function or 'USE_PYTHON3' variable since (a) these
packages can happily coexist, (b) projects should be switching to Python
3 now, and (c) using these would require sourcing additional, otherwise
unnecessary devstack libraries just to use this simple function".
However, this didn't take into account the fact that this plugin is not
versioned. This means *any* job that uses this plugin, including things
like stable/pike, will now attempt to install the 'python3-' packages.
Since the base OS on stable/pike, Xenial (16.04), doesn't actually
provide these 'python3-' variants, the command will always fail.

Start hiding the command behind a 'use_python3' function call. Hopefully
by time we drop Python 2 support here we won't have maintained branches
using Xenial. If we do, we'll need to branch or something like that.

Change-Id: I890a1e673fde212218eff4fcf82f7941b3283e5f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Closes-Bug: #1853280
2019-11-20 13:19:23 +00:00
Zuul ee8cc0e9d4 Merge "Use vercmp" 2019-11-18 16:10:53 +00:00
Zuul ee65cca853 Merge "Allow choosing Ceph release on CentOS" 2019-11-18 15:55:02 +00:00
Stephen Finucane 3a36c1c6d2 Install 'python3-' variants of packages in 'install_ceph_remote'
Previously, this command would simply install the 'ceph-common' package,
which includes a number of Python dependencies. Unfortunately, these
packages are the 'python-' variants [1] and there doesn't appear to be a
'ceph-common-python3' package or similar to install the 'python3-'
variants. As a result, we need to install the 'python3-' variants
manually to ensure consumers of the plugin (like nova) can switch to
Python 3 in their tests.

We don't bother hiding this behind the 'python3_enabled' function or
'USE_PYTHON3' variable since (a) these packages can happily coexist, (b)
projects should be switching to Python 3 now, and (c) using these would
require sourcing additional, otherwise unnecessary devstack libraries
just to use this simple function.

[1] https://packages.ubuntu.com/bionic/ceph-common

Change-Id: I43de36ab570af40bc837d859568f5428c167f083
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2019-11-14 15:27:16 +00:00
Tom Barron 1c9e3e772e Manila: clean pools unconditionally
Cleanup of CephFS data and metadata pools for manila was only
being done for external CephFS installs.

Do it whenever manila is enabled.

Change-Id: Iee238f91b04231d1e41774a49615023fe26e56f3
2019-09-22 20:47:47 +00:00