add kafka-demo pipeline
Change-Id: I6c6c4e21af1b0824ffcd5ebea82e7d116a29a01b
diff --git a/kafka-demo.groovy b/kafka-demo.groovy
new file mode 100644
index 0000000..a551161
--- /dev/null
+++ b/kafka-demo.groovy
@@ -0,0 +1,47 @@
+/**
+ *
+ * Run states on K8s
+ *
+ * Expected parameters:
+ * SALT_MASTER_CREDENTIALS Credentials used to access Salt API
+ * SALT_URL URL usedd to connect to Salt API
+ */
+
+common = new com.mirantis.mk.Common()
+salt = new com.mirantis.mk.Salt()
+orchestrate = new com.mirantis.mk.Orchestrate()
+
+node {
+
+ // connection objects
+ def master
+
+ stage("Connect to Salt master") {
+ master = salt.connection(SALT_URL, SALT_MASTER_CREDENTIALS)
+ }
+
+
+ stage("Enforce kubernetes.control") {
+ common.infoMsg('Enforcing kubernetes.control on I@kubernetes:master')
+
+ salt.enforceState(
+ master,
+ ['expression': 'I@kubernetes:master', 'type': 'compound'],
+ ['kubernetes.control'],
+ true
+ )
+ }
+
+ stage("setup-components") {
+ common.infoMsg('Setting up components')
+
+ salt.runSaltProcessStep(
+ master,
+ 'I@kubernetes:master',
+ 'cmd.run',
+ ['/bin/bash -c \'find /srv/kubernetes/ -type d | grep -v jobs | while read i; do ls $i/*.yml &>/dev/null && (set -x; hyperkube kubectl apply -f $i || echo Command failed; set +x); done; jobs=$(hyperkube kubectl get jobs -o name); find /srv/kubernetes/jobs -type f -name "*.yml" | while read i; do name=$(grep "name:" $i | head -1 | awk "{print $NF}"); echo $jobs|grep $name >/dev/null || (set -x; hyperkube kubectl apply -f $i || echo Command failed; set +x);done\'']
+ )
+
+ }
+
+}