Commit Graph
2701 Commits
Author SHA1 Message Date
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
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
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
Sébastien Han bce1474f06 ceph: add static IPAM support for CNI
We now support reading Network Attachment Definitions with a "static"
IPAM.
Also added more unit tests.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-25 17:59:34 +01:00
Sébastien Han d8de013443 ceph: use metav1.Duration for time CRD field
Previously, `interval` was just a string so no special validation was
done by the OpenAPI validator. Now that it is advertised as metav1.Duration
 the server will introspect it correctly. Underneath the type is still a
 string so no update issue to be worried about.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-25 12:12:31 +01:00
Sébastien Han e30cca076d Merge pull request #7467 from leseb/ci-add-user-group
ci: fix disk issue with crashing osd
2021-03-25 11:09:39 +01:00
Sébastien Han b59870a827 ci: timeout all commands in toolbox
Let's default to 15s, just like the CLI default timeout.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-25 09:52:39 +01:00
Sébastien Han 37d5c106ad ceph: fix init container "expand-encrypted-bluefs" multipath
When running encrypted OSDs on multipath the expand container was
failing to find the underlying device of the encrypted block. This was
because the underlying block was located in /dev/mapper and this path
wasn't mounted in the init container "expand-encrypted-bluefs".

This will manifest like so:

```
Underlying device for crypt device ocs-deviceset-block-dev-from-san-1-data-0-5qkmm-block-dmcrypt disappeared.
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-24 18:48:31 +01:00
Sébastien Han 4ef2162d17 Merge pull request #7459 from leseb/rm-used
ceph: remove unsed type field
2021-03-24 17:18:46 +01:00
Sébastien Han 52c56cfde4 Merge pull request #7466 from leseb/multipath-encryption
ceph: fix init container "expand-encrypted-bluefs" multipath
2021-03-24 15:25:50 +01:00
Sébastien Han 5762ca43b2 ceph: fix init container "expand-encrypted-bluefs" multipath
When running encrypted OSDs on multipath the expand container was
failing to find the underlying device of the encrypted block. This was
because the underlying block was located in /dev/mapper and this path
wasn't mounted in the init container "expand-encrypted-bluefs".

This will manifest like so:

```
Underlying device for crypt device ocs-deviceset-block-dev-from-san-1-data-0-5qkmm-block-dmcrypt disappeared.
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-24 10:35:12 +01:00
Sébastien Han 09cb5d6b4a ceph: remove unsed type field
isExternal was not used anymore so let's remove it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-23 10:31:37 +01:00
Sébastien Han a394640286 ceph: remove temp encryption key
Once we are done opening the block device, we should remove the key even
though it is mounted on a tmpfs.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-22 17:00:12 +01:00
Sébastien Han dd275a2906 ceph: set default vault backend path when not specified
If the path was not specified, the OSD init container would crash loop,
failing to reach the vault path.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-22 16:56:41 +01:00
Travis Nielsen c78e6a9e20 ceph: set active mgr label on mgr services
Other resources such as the service monitor need to match
the labels on the services to the active mgr, thus the active
mgr name is now set on the labels for the metrics service
and dashboard service.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-03-18 16:37:01 -06:00
Travis Nielsen 4d06ad1155 Merge pull request #7415 from subhamkrai/placement
ceph: placement in case of both PVC and non-PVC's
2021-03-18 12:33:02 -06:00
Sébastien Han 461dcd7457 ceph: fix csi blocker owner deletion
Small regression introduced in https://github.com/rook/rook/commit/26c8fd9bd14178d74dcc28f009e5c2f658224436
which was overriding the BlockOwnerDeletion from the ownerref.
Now, if set we don't modify it.
This fixes deployments on OCP.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-18 09:50:52 +01:00
subhamkraiandTravis Nielsen 319e4a41a4 ceph: placement in case of both PVC and non-PVC's
In the case of PVC,
We are giving lower priority to all placement.
We want deviceSet placement to applied and
override in case of overlapping settings and
we are merging nodeAffinity if applied in both
all placement and deviceSet.

In case of non-PVC,
we apply spec.placement

Signed-off-by: subhamkrai <srai@redhat.com>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
2021-03-18 10:32:57 +05:30
Travis Nielsen 7b3244a324 Merge pull request #7390 from travisn/refactor-tests
ceph: Refactor integration tests for simplification
2021-03-17 13:51:37 -06:00
Travis Nielsen c23238cddb ceph: refactor integration tests for simplification
The integration tests have long been painful to maintain with
settings in various places and copied to multiple types,
inconsistent variable names, and otherwise difficult to maintain
code. Now the settings for a test suite are all in one place and
they remain in the same settings type throughout the test.
The multi-cluster suite is also refactored to use the same install
and uninstall helpers as the other suites.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-03-17 11:26:10 -06:00