Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add integration tests for InstanceController #504

Merged
merged 6 commits into from
Jul 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-custom-trigger
status:
status: COMPLETE
---
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-custom-trigger
operator-version: icto-custom-trigger
spec:
planName: deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Create an OperatorVersion with a parameter and its corresponding trigger.
#
# The next step will update the parameter and verify that it triggers the
# creation of a `PlanExecution` for the plan defined as a trigger.
apiVersion: kudo.k8s.io/v1alpha1
kind: OperatorVersion
metadata:
name: icto-custom-trigger
spec:
version: "1.0"
parameters:
- name: foo
trigger: foo-changed
plans:
deploy:
update:
foo-changed:
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-custom-trigger
labels:
operator: icto-custom-trigger
spec:
operatorVersion:
name: icto-custom-trigger
kind: OperatorVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-custom-trigger
operator-version: icto-custom-trigger
spec:
planName: foo-changed
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-custom-trigger
labels:
operator: icto-custom-trigger
spec:
operatorVersion:
name: icto-custom-trigger
kind: OperatorVersion
parameters:
foo: "new value"
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-fallback-to-deploy
status:
status: COMPLETE
---
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-fallback-to-deploy
operator-version: icto-fallback-to-deploy
spec:
planName: deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Create an OperatorVersion with a parameter without a trigger and without an
# `update` plan.
#
# The next step will update the parameter and verify that it triggers the creation
# of a `PlanExecution` for the `deploy` plan.
apiVersion: kudo.k8s.io/v1alpha1
kind: OperatorVersion
metadata:
name: icto-fallback-to-deploy
spec:
operator:
name: icto-fallback-to-deploy
kind: Operator
version: "1.0"
parameters:
- name: foo
plans:
deploy:
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-fallback-to-deploy
labels:
operator: icto-fallback-to-deploy
spec:
operatorVersion:
name: icto-fallback-to-deploy
kind: OperatorVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-fallback-to-deploy
operator-version: icto-fallback-to-deploy
spec:
planName: deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: TestStep
delete:
- apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
labels:
instance: icto-fallback-to-deploy
operator-version: icto-fallback-to-deploy
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-fallback-to-deploy
labels:
operator: icto-fallback-to-deploy
spec:
operatorVersion:
name: icto-fallback-to-deploy
kind: OperatorVersion
parameters:
foo: "new value"
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-no-trigger
status:
status: COMPLETE
---
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-no-trigger
operator-version: icto-no-trigger
spec:
planName: deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Create an OperatorVersion with a parameter without a trigger and an `update`
# plan.
#
# The next step will update the parameter and verify that it triggers the creation
# of a `PlanExecution` for the `update` plan.
apiVersion: kudo.k8s.io/v1alpha1
kind: OperatorVersion
metadata:
name: icto-no-trigger
spec:
version: "1.0"
parameters:
- name: foo
plans:
deploy:
update:
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-no-trigger
labels:
operator: icto-no-trigger
spec:
operatorVersion:
name: icto-no-trigger
kind: OperatorVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-no-trigger
operator-version: icto-no-trigger
spec:
planName: update
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-no-trigger
labels:
operator: icto-no-trigger
spec:
operatorVersion:
name: icto-no-trigger
kind: OperatorVersion
parameters:
foo: "new value"
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-upgrade-fallback-to-deploy
status:
status: COMPLETE
---
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-upgrade-fallback-to-deploy
operator-version: icto-upgrade
spec:
planName: deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# This test verifies that when an instance is upgraded, the InstanceController
# triggers an execution of the "deploy" plan when the new version includes
# neither an "upgrade" nor an "update" plan.
#
# In order to do so, it creates a simple operator, its corresponding operator
# version (with only a "deploy" plan), and an instance.
#
# The next step will:
#
# 1. Remove the "deploy" plan execution created for the original version of
# the instance.
# 2. Create a new operator version with just a "deploy" plan.
# 3. Trigger an upgrading by updating the operator version used by the instance.
# 4. Verify that KUDO creates a new "deploy" plan execution.
apiVersion: kudo.k8s.io/v1alpha1
kind: Operator
metadata:
name: icto-upgrade
---
apiVersion: kudo.k8s.io/v1alpha1
kind: OperatorVersion
metadata:
name: icto-upgrade
spec:
operator:
name: icto-upgrade
kind: Operator
version: "1.0"
plans:
deploy:
upgrade:
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-upgrade-fallback-to-deploy
labels:
operator: icto-upgrade
spec:
operatorVersion:
name: icto-upgrade
kind: OperatorVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-upgrade-fallback-to-deploy
operator-version: icto-upgrade-fallback-to-deploy
spec:
planName: deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: TestStep
delete:
- apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
labels:
instance: icto-upgrade-fallback-to-deploy
operator-version: icto-upgrade-fallback-to-deploy
---
apiVersion: kudo.k8s.io/v1alpha1
kind: OperatorVersion
metadata:
name: icto-upgrade-fallback-to-deploy
spec:
operator:
name: icto-upgrade
kind: Operator
version: "2.0"
plans:
deploy:
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-upgrade-fallback-to-deploy
labels:
operator: icto-upgrade
spec:
operatorVersion:
name: icto-upgrade-fallback-to-deploy
kind: OperatorVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-upgrade-fallback-to-update
status:
status: COMPLETE
---
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-upgrade-fallback-to-update
operator-version: icto-upgrade
spec:
planName: deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# This test verifies that when an instance is upgraded, the InstanceController
# triggers an execution of the "update" plan when the new version does not
# include an "upgrade" plan.
#
# In order to do so, it creates a simple operator, its corresponding
# operator version (without an "upgrade" plan), and an instance.
#
# The next step will then create new OperatorVersion which will include
# "update" and "deploy" plans, update the instance, and finally verify that the
# right PlanExecution was created.
apiVersion: kudo.k8s.io/v1alpha1
kind: Operator
metadata:
name: icto-upgrade
---
apiVersion: kudo.k8s.io/v1alpha1
kind: OperatorVersion
metadata:
name: icto-upgrade
spec:
operator:
name: icto-upgrade
kind: Operator
version: "1.0"
plans:
deploy:
upgrade:
update:
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-upgrade-fallback-to-update
labels:
operator: icto-upgrade
spec:
operatorVersion:
name: icto-upgrade
kind: OperatorVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: PlanExecution
metadata:
labels:
instance: icto-upgrade-fallback-to-update
operator-version: icto-upgrade-fallback-to-update
spec:
planName: update
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: kudo.k8s.io/v1alpha1
kind: OperatorVersion
metadata:
name: icto-upgrade-fallback-to-update
spec:
operator:
name: icto-upgrade
kind: Operator
version: "2.0"
plans:
deploy:
update:
---
apiVersion: kudo.k8s.io/v1alpha1
kind: Instance
metadata:
name: icto-upgrade-fallback-to-update
labels:
operator: icto-upgrade
spec:
operatorVersion:
name: icto-upgrade-fallback-to-update
kind: OperatorVersion
Loading