Commit Graph
265 Commits
Author SHA1 Message Date
Alexander Trost 8bc26d9096 k8sclient: Update all operators to use apps/v1
All usages of k8s go client are now also using the versioned `AppsV1() `
call for the client.

Updated MySQL and Wordpress, and Kube Registy examples to use apps/v1
Deployments.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2019-04-12 09:25:42 +02:00
Travis Nielsen 8f3d62e56b Merge pull request #2936 from SUSE/cautious-osd-node-removal
ceph: remove osd host nodes only when certain
2019-04-11 12:34:24 -06:00
Blaine Gardner a80082988d ceph: remove osds only when certain
Make the Ceph operator more cautious about when it decides to remove
nodes from the Rook-Ceph cluster which are acting as osd hosts.

When `useAllNodes` is set to `true` we assume that the user wants to
have the most hands-off experience. Node removals are allowed when a
node is delted from Kubernetes and when a node has its taints/affinities
modified by the user (but not by automatic k8s modification as much as
possible).

When `useAllnodes` is set to `false` the only time a node is removed is
if it is removed from the Ceph cluster definition.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-04-11 09:41:54 -06:00
travisn 5ebb651e37 ceph: update the cephcluster custom resource with ceph health
The CephCluster resource will now expose the health of the ceph cluster
so admins can query the status with k8s api or kubectl instead of
needing to run the rook toolbox. The operator will query the
ceph status periodically and update the status in the custom resource.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-10 14:41:18 -06:00
Travis Nielsen e0d3ffdceb Merge pull request #2839 from Madhu-1/fix-drivername
Fix driver name in ceph csi driver
2019-04-10 08:51:06 -06:00
Madhu Rajanna d9dd81396c remove attacher statefulset for rbd csi driver
deploy attacher as a container inside  rbd provisioner
stateful set

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-04-10 18:27:08 +05:30
Travis Nielsen 2ca611a1bd Merge pull request #2940 from travisn/nautilus-support
Add nautilus to the list of supported Ceph versions
2019-04-09 21:53:14 -06:00
Madhu Rajanna 38527239c4 simplify socker directory name inside container
socket directory name need not follow
the driver name format,renamed socket directory
to simple names.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-04-09 16:08:56 +05:30
Travis Nielsen 1d98c47315 Merge pull request #2931 from sabbot/integration-test
Edgefs: Integration tests for EdgeFS
2019-04-08 20:01:40 -06:00
Travis Nielsen b15391819b Merge pull request #2910 from SUSE/mon-port-upgrade-fix-2854
ceph: fix for masked upgrade failures and getting integrations running again
2019-04-08 17:11:32 -06:00
Blaine Gardner 35e2fbe4e0 optest: wait longer for deployment image
The Ceph upgrade test is the only one which uses the
`WaitForDeploymentImage` method, and it has to be configured to wait
longer after upgrade at this point. Since the wait time is still
hard-coded, this method is moved to the operator's test dir to make
it clear that the method is suitable only for tests currently.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-04-08 10:30:32 -06:00
Anton Skriptsov 15a3a26b08 Integration tests for EdgeFS
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-04-08 05:00:01 -07:00
travisn 1f91eda58c ceph: add nautilus to the list of supported versions
Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-07 00:03:29 -06:00
Keith Schincke 878ef8ff00 Issue 2660: Deleting CephObjectStoreUser does not delete secret
When deleting a CephObjectStoreUser the deleteUser function
attempts to delete the stored secret using the wrong name. This
patch updates deleteUser to use the same fmt.Sprintf call used in
the createUser function.

Updated CI to delete the correct CRD and check the secret is deleted.

