| // 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' |
| } |
| } |
| } |