Commit Graph
13292 Commits
Author SHA1 Message Date
Sébastien Han 51e7310e09 ceph: add dualstack support on pacific
With Pacific comes the support for dualstack where ceph daemons can
listen on both ipv4 and ipv6 stacks.
A new field in the network spec has been added: `dualStack`

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-31 18:04:29 +02:00
Sébastien Han aa50cab1b5 Merge pull request #7511 from travisn/build-crds
ceph: Compatibility for generating crds without sed
2021-03-31 17:19:20 +02:00
Sébastien Han 8c157cf64b Merge pull request #7451 from MaXinjian/go-url
build: go download url has changed
2021-03-31 12:31:34 +02:00
Sébastien Han ded679d06b Merge pull request #7513 from leseb/auto-scale-rgw-pool
ceph: enforce pg_auto_scaler on rgw pools
2021-03-31 12:22:26 +02:00
Sébastien Han 3ad85ad4f6 ceph: force pg_autoscaler mode for rgw pools
Let's make sure that Nautilus clients are using the pg_autoscaler when
setting up the cluster. We have seen cases where this was not enforced
after a re-installation.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-31 11:00:12 +02:00
Sébastien Han 2d09db55f7 ceph: clarify mime configmap name
Honestly, I'm still wondering if this is needed,
but let's not break things that are not broken.
Just clarifying the name of the configmap in the logs.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-31 10:58:52 +02:00
Sébastien Han 264110948b ceph: change the condition logic
The logic was backward, let's check for IsReplicated instead of ! IsErasureCoded.

Signed-off-by: Sébastien Han <leseb@Sebastiens-MacBook-Pro.home>
2021-03-31 10:53:35 +02:00
Travis Nielsen 5478956ebc Merge pull request #7512 from obnoxxx/ceph-fix-image-crds
ceph: fix image generation by generating crds to be included
2021-03-30 16:15:28 -06:00
Michael Adam eff45df04d ceph: fix image generation by generating crds to be included
Signed-off-by: Michael Adam <obnox@redhat.com>
2021-03-30 23:48:21 +02:00
Travis Nielsen c73a2e943d ceph: compatibility for generating crds without sed
On mac the make crds command was failing on the sed commands.
Now we remove the dependency on sed and just append the files
to generate the helm resources

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-03-30 14:18:17 -06:00
Travis Nielsen 6c25f4b8d8 Merge pull request #7506 from shaas/csi
ceph: Upgrade ceph-csi to v3.2.1
2021-03-30 10:17:00 -06:00
Blaine Gardner 0f6a5bac76 Merge pull request #7442 from sp98/mon-drain-on-failover
ceph: prevent voluntary mon drain while another mon is failing over
2021-03-30 09:40:14 -06:00
Stefan Haas 67024c1e0f ceph: upgrade ceph-csi to v3.2.1
Signed-off-by: Stefan Haas <shaas@suse.com>
2021-03-30 16:31:10 +02:00
Travis Nielsen 3c37def52f Merge pull request #7406 from parth-gr/service-account
ceph: added rook-ceph-default service account
2021-03-30 08:06:40 -06:00
Travis Nielsen 25b27277ff Merge pull request #7505 from Wang-Kai/remove-unused-parameter
nfs: remove unused parameter
2021-03-30 07:46:31 -06:00
Sébastien Han d6caae5004 Merge pull request #7503 from leseb/action-auth
ci: use authenticated requests for minikube action
2021-03-30 15:00:11 +02:00
Sébastien Han 1504fb869b ci: use authenticated requests for minikube action
We have seen the CI failing to run the minikube action, reaching the API
limit. By using authenticated requests, we can overcome this limitation.

Closes: https://github.com/rook/rook/issues/7482
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-30 14:46:40 +02:00
Steve 04e69ce904 nfs: remove unused parameter
At setProject function, the parameter block is not used, i removed it .

Closes: https://github.com/rook/rook/issues/7501
Signed-off-by: Steve <persistence201306@gmail.com>
2021-03-30 19:38:21 +08:00
Sébastien Han 5415291fce Merge pull request #7502 from leseb/addition-column
ceph: add a few missing crd fields
2021-03-30 11:31:13 +02:00
Sébastien Han 670945cc0f ceph: add a few missing crd fields
Since the recent auto crds generation, I missed a few fields, re-adding
now:

