Skip to content

Commit 1c1787c

Browse files
add swarm deamon; do not remove all containers in killstart
1 parent 835f161 commit 1c1787c

5 files changed

Lines changed: 42 additions & 12 deletions

File tree

ansible/beta-hosts/variables

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ api_new_relic_app_name=beta-api-production
1414
api_rollbar_key=a90d9c262c7c48cfabbd32fd0a1bc61c
1515
api_s3_context_bucket=runnable.context.resources.production-beta
1616

17+
[docks:vars]
18+
docker_config=docks
19+
1720
[eru:vars]
1821
eru_github_id=8abb08f83f6d1c52bd1a
1922
eru_github_secret=74a23ee56486d57b14f292283cb04625f600917c
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: "swarm-deamon"
2+
3+
# container_kill_start settings
4+
container_image: swarm
5+
container_tag: 0.4.0
6+
7+
# container_kill_start vars
8+
log_driver: json-file
9+
10+
container_run_opts: >
11+
-d
12+
--restart=always
13+
14+
container_run_args: >
15+
join
16+
--addr={{ ansible_default_ipv4.address }}:{{ docker_port }}
17+
token://{{ swarm_token }}

ansible/prod-hosts/variables

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ api_new_relic_app_name=alpha-api-production
1414
api_rollbar_key=a90d9c262c7c48cfabbd32fd0a1bc61c
1515
api_s3_context_bucket=runnable.context.resources.production
1616

17+
[docks:vars]
18+
docker_config=docks
19+
1720
[eru:vars]
1821
eru_github_id=46a23f5f99f0aa9460f8
1922
eru_github_secret=a0336d72e3d540fb9fbbed2c123a81e1cb329dab

ansible/roles/container_kill_start/tasks/main.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,46 @@
11
---
2-
- name: look for stopped containers
3-
shell: sudo docker ps -a | grep Exited | awk '{print $1}'
2+
- name: "look for stopped {{ container_image }} containers"
3+
shell: sudo docker ps -a | grep Exited | grep {{ container_image }} | awk '{print $1}'
44
register: stopped_containers
55
changed_when: stopped_containers.stdout != ''
66

7-
- name: removed stopped containers
7+
- name: "removed stopped {{ container_image }} containers"
88
when: stopped_containers.changed
9-
shell: sudo docker rm {{item}}
9+
shell: sudo docker rm {{ item }}
1010
with_items: stopped_containers.stdout_lines
1111

1212
# get current running container with this image
13-
- name: look for running containers running {{container_image}}
14-
shell: "sudo docker ps | grep {{container_image}}: | awk '{print $1}'"
13+
- name: "look for running containers running {{ container_image }}"
14+
shell: "sudo docker ps | grep {{ container_image }}: | awk '{print $1}'"
1515
register: old_containers_id
1616
changed_when: old_containers_id.stdout != ''
1717

1818
# get latest image
1919
# tag will default to latest
20-
- name: pull down docker image {{container_image}}:{{container_tag}}
21-
command: sudo docker pull {{container_image}}:{{container_tag}}
20+
- name: "pull down docker image {{ container_image }}:{{ container_tag }}"
21+
command: sudo docker pull {{ container_image }}:{{ container_tag }}
2222
when: not do_not_push
2323

2424
# get id of new image
2525
- name: get id of the docker image
26-
shell: sudo docker images --no-trunc | grep {{container_image}}.*{{container_tag}} | awk '{print $3}'
26+
shell: sudo docker images --no-trunc | grep {{ container_image }}.*{{ container_tag }} | awk '{print $3}'
2727
register: new_image_id
2828

2929
# stop the old containers that were running this previously
3030
- name: stop old containers
3131
when: old_containers_id.changed
32-
command: sudo docker stop -t {{stop_time}} {{item}}
32+
command: sudo docker stop -t {{ stop_time }} {{ item }}
3333
with_items: old_containers_id.stdout_lines
3434

3535
# remove the old containers that were running previously
3636
- name: remove old containers
3737
when: old_containers_id.changed
38-
command: sudo docker rm {{item}}
38+
command: sudo docker rm {{ item }}
3939
with_items: old_containers_id.stdout_lines
4040

4141
# start our new container with options and args
4242
- name: start container
43-
command: sudo docker run --log-driver={{ log_driver | default("none")}} -v /var/log:/var/log:rw --restart=always {{container_run_opts}} {{container_image}}:{{container_tag}} {{container_run_args}}
43+
command: sudo docker run --log-driver={{ log_driver | default("none")}} -v /var/log:/var/log:rw --restart=always {{ container_run_opts}} {{ container_image }}:{{ container_tag }} {{ container_run_args }}
4444
register: new_container_id
4545
notify:
4646
- get new container ports

ansible/swarm-deamon.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
- hosts: docks
3+
vars_files:
4+
- "group_vars/alpha-swarm-deamon.yml"
5+
roles:
6+
- { role: notify, tags: "notify" }
7+
- { role: container_kill_start, tags: "deploy" }

0 commit comments

Comments
 (0)