creating an objectstore user requires that the objectstore is
created first. This commits adds changes to wait for the object
store to be created before the objectstore user can be created.
It'll retry every 15sec for 5mins.
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
Ensure that the metadata device and osd devices are passed as a space
separated list to ceph-volume. Currently osds-per-device is placed
between the metadataDevice and the osd devices causing an error.
Signed-off-by: Michael Vollman <michael.b.vollman@gmail.com>
version can be set over values.yaml directly, there is no reason
to copy over a file, while lack of values.yaml file makes git tree
helm incompatible.
This is low effort fix for https://github.com/rook/rook/issues/3217
Signed-off-by: Dinar Valeev <k0da@opensuse.org>
The last image has disabled ephemeral repositories so it's now possible
for images older than 15 days to install packages without having an
error from non-existing repositories.
Closes: https://github.com/rook/rook/issues/3662
Signed-off-by: Sébastien Han <seb@redhat.com>
To support upgrades, the operator relies on a changing tag
between versions so that when a pod spec is updated, k8s will
restart the pod due to the new image name. If the image name
does not change, the operator cannot control the upgrade deployment.
Therefore, we do not support a generic docker tag such as
rook/ceph:release and we expect specific version tags to be
specified in the operator such as rook/ceph:v1.0.0.
The master build is tagged with a generic tag for convenience
of testing the latest builds, but it is important to note that
upgrades are not supported between master builds.
Signed-off-by: travisn <tnielsen@redhat.com>
The decision to start the device discovery daemonset is made
by an env var on the operator pod since in some scenarios
the discovery needs to be started immediately with the operator
instead of being delayed to start with the cluster.
Signed-off-by: travisn <tnielsen@redhat.com>
Deployment behaves better when a node gets disconnected
from the rest of the cluster - new provisioner leader
is elected in ~15 seconds, while it may take up to
5 minutes for StatefulSet to start a new replica.
if kube version is 1.13.x deploy provisioner as statefulset.
if kube version is higher than 1.14+ deploy provisioner
as deployment.
Refer: kubernetes-csi/external-provisioner@52d1fbc
Refer: ceph/ceph-csi#497
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This is required if you are running multiple
csi drivers, if multiple node plugins are
listening on the same socket they request
may go to any node plugin. to avoid this we
need to have a unique socket per csi driver.
It is recommended to have socket inside the
driver name folder.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
ceph: Use the new NetworkSpec api
ceph: Change all tests to use the NetworkSpec
ceph: Remove TypeMeta field from NetworkSpec
ceph: Change IsHost network func signature
Signed-off-by: giovanism <giovanism@outlook.co.id>
Duplicate edgefs's NetworkSpec funcs to rook
rook: Add NetworkSpec related tests
Support multus's json syntax
Add ApplyMultus using json
Fix uncaught index error on parseMultusSelector
Fix parseMultusSelector short form
Fix invalid JSON literal on network_test.go
rook: Ignore selectors order in ApplyMultus tests
rook: Improve network docs and tests readability
rook: Change IsHost and IsMultus network func signature
Signed-off-by: giovanism <giovanism@outlook.co.id>
The external cluster must run at least on Nautilus. The main reason
being the msgr2 knowledge by the Operator and the Ceph CLI.
Signed-off-by: Sébastien Han <seb@redhat.com>
Re-adapt controller code with the latest changes. Split External and not
external more accuratly in initializeCluster.
Signed-off-by: Sébastien Han <seb@redhat.com>
saveMonConfig already calls WriteConnectionConfig so there is no need to
call WriteConnectionConfig again after saveMonConfig is done.
Signed-off-by: Sébastien Han <seb@redhat.com>
With this change, the admin can specify a single mon and the operator
will add any other mons to both ClusterInfo and the configmap of mon
endpoints.
It will periodically check for changes too and update both ClusterInfo
and the configmap accordingly.
Signed-off-by: Sébastien Han <seb@redhat.com>