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

KUTTL tests for Ceilometer and Telemetry API #232

Merged
merged 8 commits into from
Nov 14, 2023
Merged
Show file tree
Hide file tree
Changes from 7 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
8 changes: 7 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ kuttl-install:
echo "Place 'export PATH=$${KREW_ROOT:-$$HOME/.krew}/bin:$$PATH' to your ~/.bashrc"

# TODO(mmagr): change this to default once there is default suite
vyzigold marked this conversation as resolved.
Show resolved Hide resolved
KUTTL_SUITE ?= autoscaling
KUTTL_SUITE ?= default
KUTTL_NAMESPACE ?= telemetry-kuttl-$(KUTTL_SUITE)
KUTTL_SUITE_DIR ?= tests/kuttl/suites/$(KUTTL_SUITE)

Expand Down Expand Up @@ -361,6 +361,12 @@ kuttl-test-cleanup:
if [ "$(KUTTL_SUITE)" == "autoscaling" ]; then \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s Autoscaling; \
fi; \
if [ "$(KUTTL_SUITE)" == "ceilometer" ]; then \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s Ceilometer; \
fi; \
if [ "$(KUTTL_SUITE)" == "default" ]; then \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s Telemetry; \
fi; \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s OpenStackControlPlane; \
oc delete --wait=true namespace $(KUTTL_NAMESPACE); \
else \
Expand Down
2 changes: 2 additions & 0 deletions kuttl-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,7 @@ timeout: 300
parallel: 1
testDirs:
- tests/kuttl/suites/autoscaling/
- tests/kuttl/suites/ceilometer/
- tests/kuttl/suites/default/
suppress:
- events # Remove spammy event logs
21 changes: 7 additions & 14 deletions tests/kuttl/suites/autoscaling/tests/01-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,13 @@ metadata:
name: prometheus-telemetry-kuttl-prometheus-0
status:
containerStatuses:
- image: quay.io/rhobs/obo-prometheus-config-reloader:v0.68.0-rhobs1
name: config-reloader
- name: config-reloader
ready: true
started: true
- image: quay.io/prometheus/prometheus:v2.47.0
name: prometheus
- name: prometheus
ready: true
started: true
- image: quay.io/thanos/thanos:v0.24.0
name: thanos-sidecar
- name: thanos-sidecar
ready: true
started: true
---
Expand Down Expand Up @@ -80,14 +77,10 @@ spec:
template:
spec:
containers:
- image: quay.io/mmagr/openstack-aodh-api:current-podified
name: aodh-api
- image: quay.io/mmagr/openstack-aodh-evaluator:current-podified
name: aodh-evaluator
- image: quay.io/mmagr/openstack-aodh-notifier:current-podified
name: aodh-notifier
- image: quay.io/mmagr/openstack-aodh-listener:current-podified
name: aodh-listener
- name: aodh-api
- name: aodh-evaluator
- name: aodh-notifier
- name: aodh-listener
volumes:
- name: scripts
secret:
Expand Down
14 changes: 14 additions & 0 deletions tests/kuttl/suites/ceilometer/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: kuttl.dev/v1beta1
kind: TestSuite
reportFormat: JSON
reportName: kuttl-ceilometer-results
namespace: telemetry-kuttl-ceilometer
# we could set this lower, but the initial image pull can take a while
timeout: 300
parallel: 1
skipDelete: true
testDirs:
- tests/kuttl/suites/ceilometer/
suppress:
- events
artifactsDir: tests/kuttl/suites/ceilometer/output
26 changes: 26 additions & 0 deletions tests/kuttl/suites/ceilometer/deps/OpenStackControlPlane.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: openstack
spec:
storageClass: "crc-csi-hostpath-provisioner"
keystone:
template:
databaseInstance: openstack
secret: osp-secret
ironic:
enabled: false
template:
ironicConductors: []
manila:
enabled: false
template:
manilaShares: {}
horizon:
enabled: false
nova:
enabled: false
placement:
template:
databaseInstance: openstack
secret: osp-secret
41 changes: 41 additions & 0 deletions tests/kuttl/suites/ceilometer/deps/infra.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: openstack
spec:
mariadb:
enabled: false
templates:
openstack:
replicas: 0
openstack-cell1:
replicas: 0
galera:
enabled: true
templates:
openstack:
replicas: 1
storageRequest: 500M
openstack-cell1:
replicas: 1
storageRequest: 500M
secret: osp-secret
secret: osp-secret
rabbitmq:
templates:
rabbitmq:
replicas: 1
rabbitmq-cell1:
replicas: 1
memcached:
templates:
memcached:
replicas: 1
ovn:
enabled: false
template:
ovnController:
external-ids:
ovn-encap-type: geneve
ovs:
enabled: false
45 changes: 45 additions & 0 deletions tests/kuttl/suites/ceilometer/deps/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: telemetry-kuttl-ceilometer

