Make travis faster (#663)
* deploy travis ci environment with one node per component
* point to new ansible env
* fix dir for ansible
diff --git a/ansible/environments/local/group_vars/all b/ansible/environments/local/group_vars/all
new file mode 100755
index 0000000..c3b3c12
--- /dev/null
+++ b/ansible/environments/local/group_vars/all
@@ -0,0 +1,34 @@
+whisk_version_name: local
+config_root_dir: /tmp/wskconf
+whisk_logs_dir: /tmp/wsklogs
+docker_registry: ""
+docker_dns: ""
+
+db_prefix: whisk_local_
+
+# Auto lookup to find the db credentials
+db_provider: "{{ lookup('ini', 'db_provider section=db_creds file={{ playbook_dir }}/db_local.ini') }}"
+db_username: "{{ lookup('ini', 'db_username section=db_creds file={{ playbook_dir }}/db_local.ini') }}"
+db_password: "{{ lookup('ini', 'db_password section=db_creds file={{ playbook_dir }}/db_local.ini') }}"
+db_protocol: "{{ lookup('ini', 'db_protocol section=db_creds file={{ playbook_dir }}/db_local.ini') }}"
+db_host: "{{ lookup('ini', 'db_host section=db_creds file={{ playbook_dir }}/db_local.ini') }}"
+db_port: "{{ lookup('ini', 'db_port section=db_creds file={{ playbook_dir }}/db_local.ini') }}"
+
+# API GW connection configuration
+apigw_auth_user: ""
+apigw_auth_pwd: ""
+apigw_host_v2: "http://{{ groups['apigateway']|first }}:{{apigateway.port.api}}/v2"
+
+controller_arguments: '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1098'
+invoker_arguments: "{{ controller_arguments }}"
+
+invoker_allow_multiple_instances: true
+
+# Set kafka topic retention
+kafka_heap: '512m'
+kafka_topics_completed_retentionBytes: 104857600
+kafka_topics_completed_retentionMS: 300000
+kafka_topics_health_retentionBytes: 104857600
+kafka_topics_health_retentionMS: 300000
+kafka_topics_invoker_retentionBytes: 104857600
+kafka_topics_invoker_retentionMS: 300000
diff --git a/ansible/environments/local/hosts b/ansible/environments/local/hosts
new file mode 100644
index 0000000..4715e55
--- /dev/null
+++ b/ansible/environments/local/hosts
@@ -0,0 +1,29 @@
+; the first parameter in a host is the inventory_hostname
+
+; used for local actions only
+ansible ansible_connection=local
+
+[edge]
+172.17.0.1 ansible_host=172.17.0.1 ansible_connection=local
+
+[controllers]
+controller0 ansible_host=172.17.0.1 ansible_connection=local
+
+[kafkas]
+kafka0 ansible_host=172.17.0.1 ansible_connection=local
+
+[zookeepers:children]
+kafkas
+
+[invokers]
+invoker0 ansible_host=172.17.0.1 ansible_connection=local
+
+; db group is only used if db_provider is CouchDB
+[db]
+172.17.0.1 ansible_host=172.17.0.1 ansible_connection=local
+
+[redis]
+172.17.0.1 ansible_host=172.17.0.1 ansible_connection=local
+
+[apigateway]
+172.17.0.1 ansible_host=172.17.0.1 ansible_connection=local
diff --git a/tools/travis/script.sh b/tools/travis/script.sh
index 07aa8aa..f44de1c 100755
--- a/tools/travis/script.sh
+++ b/tools/travis/script.sh
@@ -2,6 +2,9 @@
set -e
+SCRIPTDIR=$(cd $(dirname "$0") && pwd)
+ROOTDIR="$SCRIPTDIR/../.."
+
cd $TRAVIS_BUILD_DIR
./tools/travis/scancode.sh
make lint
@@ -20,7 +23,7 @@
cd $WHISKDIR
./tools/travis/setup.sh
-ANSIBLE_CMD="ansible-playbook -i environments/local -e docker_image_prefix=openwhisk"
+ANSIBLE_CMD="ansible-playbook -i ${ROOTDIR}/ansible/environments/local -e docker_image_prefix=openwhisk"
cd $WHISKDIR/ansible
$ANSIBLE_CMD setup.yml