Commit Graph
7349 Commits
Author SHA1 Message Date
Travis Nielsen 1a1fb81ec9 Merge pull request #8492 from degorenko/rgw-ca-bundle
ceph: add ability to specify ca bundle for rgw
2021-08-11 07:15:28 -06:00
Denis Egorenko fb04908315 ceph: add ability to specify ca bundle for rgw
Specify ca Bundle for RGW spec and mount inside pods.

Related-Issue: https://github.com/rook/rook/issues/8490
Signed-off-by: Denis Egorenko <degorenko@mirantis.com>
2021-08-10 23:18:26 +04:00
Travis Nielsen 1a8549821a Merge pull request #8516 from travisn/new-reviewers
doc: Add Santosh and Subham as reviewers
2021-08-10 11:49:37 -06:00
Travis Nielsen 2c68e9718d Merge pull request #8413 from parth-gr/ci-smokesuite
ci: fix for CephObjectStores flakiness
2021-08-10 11:48:58 -06:00
Travis Nielsen da7b6eda17 Merge pull request #8517 from parth-gr/integration-test-smoke-suite
ci: CephSmokeSuite test run on kubernetes 1.21
2021-08-10 11:48:30 -06:00
parth-gr cad1c5320a ci: CephSmokeSuite test run on kubernetes 1.21
Kubernetes 1.22 version didn't support
certificates.k8s.io v1beta1 version
reverting the k8s 1.22 version to 1.21
till the certificates.k8s.io #8364 Pr
didn't get completed
so the CI can run successfully

Signed-off-by: parth-gr <paarora@redhat.com>
2021-08-10 21:52:28 +05:30
Travis Nielsen df6b897414 docs: add Santosh and Subham as reviewers
Thanks to the contributions of Satosh and Subham for the past
year or two! They have been contributing significantly to the project
and their reviews are valued so would like to propose they be
added to the official project reviewers group for the Ceph
operator.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-08-10 08:40:51 -06:00
parth-gr b28455245d ci: fix for CephObjectStores flakiness
Integration test CephSmokeSuite fails frequently
A quick fix for it by reordering storeName,
running tlsteststore before teststore

Closes: https://github.com/rook/rook/issues/8309
Signed-off-by: parth-gr <paarora@redhat.com>
2021-08-09 14:08:32 +05:30
Sébastien Han e4ac38e555 Merge pull request #8482 from leseb/restrict-manager-cache
ceph: move scheme initialization to the same place
2021-08-06 17:45:30 +02:00
Travis Nielsen 529ec0ff7e Merge pull request #8461 from subhamkrai/automate-release-action
ci: create tag and print release notes
2021-08-06 09:41:11 -06:00
Travis Nielsen 91b7741ebb Merge pull request #8489 from leseb/rm-unused-flags
ceph: Remove unused mon timeout cli flags
2021-08-06 09:01:16 -06:00
Travis Nielsen d001ddfda3 Merge pull request #8487 from leseb/kube-1.22
ci: test on kubernetes 1.22
2021-08-06 08:56:26 -06:00
subhamkrai 8572fdb58b ci: create tag and print release notes
since we moved to github action for the release,
we maunally have to push the tag to build image.

with this change,
first, this action will set some
environment variable which will be consume by
the script to print release notes.
then,
it will ask for 1 input from
github UI(in Action tab)
tag: where we'll give the tag for the release

after creating tag it will run the script and
print release notes.

**NOTE** please verify the environment var
and release notes after the successful action run.

