[SEBA-497] Fix how xos containers are built/tested
Change-Id: I17cc8b9562021d925756ce3dc81854a45062ffd9
diff --git a/jjb/xos-auth.yaml b/jjb/xos-auth.yaml
new file mode 100644
index 0000000..6b035f9
--- /dev/null
+++ b/jjb/xos-auth.yaml
@@ -0,0 +1,85 @@
+---
+# xos auth test
+
+- job-template:
+ id: 'xos-auth-test'
+ name: 'verify_{project}_auth-test'
+
+ description: |
+ Created by {id} job-template from ci-management/jjb/xos-auth.yaml
+
+ triggers:
+ - cord-infra-gerrit-trigger-patchset:
+ gerrit-server-name: '{gerrit-server-name}'
+ project-regexp: '^{project}$'
+ branch-regexp: '{branch-regexp}'
+ dependency-jobs: '{dependency-jobs}'
+ file-include-regexp: '{all-files-regexp}'
+
+ properties:
+ - cord-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+ artifact-num-to-keep: '{artifact-num-to-keep}'
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: '20'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ scm:
+ - cord-infra-gerrit-repo-scm:
+ manifest-url: '{gerrit-server-url}/{cord-repo-manifest}'
+ branch: '$GERRIT_BRANCH'
+ destination-dir: 'cord'
+
+ node: 'ubuntu16.04-basebuild-4c-8g'
+ project-type: freestyle
+ concurrent: true
+
+ builders:
+ - cord-infra-gerrit-repo-patch:
+ destination-dir: 'cord'
+ project: '$GERRIT_PROJECT'
+ change-number: '$GERRIT_CHANGE_NUMBER'
+ patchset-number: '$GERRIT_PATCHSET_NUMBER'
+ - shell: |
+ #!/usr/bin/env bash
+ set -ex -o pipefail
+
+ export XOS_DIR=$WORKSPACE/cord/orchestration/xos
+ export CHAMELEON_DIR=$WORKSPACE/cord/component/chameleon
+
+ #install minikube+helm
+ export MINIKUBE_WANTUPDATENOTIFICATION=false
+ export MINIKUBE_WANTREPORTERRORPROMPT=false
+ export CHANGE_MINIKUBE_NONE_USER=true
+ export MINIKUBE_HOME=$HOME
+ mkdir -p $HOME/.kube || true
+ touch $HOME/.kube/config
+ export KUBECONFIG=$HOME/.kube/config
+ sudo -E /usr/bin/minikube start --vm-driver=none
+ sleep 300
+
+ helm init
+ sleep 60
+ helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
+
+ # build chameleon container
+ cd $CHAMELEON_DIR
+ make DOCKER_REPOSITORY=xosproject/ docker-build
+
+ #deploy xos core
+ cd $WORKSPACE/cord/helm-charts
+ helm dep update xos-core
+ helm install --set images.xos_chameleon.tag=candidate -f examples/imagePullPolicy-IfNotPresent.yaml -n xos-core xos-core
+
+ #wait for xos-core and models to be loaded
+ timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/core/sites |jq '.items[0].name'|grep -q mysite; do echo 'Waiting for API To be up'; sleep 10; done"
+
+ #test apis
+ curl -Is -u admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/core/sites | grep -q '200 OK'
+ curl -Is -u wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/core/sites | grep '403 Forbidden'
+ curl -Is -u admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/utility/auth_noop | grep '405 Method Not Allowed'
+ curl -Is -u wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/utility/auth_noop | grep '405 Method Not Allowed'
+ curl -Is -u wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/utility/noop | grep '405 Method Not Allowed'
+ curl -Is GET http://127.0.0.1:30001/xosapi/v1/utility/noop | grep '405 Method Not Allowed'