Commit Graph
7102 Commits
Author SHA1 Message Date
Sébastien Han dfa7dbee54 Merge pull request #7926 from leseb/peer-secret-pool-list
ceph: append additional info in the rbd-mirror bootstrap peer token
2021-06-24 11:37:04 +02:00
Travis Nielsen 077ed3f444 Merge pull request #8183 from subhamkrai/timeout-tmate
ci: set tmate for 120min in case of ci failure
2021-06-23 10:52:28 -06:00
Sébastien Han 153f1d661c ceph: append additional info in the rbd-mirror bootstrap peer token
We know append additional information to the rbd-mirror bootstrap peer
token. It is useful for disaster recovery scenario where the other
cluster is reading the peer token and needs to know the pool_id as well
as the namespace.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-23 18:49:39 +02:00
Travis Nielsen 58e3cbcbdb Merge pull request #8181 from travisn/evict-same-node-mon
ceph: Evict a mon if colocated with another mon
2021-06-23 10:47:18 -06:00
Sébastien Han bf7ac3cd69 Merge pull request #8185 from leseb/fix-7728
ci: try to mitigate runner I/O errors
2021-06-23 17:29:40 +02:00
Travis Nielsen b1c1e296dd ceph: evict a mon if colocated with another mon
In a production cluster we never should have two mons running on
the same node. However, if two mons have ended up on the same node,
whether from a bug or some other unintentional event, the operator
will evict one of them and failover to a new mon. This only applies
when allowMultiplePerNode is false.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-23 09:29:04 -06:00
Sébastien Han 5e3d5026ab Merge pull request #8184 from leseb/fix-8126
ci: wait for the ceph-mgr IP to be available
2021-06-23 10:59:13 +02:00
Sébastien Han 8804b7c79d ci: try to mitigate runner I/O errors
Hoping to solve some flappy OSD preparation in the CI.
More information in the issue.

Closes: https://github.com/rook/rook/issues/7728
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-23 10:16:29 +02:00
Sébastien Han ba04b3eeef ci: wait for the ceph-mgr IP to be available
The ceph-mgr needs some time to come up so we need to wait for an IP
address to be available.

Closes: https://github.com/rook/rook/issues/8126
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-23 09:39:12 +02:00
subhamkrai fb7f4ce33b ci: set tmate for 120min in case of ci failure
this commit enable tmate session for every ci failure
with 120min timeout.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-06-23 12:31:54 +05:30
Blaine Gardner 76e82e419a Merge pull request #8146 from BlaineEXE/debug-canary-integration
test: add xtrace logging to github actions
2021-06-22 11:55:08 -06:00
Travis Nielsen 7d22d61060 Merge pull request #8151 from travisn/operator-memory
ceph: set example memory requests and limits on the operator
2021-06-22 11:09:38 -06:00
Blaine Gardner e71882fd16 test: add xtrace for github action shells
For all Rook-maintained GH actions, use a default shell that has xtrace
enabled to help debug any errors.

Enable xtrace on all actions except these that use only external tools:
- codespell
- commitlint (wagoid/commitlint)
- golangci-lint
- helm-lint (chart-testing)
- stale
- yamllint

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-06-22 10:58:08 -06:00
Sébastien Han 61196d3b57 Merge pull request #8175 from leseb/osd-no-logs-on-lvm
ceph: run CLI output with Info logging
2021-06-22 17:16:15 +02:00
Travis Nielsen 96c42756a0 ceph: set example memory requests and limits on the operator
The operator has very bursty behavior while it is reconciling, then
has much lower resource requirements. We reduce the memory requests to 128Mi
while the limits remain at 256Mi. When not reconciling, the background
health operations are much less resource demanding.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-22 08:57:28 -06:00
Sébastien Han da56354aa3 ceph: run CLI output with Info logging
In e8f9cfcb71, the logging was replaced by
Debug which is probably a mistake given the intent of the commit to
enable debug logging on the prepare job.
However, this code is only triggered when running a ceph-osd with the
rook binary, so we must run Info and run Debug since Debug is not
activated.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-22 16:43:47 +02:00
Sébastien Han b108442bb8 Merge pull request #8173 from leseb/do-not-leak-kek
ceph: do not leak key encryption key
2021-06-22 16:09:00 +02:00
Travis Nielsen 6b0c1e9a7b Merge pull request #8140 from Rakshith-R/mv-csi-funcs
ceph: read and validate CSI params in Go routine
2021-06-22 07:36:29 -06:00
Sébastien Han bcd2511a72 ceph: do not leak key encryption key
When evaluating the potential "warning" key from the json output we were
not hiding stdout (1) from the output, so the key was leaked. Also the
warning check for the key was not perfect, it only checked for the
command to succeed, but we should introspect it since the "warning" key
is always present unlike the "error" one.
We now only print the warning or the error is present.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-22 15:04:13 +02:00
Sébastien Han e6929ce308 Merge pull request #7913 from abursavich/extract-kk
Remove dependency on k8s.io/kubernetes
2021-06-22 09:22:41 +02:00
Sébastien Han 7a4bcbf00a Merge pull request #8168 from subhamkrai/ci-arm64-master
ci: restrict canary integration arm64 to run on forked
2021-06-22 09:21:00 +02:00
Sébastien Han 3e396c5472 Merge pull request #8164 from leseb/rgw-external-cli
ceph: only require rgw-admin-ops user when an endpoint is provided
2021-06-22 08:57:50 +02:00
subhamkrai b9e1daa9ea ci: restrict canary integration arm64 to run on forked
this commit restrict canary integration arm64 test
to run on rook/rook only(not on forked).

