Commit Graph
27 Commits
Author SHA1 Message Date
Blaine Gardner fab71d1f37 build: remove iproute build dependency on centos repo
Multus requires that the 'ip' tool be installed in the Rook image.
Today, it is present in the upstream Ceph base image that is used, but
that is expected to change in the future. The Ceph project intends to
switch to CentOS 9 minimal images, and the 'ip' tool will likely be
removed from the base image at that point.

However, Rook CI has occasionally had issues with the current 'dnf
install' command when CentOS repos go down, or when there is otherwise
some problem. Because the package is already installed today, there is
no need to hamstring Rook builds when CentOS is having problems. But we
do want to make sure that Rook builds don't silently succeed in the
eventual future when 'ip' tool is removed from the Ceph image.

For now, replace the 'dnf install' with a check to verify that 'ip' tool
is installed, and add a shorter form of this note as a comment above it
to help Rook maintainers know how to resolve future 'ip' tool removal.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit c4e99c1462)
2024-06-03 21:17:00 +00:00
subhamkrai dd8c3c9974 build: remove csv related files
remove csv related files/content which are not used/required for
upstream uses.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-11 21:01:53 +05:30
Blaine Gardner 072884f451 build: use 'baseos' as repo for iproute install
The rook/ceph Dockerfile uses dnf to ensure iproute (containing the 'ip'
CLI tool) is installed in the Rook image for Multus usage. This comes
from the 'baseos' repo, but if any other repos are unavailable
temporarily, it can cause the container build to fail.

Use the '--repo baseos' flag to help prevent these kinds of failures.
Additionally, this will speed up the build slightly since it does not
attempt to load any non-necessary repos.

This change may make the container build slightly fragile in the future
if CentOS changes the name of its baseos repo, or if the Ceph image
switches to a non-CentOS base image.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-03-04 11:08:48 -07:00
Blaine Gardner db1ca8c93e multus: use rook image for ip range detection
Use the Rook image (defined by the operator pod) to detect the Multus
network address ranges. It is reasonable for users to want to have a
minimal Ceph image that does not have the `ip` utility installed, which
is used for detecting the address ranges of multus interfaces. Instead,
use the Rook image, which Rook can ensure has the `ip` tool if Ceph ever
removes it from their image.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-11-08 10:11:04 -07:00
Sébastien Han 889856b78f core: add s5cmd binary to operator image
The toolbox can now interact with S3 gateways using the `s5cmd` tool.
The binary is only 12M so this does not add up too much to the operator
image size.

Closes: https://github.com/rook/rook/issues/4968
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-09 16:56:30 +01:00
Sébastien Han d06a6f93a5 core: run operator with rook user
The rook operator as well as the toolbox pod run with the "rook" user
with UID 2016. The UID was chosen based on the year of the initial
commit in the rook/rook repository.
No more root user running.

Closes: https://github.com/rook/rook/issues/8734
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-05 17:22:04 +01:00
Sébastien Han 121c2987e3 ceph: stop using tini
We don't need to use tini.
We don't have anything in the rook operator that would
either create zombie processes (no threads) or use
exec (to fork). The Go binary has a really good
signal handling mechanism.

Closes: https://github.com/rook/rook/issues/8794
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-09-27 10:54:16 +02:00
Travis Nielsen 0a0b9c98bd build: remove obsolete flex driver
The flex driver has been fully deprecated and thus removed from Rook.
Before upgrading to v1.8, users will need to convert existing flex volumes
from flex to csi volumes.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-09-23 16:17:20 -06:00
Sébastien Han 579fc27783 ceph: embed ceph-csi templates in rook binary
Thanks to Golang 1.16, we can now embed files in the Go binary. This
means we don't need to add the CSI templates files to the container
image. They are added in the Go binary at build time.

The existing location of the template must be in the package calling it.
So they moved to pkg/operator/ceph/csi/template. All the files have been
symlinked back to cluster/examples/kubernetes/ceph/csi/template.

