Initial OpenShift integration test support. (#36207)

Based on integration tests from chouseknecht for openshift_raw.
This commit is contained in:
Matt Clay
2018-02-14 13:39:42 -08:00
committed by GitHub
parent 97b6e99479
commit 032dc1a7c5
4 changed files with 370 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
# This is the configuration template for ansible-test OpenShift integration tests.
#
# You do not need this template if you are:
#
# 1) Running integration tests without using ansible-test.
# 2) Using the automatically provisioned openshift-origin docker container in ansible-test.
#
# If you do not want to use the automatically provided OpenShift container,
# place your kubeconfig file next to this file, with the same name, but without the .template extension.
# This will cause ansible-test to use the given configuration and not launch the automatically provided container.
#
# It is recommended that you DO NOT use this template unless you cannot use the automatically provided container.

View File

@@ -0,0 +1,2 @@
cloud/openshift
posix/ci/cloud/group4/openshift

View File

@@ -0,0 +1,132 @@
- name: Install requirements
pip:
name: openshift
- name: Create a project
openshift_raw:
name: testing
kind: project
description: My testing project
display_name: Testing Project
api_version: v1
register: output
- name: show output
debug:
var: output
- name: Create a service
openshift_raw:
state: present
resource_definition:
apiVersion: v1
kind: Service
metadata:
name: web
namespace: testing
labels:
app: galaxy
service: web
spec:
selector:
app: galaxy
service: web
ports:
- protocol: TCP
targetPort: 8000
name: port-8000-tcp
port: 8000
register: output
- name: show output
debug:
var: output
- name: Delete an existing PVC
openshift_raw:
name: web
namespace: testing
api: v1
kind: persistent_volume_claim
state: absent
- name: Create PVC
openshift_raw:
state: present
inline: &pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: elastic-volume
namespace: testing
spec:
resources:
requests:
storage: 5Gi
accessModes:
- ReadWriteOnce
- name: Show output
debug:
var: output
- name: Create PVC
openshift_raw:
state: present
inline: *pvc
register: output
- name: Show output
debug:
var: output
- name: PVC should be idempotent
assert:
that: not output.changed
- name: Delete an existing deployment config
openshift_raw:
name: elastic
namespace: testing
api: v1
kind: DeploymentConfig
state: absent
- name: Create deployment config
openshift_raw:
state: present
inline: &dc
apiVersion: v1
kind: DeploymentConfig
metadata:
name: elastic
labels:
app: galaxy
service: elastic
namespace: testing
spec:
template:
metadata:
labels:
app: galaxy
service: elastic
spec:
containers:
- name: elastic
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: elastic-volume
command: ['elasticsearch']
image: 'ansible/galaxy-elasticsearch:2.4.6'
volumes:
- name: elastic-volume
persistentVolumeClaim:
claimName: elastic-volume
replicas: 1
strategy:
type: Rolling
register: output
- name: Show output
debug:
var: output