Signed-off-by: subhamkrai <srai@redhat.com>
2021-06-22 10:04:43 +05:30
Blaine Gardner 2f81132c16 Merge pull request #8142 from BlaineEXE/sort-multus-annotations
core: sort multus annotation strings when applying
2021-06-21 16:52:41 -06:00
Blaine Gardner 0b40faa79c core: sort multus annotation strings when applying
In pkg/operator/k8sutil/network.go:ApplyMultus(), sort the string
annotations before applying them so that Rook will avoid the situation
where a Deployment or Pod will need updated repeatedly even when no
Multus network configuration has changed.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-06-21 16:28:44 -06:00
Sébastien Han 7439c08b31 ceph: only require rgw-admin-ops user when an endpoint is provided
If there is no rgw endpoint provided, let's not try to create the user.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-21 19:02:09 +02:00
Travis Nielsen 27857432af Merge pull request #8147 from travisn/stretch-node-assign
ceph: Mons in stretch cluster should be assigned to a node when using dataDirHostPath
2021-06-21 10:06:55 -06:00
Andy Bursavich 10f67e1b78 build: remove k8s.io/kubernetes, cleanup directives, and tidy
Signed-off-by: Andy Bursavich <abursavich@gmail.com>
2021-06-21 08:50:04 -07:00
Andy Bursavich 11f0add706 build: update golangci-lint version and nolint comment format
Signed-off-by: Andy Bursavich <abursavich@gmail.com>
2021-06-21 08:50:04 -07:00
Travis Nielsen b1ff9f4436 Merge pull request #8157 from leseb/vault-cacert-capath
ceph: use cacert if no client cert/key are present
2021-06-21 09:50:01 -06:00
Andy Bursavich 7ab1baa794 test: extract utils dependency on k8s.io/kubernetes
Signed-off-by: Andy Bursavich <abursavich@gmail.com>
2021-06-21 08:36:08 -07:00
Andy Bursavich b801ff7da0 ceph: extract flexvolume dependency on k8s.io/kubernetes
Signed-off-by: Andy Bursavich <abursavich@gmail.com>
2021-06-21 08:36:08 -07:00
Travis Nielsen 80a05e70d4 Merge pull request #8114 from subhamkrai/cronjob-v1beta1-v1
ceph: update cronjob from v1beta1 to v1
2021-06-21 09:29:17 -06:00
Sébastien Han eb0c986196 ceph: use cacert if no client cert/key are present
We have seen issues with fullchain.pem files containing one self-signed
certificate. At the same time, the failing configuration was not
providing any client certificates or keys.

The error from curl was `"self signed certificate in the chain"`.

The openssl binary is not available so we cannot even c_rehash the
certificate directory when using `--capath`, however this worked already
with a fully signed fullchain.pem along with a client certificate and
key. So we cannot only use `--cacert` which will break that use case.

