The basic idea here is to replace the release name in the ClusterInfo
object with the fine grained version information queried at runtime.
This patch also removes the Name field from the cluster spec, which was
also runtime determined and was redundant with ClusterInfo relase name.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Configure the Ceph rgw daemon completely from the operator a la the
recent changes to the Ceph mon, mgr, and mds operators.
Create the rgw deployment or daemonset first, and then create the
keyring secret for the object store with its owner reference as the
corresponding deployment or daemonset. When the replication controller
is deleted, the secret is also deleted.
The RGW's mime.types file is now stored in a configmap with a different
file created for each object store. This is primarily just a means to
get the mime.types file into the rgw pod, but the added benefit is that
the administrator can modify the configmap, which could reduce
susceptibility to file type execution vulnerabilities (worst case).
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Various kubectl helper methods return strings from calls to
create, delete, or apply resources. There is no need for this.
It is sufficient and complete to check the err from these calls to determine failure.
Signed-off-by: travisn <tnielsen@redhat.com>
The integration tests check for the return of substrings from calls to kubectl
in a number of places. On occasion these return something slightly different
and cause an unnecessary failure in the integration tests.
Signed-off-by: travisn <tnielsen@redhat.com>
All devices detected by the discovery pod were being passed to the OSD provisioning pod
thus not always honoring the desired device list that should be provisioned.
Now the provisioning pod will be given the desired state from the crd,
then apply that state depending on the actual devices detected.
Also added a helper to ensure OSDsPerDevice is always valid.
Signed-off-by: travisn <tnielsen@redhat.com>
I had some trouble with RBAC under minikube when testing some
ceph-mgr functionality. This patch tweaks rook-ceph-mgr-system to
be a ClusterRole, and rook-ceph-mgr-cluster to use a
ClusterRoleBinding.
While we're in there, remove the namespace fields from the
ClusterRoleBindings since they just get ignored.
Finally, also fix up the upgrade test to remove the objects that have
changed and reinstantiate them properly.
Suggested-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Rook's behavior should not be to create a default OSD in dataDirHostPath
when no devices are present on a node. Any preexisting fallback osd
should be kept as long as no dirs or disks have been specified to keep
the legacy behavior for those clusters running with these osds in place.
The legacy deletion behavior is also kept, removing the osd as soon as
any dir or device is specified other than the dataDirHostPath dir.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
The command `kubectl delete -n rook-ceph pool replicapool` used to
work, but currently returns the error `error: the server doesn't
have a resource type "pool"`. The actual resource type is
`cephblockpools`. The resource type `cluster` was also recently
changed to `cephcluster`.
Since the function commands end with `|| true`, the errors are
silently masked and the resources are not deleted.
This PR adds delete commands for `cephblockpools` and `cephcluster`,
so that regardless of whether you're testing old or new versions
of Rook the delete commands will work.
Signed-off-by: Earl C. Ruby III <earlruby@users.noreply.github.com>
Like so:
```
$ kubectl get cluster.ceph.rook.io
NAME DATADIRHOSTPATH MONCOUNT AGE
rook-ceph /var/lib/rook 1 4h
```
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
Introduce mount security mode for basic multi tenancy
Fixes#2164.
This adds three new parameters/options to StorageClass/flexvolume entry:
* `mountUser`
* `mountSecret`
* `mountSecretNamespace`
Signed-off-by: Alexander Trost <galexrt@googlemail.com>