Browse code

Improve data population

Clayton Coleman authored on 2016/01/20 10:15:22
Showing 8 changed files
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
... ...
@@ -20,7 +20,7 @@ $EXAMPLES_ROOT/image-streams/image-streams-centos*"
20 20
 
21 21
 for f in $TEMPLATES
22 22
 do
23
-  openshift cli create -f $f --namespace=openshift  
23
+  oc create -f $f --namespace=openshift
24 24
 done
25 25
 
26 26
 echo "Done"
27 27
\ 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