Closes: https://github.com/rook/rook/issues/7609
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-24 16:22:20 +02:00
Sébastien Han c54acf449e ceph: ability to set cluster wide log level
From inside the toolbox, the ceph debug level can now be changed for all
ceph logging subsystems, for instance, level 1 will be:

```
kubectl -n rook-ceph exec deploy/rook-ceph-tools -- set-ceph-debug-level 1
```

To reset to default values just run:

```
kubectl -n rook-ceph exec deploy/rook-ceph-tools -- set-ceph-debug-level default
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-01 12:27:29 +01:00
Sébastien Han 43484cb96b ceph: add external script to the container image
We now ship the Rook container image with our external cluster scripts.

Closes: https://github.com/rook/rook/issues/6644
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-17 12:06:27 +01:00
David Vossel c13aff199b Add csv templates to rook-ceph container image
Signed-off-by: David Vossel <davidvossel@gmail.com>
2019-08-20 13:39:39 -04:00
Umanga Chapagain 732f3030d0 integrate prometheus based monitoring with rook-ceph
> add new field to cluster spec
> deploy servicemonitor
> deploy prometheusRule

Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2019-07-08 11:40:17 +05:30
John Mulligan f6c15bfb5a ceph csi: include required templates in image
Include the mandatory template files in the rook ceph image
so that the user-driven configuration for CSI and flex do not
need to differ in this aspect.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-10 17:53:28 -04:00
Ken Dreyer a92714b348 images: remove comment about ceph mimic image
Commit 91cc62676d changed our base ceph
version from Mimic to Nautilus.

Update the comment in the Dockerfile to reflect this change.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2019-04-10 11:55:43 -06:00
travisn 8ea61fdc66 ceph: use base arm64 image for arm
Signed-off-by: travisn <tnielsen@redhat.com>
2018-12-31 07:44:59 -08:00
travisn 906add05ce consume the ceph images from the ceph/ceph repo
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-01 11:49:37 -06:00
travisn c43b95ef83 base the operator docker image on ceph/ceph
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-01 11:48:45 -06:00
Fan, Shang Xiang 3d7c650492 build: comply with docker best practice.
Signed-off-by: Fan, Shang Xiang <sxfan@alauda.io>
2018-10-16 13:10:02 +08:00
travisn efd581e7ed start toolbox pod with the ceph image instead of a separate image
Signed-off-by: travisn <tnielsen@redhat.com>
2018-10-02 15:43:53 -06:00
Blaine Gardner 2a872bf1cd images: Use ceph daemon-base as rook base
Instead of adding Ceph packages to Rook's base image, use
ceph-container's base image, which has Ceph packages preinstalled. Rook
now benefits from the testing the ceph-container project does, and the
scope of the Rook project no longer has to maintain builds of base
images containing Ceph packages.

The only ARM builds of ceph-container are CentOS, and as switching to
CentOS was already a thought, that is easily done at the same time as
this change.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-05-23 15:37:31 -06:00
Jared Watts 3a2a2d2021 build: rook/ceph image build
Signed-off-by: Jared Watts <jbw976@gmail.com>
2018-05-18 14:25:39 -07:00
Bassam Tabbara 2b818eefe4 images: use ceph deb packages instead of building from source
Ceph is now installed from deb packages instead of being built from
source. This results in larger images sizes (roughly 60MB increase
compressed) but the maintenance and build burden is reduced. Future
versions of ceph will hopefully optimize for image size.

All support for building native code in containers has been removed,
as it is no longer needed. When we add other backends we will assume
that they can be installed using apt-get too.
2018-01-08 21:06:44 -08:00
Alexander Trost 0e42343e73 Create http-metrics service for mgrs
Enable prometheus module on mgr with pkg/ceph/client.MgrEnableModule()

Added force option to MgrEnableModule()
2018-01-04 08:47:27 +01:00
Bassam Tabbara 3714f0ad74 ceph: update to 12.1.0 2017-06-27 15:35:49 -07:00
Bassam Tabbara d52892bd12 add tini as PID 1 for all images 2017-06-20 20:57:46 -07:00
Bassam Tabbara 1e68e35c16 build: rename image dirs 2017-06-20 20:57:46 -07:00