.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-08-06 16:00:25 +05:30
Sébastien Han 2d55e69416 ceph: move scheme initialization to the same place
Let's initialize the schemes in a single place instead of doing it
when each controller initializes.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-06 11:33:10 +02:00
Sébastien Han 07d14a93a2 ceph: remove cli unused flags
I don't know why these flags are there but it's not like we run the
operator with them and with a different value.
So removing for clarity.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-06 11:05:20 +02:00
Sébastien Han 1fc616587f Merge pull request #8504 from travisn/helm-doc-clarify
docs: Clarify that helm charts are optional
2021-08-06 10:03:47 +02:00
Sébastien Han d7ce570644 Merge pull request #8495 from leseb/fix-retry
ci: break if no errors on build
2021-08-06 08:41:16 +02:00
Travis Nielsen 2d4d4d53c4 docs: clarify that helm charts are optional
With the v1.7 release and the Cluster helm chart, this
clarifies that the helm charts are still completely
optional, but are intended only to simplify deployment
for those who choose to use them.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-08-05 16:53:40 -06:00
Satoru Takeuchi a24ccfc26b Merge pull request #8491 from cybozu-go/ceph-fix-example-of-cluster-on-local-pvc
ceph: fix example of cluster on local pvc
2021-08-06 05:58:29 +09:00
Sébastien Han d9bc338e2b Merge pull request #8361 from subhamkrai/release-note-script.sh
ceph: Get PR title and user info for release notes
2021-08-05 18:35:42 +02:00
Travis Nielsen bffd75275e Merge pull request #8473 from subhamkrai/update-go-fmt
build: update go fmt version
2021-08-05 10:33:47 -06:00
Sébastien Han 6582fdce97 ci: break if no errors on build
No wonder why the build has been taking longer... We were building 3
times.
We just got at least 2 minutes back of build time thanks to this fix.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-05 15:40:48 +02:00
Satoru Takeuchi cf106c8e56 ceph: fix example of cluster on local pvc
`cluster-on-local-pvc.yaml` doesn't work due to missing topologyKey.
In addition, it's better to add the example of `topologySpreadConstraints`
for K8s >= 1.18 users.

Closes: https://github.com/rook/rook/issues/8478

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-08-05 12:29:40 +00:00
Sébastien Han bb4e572d2f Merge pull request #8465 from parth-gr/import-rbd-mirror
ceph: use mktemp file in ImportRBDMirrorBootstrapPeer
2021-08-05 09:44:43 +02:00
Sébastien Han 796f6d12c8 ci: test on kubernetes 1.22
1.22 just got released. We now bump our tests one version higher too.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-05 09:39:05 +02:00
Sébastien Han df432fd822 Merge pull request #8475 from leseb/rm-net-type
ceph: remove old network types
2021-08-04 18:45:45 +02:00
subhamkraiandTravis Nielsen 12de60e4a0 ceph: get pr tile and user for release note
this commit include script which will help
the person who is creating release note
to get all the pr number with title and owner
in required order for the release notes. In the
past, it was manual step.

Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2021-08-04 20:19:43 +05:30
subhamkrai 7161afbb70 build: update go fmt version
till now we were using older go fmt version(1.11).
From now, go fmt version will be same as golang version

Signed-off-by: subhamkrai <srai@redhat.com>
2021-08-04 20:17:02 +05:30
parth-gr 48918c7cf0 ceph: use mktemp file in ImportRBDMirrorBootstrapPeer
Do not point to a made-up file in /tmp
Use ioutil.TempFile() for creating a token file

Closes: https://github.com/rook/rook/issues/8446
Signed-off-by: parth-gr <paarora@redhat.com>
2021-08-04 19:22:34 +05:30
Travis Nielsen cc16b60f5f Merge pull request #8381 from subhamkrai/osd-placement-merge
ceph: add an option to enable/disable merge all placement
2021-08-04 07:23:33 -06:00
Sébastien Han 1ddf28144a Merge pull request #8459 from humblec/cephfs-fsgroup
ceph: set default FsGroupChangePolicy value to 'None'
2021-08-04 11:03:41 +02:00
Sébastien Han 8fdb9fe2b9 ceph: remove old network types
Those types are legacy, not really used anywhere and not needed anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-04 10:56:01 +02:00
Travis Nielsen 23e052c689 Merge pull request #8415 from rohan47/multus_doc
docs: added information about which pods will have multus annotations
2021-08-03 12:05:23 -06:00
rohan47 d87b6beec2 docs: added known cephcsi issue for multus
added known cephcsi issue for multus