* additionalPrinterColumns
* min and max

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-30 10:32:59 +02:00
Sébastien Han 0c799c3b8f Merge pull request #7476 from subhamkrai/ceph-versions
ceph: update cephCluster CR with ceph versions output
2021-03-30 09:10:01 +02:00
Sébastien Han ec5ac91fe8 Merge pull request #7465 from leseb/type-duration
ceph: use metav1.Duration for time CRD field
2021-03-30 09:01:15 +02:00
Santosh Pillai 4af14f268c ceph: prevent voluntary mon drain while another mon is failing over
With simultaneous node drains, a mon can go down while another mon is failing over. This results in two mons down and ceph become inaccessible. The commit makes maxUnavailable=0 while a mon is failing over and updates it back to maxUnavailable=1 after the failover. This update action is best effort. Any errors while updating the maxUnavailable mon pdb is only logged

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-03-30 12:21:58 +05:30
Santosh Pillai 42121e909e ceph: update mon PDBs
- Update mon PDB to use maxUnavailable=1 instead of minAvailable. The maxUnavailable will always be 1 irrespective of the number of mons in the cluster
- Move mon PDB reconcile logic from Disruption Controller to Cluster Controller

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-03-30 12:21:21 +05:30
Blaine Gardner 1df4336a68 Merge pull request #7386 from BlaineEXE/update-osds-in-parallel
ceph: Update osds in parallel
2021-03-29 16:32:07 -06:00
Blaine Gardner 795124b7a8 ceph: update osds in parallel
Update OSDs in parallel per the design in
design/ceph/update-osds-in-parallel.md

The max number of OSDs updated in parallel is currently fixed at 20.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-03-29 10:55:28 -06:00
Blaine Gardner 660d2fe442 Merge pull request #7493 from BlaineEXE/codespell-tidy
test: document or clean up codespell flags
2021-03-29 10:07:53 -06:00
subhamkrai 05d4c2776c ceph: update cephCluster CR with ceph versions output
update cephCluster CR with ceph versions output.
this output will contain ceph version of the
ceph daemons which will help with upgrade status.

ceph versions command output
```
ceph versions
{
    "mon": {
        "ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable)": 3
    },
    "mgr": {
        "ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable)": 1
    },
    "osd": {
        "ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable)": 1
    },
    "mds": {
        "ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable)": 2
    },
    "rbd-mirror": {
        "ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable)": 1
    },
    "rgw": {
        "ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable)": 1
    },
    "overall": {
        "ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable)": 9
    }
}
```

CR status
```
status:
  ceph:
   ---
    versions:
      mds:
        ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable): 2
      mgr:
        ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable): 1
      mon:
        ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable): 3
      osd:
        ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable): 1
      overall:
        ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable): 9
      rbd-mirror:
        ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable): 1
      rgw:
        ceph version 15.2.9 (357616cbf726abb779ca75a551e8d02568e15b17) octopus (stable): 1
```

Signed-off-by: subhamkrai <srai@redhat.com>
2021-03-29 21:04:35 +05:30
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 055eab42ea Merge pull request #7496 from b-ranto/wip-fix-crds-gen
build: fix ceph-csv dependency
2021-03-29 15:43:04 +02:00
Boris Ranto 9aad3005fc build: fix ceph-csv dependency
The crds-gen make target was recently renamed to crds. This broke the
ceph-csv target since it still depends on the old name.

Signed-off-by: Boris Ranto <branto@redhat.com>
2021-03-29 15:17:05 +02:00
Sébastien Han 54bff780c6 Merge pull request #7455 from parth-gr/NFS-Ganesha-Docs
docs: updated the documentation of ceph-nfs-crd
2021-03-29 10:53:38 +02:00
parth-gr f25c2c2654 docs: updated the documentation of ceph-nfs-crd
Added creation of NFS exports in the documentation.

Closes: https://github.com/rook/rook/issues/7064
Signed-off-by: parth-gr <partharora1010@gmail.com>
2021-03-29 02:28:58 -04:00
Ma Xinjian 3f2d047390 build: go download url has changed
$ curl https://golang.org/dl/go1.16.linux-amd64.tar.gz
  <a href="https://dl.google.com/go/go1.16.linux-amd64.tar.gz">Found</a>.

