Add Travis validation against cookiecutter
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..a44c15a
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,91 @@
+dist: trusty
+sudo: required
+
+addons:
+ apt:
+ sources:
+ - sourceline: 'deb http://apt.tcpcloud.eu/nightly trusty tcp tcp-salt'
+ - key_url: 'http://apt.tcpcloud.eu/public.gpg'
+ packages:
+ - curl
+ - subversion
+ - git
+ - salt-master
+ - salt-minion
+ - reclass
+ - python-pip
+ - tree
+
+
+#git:
+# submodules: false
+#
+before_install:
+ - sudo pip install cookiecutter
+# - test ! -e .gitmodules || sed -i 's,https://\([.a-z0-9_-]*\)/\(.*\),git@\1:\2,' .gitmodules
+# - test ! -e .gitmodules || git submodule update --init --recursive --remote
+
+env:
+ global:
+ - ENV_DOMAIN=ci.local
+ matrix:
+ - CLUSTER_NAME=openstack_mk_contrail
+ #- CLUSTER_NAME=openstack_mk_ovs
+ #- CLUSTER_NAME=kubernetes_mk
+
+install:
+ - export RECLASS_SYSTEM=file://$PWD
+ - mkdir ../$CLUSTER_NAME; cd ../$CLUSTER_NAME
+ - export RECLASS_REPO_PATH=$PWD
+ - export RECLASS_REPOSITORY=file://$RECLASS_REPO_PATH
+ - git clone git@github.com:Mirantis/mk2x-cookiecutter-reclass-model.git ../cookiecutter_models; cd ../cookiecutter_models
+ - export COOKIECUTTER_BASE=$PWD
+ - export ENV_DOMAIN=ci.local
+ - COOKIECUTTER_JSON=$COOKIECUTTER_BASE/cluster/$CLUSTER_NAME/cookiecutter.json
+ #- export ENV_DOMAIN=${CLUSTER_NAME//_/-}.$ENV_DOMAIN
+ - export MASTER_HOSTNAME=cfg01.$ENV_DOMAIN
+ - cd $RECLASS_REPO_PATH
+ - git init .
+# CI WORKAROUNDS
+ - export FORMULAS_SOURCE=pkg
+ - sed -i "s/deployment_name/$CLUSTER_NAME/g" $COOKIECUTTER_JSON
+ - sed -i "s/deploy-name.local/$ENV_DOMAIN/g" $COOKIECUTTER_JSON
+ - sed -i 's%.*reclass_repository.*%"reclass_repository":"'$RECLASS_REPOSITORY'",%g' $COOKIECUTTER_JSON
+ - cookiecutter $COOKIECUTTER_BASE/cluster/$CLUSTER_NAME --output-dir ./classes/cluster --no-input
+ - git add ./*
+ - git commit -am "Init, add cluster level"
+ - git submodule add $RECLASS_SYSTEM ./classes/system
+ - |
+ mkdir -p nodes;
+ git branch -a
+ tree -lL 3
+ cat <<-EOF > nodes/cfg01.$ENV_DOMAIN.yml
+ classes:
+ - cluster.$CLUSTER_NAME.infra.config
+ parameters:
+ _param:
+ linux_system_codename: trusty
+ reclass_data_revision: master
+ linux:
+ system:
+ name: cfg01
+ domain: $ENV_DOMAIN
+ # #######################
+
+ - git add ./*
+ - git commit -am "Add system level and salt-master node"
+# CI WORKAROUNDS
+ - export RECLASS_BRANCH=master
+ #- sed -ie "s#\(reclass_data_revision.\).*#\1 $RECLASS_BRANCH#" $(find nodes -name ${MASTER_HOSTNAME}.yml|tail -n1)
+ #- git commit -am "Fake branch update" || true
+# PREREQUSITES
+ - sudo mkdir /srv/salt; sudo cp -a $PWD /srv/salt/reclass
+ - sudo svn export --force https://github.com/salt-formulas/salt-formulas/trunk/deploy/scripts /srv/salt/scripts
+
+script:
+ - cd /srv/salt/scripts
+ - sudo ./salt-master-init.sh || exit 1
+
+after_failure:
+ - tree -lL 3 $RECLASS_REPO_PATH
+ - for i in ls -lta "/tmp/*verify*"; do echo -e "\n\n$i:";tail -n20 $i; done