Commit Graph
2719 Commits
Author SHA1 Message Date
Travis Nielsen 06c25746fe Merge pull request #7463 from umangachapagain/label-monitoring
ceph: add labels to monitoring spec
2021-04-12 08:56:41 -06:00
Sébastien Han ad60c41d8b Merge pull request #7579 from leseb/cancel-canary-mons
ceph: cancel canary retry if necessary
2021-04-12 16:19:49 +02:00
Sébastien Han fc1e824a8d ceph: cancel canary retry if necessary
If the cluster is deleted and the mon canaries cannot be scheduled for
any reasons, let's not wait and return.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-12 15:46:58 +02:00
Lars Lehtonen f1b341ba23 ceph: fix multiple imports
This fixes libraries that were being imported multiple times in
pkg/operator/ceph/object and its subpackages.

Signed-off-by: Lars Lehtonen <lars.lehtonen@gmail.com>
2021-04-12 02:57:13 -07:00
Umanga Chapagain 68c2db5d3a ceph: add monitoring key to cephcluster.spec.labels
CephCluster.Spec.Labels takes a key "monitoring". This is used
to inject labels into all the monitoring resources created by
the Rook operator.

Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2021-04-12 12:02:27 +05:30
Lars Lehtonen 017590c920 ceph: fix multiple imports
This fixes libraries that were being imported multiple times in
pkg/operator/ceph/file and its subpackages.

Signed-off-by: Lars Lehtonen <lars.lehtonen@gmail.com>
2021-04-09 09:52:25 -07:00
Satoru Takeuchi 0373171617 Merge pull request #7544 from BlaineEXE/osd-purge-docs
ceph: update osd purge docs
2021-04-09 06:06:51 +09:00
Travis Nielsen 721acd1a8a Revert "ceph: added rook-ceph-default service account"
This reverts commit 737fb099fe.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-08 11:46:12 -06:00
Travis Nielsen 69bac95f83 Merge pull request #7540 from leseb/mon-maintenance
ceph: allow monitor maintenance mode
2021-04-08 09:06:27 -06:00
Sébastien Han e8c304d9b3 ceph: allow monitor maintenance mode
If the health spec of the CephCluster CRD has a timeout set to 0 like
so:

```
  healthCheck:
    daemonHealth:
      mon:
        disabled: false
        interval: 45s
        timeout: 0
```

And the mon goes out of quorum then Rook will not fail over the mon.
This is interesting when doing maintenance on a monitor and we don't
want to create a new one.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-08 16:27:53 +02:00
Blaine Gardner 20bc478844 Merge pull request #7547 from BlaineEXE/add-status-subresources
ceph: add status subresource to CRDS
2021-04-07 16:00:17 -06:00
Blaine Gardner b8aeef9f77 ceph: add status subresource to CRDS
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-07 15:36:41 -06:00
Blaine Gardner 3f447c8e08 ceph: allow empty compressionMode in CRD pools
Allow empty ("") compressionMode in CRDs' 'pool' spec.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-07 13:46:44 -06:00
Blaine Gardner 36e98aa44d Revert "ceph: remove auth in osd-purge job"
This reverts commit 80d2cde5c7.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-07 13:12:19 -06:00
Sébastien Han fc8accb3ae Merge pull request #7536 from BlaineEXE/purge-osd-auth
ceph: remove auth in osd-purge job
2021-04-07 18:39:07 +02:00
Travis Nielsen 665856b90a ceph: enable pacific as a supported ceph version
With the Ceph Pacific release coming this week we add support
in Rook for Pacific with the Rook v1.6 release coming soon.
The integration tests will now run across nautilus, octopus,
and pacific to cover all supported Ceph versions. The default
examples still specify Octopus until there is more bake time
for Pacific.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-07 06:59:04 -06:00
Sébastien Han 62d45239d4 ceph: use minutes instead of seconds
So we don't have to do the math :)

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-07 12:31:21 +02:00
rohan47 06aa82620b ceph: added rgw app label to appLabels for deleting stuck rook pods
Added the missing rgw app label to appLabels for deleting stuck rook pods

Signed-off-by: rohan47 <rohgupta@redhat.com>
2021-04-07 05:08:14 +05:30
Blaine Gardner 80d2cde5c7 ceph: remove auth in osd-purge job
`ceph osd purge` should remove the OSD auth, but many users have issues
where they are unable to create new OSDs after removing old ones due to
the old OSD auth still being present. Therefore, run `ceph auth del` for
the OSD after purging to fix this.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-06 16:59:33 -06:00
Sébastien Han c411c1182e Merge pull request #7518 from travisn/obsolete-osd-dirs
ceph: Remove obsolete osd dirs config
2021-04-06 11:17:55 +02:00
Travis Nielsen fcf634e3b7 Merge pull request #7317 from jproig/7174-2
nfs: Add Image to the NFSServerSpec
2021-04-01 12:56:27 -06:00
Travis Nielsen c577eb80ee ceph: remove obsolete osd dirs config
OSD directories were removed in v1.2, this is some more cleanup
of dir configuration that is no longer needed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-01 12:42:07 -06:00
Juan Pablo Roig e55a6af977 nfs: set the NFSServer image
The NFSServer image should be the same one used byt the nfs-oprerator.

In this change I am getting the Image from the running pod (that should
be the nfs-operator) and setting that in the NFS Server StatefulSet
container image.

Signed-off-by: Juan Pablo Roig <juan.pablo.roig@gmail.com>
2021-03-31 17:20:36 -07:00
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 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 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
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
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 e2b10248c0 Merge pull request #7474 from leseb/ipma-type
ceph: add static IPAM support for CNI
2021-03-26 08:57:01 +01:00