Commit Graph
7961 Commits
Author SHA1 Message Date
Travis Nielsen 9f6615033d ceph: update cluster-on-pvc example for proper OSD scheduling
The topology spread constraint example allowed scheduling even
if the TSC could not be satisfied when scheduling the osd prepare
jobs. This could lead to unevenly spread OSDs especially when
the cluster was not using the zone labels. Now the topology will be
required for scheduling, to ensure proper spread of the OSDs.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-06-25 12:20:35 -06:00
Sébastien Han 507f913376 Merge pull request #8191 from leseb/fix-loop-break
ceph: fix ineffective break statement
2021-06-25 17:12:53 +02:00
Sébastien Han 23298ba62d ceph: fix ineffective break statement
The `break` statement is not necessary, especially since we don't want
to break out of the outerloop.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-06-25 16:23:23 +02:00
Sébastien Han 36bedf68b2 Merge pull request #8182 from subhamkrai/update-versions
ci: update versions in the gh action
2021-06-25 08:54:24 +02:00
Travis Nielsen 259d046ff8 Merge pull request #8190 from Rakshith-R/upd/csi-driver-registrar
ceph: update csi node-driver-registrar to latest release
2021-06-24 12:38:39 -06:00
subhamkrai f90050c5b2 ci: update versions in the gh action
this commit update the versions in the
action. example minikube, python, commitlint
and others.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-06-24 23:07:47 +05:30
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
Rakshith R 2baf50771e ceph: update csi node-driver-registrar to latest release
This commit updates csi node-driver-registrar to latest
release v2.2.0.
https://github.com/kubernetes-csi/node-driver-registrar/releases

Signed-off-by: Rakshith R <rar@redhat.com>
2021-06-24 10:22:51 +05:30
Blaine Gardner edb94fd349 core: clean up ApplyMultus()
In pkg/operator/k8sutil/network.go:ApplyMultus(), be more explicit about
the intended behavior in both var names, code comments, and unit tests.
Additionally fix a logic bug that could cause errors in the future if
more "cluster network apps" are identified in the future.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-06-23 11:50:39 -06: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