Signed-off-by: rohan47 <rohgupta@redhat.com>
2021-08-03 23:31:37 +05:30
rohan47 1b394ac918 docs: added information about which pods will have multus annotations
Added information about which pods will have multus annotations.

Signed-off-by: rohan47 <rohgupta@redhat.com>
2021-08-03 22:24:23 +05:30
subhamkrai 9838313398 ceph: add an option to enable/disable merge all placement
earlier, we had the issue for osd placement regarding
whether we should merge the placements or not.

Now, we have option `skipApplyAllPlacement` to
enable/disable osd placement. By default it is false
which means it will merge both placement.All() and
storageClassDeviceSets.Placement, when true
it will only apply storageClassDeviceSets.Placement.

Also, adding unit test.

Closes: https://github.com/rook/rook/issues/8135
Signed-off-by: subhamkrai <srai@redhat.com>
2021-08-03 19:47:40 +05:30
Sébastien Han 412b3eaf5e Merge pull request #8447 from leseb/fix-8438
ceph: ignore errors when mirroring is not enabled on the filesystem
2021-08-03 16:06:16 +02:00
Sébastien Han 9e63aed974 Merge pull request #8460 from leseb/add-fs-mirror-cleanup
ceph: add fs-mirror to cleanup list
2021-08-03 16:05:59 +02:00
Sébastien Han 7318423506 ceph: ignore errors when mirroring is not enabled on the filesystem
Trying to disable mirroring on a cluster where mirroring is not enabled
results in an error during upgrades. Let's catch this error and ignore
it.

Funny enough the exec error resembles to:

```
Error ENOTSUP: Module 'mirroring' is not enabled (required by command 'fs snapshot mirror disable'): use `ceph mgr module enable mirroring` to enable it: exit status 95
```

So we get ENOTSUP which is 45 but exit status 95...

Closes: https://github.com/rook/rook/issues/8438
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-03 15:33:04 +02:00
Travis Nielsen f9042f0fb9 Merge pull request #8440 from muenchdo/patch-1
ceph: add empty dirs for /var/lib/rook and /etc/ceph
2021-08-03 07:32:34 -06:00
Sébastien Han e1cd82beb3 ceph: add fs-mirror to cleanup list
Before running the cleanup job we now also wait for the fs-mirror pods
to be gone.
Also, small refactor to print nicely the list of remaining daemons.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-03 15:22:36 +02:00
Travis Nielsen 9771641378 Merge pull request #8456 from leseb/rm-pool-id
ceph: remove pool id from the peer
2021-08-03 07:18:04 -06:00
Humble Chirammal 8034a4ef98 ceph: set default FsGroupChangePolicy value to 'None'
The `None` value Indicates that volumes will be mounted
with no modifications, as the CSI volume driver does not
support these operations. While volumes are provisioned
by the CephFS CSI driver the global permissions are set
on the volume and we dont expect the Fsgroup policy or
check from CO side  to play a role here.

Ref #ceph/ceph-csi/../internal/cephfs/nodeserver.go#L190

```
!csicommon.MountOptionContains(fuseMountOptions, readOnly) {
		// #nosec - allow anyone to write inside the stagingtarget path
		err = os.Chmod(stagingTargetPath, 0o777)
```

The current default value ie `ReadWriteOnceWithFSType` cause
volumes to be examined to determine if volume ownership and permissions
should be modified to match the pod's security policy. Changes could occur
if the fsType is defined and the persistent volume's accessModes contains
ReadWriteOnce.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2021-08-03 16:54:10 +05:30
Sébastien Han 73b0ce08ff ceph: do not stack trace on error
We should not use %+v when printing errors and wrapping it in the
caller. Passing %+v to errors.Wrap() returns a strack trace.

See:

