Commit Graph
13292 Commits
Author SHA1 Message Date
Sébastien Han 448f6a89c6 Merge pull request #6958 from leseb/client-crd-controller-runtime
ceph: convert CephClient CRD to controller-runtime
2021-01-15 17:13:01 +01:00
Sébastien Han 3692d62998 ceph: bump controller runtime and kube
We now use k8s v0.20.1 and controller-runtime 0.8.0

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-15 16:45:08 +01:00
Sébastien Han 758226294b ceph: convert CephClient CRD to controller-runtime
This was the last remaining CRD to not use the controller-runtime
library.
Small additions were added with the transition:

* the Kubernetes Secret that contains the CephX key has now an owner
  reference to the CephClient object
* the secret name is present in the Status field of the CephClient:

```
status:
  info:
    secretName: rook-ceph-client-glance
  phase: Ready
```

The controller will reconcile on CR updates and also if the Kubernetes
Secret is deleted.

Closes: https://github.com/rook/rook/issues/4938
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-15 16:17:38 +01:00
shenjiatong 0d80cc396d ceph: exposing which node/osd is processing
it would be more firendly to cloud operators to
know which node is being processed during
upgrade

Signed-off-by: shenjiatong <yshxxsjt715@gmail.com>
2021-01-15 23:12:26 +08:00
Sébastien Han cb7d600841 ceph: set process working dir to /var/log/ceph
By setting the working directory of a Ceph daemon to the log direcor
(which is bindmounted to the host), we can ensure that the coredumps
will be available.

On CentOS 7 **only**, the kernel is configured with:

```
cat /proc/sys/kernel/core_pattern
core
```

which means that the coredumps will end up in the process working
directory and will be named "core".

On CentOS 8, everything is different and this won't work but still
CentOS will be able to consume this and changing the working directory
is harmless.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-15 16:06:42 +01:00
Travis Nielsen b71c3ac293 ceph: add mon design to the official docs
The mon design and handling of failover is a topic that frequently
needs to be understood by rook users, thus moving this design doc
to the documentation and making some updates based on the latest
behavior.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-14 13:13:56 -07:00
Travis Nielsen 8fc110bf57 Merge pull request #6934 from cybozu-go/docs-describe-osd-purge-job-in-the-document
docs: describe osd purge job in the document of OSD management
2021-01-14 13:12:59 -07:00
Satoru Takeuchi 2d35703661 docs: describe osd purge job in the document of OSD management
Describe `rook-ceph-purge-osd` job in the document of OSD management
to ease day2 operations.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-01-14 19:46:42 +00:00
Travis Nielsen e1153b98fa Merge pull request #6968 from travisn/roadmap-1.6
docs: Update the roadmap for rook v1.6
2021-01-14 10:23:04 -07:00
Travis Nielsen 83fee8adfb Merge pull request #6966 from travisn/delete-object-store-test
ceph: During object store deletion return success if not found
2021-01-13 17:15:44 -07:00
Travis Nielsen 01d195ec4c Merge pull request #6967 from travisn/allow-progressing-test-status
ceph: Allow progressing status during integration test cleanup
2021-01-13 17:15:15 -07:00
Travis Nielsen a387bde6ec docs: update the roadmap for rook v1.6
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-13 16:18:00 -07:00
Travis Nielsen 1e111897a9 ceph: allow progressing status during integration test cleanup
The integration tests check after every test suite that the cluster is
either ready or connected. Sometimes the operator is in progressing state
because the reconcile may be triggered by some event that is unpredictable
at the end of the test. For test stability we allow the progressing status.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-13 15:58:35 -07:00
Travis Nielsen ea29665a8a ceph: during object store deletion return success if not found
If the object store is not found during deletion of the object store CR,
proceed with the deletion instead of blocking and re-queueing the
deletion reconcile in an endless loop. This was causing instability
in the integration tests.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-13 15:44:28 -07:00
Travis Nielsen 148d98ee42 Merge pull request #6961 from travisn/resources-v1beta1
ceph: Remove unexpected array type in v1beta1 crd schema
2021-01-13 12:22:33 -07:00
Travis Nielsen 08c227dbdd ceph: remove unexpected array type in crd schema for tests
Clean up an unexpected array type in the test schema for pre-k8s-1.16
clusters

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-13 11:20:53 -07:00
Travis Nielsen 8d2e873f41 Merge pull request #6959 from subhamkrai/update-doc
doc: update path in admission controller quick start doc
2021-01-13 10:50:27 -07:00
subhamkrai ed21b20113 docs: update path in quick start doc
this commit update the paths in
quick start doc.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-01-13 21:46:59 +05:30
Sébastien Han 22721f1df8 Merge pull request #6949 from leseb/bump-controller-runtime-0.7
core: bump to controller-runtime 0.7.0 version
2021-01-13 17:16:13 +01:00
Sébastien Han 7558d37420 core: bump to controller-runtime 0.7.0 version
Now using https://github.com/kubernetes-sigs/controller-runtime/releases/tag/v0.7.0