Signed-off-by: Ma Xinjian <maxj.fnst@fujitsu.com>
2021-03-29 09:18:56 +08:00
Blaine Gardner 71c41180be test: document or clean up codespell flags
Document codespell flags that are necessary. Remove codespell flags with
minor code changes if possible.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-03-26 15:00:49 -06:00
Sébastien Han 3d70b05661 Merge pull request #7489 from leseb/kms-envs
ceph: avoid restarting all encrypted osd on cluster growth
2021-03-26 17:35:56 +01:00
Sébastien Han 30dd2218d0 Merge pull request #7488 from leseb/bz-1941647-2
ceph: remove extra slash in curl
2021-03-26 16:22:37 +01:00
Sébastien Han 29c55575b7 ceph: avoid restarting all encrypted osd on cluster growth
When the cluster is growing, the operator always processes all OSDs and
re-generate their Deployment spec. The generated environment variables
for encryption are coming from a map, which by design is unordered. So
once generated the deployment will see their spec change since the
environment variable position will change.

See from the following diff:

```
        env:							        env:
        - name: KMS_SERVICE_NAME			      <
          value: vault					      <
        - name: VAULT_NAMESPACE				      <
          value: ocsns					      <
        - name: VAULT_TLS_SERVER_NAME			      <
        - name: VAULT_BACKEND_PATH			      <
          value: n_ocs					      <
        - name: VAULT_ADDR					        - name: VAULT_ADDR
          value: https://vault.qe.rh-ocs.com:8200		          value: https://vault.qe.rh-ocs.com:8200
							      >	        - name: VAULT_BACKEND_PATH
							      >	          value: n_ocs
							      >	        - name: VAULT_TLS_SERVER_NAME
        - name: KMS_PROVIDER					        - name: KMS_PROVIDER
          value: vault						          value: vault
							      >	        - name: KMS_SERVICE_NAME
							      >	          value: vault
							      >	        - name: VAULT_NAMESPACE
							      >	          value: ocsns
        - name: VAULT_TOKEN					        - name: VAULT_TOKEN
          valueFrom:						          valueFrom:
            secretKeyRef:					            secretKeyRef:
              key: token					              key: token
              name: ocs-kms-token				              name: ocs-kms-token
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-26 16:16:13 +01:00
Sébastien Han d9646d09ce ceph: remove extra slash in curl
When no VAULT_BACKEND_PATH is specified we default to the API one which
is set to "secret/", we could use a different variable but we don't want
to break the library support. Bonus point this will also fix issue with
users passing a slash at the end of the path.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-26 15:41:13 +01:00
Sébastien Han 206ea50cc3 Merge pull request #7453 from cybozu-go/ceph-validate-all-owner-references
ceph: validate all owner references
2021-03-26 14:57:32 +01:00
Sébastien Han 41781839c3 Merge pull request #7480 from leseb/ci-object-user
ci: try to mitigate object user error
2021-03-26 14:48:00 +01:00
Sébastien Han ac322c0bc8 Merge pull request #7486 from subhamkrai/remove-leftover
ci: update make crds-gen to make crds
2021-03-26 11:31:29 +01:00
subhamkrai 3c591ff7a1 ci: update make crds-gen to make crds
this commit update make crds-gen to make crds

Signed-off-by: subhamkrai <srai@redhat.com>
2021-03-26 15:48:18 +05:30
Sébastien Han 370f93eb08 ci: try to mitigate object user error
Sometimes the ci fails to find the object store user, this could be
because the user is created before the object store. So first it fails
since there is no object store and stay in a retry back-off.
Then the object store is created and always need a bit of time, at the
same time the object-user is still waiting and the next retry is longer.
Creating the object store first and then the user hopefully will help
resolve that so we don't have to increase the retry for the object-user
presence.

The error:

```
2021-03-26T08:39:34.7283769Z 2021-03-26 08:39:34.727946 I | testutil: All 2 pod(s) with label rook_object_store=teststore are running
2021-03-26T08:39:34.7284744Z 2021-03-26 08:39:34.727972 I | testutil: Running kubectl [apply -f -]
2021-03-26T08:39:35.1110681Z service/rgw-external-teststore created
2021-03-26T08:39:35.1142392Z 2021-03-26 08:39:35.112479 I | integrationTest: Check that RGW pods are Running
2021-03-26T08:39:35.1181683Z 2021-03-26 08:39:35.117763 I | testutil: 2 of 1 pods with label app=rook-ceph-rgw were found
2021-03-26T08:39:35.1251276Z 2021-03-26 08:39:35.124933 I | testutil: 2 of 1 pods with label app=rook-ceph-rgw were found
2021-03-26T08:39:35.1348603Z 2021-03-26 08:39:35.133276 I | integrationTest: RGW pods are running
2021-03-26T08:39:35.1350090Z 2021-03-26 08:39:35.133290 I | integrationTest: Object store created successfully
2021-03-26T08:39:35.1351373Z 2021-03-26 08:39:35.133295 I | integrationTest: Waiting 5 seconds for the object user to be created
2021-03-26T08:39:40.1340659Z 2021-03-26 08:39:40.133401 I | integrationTest: Checking to see if the user secret has been created
2021-03-26T08:39:40.1342715Z 2021-03-26 08:39:40.133440 D | exec: Running command: kubectl get -n smoke-ns secrets -l rook_object_store=teststore -l user=rook-user
2021-03-26T08:39:40.2618726Z 2021-03-26 08:39:40.261412 I | clients: Unable to find user secret
2021-03-26T08:39:40.2619705Z 2021-03-26 08:39:40.261433 I | integrationTest: (0) secret check sleeping for 5 seconds ...
2021-03-26T08:39:45.2621870Z 2021-03-26 08:39:45.261641 D | exec: Running command: kubectl get -n smoke-ns secrets -l rook_object_store=teststore -l user=rook-user
2021-03-26T08:39:45.3863424Z 2021-03-26 08:39:45.386048 I | clients: Unable to find user secret
2021-03-26T08:39:45.3864586Z 2021-03-26 08:39:45.386075 I | integrationTest: (1) secret check sleeping for 5 seconds ...
2021-03-26T08:39:50.3869496Z 2021-03-26 08:39:50.386292 D | exec: Running command: kubectl get -n smoke-ns secrets -l rook_object_store=teststore -l user=rook-user
2021-03-26T08:39:50.4991166Z 2021-03-26 08:39:50.498862 I | clients: Unable to find user secret
2021-03-26T08:39:50.4991987Z 2021-03-26 08:39:50.498881 I | integrationTest: (2) secret check sleeping for 5 seconds ...
2021-03-26T08:39:55.4998176Z 2021-03-26 08:39:55.499038 D | exec: Running command: kubectl get -n smoke-ns secrets -l rook_object_store=teststore -l user=rook-user
2021-03-26T08:39:55.6075640Z 2021-03-26 08:39:55.607337 I | clients: Unable to find user secret
2021-03-26T08:39:55.6076472Z 2021-03-26 08:39:55.607355 I | integrationTest: (3) secret check sleeping for 5 seconds ...
2021-03-26T08:40:00.6080687Z 2021-03-26 08:40:00.607466 D | exec: Running command: kubectl get -n smoke-ns secrets -l rook_object_store=teststore -l user=rook-user
2021-03-26T08:40:00.8415649Z 2021-03-26 08:40:00.841309 I | clients: Unable to find user secret
2021-03-26T08:40:00.8417179Z 2021-03-26 08:40:00.841331 I | integrationTest: (4) secret check sleeping for 5 seconds ...
2021-03-26T08:40:05.8419407Z 2021-03-26 08:40:05.841385 D | exec: Running command: kubectl get -n smoke-ns secrets -l rook_object_store=teststore -l user=rook-user
2021-03-26T08:40:05.9732221Z 2021-03-26 08:40:05.972910 I | clients: Unable to find user secret
2021-03-26T08:40:05.9733777Z 2021-03-26 08:40:05.972932 I | integrationTest: (5) secret check sleeping for 5 seconds ...
2021-03-26T08:40:10.9734134Z 2021-03-26 08:40:10.973067 D | exec: Running command: kubectl get -n smoke-ns secrets -l rook_object_store=teststore -l user=rook-user
2021-03-26T08:40:11.1686581Z 2021-03-26 08:40:11.168373 I | clients: Unable to find user secret
2021-03-26T08:40:11.1687925Z     ceph_base_object_test.go:87:
2021-03-26T08:40:11.1688924Z         	Error Trace:	ceph_base_object_test.go:87
2021-03-26T08:40:11.1689961Z         	            				ceph_smoke_test.go:132
2021-03-26T08:40:11.1691113Z         	Error:      	Should be true
2021-03-26T08:40:11.1692167Z         	Test:       	TestCephSmokeSuite/TestObjectStorage_SmokeTest
2021-03-26T08:40:11.1693751Z 2021-03-26 08:40:11.168502 D | ceph-object-controller: getting s3 user "rook-user"
2021-03-26T08:40:11.1695580Z 2021-03-26 08:40:11.168514 D | exec: Running command: kubectl exec -i rook-ceph-tools-78cdfd976c-2nbp2 -n smoke-ns -- timeout 15 radosgw-admin user info --uid rook-user --rgw-realm= --rgw-zonegroup= --rgw-zone=
2021-03-26T08:40:11.6090406Z     ceph_base_object_test.go:89:
2021-03-26T08:40:11.6093015Z         	Error Trace:	ceph_base_object_test.go:89
2021-03-26T08:40:11.6093968Z         	            				ceph_smoke_test.go:132
2021-03-26T08:40:11.6095116Z         	Error:      	Received unexpected error:
2021-03-26T08:40:11.6095798Z         	            	failed to get user info: warn: s3 user not found
2021-03-26T08:40:11.6096724Z         	            	github.com/rook/rook/pkg/operator/ceph/object.GetUser
2021-03-26T08:40:11.6097795Z         	            		/home/runner/work/rook/rook/pkg/operator/ceph/object/user.go:98
2021-03-26T08:40:11.6098764Z         	            	github.com/rook/rook/tests/framework/clients.(*ObjectUserOperation).GetUser
2021-03-26T08:40:11.6099814Z         	            		/home/runner/work/rook/rook/tests/framework/clients/object_user.go:45
2021-03-26T08:40:11.6100792Z         	            	github.com/rook/rook/tests/integration.runObjectE2ETest
2021-03-26T08:40:11.6101858Z         	            		/home/runner/work/rook/rook/tests/integration/ceph_base_object_test.go:88
2021-03-26T08:40:11.6103298Z         	            	github.com/rook/rook/tests/integration.(*SmokeSuite).TestObjectStorage_SmokeTest
2021-03-26T08:40:11.6104371Z         	            		/home/runner/work/rook/rook/tests/integration/ceph_smoke_test.go:132
2021-03-26T08:40:11.6105104Z         	            	reflect.Value.call
2021-03-26T08:40:11.6105856Z         	            		/opt/hostedtoolcache/go/1.15.10/x64/src/reflect/value.go:476
2021-03-26T08:40:11.6106662Z         	            	reflect.Value.Call
2021-03-26T08:40:11.6107412Z         	            		/opt/hostedtoolcache/go/1.15.10/x64/src/reflect/value.go:337
2021-03-26T08:40:11.6108217Z         	            	github.com/stretchr/testify/suite.Run.func1
2021-03-26T08:40:11.6109104Z         	            		/home/runner/go/pkg/mod/github.com/stretchr/testify@v1.6.1/suite/suite.go:158
2021-03-26T08:40:11.6109844Z         	            	testing.tRunner
2021-03-26T08:40:11.6110578Z         	            		/opt/hostedtoolcache/go/1.15.10/x64/src/testing/testing.go:1123
2021-03-26T08:40:11.6111271Z         	            	runtime.goexit
2021-03-26T08:40:11.6112037Z         	            		/opt/hostedtoolcache/go/1.15.10/x64/src/runtime/asm_amd64.s:1374
2021-03-26T08:40:11.6112995Z         	Test:       	TestCephSmokeSuite/TestObjectStorage_SmokeTest
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-26 10:00:19 +01:00
Sébastien Han 9c00005140 Merge pull request #7478 from leseb/make-crds
ceph: simply "make crds"
2021-03-26 09:57:16 +01:00
Sébastien Han cf00a86fc2 ceph: force yq and controller-gen versions
Let's not use any controllen-gen version we might find on the system,
always pull the version we need.
Same goes for yq.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-26 09:21:33 +01:00
Sébastien Han eac743ffc7 ceph: shorten make crds
Let's use "makge crds" instead of "make crds-gen", it's shorter and
simplier to remember.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-26 09:08:46 +01:00
Sébastien Han e2b10248c0 Merge pull request #7474 from leseb/ipma-type
ceph: add static IPAM support for CNI
2021-03-26 08:57:01 +01:00
Satoru Takeuchi 9eb3160d8b ceph: validate all owner references
Remaining work of #7259

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-03-26 06:43:54 +00:00
Blaine Gardner 7b1dd7ed40 Merge pull request #7473 from leseb/external-secret-type
ceph: set secret type on external cluster script
2021-03-25 11:36:43 -06:00