--- /dev/null
+- job:
+ name: 'check-slave-connection'
+ description: |
+ Verify that all slaves with given prefix are registered in jenkins
+
+ concurrent: false
+ node: 'jenkins-master'
+
+ parameters:
+ - openstack-cloud-selector
+ - string:
+ name: STACK_PREFIX
+ description: "Stack prefix"
+ default: "swarm-slave"
+
+ wrappers:
+ - timestamps
+ - openstack-creds
+ - timeout:
+ fail: true
+ timeout: 30
+
+ builders:
+ - openrc-source-file-selector
+ - shell:
+ !include-raw: common/scripts/check_slave_conn.sh
--- /dev/null
+#!/bin/bash
+
+set -e
+
+OPENSTACK_CLIENTS_VENV="${OPENSTACK_CLIENTS_VENV:-/home/jenkins/venv-openstack-clients}"
+
+if [[ ! -d "${OPENSTACK_CLIENTS_VENV}" ]] ; then
+ virtualenv "${OPENSTACK_CLIENTS_VENV}"
+ source "${OPENSTACK_CLIENTS_VENV}"/bin/activate
+ pip install openstackclient
+ deactivate
+fi
+
+source "${OPENSTACK_CLIENTS_VENV}"/bin/activate
+
+export os_nodes=$(openstack server list --format value -c Name | grep "${STACK_PREFIX}")
+export jenkins_nodes=$(curl http://maintenance-ci.scc.mirantis.net/computer/api/json 2>/dev/null | python -c "import sys, json; data = json.load(sys.stdin) ; node_names = [node['displayName'] for node in data['computer']] ; print '\n'.join(node_names)" | grep "${STACK_PREFIX}")
+
+python -c "import os;
+result = set(os.environ.get('os_nodes').split('\n')) - set(os.environ.get('jenkins_nodes').split('\n')[1:]);
+print '\n'.join(result) ;
+exit(len(result))"
+
+deactivate
\ No newline at end of file