| 1 | 1 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,33 @@ |
| 0 |
+#!/bin/sh |
|
| 1 |
+ |
|
| 2 |
+source $(dirname "${BASH_SOURCE}")/common.sh
|
|
| 3 |
+ |
|
| 4 |
+echo "Populating apps" |
|
| 5 |
+ |
|
| 6 |
+export KUBECONFIG=${OPENSHIFT_ADMIN_CONFIG}
|
|
| 7 |
+ |
|
| 8 |
+gitrepos=( |
|
| 9 |
+ https://github.com/openshift/hello-world.git |
|
| 10 |
+) |
|
| 11 |
+sources=($(oc get istag -n openshift -o template --template='{{ range .items }}{{ .metadata.name }}{{ "\n" }}{{ end }}'))
|
|
| 12 |
+num_sources=${#sources[@]}
|
|
| 13 |
+ |
|
| 14 |
+for ((i=1; i <=$NUM_APPS; i++)) |
|
| 15 |
+do |
|
| 16 |
+ number=$RANDOM |
|
| 17 |
+ let "number %= $NUM_PROJECTS" |
|
| 18 |
+ oc project ${PROJECT_NAME_PREFIX}${number}
|
|
| 19 |
+ |
|
| 20 |
+ repo="" |
|
| 21 |
+ if [[ $RANDOM -gt 20000 ]]; then |
|
| 22 |
+ number=$RANDOM |
|
| 23 |
+ let "number %= ${#gitrepos[@]}"
|
|
| 24 |
+ repo="~${gitrepos[$number]}"
|
|
| 25 |
+ fi |
|
| 26 |
+ |
|
| 27 |
+ number=$RANDOM |
|
| 28 |
+ let "number %= $num_sources" |
|
| 29 |
+ oc new-app --name=app-${i} ${sources[$number]}${repo}
|
|
| 30 |
+done |
|
| 31 |
+ |
|
| 32 |
+echo "Done" |
|
| 0 | 33 |
\ No newline at end of file |
| ... | ... |
@@ -6,14 +6,17 @@ |
| 6 | 6 |
export OPENSHIFT_SERVER="${OPENSHIFT_SERVER:-https://10.0.2.15:8443}"
|
| 7 | 7 |
|
| 8 | 8 |
# The admin user to populate |
| 9 |
-export OPENSHIFT_ADMIN_CONFIG="${OPENSHIFT_ADMIN_CONFIG:-/openshift.local.config/master/admin.kubeconfig}"
|
|
| 9 |
+export OPENSHIFT_ADMIN_CONFIG="${OPENSHIFT_ADMIN_CONFIG:-./openshift.local.config/master/admin.kubeconfig}"
|
|
| 10 | 10 |
|
| 11 | 11 |
# The ca cert to present when provisioning users |
| 12 |
-export OPENSHIFT_CA_CERT="${OPENSHIFT_CA_CERT:-/openshift.local.config/master/ca.crt}"
|
|
| 12 |
+export OPENSHIFT_CA_CERT="${OPENSHIFT_CA_CERT:-./openshift.local.config/master/ca.crt}"
|
|
| 13 | 13 |
|
| 14 | 14 |
# The number of users that are in the system |
| 15 | 15 |
export NUM_USERS="${NUM_USERS:-10}"
|
| 16 | 16 |
|
| 17 |
+# The number of applications to create across all projcets |
|
| 18 |
+export NUM_APPS="${NUM_APPS:-100}"
|
|
| 19 |
+ |
|
| 17 | 20 |
# The user name prefix |
| 18 | 21 |
export USER_NAME_PREFIX=hal- |
| 19 | 22 |
|
| ... | ... |
@@ -11,6 +11,6 @@ source $(dirname "${BASH_SOURCE}")/templates.sh
|
| 11 | 11 |
source $(dirname "${BASH_SOURCE}")/projects.sh
|
| 12 | 12 |
source $(dirname "${BASH_SOURCE}")/limits.sh
|
| 13 | 13 |
source $(dirname "${BASH_SOURCE}")/quotas.sh
|
| 14 |
-source $(dirname "${BASH_SOURCE}")/replication-controllers.sh
|
|
| 14 |
+source $(dirname "${BASH_SOURCE}")/apps.sh
|
|
| 15 | 15 |
|
| 16 | 16 |
echo "Done" |
| ... | ... |
@@ -12,8 +12,10 @@ export KUBECONFIG=${OPENSHIFT_ADMIN_CONFIG}
|
| 12 | 12 |
|
| 13 | 13 |
for ((i=1; i <=$NUM_PROJECTS; i++)) |
| 14 | 14 |
do |
| 15 |
- ADMIN_USER=${USER_NAME_PREFIX}$(shuf -i 1-$NUM_USERS -n 1)
|
|
| 16 |
- openshift admin new-project ${PROJECT_NAME_PREFIX}${i} --admin=$ADMIN_USER>/dev/null
|
|
| 15 |
+ number=$RANDOM |
|
| 16 |
+ let "number %= $NUM_USERS" |
|
| 17 |
+ ADMIN_USER=${USER_NAME_PREFIX}${number}
|
|
| 18 |
+ oadm new-project ${PROJECT_NAME_PREFIX}${i} --admin=$ADMIN_USER>/dev/null
|
|
| 17 | 19 |
done |
| 18 | 20 |
|
| 19 | 21 |
echo "Done" |
| 20 | 22 |
\ No newline at end of file |
| 21 | 23 |
deleted file mode 100644 |
| ... | ... |
@@ -1,33 +0,0 @@ |
| 1 |
-apiVersion: v1 |
|
| 2 |
-kind: ReplicationController |
|
| 3 |
-metadata: |
|
| 4 |
- labels: |
|
| 5 |
- name: openshift |
|
| 6 |
- name: openshift |
|
| 7 |
-spec: |
|
| 8 |
- replicas: 0 |
|
| 9 |
- selector: |
|
| 10 |
- name: openshift |
|
| 11 |
- template: |
|
| 12 |
- metadata: |
|
| 13 |
- labels: |
|
| 14 |
- name: openshift |
|
| 15 |
- spec: |
|
| 16 |
- containers: |
|
| 17 |
- - args: |
|
| 18 |
- - start |
|
| 19 |
- - master |
|
| 20 |
- - --config=/config/master-config.yaml |
|
| 21 |
- image: "openshift/origin" |
|
| 22 |
- name: origin |
|
| 23 |
- ports: |
|
| 24 |
- - containerPort: 8443 |
|
| 25 |
- name: openshift |
|
| 26 |
- volumeMounts: |
|
| 27 |
- - mountPath: /config |
|
| 28 |
- name: config |
|
| 29 |
- readOnly: true |
|
| 30 |
- volumes: |
|
| 31 |
- - name: config |
|
| 32 |
- secret: |
|
| 33 |
- secretName: openshift-config |
|
| 34 | 1 |
\ No newline at end of file |
| 35 | 2 |
deleted file mode 100755 |
| ... | ... |
@@ -1,21 +0,0 @@ |
| 1 |
-#!/bin/bash |
|
| 2 |
- |
|
| 3 |
-# Replication Controllers |
|
| 4 |
- |
|
| 5 |
-# Populates each project with a replication controller whose replica size is 0 |
|
| 6 |
-# Intended to test large numbers of replication controllers in system |
|
| 7 |
- |
|
| 8 |
-source $(dirname "${BASH_SOURCE}")/common.sh
|
|
| 9 |
- |
|
| 10 |
-echo "Populating replication controllers" |
|
| 11 |
- |
|
| 12 |
-export KUBECONFIG=${OPENSHIFT_ADMIN_CONFIG}
|
|
| 13 |
- |
|
| 14 |
-RC=$(dirname "${BASH_SOURCE}")/replication-controller.yaml
|
|
| 15 |
- |
|
| 16 |
-for ((i=1; i <=$NUM_PROJECTS; i++)) |
|
| 17 |
-do |
|
| 18 |
- openshift cli create -f $RC --namespace=${PROJECT_NAME_PREFIX}${i}
|
|
| 19 |
-done |
|
| 20 |
- |
|
| 21 |
-echo "Done" |
|
| 22 | 1 |
\ No newline at end of file |
| ... | ... |
@@ -11,8 +11,8 @@ for ((i=1; i <=$NUM_USERS; i++)) |
| 11 | 11 |
do |
| 12 | 12 |
USERNAME=${USER_NAME_PREFIX}${i}
|
| 13 | 13 |
USERCONFIG=/tmp/${USERNAME}.config
|
| 14 |
- openshift cli config view --minify -o yaml > ${USERCONFIG}
|
|
| 15 |
- KUBECONFIG=${USERCONFIG} && openshift cli login ${OPENSHIFT_SERVER} --certificate-authority=${OPENSHIFT_CA_CERT} --username=$USERNAME --password=whocares >/dev/null
|
|
| 14 |
+ openshift cli config view --minify --raw -o yaml > ${USERCONFIG}
|
|
| 15 |
+ KUBECONFIG=${USERCONFIG} oc login --username=$USERNAME --password=whocares
|
|
| 16 | 16 |
done |
| 17 | 17 |
|
| 18 | 18 |
echo "Done" |
| 19 | 19 |
\ No newline at end of file |