secretGenerator:
- literals:
- AdminPassword=password
- DbRootPassword=password
- DatabasePassword=password
- KeystoneDatabasePassword=password
- PlacementPassword=password
- PlacementDatabasePassword=password
- GlancePassword=password
- GlanceDatabasePassword=password
- NeutronPassword=password
- NeutronDatabasePassword=password
- NovaPassword=password
- NovaAPIDatabasePassword=password
- NovaCell0DatabasePassword=password
- NovaCell1DatabasePassword=password
- AodhPassword=password
- AodhDatabasePassword=password
- CeilometerPassword=password
- CeilometerDatabasePassword=password
- MetadataSecret=42
name: osp-secret
generatorOptions:
disableNameSuffixHash: true
labels:
type: osp-secret

resources:
- namespace.yaml
- OpenStackControlPlane.yaml

patches:
- patch: |-
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: openstack
spec:
secret: osp-secret
- path: infra.yaml
- path: telemetry.yaml
4 changes: 4 additions & 0 deletions tests/kuttl/suites/ceilometer/deps/namespace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: telemetry-kuttl
7 changes: 7 additions & 0 deletions tests/kuttl/suites/ceilometer/deps/telemetry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: openstack
spec:
telemetry:
enabled: false
Empty file.
47 changes: 47 additions & 0 deletions tests/kuttl/suites/ceilometer/tests/00-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
apiVersion: v1
kind: Service
metadata:
labels:
service: ceilometer
name: ceilometer
ownerReferences:
- kind: Ceilometer
name: telemetry-kuttl
spec:
ports:
- port: 3000
protocol: TCP
targetPort: 3000
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
service: ceilometer
name: ceilometer
ownerReferences:
- kind: Ceilometer
name: telemetry-kuttl
spec:
template:
spec:
containers:
- name: ceilometer-central-agent
- name: ceilometer-notification-agent
- name: sg-core
volumes:
- name: scripts
secret:
defaultMode: 480
secretName: ceilometer-scripts
- name: config-data
secret:
defaultMode: 416
secretName: ceilometer-config-data
- name: sg-core-conf-yaml
secret:
defaultMode: 416
items:
- key: sg-core.conf.yaml
path: sg-core.conf.yaml
secretName: ceilometer-config-data
6 changes: 6 additions & 0 deletions tests/kuttl/suites/ceilometer/tests/00-deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: telemetry.openstack.org/v1beta1
kind: Ceilometer
metadata:
name: telemetry-kuttl
spec:
secret: osp-secret
14 changes: 14 additions & 0 deletions tests/kuttl/suites/default/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: kuttl.dev/v1beta1
kind: TestSuite
reportFormat: JSON
reportName: kuttl-telemetry-results
namespace: telemetry-kuttl-default
# we could set this lower, but the initial image pull can take a while
timeout: 300
parallel: 1
skipDelete: true
testDirs:
- tests/kuttl/suites/default/
suppress:
- events
artifactsDir: tests/kuttl/suites/default/output
35 changes: 35 additions & 0 deletions tests/kuttl/suites/default/deps/OpenStackControlPlane.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: openstack
spec:
storageClass: "crc-csi-hostpath-provisioner"
keystone:
template:
databaseInstance: openstack
secret: osp-secret
ironic:
enabled: false
template:
ironicConductors: []
manila:
enabled: false
template:
manilaShares: {}
horizon:
enabled: false
nova:
enabled: false
placement:
template:
databaseInstance: openstack
secret: osp-secret
heat:
enabled: true
template:
databaseInstance: openstack
heatAPI:
replicas: 1
heatEngine:
replicas: 1
secret: osp-secret
41 changes: 41 additions & 0 deletions tests/kuttl/suites/default/deps/infra.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: openstack
spec:
mariadb:
enabled: false
templates:
openstack:
replicas: 0
openstack-cell1:
replicas: 0
galera:
enabled: true
templates:
openstack:
replicas: 1
storageRequest: 500M
openstack-cell1:
replicas: 1
storageRequest: 500M
secret: osp-secret
secret: osp-secret
rabbitmq:
templates:
rabbitmq:
replicas: 1
rabbitmq-cell1:
replicas: 1
memcached:
templates:
memcached:
replicas: 1
ovn:
enabled: false
template:
ovnController:
external-ids:
ovn-encap-type: geneve
ovs:
enabled: false
Loading
Loading