--- /dev/null
+// input parameters:
+// string: UPSTREAM_PROJECT
+// string: NODE
+//
+// OpenStack VIM Credentials
+// string: OS_AUTH_URL
+// string: OS_USERNAME
+// string: OS_PASSWORD
+// string: OS_PROJECT_NAME
+
+node("${params.NODE}") {
+
+ // grab the upstream artifact name
+ step ([$class: 'CopyArtifact',
+ projectName: params.UPSTREAM_PROJECT])
+
+ container_name = sh(returnStdout: true, script: 'cat build_version.txt').trim()
+
+ stage("get osm") {
+ // get the IP of the osm container
+ OSM_IP = sh(returnStdout: true, script: "lxc list ${container_name} -c 4|grep eth0 |awk '{print \$2}'").trim()
+ }
+
+ stage("checkout") {
+ checkout scm
+ }
+
+ // build the pytest container
+ stage("build-docker") {
+ sh 'docker build -t osmclient systest/.'
+ }
+
+ os_credentials = "OS_AUTH_URL=${params.OS_AUTH_URL} OS_USERNAME=${params.OS_USERNAME} OS_PASSWORD=${params.OS_PASSWORD} OS_PROJECT_NAME=${params.OS_PROJECT_NAME}"
+
+ // now run the built container.
+ withDockerContainer('osmclient') {
+
+ // install the osmclient
+ stage("install-osmclient") {
+ sh 'pip install git+https://osm.etsi.org/gerrit/osm/osmclient'
+ }
+
+ stage("build-descriptors") {
+ sh "make -C systest descriptors"
+ }
+
+ stage("smoke-test") {
+ sh "make -C systest OSM_HOSTNAME=${OSM_IP} smoke"
+ junit 'systest/reports/pytest-smoke.xml'
+ }
+
+ stage("cirros-test") {
+ sh """
+ make -C systest OSM_HOSTNAME=${OSM_IP} ${os_credentials} cirros
+ """
+ junit 'systest/reports/pytest-cirros.xml'
+ }
+ }
+}