Closes: https://github.com/rook/rook/issues/6689
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-13 11:00:43 +01:00
Sébastien Han c75f0594b9 Merge pull request #6691 from iamniting/log
ceph: enhance delete cephObjectStoreUser logging
2021-01-13 09:34:57 +01:00
Travis Nielsen e86d771a3e Merge pull request #6950 from travisn/no-restart-dashboard
ceph: Only restart ceph dashboard module if settings changed
2021-01-12 16:43:38 -07:00
Travis Nielsen 4ad432ffcf ceph: only restart ceph dashboard module if settings changed
If ssl was not enabled, the dashboard was being restarted with every
reconcile. Instead, the dashboard should only be restarted when
the settings have changed in order to reduce the frequency that
the dashboard is restarted.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-12 16:00:13 -07:00
Blaine Gardner 28a7d8fd87 Merge pull request #6951 from BlaineEXE/fix-cluster-external-example-malformations
ceph: fix malformations in common-external.yaml
2021-01-12 15:34:50 -07:00
Blaine Gardner 1cf47f6408 ceph: fix malformations in common-external.yaml
Fix accidental malformations in common-external.yaml manifest.
Find-replace operations seemingly replaced `namespace` with `name` in
some instances. Fix this.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-01-12 14:51:32 -07:00
Nitin Goyal 76a370a57a ceph: enhance delete cephObjectStoreUser logging
DeleteUser was returning error "failed to delete user ... with buckets"
without corresponding buckets information. Now it will check buckets, If
buckets are present then return error with buckets info on failure.

Signed-off-by: Nitin Goyal <nigoyal@redhat.com>
2021-01-12 23:30:57 +05:30
Sébastien Han 21d430261e Merge pull request #6869 from subhamkrai/artifact
ci: add option to download artifacts in canary test
2021-01-12 19:00:05 +01:00
subhamkrai fcd1529b23 ci: add option to download artifacts in canary test
this commit add option to download artifacts in
canary integration test for better debug.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-01-12 21:06:30 +05:30
Kieran Bristow (ZA) 30214a4278 docs: updating nfs quickstart docs
The nfs quickstart docs have references to nfs-provisioner which no longer exist and the storage class example uses the wrong provisioner value.

Signed-off-by: Kieran Bristow (ZA) <kieran.bristow@absa.africa>
2021-01-12 12:06:48 +02:00
Travis Nielsen 4e151a7e78 Merge pull request #6938 from travisn/devices-schema
ceph: Add devices to schema at overall storage level
2021-01-11 12:09:32 -07:00
Travis Nielsen 1705c64ced ceph: add devices to schema at overall storage level
With the 1.5 schema added to the CRDs, the devices at the root
level of the storage element were missed. Now the ability to
specify devices at the root storage level to apply to all
nodes is restored.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-11 11:46:27 -07:00
Sébastien Han 67c12a803e Merge pull request #6883 from jshen28/allow-disable-liveness-check-for-mds
ceph: allow disable liveness check for mds daemonset
2021-01-11 11:20:10 +01:00
Sébastien Han 6be647b03d Merge pull request #6915 from BlaineEXE/add-obc-upgrade-test
ceph: update smoke & upgrade tests to verify obc is bound
2021-01-11 11:00:21 +01:00
ushen d3416fcf2c ceph: allow disable liveness check for mds daemonset
Allow to disable liveness probes for mds pod

