We should probably not hardcode this value here, and instead use
whatever the syscall module thinks this is.
Signed-off-by: Jeff Layton <jlayton@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>
Allow the default 'docker' command to be overridden by an environment
variable in the "build/run" shell script and the supporting library
file.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Create a makefile (and shell) variable that can be used to invoke a
different command line, such as 'sha256sum' instead of the default
'shasum -a 256'. The shasum tool is left as the default but, at least on
fedora, this comes from a perl package and it may be that sha256sum,
which comes from coreutils would allow building on a more minimal
install.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
In the image makefiles use the "DOCKERCMD" variable in place of
calls to docker command line tool. This allows custom paths
to docker or other docker-compatible tools to be used for builds.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
rook-ceph-system namespace is
created as part of the operator,update
document to check namespace is present,
if ns is not present create it.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
As can be seen in pkg/apis/ceph.rook.io/v1/types.go the Cluster CRD documentation is missing details about the dashboard configuration
Signed-off-by: Giacomo Longo <gabibbo97@gmail.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>
This commit introduces the necessary changes to support the new
messenger feature coming with Ceph Nautilus (currently in development).
What changes? Now the monitor listens on two port:
* old 6789 for messenger v1, which will help us support older client
(e,g: krbd)
* new 3300 for messengers v2, which brings new improvement in the
messaging layer. This new transport layer brings numerous advantages
such as encryption improvement, speed improvement, pluggable nature to
support different network stack than TCP and many more.
We still have one Service IP, however it has 2 ports, see:
```
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rook-ceph-mon-a ClusterIP 10.106.217.160 <none> 3300/TCP,6789/TCP 4h
rook-ceph-mon-b ClusterIP 10.99.36.175 <none> 3300/TCP,6789/TCP 4h
rook-ceph-mon-c ClusterIP 10.108.220.74 <none> 3300/TCP,6789/TCP 4h
````
The `ceph.conf` has changed and we don't force the port when using an IP
address (public addr etc). Ceph, depending on its version will naturally
start the monitors on their right port, 6789.
A new --ceph-version-name CLI argument has been added to the Rook binary
so that when the pod starts it passes the ceph version name and the
configuration of the ceph.conf, as well as daemon startup flags, happen
properly.
Given that the Rook Operator remembers the port of all the monitors it
deployed (through Pod definition), this change is not an issue and will
maintain backward compatibility.
Note that to test this you must build rook with dev container image,
which contains the dev Nautilus version. So you should do something
like:
`make -j4 BASEIMAGE='ceph/daemon-base:latest-master' IMAGES='ceph' build`
Resolves: #2525
Signed-off-by: Sébastien Han <seb@redhat.com>
We'd like to be able to let people start a super-bare-bones cluster,
that can then be scaled up from the orchestrator + dashboard.
Start only a single mon and a mgr daemon. Don't do any setup of osds.
Signed-off-by: Jeff Layton <jlayton@redhat.com>