This allows multiple object stores to be in the same namespace and
to be selected separately from each other.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
New configurational option enables flexible choice for write I/O
to allow configurable trades between performance, reliability and consistency.
This also fixes bcache mis-configuration.
Fixes#2367
Signed-off-by: Dmitry Yusupov <dmitry@nexenta.com>
The sidecar now has a control loop, which watches its ClusterIP
Service for the `cassandra.rook.io/decommissioned` label.
If it finds it, then it decommissions and updates the label to
value "true".
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
RackConditions are observations about a Cassandra Rack.
Currently, the only condition is MemberLeaving.
Conditions are an api convention of kubernetes.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
We add a new label to our constants, called
`cassandra.rook.io/decommissioned`. When it is present on a
member's ClusterIP Service with the value "false", it expresses
the intent of the controller to decommission the member. When it is
present with the value "true", it means that decommission has completed.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
In order to have Ceph updates working for Rook release v0.9, apply a
simple, temporary solution to update the mons without extraneous mon
updates.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Implementation of the cassandra sidecar logic.
This sidecar helps us inject our custom values during startup
and provides HTTP liveness and readiness checks.
In the future it will also be used for:
- Shutting Down / Decommissioning a cassandra instance
- Backups
- Restores
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
Control logic for the cassandra controller.
The controller exists in a separate StatefulSet, watches
Kubernetes Objects for changes and acts on those changes to
achieve the desired state.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
Scaffolding of a Kubernetes controller using the informer-workqueue
pattern.
Dockerfiles and Makefiles to build the cassandra operator image.
Manifests to deploy the Cassandra operator and create a Cluster CRD.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
Edited codegen.sh to include cassandra.
Then, run make codegen to generate the rest of the files.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
API types for Cassandra have been added under /pkg/apis/cassandra.rook.io/types.go
Other files are some necessary boilerplate.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>