```
2021-08-03 09:42:40.460946 E | ceph-file-controller: failed to reconcile failed to create filesystem "myfs2": failed to start deployment for MDS "a" for filesystem "myfs2": failed to update mds deployment "rook-ceph-mds-myfs2-a": failed to check if deployment "rook-ceph-mds-myfs2-a" can continue: failed to check if we can continue the deployment rook-ceph-mds-myfs2-a: failed to check if rook-ceph-mds-myfs2-a was ok to continue: max retries exceeded, last err: mds myfs2-a is up:creating, bad state
github.com/rook/rook/pkg/daemon/ceph/client.MdsActiveOrStandbyReplay
        /home/leseb/go/src/github.com/rook/rook/pkg/daemon/ceph/client/status.go:286
github.com/rook/rook/pkg/daemon/ceph/client.okToContinueMDSDaemon.func1
        /home/leseb/go/src/github.com/rook/rook/pkg/daemon/ceph/client/upgrade.go:215
github.com/rook/rook/pkg/util.Retry
        /home/leseb/go/src/github.com/rook/rook/pkg/util/retry.go:31
github.com/rook/rook/pkg/daemon/ceph/client.okToContinueMDSDaemon
        /home/leseb/go/src/github.com/rook/rook/pkg/daemon/ceph/client/upgrade.go:214
github.com/rook/rook/pkg/daemon/ceph/client.OkToContinue
        /home/leseb/go/src/github.com/rook/rook/pkg/daemon/ceph/client/upgrade.go:181
github.com/rook/rook/pkg/operator/ceph/cluster/mon.UpdateCephDeploymentAndWait.func1
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/cluster/mon/spec.go:370
github.com/rook/rook/pkg/operator/k8sutil.UpdateDeploymentAndWait
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/k8sutil/deployment.go:113
github.com/rook/rook/pkg/operator/ceph/cluster/mon.UpdateCephDeploymentAndWait
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/cluster/mon/spec.go:383
github.com/rook/rook/pkg/operator/ceph/file/mds.(*Cluster).startDeployment
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/file/mds/mds.go:216
github.com/rook/rook/pkg/operator/ceph/file/mds.(*Cluster).Start
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/file/mds/mds.go:138
github.com/rook/rook/pkg/operator/ceph/file.createFilesystem
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/file/filesystem.go:81
github.com/rook/rook/pkg/operator/ceph/file.(*ReconcileCephFilesystem).reconcileCreateFilesystem
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/file/controller.go:373
github.com/rook/rook/pkg/operator/ceph/file.(*ReconcileCephFilesystem).reconcile
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/file/controller.go:288
github.com/rook/rook/pkg/operator/ceph/file.(*ReconcileCephFilesystem).Reconcile
        /home/leseb/go/src/github.com/rook/rook/pkg/operator/ceph/file/controller.go:167
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /home/leseb/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.0/pkg/internal/controller/controller.go:298
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /home/leseb/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.0/pkg/internal/controller/controller.go:253
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /home/leseb/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.0/pkg/internal/controller/controller.go:214
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1371
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-03 11:48:54 +02:00
Sébastien Han 8556f3fe26 ceph: remove pool id from the peer
We don't need to put this information in the token.
It's not useful and not used anywhere.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-03 09:44:54 +02:00
Sébastien Han 1c8caa2270 Merge pull request #8379 from leseb/manual-peer-bootstrap
ceph: add an rbd-mirror bootstrap token on cluster creation
2021-08-02 19:03:29 +02:00
Sébastien Han 630c2f6a8b ceph: add an rbd-mirror bootstrap token on cluster creation
They are scenarios where the mirroring information want to be shared
between clusters prior to creating pool. Because the bootstrap peer
import command needs a pool name to operate this is not suitable. So
additionally now each time the cluster is reconciled and on any new
clusters a new secret will be created that contains a boostrap peer
token. It can be exchanged with another cluster.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-02 18:34:27 +02:00
Travis Nielsen ff7535a697 Merge pull request #8453 from leseb/upgrade-images
docs: add note about new container image location
2021-08-02 10:01:27 -06:00
Sébastien Han 7f8c6c91d1 docs: add note about new container image location
Recently, images moved from docker.io to quay.io so people using main
major tag like `v16` needs to switch to use the quay.io URL.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-02 17:25:20 +02:00
Travis Nielsen 59f5939d63 Merge pull request #8425 from Madhu-1/csi-3.4.0
ceph: update cephcsi to v3.4.0
2021-08-02 08:56:21 -06:00