This is becoming really obscur on why using `--cacert` solves this
problem. I just can't wait to use the `vault` binary, that's all I can
say...

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-21 16:06:25 +02:00
Travis Nielsen ac73d1eb6c Merge pull request #8139 from thotz/tlsrookoperatorcrash
ceph: initialise httpclient for bucketchecker and objectstoreuser
2021-06-21 07:42:37 -06:00
Rakshith R 66c9ccab86 ceph: read and validate CSI params in Go routine
This commit moves SetParams and ValidateCSIParam func
into go routine/lock, since it modifies/reads global CSIParam
variable.

Signed-off-by: Rakshith R <rar@redhat.com>
2021-06-21 15:44:54 +05:30
Jiffin Tony Thottan 867474e405 ceph: initialise httpclient for bucketchecker and objectstoreuser
For the TLS communication for AdminOps Api, httpclient is required and
filled with TLS certs, currently it is set to nil pointer in
`buckethealthchecker` and `cephobjectstoreuser`.

Thanks @Krast76 finding the issue even proposing the fix.

Fixes: #8132
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2021-06-21 10:59:58 +05:30
Travis Nielsen a7066770f7 ceph: mons in stretch cluster assign to node
When the mons are using the dataDirHostPath and not a volumeClaimTemplate,
they need to be permanently assigned to a node. The node assignment
was missing in stretch clusters when the dataDirHostPath was being
used. This resulted in mons that were moving to other nodes for example
during a node drain, which would cause the mon to lose its backing store.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-18 15:25:27 -06:00
Andy Bursavich b4c845807c cassandra: remove dependency on k8s.io/kubernetes
PublishNotReadyAddresses replaced the deprecated TolerateUnreadyEndpointsAnnotation in k8s v1.11

Signed-off-by: Andy Bursavich <abursavich@gmail.com>
2021-06-18 10:15:57 -07:00
Travis Nielsen 3f129a7770 Merge pull request #8137 from travisn/osd-config-dir
ceph: Activate osd container should use correct dataDirHostPath
2021-06-18 09:54:06 -06:00
Travis Nielsen 476ca7a792 Merge pull request #8145 from pavilalopes/update-docs
docs: clarify resource documentation
2021-06-18 07:57:39 -06:00
Pedro Lopes 9d4820ec56 docs: clarify resource documentation
Move MDS related information from the Cluster to the Filesystem document.
Document how resource requests influence Ceph configuration keys.

Signed-off-by: Pedro Lopes <paol@draic.org>
2021-06-18 09:25:54 +01:00
subhamkrai f82fc46b97 ceph: update cronjob from v1beta1 to v1
this commit update cronjob from v1beta1 to v1

Signed-off-by: subhamkrai <srai@redhat.com>
2021-06-18 08:35:02 +05:30
Travis Nielsen 9ee133f0aa Merge pull request #8136 from travisn/helm-cluster-takeover
ceph: Instructions for taking over management of the cluster CR with the cluster helm chart
2021-06-17 17:11:56 -06:00
Travis Nielsen adf5027971 docs: cluster helm chart clarifies important settings
Some settings are critical to update in the helm values, so we document
them as clear as possible

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-17 15:03:31 -06:00
Travis Nielsen ec867d6a55 docs: helm chart command should directly create namespace
The helm doc example is more natural with the command to directly
create the namespace when needed instead of as a separate command.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-17 15:03:31 -06:00
Travis Nielsen a36c15547b ceph: allow overriding cluster CR name in helm chart
The cluster CR name defaults to the namespace where the CR is created.
This name may need to be overridden if the chart is taking over a
cluster that had been previously created with a different name.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-17 15:03:31 -06:00
Travis Nielsen d5031c969b docs: instructions for taking over cluster CR with helm chart
The CephCluster CR for an existing cluster can be taken over by
the new cluster helm chart if desired, for simpler management
of the RBAC and other resources.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-17 15:03:30 -06:00
Travis Nielsen 5e7d9ba8ea Merge pull request #8138 from subhamkrai/upgrade-ci
ci: add one more kubernetes version in upgrade suite
2021-06-17 09:56:15 -06:00
Travis Nielsen dd3b4738bd ceph: activate osd container should use correct dataDirHostPath
The active osd container was always using /var/lib/rook for the
configuration of the OSD. If the dataDirHostPath is anything other
than the default, the config would show up in the wrong place.
Changing this back to the dataDirHostPath does not appear to affect
any upgrade scenarios as the activate container will simply start
extracting the config to the correct place.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-17 06:59:31 -06:00