From 1101f137d5b9f95c394e3ae0116c65775b0228c1 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Fri, 11 Nov 2016 14:55:38 -0800 Subject: [PATCH 01/10] New plays for dock.yml --- ansible/dock.yml | 13 ++++--- ansible/roles/dock-images/tasks/main.yml | 44 +++++++++++++++++++++++ ansible/roles/install-ssm/tasks/main.yml | 8 +++++ ansible/roles/package-aws/tasks/main.yml | 12 +++---- ansible/roles/package-dock/tasks/main.yml | 16 ++++----- 5 files changed, 75 insertions(+), 18 deletions(-) create mode 100644 ansible/roles/dock-images/tasks/main.yml create mode 100644 ansible/roles/install-ssm/tasks/main.yml diff --git a/ansible/dock.yml b/ansible/dock.yml index a213e83d..a565624b 100644 --- a/ansible/dock.yml +++ b/ansible/dock.yml @@ -9,7 +9,12 @@ name={{ dock }} groups=dock -- include: charon.yml git_branch="{{ charon_version }}" -- include: dock-init.yml git_branch="{{ dock_init_version }}" -- include: image-builder.yml git_branch="{{ image_builder_version }}" -- include: krain.yml git_branch="{{ krain_version }}" +- include: charon.yml git_branch="v4.0.0" +- include: dock-init.yml git_branch="new-dock-init" +- include: krain.yml git_branch="v0.3.0" + +- hosts: "{{ host }}" + + roles: + - { role: install-ssm } + - { role: dock-images } diff --git a/ansible/roles/dock-images/tasks/main.yml b/ansible/roles/dock-images/tasks/main.yml new file mode 100644 index 00000000..6ac10671 --- /dev/null +++ b/ansible/roles/dock-images/tasks/main.yml @@ -0,0 +1,44 @@ +--- +- name: starting docker + become: true + service: + name=docker + state=started + +- name: pulling image builder + become: true + command: docker pull registry.runnable.com/runnable/image-builder:v4.2.2 + +- name: pulling swarm + become: true + command: docker pull swarm:1.2.0 + +- name: pulling registry + become: true + command: docker pull registry:2.3.1 + +- name: pulling google cadvisor + become: true + command: docker pull google/cadvisor:v0.24.1 + +- name: pulling node-exporter + become: true + command: docker pull prom/node-exporter:0.12.0 + +- name: stopping docker + become: true + service: + name=docker + state=stopped + +- name: removing docker key file + become: true + file: + path: /etc/docker/key.json + state: absent + +- name: removing docker pid file + become: true + file: + path: /var/run/docker.pid + state: absent diff --git a/ansible/roles/install-ssm/tasks/main.yml b/ansible/roles/install-ssm/tasks/main.yml new file mode 100644 index 00000000..3621bbb9 --- /dev/null +++ b/ansible/roles/install-ssm/tasks/main.yml @@ -0,0 +1,8 @@ +--- +- name: install amazon simple systems management + command: "{{ item }}" + with_items: + - cd /tmp + - curl https://amazon-ssm-us-west-2.s3.amazonaws.com/latest/debian_amd64/amazon-ssm-agent.deb -o amazon-ssm-agent.deb >> ./user-script.log + - dpkg -i amazon-ssm-agent.deb > ./user-script.log + - start amazon-ssm-agent > ./user-script.log diff --git a/ansible/roles/package-aws/tasks/main.yml b/ansible/roles/package-aws/tasks/main.yml index e1d69ec4..28ada677 100644 --- a/ansible/roles/package-aws/tasks/main.yml +++ b/ansible/roles/package-aws/tasks/main.yml @@ -25,16 +25,16 @@ - name: Unzip the ec2-api-tool become: true unarchive: - src=/usr/local/ec2-api-tools.zip - dest=/usr/local - copy=no - mode=0755 + src: /usr/local/ec2-api-tools.zip + dest: /usr/local + copy: no + mode: 0755 - name: remove old ec2 dir/link become: true file: - path=/usr/local/ec2 - state=absent + path: /usr/local/ec2 + state: absent - name: Link to ec2 become: true diff --git a/ansible/roles/package-dock/tasks/main.yml b/ansible/roles/package-dock/tasks/main.yml index e6f833c0..258f5796 100644 --- a/ansible/roles/package-dock/tasks/main.yml +++ b/ansible/roles/package-dock/tasks/main.yml @@ -42,10 +42,10 @@ - name: unzip vault_0.4.1_linux_amd64.zip become: true unarchive: - src=/usr/local/bin/vault_0.4.1_linux_amd64.zip - dest=/usr/local/bin - copy=no - mode=0755 + src: /usr/local/bin/vault_0.4.1_linux_amd64.zip + dest: /usr/local/bin + copy: no + mode: 0755 - name: Download Consul-Template become: true @@ -56,10 +56,10 @@ - name: unzip become: true unarchive: - src=/usr/local/bin/consul-template_0.11.1_linux_amd64.zip - dest=/usr/local/bin - copy=no - mode=0755 + src: /usr/local/bin/consul-template_0.11.1_linux_amd64.zip + dest: /usr/local/bin + copy: no + mode: 0755 - name: Download weave 1.4.6 become: true From b1e6ee654ff8a3fa2f0fa204cab090a5c7ac1b2a Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Fri, 11 Nov 2016 16:03:51 -0800 Subject: [PATCH 02/10] NOT MY PRESIDENT --- ansible/roles/install-ssm/tasks/main.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ansible/roles/install-ssm/tasks/main.yml b/ansible/roles/install-ssm/tasks/main.yml index 3621bbb9..be0632d3 100644 --- a/ansible/roles/install-ssm/tasks/main.yml +++ b/ansible/roles/install-ssm/tasks/main.yml @@ -1,8 +1,14 @@ --- -- name: install amazon simple systems management +- name: get amazon simple systems management + get_url: + url=https://amazon-ssm-us-west-2.s3.amazonaws.com/latest/debian_amd64/amazon-ssm-agent.deb + dest=/tmp + +- name: start amazon simple systems management command: "{{ item }}" - with_items: - - cd /tmp - - curl https://amazon-ssm-us-west-2.s3.amazonaws.com/latest/debian_amd64/amazon-ssm-agent.deb -o amazon-ssm-agent.deb >> ./user-script.log - - dpkg -i amazon-ssm-agent.deb > ./user-script.log - - start amazon-ssm-agent > ./user-script.log + become: true + args: + chdir: /tmp + with_items: + - dpkg -i amazon-ssm-agent.deb + - start amazon-ssm-agent From dd3e9d0c237b985dd22923eb84555bbd409a6ab1 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Fri, 11 Nov 2016 18:21:48 -0800 Subject: [PATCH 03/10] Let amazon start its own service --- ansible/roles/install-ssm/tasks/main.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ansible/roles/install-ssm/tasks/main.yml b/ansible/roles/install-ssm/tasks/main.yml index be0632d3..01a710ad 100644 --- a/ansible/roles/install-ssm/tasks/main.yml +++ b/ansible/roles/install-ssm/tasks/main.yml @@ -5,10 +5,7 @@ dest=/tmp - name: start amazon simple systems management - command: "{{ item }}" + command: dpkg -i amazon-ssm-agent.deb become: true args: chdir: /tmp - with_items: - - dpkg -i amazon-ssm-agent.deb - - start amazon-ssm-agent From 2b3bda6001653ff261f7edcbd8d5381f44142406 Mon Sep 17 00:00:00 2001 From: henrymollman Date: Wed, 16 Nov 2016 21:07:54 -0800 Subject: [PATCH 04/10] Edited main.yml --- ansible/roles/install-ssm/tasks/main.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/ansible/roles/install-ssm/tasks/main.yml b/ansible/roles/install-ssm/tasks/main.yml index 3621bbb9..01a710ad 100644 --- a/ansible/roles/install-ssm/tasks/main.yml +++ b/ansible/roles/install-ssm/tasks/main.yml @@ -1,8 +1,11 @@ --- -- name: install amazon simple systems management - command: "{{ item }}" - with_items: - - cd /tmp - - curl https://amazon-ssm-us-west-2.s3.amazonaws.com/latest/debian_amd64/amazon-ssm-agent.deb -o amazon-ssm-agent.deb >> ./user-script.log - - dpkg -i amazon-ssm-agent.deb > ./user-script.log - - start amazon-ssm-agent > ./user-script.log +- name: get amazon simple systems management + get_url: + url=https://amazon-ssm-us-west-2.s3.amazonaws.com/latest/debian_amd64/amazon-ssm-agent.deb + dest=/tmp + +- name: start amazon simple systems management + command: dpkg -i amazon-ssm-agent.deb + become: true + args: + chdir: /tmp From cf896972e53accff28ac245bb14d220e78ea5680 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Tue, 22 Nov 2016 18:54:22 -0800 Subject: [PATCH 05/10] Updated to include weave containers --- ansible/roles/dock-images/tasks/main.yml | 14 +++++++++++++- ansible/roles/package-dock/tasks/main.yml | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ansible/roles/dock-images/tasks/main.yml b/ansible/roles/dock-images/tasks/main.yml index 6ac10671..3d150547 100644 --- a/ansible/roles/dock-images/tasks/main.yml +++ b/ansible/roles/dock-images/tasks/main.yml @@ -11,7 +11,7 @@ - name: pulling swarm become: true - command: docker pull swarm:1.2.0 + command: docker pull swarm:1.2.5 - name: pulling registry become: true @@ -25,6 +25,18 @@ become: true command: docker pull prom/node-exporter:0.12.0 +- name: pulling weaveexec + become: true + command: docker pull weaveworks/weaveexec:1.5.0 + +- name: pulling weavedb + become: true + command: docker pull weaveworks/weavedb:latest + +- name: pulling weave + become: true + command: docker pull weaveworks/weave:1.5.0 + - name: stopping docker become: true service: diff --git a/ansible/roles/package-dock/tasks/main.yml b/ansible/roles/package-dock/tasks/main.yml index 258f5796..880f453f 100644 --- a/ansible/roles/package-dock/tasks/main.yml +++ b/ansible/roles/package-dock/tasks/main.yml @@ -61,9 +61,9 @@ copy: no mode: 0755 -- name: Download weave 1.4.6 +- name: Download weave 1.5.0 become: true get_url: - url=https://github.com/weaveworks/weave/releases/download/v1.4.6/weave + url=https://github.com/weaveworks/weave/releases/download/v1.5.0/weave dest=/usr/local/bin mode=0755 From 4af55ffb98daf5ff09e087273d8484200dbd8c06 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Wed, 23 Nov 2016 15:00:41 -0800 Subject: [PATCH 06/10] Added some demo repo images for speed --- ansible/roles/dock-images/tasks/main.yml | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ansible/roles/dock-images/tasks/main.yml b/ansible/roles/dock-images/tasks/main.yml index 3d150547..70ba369d 100644 --- a/ansible/roles/dock-images/tasks/main.yml +++ b/ansible/roles/dock-images/tasks/main.yml @@ -5,6 +5,14 @@ name=docker state=started +- name: add runnable registry to /etc/hosts + become: true + blockinfile: + dest: /etc/hosts + insertafter: EOF + block: | + 10.4.4.82 registry.runnable.com + - name: pulling image builder become: true command: docker pull registry.runnable.com/runnable/image-builder:v4.2.2 @@ -37,6 +45,34 @@ become: true command: docker pull weaveworks/weave:1.5.0 +- name: pulling node:argon + become: true + command: docker pull node:argon + +- name: pulling ruby:2.3 + become: true + command: docker pull ruby:2.3 + +- name: pulling python:2.7 + become: true + command: docker pull python:2.7 + +- name: pulling php:7.0-apache + become: true + command: docker pull php:7.0-apache + +- name: pulling mysql + become: true + command: docker pull runnable/mysql:5.6 + +- name: pulling postgres + become: true + command: docker pull runnable/postgres:9.4 + +- name: pulling mongo + become: true + command: docker pull runnable/mongo:3.2 + - name: stopping docker become: true service: From c16cd6eb7eb2b5679ab1c5de65e385a358393007 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Wed, 23 Nov 2016 15:13:10 -0800 Subject: [PATCH 07/10] Use host var for registry ip address --- ansible/group_vars/all.yml | 2 ++ ansible/roles/dock-images/tasks/main.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index eb76f25f..4dd7d237 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -174,6 +174,8 @@ redis_host_address: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['ad redis_port: 6379 redis_tls_port: 6380 +registry_address: "{{ hostvars[groups['registry'][0]]['ansible_default_ipv4']['address'] }}" + # sauron sauron_rollbar_token: 83157ae2d50d4b6398e404c0b9978d26 diff --git a/ansible/roles/dock-images/tasks/main.yml b/ansible/roles/dock-images/tasks/main.yml index 70ba369d..6c11ea8c 100644 --- a/ansible/roles/dock-images/tasks/main.yml +++ b/ansible/roles/dock-images/tasks/main.yml @@ -11,7 +11,7 @@ dest: /etc/hosts insertafter: EOF block: | - 10.4.4.82 registry.runnable.com + {{ registry_address }} registry.runnable.com - name: pulling image builder become: true From 33a15f9e70fb190e1ee5de306090a47021fae0b9 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Wed, 23 Nov 2016 15:25:44 -0800 Subject: [PATCH 08/10] Cleanup docker pull playbook --- ansible/roles/dock-images/tasks/main.yml | 78 ++++++------------------ 1 file changed, 19 insertions(+), 59 deletions(-) diff --git a/ansible/roles/dock-images/tasks/main.yml b/ansible/roles/dock-images/tasks/main.yml index 6c11ea8c..29818d8a 100644 --- a/ansible/roles/dock-images/tasks/main.yml +++ b/ansible/roles/dock-images/tasks/main.yml @@ -13,65 +13,25 @@ block: | {{ registry_address }} registry.runnable.com -- name: pulling image builder - become: true - command: docker pull registry.runnable.com/runnable/image-builder:v4.2.2 - -- name: pulling swarm - become: true - command: docker pull swarm:1.2.5 - -- name: pulling registry - become: true - command: docker pull registry:2.3.1 - -- name: pulling google cadvisor - become: true - command: docker pull google/cadvisor:v0.24.1 - -- name: pulling node-exporter - become: true - command: docker pull prom/node-exporter:0.12.0 - -- name: pulling weaveexec - become: true - command: docker pull weaveworks/weaveexec:1.5.0 - -- name: pulling weavedb - become: true - command: docker pull weaveworks/weavedb:latest - -- name: pulling weave - become: true - command: docker pull weaveworks/weave:1.5.0 - -- name: pulling node:argon - become: true - command: docker pull node:argon - -- name: pulling ruby:2.3 - become: true - command: docker pull ruby:2.3 - -- name: pulling python:2.7 - become: true - command: docker pull python:2.7 - -- name: pulling php:7.0-apache - become: true - command: docker pull php:7.0-apache - -- name: pulling mysql - become: true - command: docker pull runnable/mysql:5.6 - -- name: pulling postgres - become: true - command: docker pull runnable/postgres:9.4 - -- name: pulling mongo - become: true - command: docker pull runnable/mongo:3.2 +- name: pulling docker images + become: true + command: docker pull {{ item }} + with-items: + - "registry.runnable.com/runnable/image-builder:v4.2.2" + - "swarm:1.2.5" + - "registry:2.3.1" + - "google/cadvisor:v0.24.1" + - "prom/node-exporter:0.12.0" + - "weaveworks/weaveexec:1.5.0" + - "weaveworks/weavedb:latest" + - "weaveworks/weave:1.5.0" + - "node:argon" + - "ruby:2.3" + - "python:2.7" + - "php:7.0-apache" + - "runnable/mysql:5.6" + - "runnable/postgres:9.4" + - "runnable/mongo:3.2" - name: stopping docker become: true From a644b5cf480c1e6154845b79ee2e91a1556fa423 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Wed, 23 Nov 2016 15:36:56 -0800 Subject: [PATCH 09/10] New tags for dock-init --- ansible/dock.yml | 2 +- ansible/roles/dock-images/tasks/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible/dock.yml b/ansible/dock.yml index a565624b..6d9973b9 100644 --- a/ansible/dock.yml +++ b/ansible/dock.yml @@ -10,7 +10,7 @@ groups=dock - include: charon.yml git_branch="v4.0.0" -- include: dock-init.yml git_branch="new-dock-init" +- include: dock-init.yml git_branch="v10.0.0" - include: krain.yml git_branch="v0.3.0" - hosts: "{{ host }}" diff --git a/ansible/roles/dock-images/tasks/main.yml b/ansible/roles/dock-images/tasks/main.yml index 29818d8a..987a6392 100644 --- a/ansible/roles/dock-images/tasks/main.yml +++ b/ansible/roles/dock-images/tasks/main.yml @@ -16,7 +16,7 @@ - name: pulling docker images become: true command: docker pull {{ item }} - with-items: + with_items: - "registry.runnable.com/runnable/image-builder:v4.2.2" - "swarm:1.2.5" - "registry:2.3.1" From d3b4f049edc02d346cfbb8d318abdf131f999944 Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Mon, 28 Nov 2016 09:35:58 -0800 Subject: [PATCH 10/10] Added registry host --- ansible/dock.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ansible/dock.yml b/ansible/dock.yml index 6d9973b9..95cd473c 100644 --- a/ansible/dock.yml +++ b/ansible/dock.yml @@ -1,4 +1,6 @@ --- +- hosts: registry + - hosts: localhost connection: local tasks: