Commit Graph
70 Commits
Author SHA1 Message Date
Sébastien Han 0c33493f27 ceph: bump manifests to ceph pacific 16.2.6
New version is out so let's use it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-09-21 09:16:32 +02:00
Blaine Gardner 9138732c81 build: stage CSV files into tmp while building
If a user were to `make build` Rook, and after the Ceph CSV was
generated and before make had finished, the Rook repo would be left with
changes caused by the build modifying files temporarily in-place.

All CSV template generation in the Ceph makefile is now self-contained
and can be configured to operate outside of the main repo so that files
are not modified in-place.

In-place modification of files was also incorrect. On Mac some files
with `-e` trailing were left, and in-place backups were also present in
the form `<filename>''`. Therefore, also fix the generation to fix
in-place modifications.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-07-27 16:11:58 -06:00
Sébastien Han 6bce1ff3e9 ceph: move all of our docker.io reference to quay.io
Recently, the builds of `ceph/ceph` image moved to quay.io, see
https://github.com/ceph/ceph-build/pull/1883 for more details.
Current images will remain but new builds will happen on quay.io only.

This means that tags such as `v14.2`, `v15.2`,`v16.2` will need to
switch to quay.io to get updates.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-22 11:17:05 +02:00
Travis Nielsen 64df4cdbb6 ceph: update default ceph image to latest v16.2.5
The latest pacific release is 16.2.5 so we set this as the default
for Rook to deploy.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-16 10:21:48 -06:00
Blaine Gardner 285dad339b ceph: update references to v15.2.11 to v16.2.4
Ceph v16 will be the default in Rook v1.7. Update references in the
master branch from v15 (currently v15.2.11) to v16 (currently v16.2.4).

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-05-26 12:30:18 -06:00
Diego Abelenda a58bc4982e build: okd operator metadata should be the same as OCP
Signed-off-by: Diego Abelenda <diego.abelenda@gmail.com>
2021-05-13 09:27:45 +02:00
Sébastien Han 49f2f0b441 build: fix sed command for linux
The following command ended up being missinterpreted on linux,
generating a wrong file named ceph.clusterserviceversion.yaml'\''
with broken quotes.
Making it an array ensures the command and the args are parsed
correctly. Tested on both linux and macos.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-29 14:38:51 +02:00
Travis Nielsen 43594adbbb ceph: example manifests deploy with v15.2.11
The latest octopus release is v15.2.11 so we should use
it in the default examples to pick up the latest fixes.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-22 08:54:08 -06:00
Sébastien Han 49b5adda7d Merge pull request #7559 from BlaineEXE/crd-gen-on-mac
build: allow CSV gen on mac
2021-04-12 18:57:48 +02:00
Blaine Gardner f2f622412c build: allow CSV gen on mac
CSV generation now requires versions of yq and operator-sdk that are
downloaded by the makefiles. Previously Ceph image creation used
makefile versions but `make csv-ceph` used versions present on the
system.

`sed -i 's///g' $FILE` doesn't work on Unix/Mac.
`sed -i'' -e 's///g' $FILE` is portable.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-09 13:22:15 -06:00
Travis Nielsen 721acd1a8a Revert "ceph: added rook-ceph-default service account"
This reverts commit 737fb099fe.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-08 11:46:12 -06:00
parth-grandTareq Sharafy 737fb099fe ceph: added rook-ceph-default service account
When a private docker registry is used and an image pull secret is specified in the chart, the pods with default Service Account fail to pull the image due to authentication issues.
Added rook-ceph-default service account and modify the pods specifications by adding the serviceAccountName.

Closes: https://github.com/rook/rook/issues/6673
Co-authored-by: Tareq Sharafy <tareq.sha@gmail.com>
Signed-off-by: parth-gr <partharora1010@gmail.com>
2021-03-29 20:20:40 +05:30
Sébastien Han 31db03fece ceph: auto-gen crds
Finally! We can now stop editing manually our crds definition. Simply
run `make crds-gen`. These two files:

* `cluster/examples/kubernetes/ceph/crds.yaml`
* `cluster/charts/rook-ceph/templates/resources.yaml`

will be autogenerated for us.

We rely on the controller-gen tool, it reads our API definitions from
`pkg/apis/` and produces the CRD files accordingly.

It uses "markers" to add extra yaml fields to the CRD, for instance we
have a lot fields with:

```
nullable: true
x-kubernetes-preserve-unknown-fields: true
```

The corresponding API type markers are:

```
// +kubebuilder:pruning:PreserveUnknownFields
// +nullable
```

For more API convention see
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#optional-vs-required
and for the markers see: https://book.kubebuilder.io/reference/markers/crd-validation.html

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-16 09:16:24 +01:00
subhamkrai b46e31dbee ci: add gh action for yaml linter
this commit adds gh action for yaml linter.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-03-11 08:23:18 +05:30
subhamkrai 51910d0fed docs: updating according to the markdown convention
this commit update all the docs according to the
markdown convention for the command.

[skip ci]

Signed-off-by: subhamkrai <srai@redhat.com>
2021-03-05 10:45:04 +05:30
Blaine Gardner 818342cbfb ceph: update build and examples to use v15.2.9
There are still references to v15.2.7 in integration tests to allow
testing OSDs on partitions.

The newest dated Ceph image is ceph/ceph:v15.2.9-20210224

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-02-24 15:15:26 -07:00
Sébastien Han c0123cf182 ceph: add cephfs mirroring support
With Ceph Pacific, Rook can now deploy the cephfs-mirror daemon.
This initial commit covers the deployment of a single daemon only.
Multiple mirror daemons is currently untested.
Only a single mirror daemon is recommended.

The configuration of peers will come in a later PR since the mgr module
is still pending upstream: https://github.com/ceph/ceph/pull/39050

The same goes for integration tests, they will get added later once we
start testing on Pacific.

Closes: https://github.com/rook/rook/issues/7002
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-28 19:21:18 +01:00
Sébastien HanandUmanga Chapagain chapagainumanga@gmail.com 330d0e90a5 ceph: remove the append flag when overriding
It looks like combining --append with --overwrite will cause duplicate
entries of our CRDs in the CSV definition. Removing the flag fixes the
duplicates.

Diff before and after the fix:

```
1118c1118
<     createdAt: 2021-01-22T11-07-27Z
---
>     createdAt: 2021-01-22T11-06-24Z
1126a1127,1159
>       - kind: CephBlockPool
>         name: cephblockpools.ceph.rook.io
>         version: v1
>       - kind: CephClient
>         name: cephclients.ceph.rook.io
>         version: v1
>       - kind: CephCluster
>         name: cephclusters.ceph.rook.io
>         version: v1
>       - kind: CephFilesystem
>         name: cephfilesystems.ceph.rook.io
>         version: v1
>       - kind: CephNFS
>         name: cephnfses.ceph.rook.io
>         version: v1
>       - kind: CephObjectRealm
>         name: cephobjectrealms.ceph.rook.io
>         version: v1
>       - kind: CephObjectStore
>         name: cephobjectstores.ceph.rook.io
>         version: v1
>       - kind: CephObjectStoreUser
>         name: cephobjectstoreusers.ceph.rook.io
>         version: v1
>       - kind: CephObjectZoneGroup
>         name: cephobjectzonegroups.ceph.rook.io
>         version: v1
>       - kind: CephObjectZone
>         name: cephobjectzones.ceph.rook.io
>         version: v1
>       - kind: CephRBDMirror
>         name: cephrbdmirrors.ceph.rook.io
>         version: v1
```

Co-authored-by: Umanga Chapagain chapagainumanga@gmail.com
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-22 11:12:36 +01:00
Travis Nielsen 3beb625f08 ceph: update examples and operator to Ceph v15.2.8
The latest octopus release is now out with v15.2.8. We update the
operator base image and the examples to run with this version.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-12-17 18:21:15 -07:00
Sébastien Han ada6d6a59a Merge pull request #6687 from leseb/fix-6659
ceph: include csi by default in the csv
2020-12-03 09:56:42 +01:00
Travis Nielsen 0a35a08f2f ceph: update examples and base image to v15.2.7
With the release of the latest octopus v15.2.7 we update the base
of the operator image and set the examples to use the same release
to pick up the security and other bug fixes.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-12-01 12:05:39 -07:00
Sébastien Han 9a5421f53a ceph: include csi by default in the csv
It has been a couple of releases since we started deploying Rook along
with Ceph-CSI by default. So let's include Ceph-CSI natively in our CSV
generation.

Closes: https://github.com/rook/rook/issues/6659
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-23 12:00:29 +01:00
Travis Nielsen bf1d3888f4 ceph: factor out CRDs from the common.yaml and helm chart
The CRDs need to be installed and updated separately from the
rest of the manifests. Helm charts also do not have a way to update
CRDs, therefore, any updates to the CRD schema must be done separately
from the helm chart. Now the CRDs are created in a new crd.yaml that must
be created along with common.yaml and before creating the operator.

The helm chart still contains the CRDs for initial creation, though
the helm chart will never update or remove them.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-11-11 12:16:20 -07:00
Travis Nielsen a5b9fbc994 ceph: update base image and examples to v15.2.5
For the v1.5 release we use the latest version of ceph by default,
which is now v15.2.5

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-11-05 15:50:23 -07:00
Lalit Maganti c6aec79c4f ceph: add option to preserve filesystem on CRD deletion
Due to #6492, preservePoolsOnDelete is not useful at all for CephFS;
after the filesystem is deleted, the leftover pools cannot be
reassocaited with a newly created filesystem without wiping all
metadata. The only way we can actually preserve data is keeping around
the entire filesystem.

This commit implements a `preserveFilesystemOnDelete` option which work
similar to the existing pool preservation option but instead keeps the
whole CephFS while taking it down and removing all MDSes.

This commit also changes all documentation to refer to this new option
with the intent of essentially deprecating `preservePoolsOnDelete`. IMO,
keeping around `preservePoolsOnDelete` is actively harmful because it
lulls users into thinking their data will be safe but, in reality,
recovering from this situation is highly complex and has large potential
for data loss.

Signed-off-by: Lalit Maganti <lalitm@google.com>
2020-10-30 17:04:18 +00:00
Sébastien Han 65fb4819bc ceph: replace service account names properly in the CSV
The CSV generation needs to be patched with the correct service account names
for the correct RBAC to be generated.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-08-11 11:13:44 -06:00
Sébastien Han ec58092778 ceph: add missing crds in csv
The newly object store CRDs were missing from the CSV.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-08-11 15:00:49 +02:00
Travis Nielsen 772b7990db ceph: updated clusterroles applied in upgrade test
In the upgrade integration test we need to mirror what we expect
users to do during the upgrade by applying the new clusterroles.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-08-04 16:04:07 -06:00
Travis Nielsen dbae36b2bb ceph: update to the latest octopus release
Update the base operator image and cluster examples to use the latest
octopus release v15.2.4. Also cleanup some old examples and unit tests
that were still based on mimic.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-06 12:11:47 -06:00
Travis Nielsen 955dcb930e Merge pull request #5377 from alimaredia/wip-object-store-multisite
Foundation for Object Store Multisite CRs
2020-06-10 16:07:53 -06:00
Diego Abelenda 2ea06aba71 build: add OKD metadata for CSV generation
Add Ceph CSV metadata for OKD platform.
This will allow to have a CSV compatible with OKD as the CSV should be different than both OCP (Red Hat supported) and k8s (missing some security definitions).

Signed-off-by: Diego Abelenda <diego.abelenda@gmail.com>
2020-06-10 14:21:10 +02:00
Ali Maredia fc579f4520 ceph: initial commit for ceph rgw multisite resources
This commit contains CR implementations for:
CephObjectRealm
CephObjectZoneGroup
CephObjectZone

Also there are changes made to the objectstore
to add rgws in the object-store to zones and
zone groups in a multisite configuration and
the removal of the --default parameter for any
realms/zonegroups/zones that are created.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-06-09 16:28:53 -04:00
Diego Abelenda e3b51bf944 csv: Make csv generation work with operator-sdk 0.15.0 and later, remove support for previous versions.
Newer versions of operator-sdk (since 0.15.0, released Jan 2020) have a different command line to generate CSV. Make changes to the script generating the CSV so that it works with these new versions.
Use the newer manifest format to be compatible with bundles in the future.

Signed-off-by: Diego Abelenda <diego.abelenda@gmail.com>
2020-05-28 17:04:33 +02:00
Arun Kumar Mohan bb770bb0d1 Ceph: A minor fix to 'generate-rook-csv.sh' script
A square bracket check on <shell_command> return status
will not work in an 'if' condition.

Signed-off-by: Arun Kumar Mohan <arun.iiird@gmail.com>
2020-05-23 23:36:37 +05:30
Sébastien Han 52aa010f6c csv: add missing rbd mirror
Add rbd mirror to the CSV

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-13 13:53:18 +02:00
Sébastien Han 954b4e77df csv: add missing CephFilesystem
Somehow the CephFilesystem was not present so adding it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-13 11:54:47 +02:00
Sébastien Han c4c873c27e csv: add external cluster script
We now include the newly created script for external cluster in the CSV.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-12 09:18:42 +02:00
Jared Watts 6e3921adfa docs: update rook mailing lists to new lists.cncf.io addresses
This commit updates the readme and docs with the new Rook mailing lists hosted
by the CNCF:

* cncf-rook-info@lists.cncf.io
* cncf-rook-security@lists.cncf.io
* cncf-rook-distributors-announce@lists.cncf.io

Signed-off-by: Jared Watts <jbw976@gmail.com>
2020-04-28 07:42:00 -07:00
Travis Nielsen 348690ea64 ceph: update defaults to the ceph v14.2.9 release
With the release of ceph v14.2.9 we set the default examples to this version.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-17 12:54:06 -06:00
Sébastien Han c1b8a7aa9e ceph: extract rbd-mirror to its own crd
Previously, the rbd-mirror daemon was integrated into the `CephCluster`
CRD. This wasn't really practical since we would have to wait for the
whole orchestration to be done to actually set it up. The same goes for
any CR update. Let's say you want to change the number of daemons, Rook
would go through mons, mgrs and osds until it get to rbd-mirror.
This triggers an undesired full orchestration.

With its own CRD this component just gains a lot more flexibility.

Closes: https://github.com/rook/rook/issues/5084
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-15 09:12:56 +02:00
Sébastien Han 14cb46ae39 ceph: bump to 14.2.8
Ceph 14.2.8 just got released so let's use it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-11 19:32:48 +01:00
Travis Nielsen e35939b26c ceph: bump ceph version to v14.2.7
The ceph/ceph:v14.2.7 image is released so we can pick these fixes
up as the recommended version of ceph.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-20 11:06:40 -07:00
Rohan CJ a439197ebd Ceph: Generate CSV for v1.2.2
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2020-01-31 16:21:24 +05:30
Sébastien Han dec0c7d4b0 ceph: bump to 14.2.6
14.2.6 is released, let's use it!

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-15 11:02:44 +01:00
Swati Kale 946c6e2a64 olm: Metadata for creation of operand form for CephObjectStore
Signed-off-by: Swati Kale <swkale@redhat.com>
2019-12-12 14:06:11 -05:00
Sébastien Han 68fd4f4df9 rook: stop using ceph version with timestamp
With https://github.com/ceph/ceph-container/pull/1529, we now build
vX.X.X version so we don't need to have the timestamp. Also we will
automatically get the last changes from the OS/packages too more
frequently.

Closes: https://github.com/rook/rook/issues/4414
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-10 11:39:35 +01:00
Sébastien Han 0b4129c856 rook-ceph olm: add missing nfs crd example
When displaying the CRDs OLM looks into the alm-examples field in the
CSV file, the NFS CRD example was missing so let's add it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-09-23 12:08:15 +02:00
Sébastien Han cf091d3773 Merge pull request #3928 from rohantmp/csvBump
Generate OLM clusterserviceversion v1.1.1
2019-09-23 11:46:55 +02:00
Rohan CJ e480aa8ddf Generate CSV v1.1.1
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-09-20 12:04:16 +05:30
Rohan CJ d332c6a654 Add CephNFS to CSV
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-09-19 19:08:12 +05:30