Signed-off-by: shenjiatong <yshxxsjt715@gmail.com>
2021-01-11 17:55:51 +08:00
Travis Nielsen b4ae718cdb Merge pull request #6932 from leseb/pacific-support
ceph: add pacific release name support and do no turn on the balancer since it is only on
2021-01-08 16:44:14 -07:00
Blaine Gardner 9b0ba6ae8b ceph: add obc to upgrade test
Add object bucket claim to Ceph upgrade test.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-01-08 09:56:00 -07:00
Sébastien Han 362637ec3d ceph: do not explicitly turn on the balancer
As of Pacific the balancer is now on by default in upmap mode.
In earlier versions, the balancer was included in the `always_on_modules` list, but needed to be
turned on explicitly using the ``ceph balancer on command.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-08 17:20:47 +01:00
Sébastien Han c4c7b151ac ceph: add pacific release name
When the version is detected it will print the name of the release
Pacific correctly where previously it was showing <unknown version>".

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-08 17:20:47 +01:00
Sébastien Han 4a8f88ed4d Merge pull request #6933 from leseb/split-tests
ci: split the test into their own files
2021-01-08 16:48:11 +01:00
Sébastien Han adaa90b668 ci: split the test into their own files
If each has its own file we can restart them independently in case of
intermittent failures.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-08 16:21:36 +01:00
Travis Nielsen 2763e83988 Merge pull request #6918 from subhamkrai/osd-resources
ceph: apply OSD resources and placement for device sets
2021-01-08 08:02:55 -07:00
Sébastien Han 222d1bdbe7 Merge pull request #6930 from cybozu-go/doc-extend-timeout-in-readme
docs: extend timeout in readme
2021-01-08 14:14:50 +01:00
subhamkrai 9109cc6b8c ceph: apply OSD resources and placement for device sets
`.spec.resources.osd` resources and `placement: all:` placements
parameters for the OSD pod did not reflect the value like
it has for other pods mon,mgr.

this commit will allow to set those parameters for the OSD pod also.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-01-08 18:05:21 +05:30
Satoru Takeuchi d1fc283404 docs: extend timeout in readme
1800s is too short to complete all suites. Let's make it the same
value as CI.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-01-08 12:16:54 +00:00
Sébastien Han 7929b1f68b Merge pull request #6888 from Zempashi/ceph-internal-rgw-on-ext-cluster
ceph: change external rgw detection, not relying on cluster
2021-01-08 12:04:02 +01:00
Julien Girardin d63d9b7d4d ceph: change external rgw detection, not relying on cluster
After #6217, internal rgw spawning on external cluster was still broken,
operator claiming:
```
ceph-object-controller: failed to reconcile failed to create object
store deployments: failed to reconcile external endpoint:
failed to create or update object store "arch-cloud" endpoint:
failed to create endpoint "rook-ceph-rgw-arch-cloud". Endpoints
"rook-ceph-rgw-arch-cloud" is invalid: subsets[0]:
Required value: must specify `addresses` or `notReadyAddresses`
```

To spawn internal rgw for external cluster, changes detection of
what mean 'internal' for rgw and only use the externalRgwEndpoints
list for that independently of the status of the cluster
Now there is multiple posibilities:

 * internal cluster and internal rgw pods: "normal case"
 * external cluster and internal rgw pods: <= now working with the PR
 * external cluster and external rgw pods: the external case
 * internal cluster and external rgw pods: <= new case that could exist

Signed-off-by: Julien Girardin <jugirardin@free.fr>
2021-01-08 11:28:41 +01:00
Satoru Takeuchi d643c59d75 Merge pull request #6925 from travisn/reconcile-error-message-on-restart
ceph: Suppress reconcile error after operator restart
2021-01-08 11:38:35 +09:00
Travis Nielsen afeb38417d ceph: suppress reconcile error after operator restart
After the operator restarts, the controllers will not all be able
to reconcile until the ceph config has been generated by the reconcile
of the CephCluster controller. The message printed to the operator log
is frequently seen as an error condition even though it is a normal
condition where we requeue the reconcile until the config is available.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-07 17:24:13 -07:00
Blaine Gardner 40fd80cf14 ceph: update smoke test to verify obc is bound
When verifying OBC creation, validating that secret and configmap exist
is good, but the definitive validation is to check that the OBC's phase
is "Bound".

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-01-07 13:58:22 -07:00
Travis Nielsen 9c12c50051 Merge pull request #6860 from travisn/object-test-cleanup
ceph: Setting rgw dashboard api key is frequently hanging in the integration tests since v15.2.8
2021-01-07 11:57:24 -07:00