From 9db4559d6103be5d7bd851418e53b26e1a2f49a3 Mon Sep 17 00:00:00 2001 From: brahmanim Date: Sun, 2 Sep 2018 12:35:45 +0300 Subject: [PATCH] create new apps for setup project dashboard test enviroment Update readme file --- apps/project_dashboard/README.md | 17 +++ apps/project_dashboard/project-dashboard.yaml | 122 ++++++++++++++++++ .../setup-project-dashboard.sh | 16 +++ 3 files changed, 155 insertions(+) create mode 100644 apps/project_dashboard/README.md create mode 100644 apps/project_dashboard/project-dashboard.yaml create mode 100755 apps/project_dashboard/setup-project-dashboard.sh diff --git a/apps/project_dashboard/README.md b/apps/project_dashboard/README.md new file mode 100644 index 0000000..6a56388 --- /dev/null +++ b/apps/project_dashboard/README.md @@ -0,0 +1,17 @@ +# Project Dashboard + + +Create an openShift project, that will be used for CFME project dashboard tests. +The project will include: + - 5 PODs (one of the will be on Failed status) + - 6 Containers + - 1 Service + +Note: +If openShift already has a project with the same name, the script will raise an error message and won't proceed. + +# Getting started + - Clone the project. + - cd project_dashboard + - run the script that will create the project and its content: + setup-project-dashboard.sh diff --git a/apps/project_dashboard/project-dashboard.yaml b/apps/project_dashboard/project-dashboard.yaml new file mode 100644 index 0000000..7936ebc --- /dev/null +++ b/apps/project_dashboard/project-dashboard.yaml @@ -0,0 +1,122 @@ +apiVersion: v1 +kind: Template +metadata: + name: test-project-dashboard + annotations: + description: "Test project use for checking the CFME Containers Project Dashboard" + iconClass: "icon-openshift" + tags: "webserver,tomcat" +parameters: +- name: IMAGE_WEBSERVER30_TOMCAT7_OPENSHIFT + description: The location of the jboss-webserver-3/webserver30-tomcat7-openshift image + value: registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat7-openshift + required: true +- name: IMAGE_WEBSERVER30_TOMCAT8_OPENSHIFT + description: The location of the jboss-webserver-3/webserver30-tomcat8-openshift image + value: registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat8-openshift + required: true +- name: IMAGE_WEBSERVER31_TOMCAT7_OPENSHIFT + description: The location of the jboss-webserver-3/webserver31-tomcat7-openshift image + value: registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat7-openshift:latest + required: true +- name: IMAGE_WEBSERVER31_TOMCAT8_OPENSHIFT + description: The location of the jboss-webserver-3/webserver30-tomcat8-openshift image + value: registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat8-openshift + required: true +objects: +- apiVersion: v1 + kind: Pod + metadata: + name: jboss-web30-tomcat7 + labels: + app: jboss-web30-tomcat7 + spec: + containers: + - name: jboss-web30-tomcat7 + image: ${IMAGE_WEBSERVER30_TOMCAT7_OPENSHIFT} + ports: + - containerPort: 80 + protocol: TCP +- apiVersion: v1 + kind: Pod + metadata: + name: jboss-web30-tomcat7-1 + labels: + app: jboss-web30-tomcat7-1 + spec: + containers: + - name: jboss-web30-tomcat7-1 + image: ${IMAGE_WEBSERVER30_TOMCAT7_OPENSHIFT} + ports: + - containerPort: 80 + protocol: TCP + - name: jboss-web30-tomcat8-1 + image: ${IMAGE_WEBSERVER30_TOMCAT8_OPENSHIFT} + ports: + - containerPort: 8080 + protocol: TCP +- apiVersion: v1 + kind: Pod + metadata: + name: jboss-web30-tomcat8 + labels: + app: jboss-webx-tomcat8 + spec: + containers: + - name: jboss-web30-tomcat8 + image: ${IMAGE_WEBSERVER30_TOMCAT8_OPENSHIFT} + ports: + - containerPort: 80 + protocol: TCP +- apiVersion: v1 + kind: Pod + metadata: + name: jboss-web31-tomcat7 + labels: + app: jboss-web31-tomcat7 + spec: + containers: + - name: jboss-web31-tomcat7 + image: ${IMAGE_WEBSERVER31_TOMCAT7_OPENSHIFT} + ports: + - containerPort: 80 + protocol: TCP +- apiVersion: v1 + kind: Pod + metadata: + name: jboss-web31-tomcat8 + labels: + app: jboss-web3x-tomcat8 + spec: + containers: + - name: jboss-web31-tomcat8 + image: ${IMAGE_WEBSERVER31_TOMCAT8_OPENSHIFT} + ports: + - containerPort: 80 + protocol: TCP +- apiVersion: v1 + kind: Service + metadata: + name: jboss-web-tomcat8 + spec: + selector: + app: jboss-web3x-tomcat8 + portalIP: + ports: + - nodePort: 0 + port: 80 + protocol: TCP + targetPort: 80 +- apiVersion: v1 + kind: ResourceQuota + metadata: + name: project-dashboard-quota + spec: + hard: + memory: 1Gi + cpu: 20 + pods: 10 + services: 5 + replicationcontrollers: 5 + resourcequotas: 3 +labels: diff --git a/apps/project_dashboard/setup-project-dashboard.sh b/apps/project_dashboard/setup-project-dashboard.sh new file mode 100755 index 0000000..16e3a7e --- /dev/null +++ b/apps/project_dashboard/setup-project-dashboard.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +project_name="test-project-dashboard" +all_projects=`oc projects` + +# check if project already exists if $project_name in $all_projects +if [ `echo $all_projects |grep -c $project_name` -gt 0 ]; then + echo "Project name $project_name already exist, please delete it first." + exit 1 +else + oc new-project $project_name +fi +oc create -f project-dashboard.yaml +oc new-app --template=test-project-dashboard + +exit 0