diff options
author | Tim Bielawa <tbielawa@redhat.com> | 2017-03-07 09:58:44 -0800 |
---|---|---|
committer | Scott Dodson <sdodson@redhat.com> | 2017-03-07 19:54:13 -0500 |
commit | f77dc7824917b973b8f92028e4efaea57cc3036c (patch) | |
tree | c481a070e8a05188778235add532acf12b9f3368 | |
parent | 766128bf66cbc45cb2c2539dec0472e7d378a3fb (diff) | |
download | openshift-f77dc7824917b973b8f92028e4efaea57cc3036c.tar.gz openshift-f77dc7824917b973b8f92028e4efaea57cc3036c.tar.bz2 openshift-f77dc7824917b973b8f92028e4efaea57cc3036c.tar.xz openshift-f77dc7824917b973b8f92028e4efaea57cc3036c.zip |
Identify PetSets in 3.4 clusters and fail if any are detected
* PetSets are deprecated in 3.5, replaced with StatefulSets
* We can not automatically migrate between the two
* Red Hat has never supported PetSets nor do we support StatefulSets
* Gracefully handles invalid resource queries if ran against 3.5+
clusters
* Fails out with explanation and ref docs if petsets are detected
Reference bug: https://bugzilla.redhat.com/show_bug.cgi?id=1428229
-rw-r--r-- | playbooks/common/openshift-cluster/upgrades/v3_5/validator.yml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/playbooks/common/openshift-cluster/upgrades/v3_5/validator.yml b/playbooks/common/openshift-cluster/upgrades/v3_5/validator.yml index 13fd917c5..9c126033c 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_5/validator.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_5/validator.yml @@ -16,3 +16,52 @@ tasks: - name: Check for invalid namespaces and SDN errors oc_objectvalidator: + + # What's all this PetSet business about? + # + # 'PetSets' were ALPHA resources in Kube <= 3.4. In >= 3.5 they are + # no longer supported. The BETA resource 'StatefulSets' replaces + # them. We can't migrate clients PetSets to + # StatefulSets. Additionally, Red Hat has never officially supported + # these resource types. Sorry users, but if you were using + # unsupported resources from the Kube documentation then we can't + # help you at this time. + # + # Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1428229 + - name: Check if legacy PetSets exist + oc_obj: + state: list + all_namespaces: true + kind: petsets + register: l_do_petsets_exist + + - name: FAIL ON Resource migration 'PetSets' unsupported + fail: + msg: > + PetSet objects were detected in your cluster. These are an + Alpha feature in upstream Kubernetes 1.4 and are not supported + by Red Hat. In Kubernetes 1.5, they are replaced by the Beta + feature StatefulSets. Red Hat currently does not offer support + for either PetSets or StatefulSets. + + Automatically migrating PetSets to StatefulSets in OpenShift + Container Platform (OCP) 3.5 is not supported. See the + Kubernetes "Upgrading from PetSets to StatefulSets" + documentation for additional information: + + https://kubernetes.io/docs/tasks/manage-stateful-set/upgrade-pet-set-to-stateful-set/ + + PetSets MUST be removed before upgrading to OCP 3.5. Red Hat + strongly recommends reading the above referenced documentation + in its entirety before taking any destructive actions. + + If you want to simply remove all PetSets without manually + migrating to StatefulSets, run this command as a user with + cluster-admin privileges: + + $ oc get petsets --all-namespaces -o yaml | oc delete -f - --cascale=false + when: + # Search did not fail, valid resource type found + - l_do_petsets_exist.results.returncode == "0" + # Items do exist in the search results + - l_do_petsets_exist.results.results.0['items'] | length > 0 |