Signed-off-by: Keith Schincke <keith.schincke@gmail.com>
2019-04-05 10:52:15 -05:00
travisn aa8b9d7b9d helm test charts skip the role creation since included in the chart
Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-04 12:42:08 -06:00
travisn eb74bf5547 Configure a cluster in the same namespace as the operator
To simplify the deployment of Rook, both the operator and cluster crd are now created in the
same namespace in the examples. By default the operator will only manage a cluster crd
in the same namespace instead of watching for clusters in all namespaces. To manage a cluster
in another namespace, the roles in latter half of operator-common.yaml need to point to the new
namespace and the operator env var ROOK_CURRENT_NAMESPACE_ONLY should be set to false.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-04 12:42:08 -06:00
travisn ceb2be1aca refactor the ceph cluster crd and related example yamls
The RBAC is tedious to copy everywhere with the cluster.yaml and is confusing to newcomers.
The common resources are now factored into the operator-common.yaml for the common scenario
of creating a single cluster. Examples are now added for configuration of the operator
and cluster crds to provide a more complete set.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-04 12:42:07 -06:00
travisn 6ec255e269 Avoid silent failure during upgrade integration test
Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-02 17:48:47 -06:00
Christopher P. Maher 4954a32940 Adding install for kubernetes-cni for integration tests
Signed-off-by: Christopher P. Maher <chris@mahercode.io>
2019-03-28 09:32:57 -07:00
travisn 531da9647c ceph: rely on ceph image creation success instead of rbd get info
Nautilus has an issue targeting Luminous when running the rbd info command.
Rook already has the info it needs for the call and can return it
after the rbd create command succeeds.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 15:15:36 -06:00
travisn 91cc62676d Base the rook ceph operator image on the Nautilus release image
To target a Nautilus image with msgr2 and configure the nfs ganesha feature
for Ceph, we need to update the base image to Nautilus.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 15:15:36 -06:00
travisn 058ffe8adf integration test for ceph nfs daemons
Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 15:15:36 -06:00
travisn 23498cf09d tests: smoke suite runs on nautilus
Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 12:39:29 -06:00
Travis Nielsen e28278578e Merge pull request #2818 from noahdesu/ceph-version-v3
ceph: add fine grained version tracking
2019-03-18 15:23:12 -06:00
Noah Watkins 379cb98689 ceph: replace release name with fine-grained version
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>
2019-03-18 12:57:29 -07:00
Alexander Trost 64a9308d07 tests/scripts: Added basic k8s-vagrant-multi-node wrapper script
This adds a basic wrapper script around k8s-vagrant-multi-node project.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2019-03-18 15:30:31 +01:00
Travis Nielsen 6d3f7ab633 Merge pull request #2823 from nakabonne/cockroach-installation
Add 'if not exists' to the command that creates a test database/table
2019-03-14 13:19:29 -06:00
Ryo Nakao e7fd7ac47e Add 'if not exists' to the command that creates a test database/table
Signed-off-by: Ryo Nakao <nakabonne@gmail.com>
2019-03-14 17:55:39 +09:00
travisn eece96eea4 tests: retry the file mount integration test for stability
Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-12 17:30:06 -06:00
zhangyue 1859096041 test: add ci logs when build is successful
Signed-off-by: zhangyue <zy675793960@yeah.net>
2019-03-10 12:18:23 +08:00
Alexander Trost 70196e5f5f Merge pull request #2786 from nakabonne/add-wget
Add wget to required tool list
2019-03-09 12:19:52 +01:00
Jared Watts cb3ada9795 Merge pull request #2752 from ZYecho/add-rbac
cockroachdb: add minimal rbac access for cockroachdb pod
2019-03-07 20:21:56 -08:00
Ryo Nakao 64de987cde Add wget to required tool list
Signed-off-by: Ryo Nakao <nakabonne@gmail.com>
2019-03-08 12:59:32 +09:00
Travis Nielsen 4dfdf2f022 Merge pull request #2310 from SUSE/ceph-add-extra-integration-test-logging
Ceph integration tests: add more verbose logging
2019-03-07 14:40:37 -07:00
Blaine Gardner 086fa8231c rgw: configure entirely in operator
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>
2019-03-07 08:02:42 -07:00
Blaine Gardner 51cc7c2e85 Ceph integration tests: add more verbose logging
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-03-05 14:14:09 -07:00
zhangyue baf27bdd8e cockroachdb: modify cockroachdb operator rbac access
Signed-off-by: zhangyue <zy675793960@yeah.net>
2019-03-05 14:16:10 +08:00
Travis Nielsen a145f4dcb7 Merge pull request #2703 from travisn/osds-per-device-with-filter
Clean up provisioning of OSDs on devices
2019-03-04 07:58:56 -07:00
travisn b24ebc8168 tests: remove unnecessary string returns from kubectl calls
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>
2019-03-01 16:16:41 -07:00
travisn 6ca573bb34 tests: remove unreliable substring checking
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>
2019-03-01 16:16:41 -07:00
zhangyue 87b4f45fd9 test: add nfs with multi export integration test
Signed-off-by: zhangyue <zy675793960@yeah.net>
2019-02-28 09:02:52 +08:00
travisn bdc3cf8146 osd: fix the device filter and improve device provisioning reliability
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>
2019-02-26 16:11:25 -07:00
Jeff Layton a5252dccee ceph: fix up RBAC permissions
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>
2019-02-22 06:30:49 -05:00
travisn ecf8d890c1 convert remaining extensions to apps api
Signed-off-by: travisn <tnielsen@redhat.com>
2019-02-14 16:48:12 -07:00
Huamin Chen 1b21e42a90 convert extensions to apps
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-02-14 16:06:05 -05:00
Huamin Chen 3806baffe1 add ceph csi deploy options
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-02-12 21:20:41 -05:00
Travis Nielsen 8a2001c3d7 Merge pull request #2522 from travisn/reference-k8s-provisioner
Reference the k8s provisioner instead of the outdated in-tree provisioner
2019-02-07 19:39:32 -07:00
Blaine Gardner 78d4719125 ceph: no longer create fallback osd
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>
2019-02-01 09:41:32 -07:00
Christopher P. Maher 19d953d51f Changing timeout for dpkg unlock for Ubuntu GCE CI/CD systems
Signed-off-by: Christopher P. Maher <chris@mahercode.io>
2019-01-23 22:11:46 -08:00
travisn c9d3d1bf17 reference the k8s pvc provisioner and remove outdated in-tree provisioner
Signed-off-by: travisn <tnielsen@redhat.com>
2019-01-19 07:48:00 -07:00