Skip to content

Commit

Permalink
Adding a test for server adoption
Browse files Browse the repository at this point in the history
Create one server named 'create-adoption'.
Create another server with the substring of the first - 'adoption'
Test that the resource name of the second server is 'adoption'.

Reference: k-orc#250
  • Loading branch information
itzikb-redhat committed Feb 11, 2025
1 parent 88322db commit f18e9b6
Show file tree
Hide file tree
Showing 9 changed files with 188 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Server
metadata:
name: create-adoption
status:
resource:
name: create-adoption
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: kuttl.dev/v1beta1
kind: TestStep
commands:
- command: kubectl create secret generic openstack-clouds --from-file=clouds.yaml=${E2E_KUTTL_OSCLOUDS} ${E2E_KUTTL_CACERT_OPT}
namespaced: true
89 changes: 89 additions & 0 deletions internal/controllers/server/tests/create-adoption/00-server.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Flavor
metadata:
name: create-adoption
spec:
cloudCredentialsRef:
cloudName: openstack-admin
secretName: openstack-clouds
managementPolicy: unmanaged
import:
filter:
name: m1.tiny
isPublic: true
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Image
metadata:
name: create-adoption
spec:
cloudCredentialsRef:
cloudName: openstack-admin
secretName: openstack-clouds
managementPolicy: managed
resource:
content:
diskFormat: qcow2
download:
url: https://download.cirros-cloud.net/0.6.3/cirros-0.6.3-x86_64-disk.img
visibility: public
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Network
metadata:
name: create-adoption
spec:
cloudCredentialsRef:
cloudName: openstack
secretName: openstack-clouds
managementPolicy: managed
resource:
name: create-adoption
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Subnet
metadata:
name: create-adoption
spec:
cloudCredentialsRef:
cloudName: openstack
secretName: openstack-clouds
managementPolicy: managed
networkRef: create-adoption
resource:
ipVersion: 4
cidr: 192.168.200.0/24
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Port
metadata:
name: create-adoption
spec:
cloudCredentialsRef:
cloudName: openstack
secretName: openstack-clouds
managementPolicy: managed
networkRef: create-adoption
resource:
addresses:
- subnetRef: create-adoption
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Server
metadata:
name: create-adoption
spec:
cloudCredentialsRef:
cloudName: openstack
secretName: openstack-clouds
managementPolicy: managed
resource:
imageRef: create-adoption
flavorRef: create-adoption
ports:
- portRef: create-adoption
# ports:
# - portRef: port
# userData:
# secretRef: userdata
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Port
metadata:
name: adoption
spec:
cloudCredentialsRef:
cloudName: openstack
secretName: openstack-clouds
managementPolicy: managed
networkRef: create-adoption
resource:
addresses:
- subnetRef: create-adoption

apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Server
metadata:
name: adoption
spec:
cloudCredentialsRef:
cloudName: openstack
secretName: openstack-clouds
managementPolicy: managed
resource:
imageRef: create-adoption
flavorRef: create-adoption
ports:
- portRef: adoption
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Server
metadata:
name: adoption
status:
resource:
name: adoption
15 changes: 15 additions & 0 deletions internal/controllers/server/tests/create-adoption/02-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
commands:
- script: "! kubectl get server create-adoption --namespace $NAMESPACE"
skipLogOutput: true
- script: "! kubectl get port create-adoption --namespace $NAMESPACE"
skipLogOutput: true
- script: "! kubectl get subnet create-adoption --namespace $NAMESPACE"
skipLogOutput: true
- script: "! kubectl get network create-adoption --namespace $NAMESPACE"
skipLogOutput: true
- script: "! kubectl get flavor create-adoption --namespace $NAMESPACE"
skipLogOutput: true
- script: "! kubectl get image create-adoption --namespace $NAMESPACE"
skipLogOutput: true
21 changes: 21 additions & 0 deletions internal/controllers/server/tests/create-adoption/02-cleanup.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: kuttl.dev/v1beta1
kind: TestStep
delete:
- apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Server
name: create-adoption
- apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Port
name: create-adoption
- apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Subnet
name: create-adoption
- apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Network
name: create-adoption
- apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Flavor
name: create-adoption
- apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Image
name: create-adoption
13 changes: 13 additions & 0 deletions internal/controllers/server/tests/create-adoption/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Create two servers to test adoption

## Step 00

Import a flavor, create an image,network,subnet and a port and then create a server with name 'create-adoption'.

## Step 01
Create another server with the name 'adoption'. The second server should have a resource name of 'adoption'

## Step 02

Validate we're able to delete resources.
Cleaning up resources also avoids a race where kuttl could delete the secret before the other resources.
1 change: 1 addition & 0 deletions kuttl-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ kind: TestSuite
testDirs:
- ./internal/controllers/flavor/tests/
- ./internal/controllers/network/tests/
- ./internal/controllers/server/tests/
- ./internal/controllers/subnet/tests/
timeout: 120

0 comments on commit f18e9b6

Please sign in to comment.