Skip to content

Commit 91964f0

Browse files
committed
Change Docker behaviors
1 parent 55f1cb6 commit 91964f0

File tree

10 files changed

+28
-148
lines changed

10 files changed

+28
-148
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,11 @@
7676

7777
- Renamed vars to be more in line with Nomad terminology
7878
- Switched to merged config style with base, bootstrap, server, client
79+
80+
## v1.3.0
81+
82+
- Remove Docker majority of bits except for supporting packages, etc.
83+
- Docker will only be installed for Vagrant based clusters via the
84+
Vagrant provisioner when environment variable `NOMAD_DOCKER_ENABLE="true"`
85+
is set
86+
- Update start scripts to be smarter about node role

defaults/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# File: defaults/main.yml - Main default variables for nomad
33

44
nomad_version: "0.4.1"
5-
nomad_server_count: "3"
5+
nomad_server_count: "2"
66
nomad_zip_url: "https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version }}_linux_amd64.zip"
77
nomad_zip_sha256: "0cdb5dd95c918c6237dddeafe2e9d2049558fea79ed43eacdfcd247d5b093d67"
88
nomad_bin_dir: "/usr/local/bin"
@@ -18,7 +18,7 @@ nomad_syslog_enable: "true"
1818
nomad_iface: "eth1"
1919
nomad_advertise_address: "{{ hostvars[inventory_hostname]['ansible_eth1']['ipv4']['address'] }}"
2020
nomad_bind_address: "0.0.0.0"
21-
nomad_enable_docker: "false"
21+
nomad_docker_enable: "{{ lookup('env','NOMAD_DOCKER_ENABLE') | default('false', true) }}"
2222
nomad_apt_key_url: "hkp://p80.pool.sks-keyservers.net:80"
2323
nomad_apt_key_sig: 58118E89F3A912897C070ADBF76221572C52609D
2424
nomad_apt_repo: deb https://apt.dockerproject.org/repo {{ ansible_lsb.id|lower }}-{{ ansible_lsb.codename|lower }} main

examples/Vagrantfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
2828
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
2929
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
3030
end
31+
if ENV['NOMAD_DOCKER_ENABLE'] == "true"
32+
nomad1_config.vm.provision "docker"
33+
end
3134
nomad1_config.vm.provision :hosts do |provisioner|
3235
provisioner.add_host '10.1.42.70', ['nomad1.local']
3336
provisioner.add_host '10.1.42.71', ['nomad2.local']
@@ -47,6 +50,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
4750
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
4851
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
4952
end
53+
if ENV['NOMAD_DOCKER_ENABLE'] == "true"
54+
nomad2_config.vm.provision "docker"
55+
end
5056
nomad2_config.vm.provision :hosts do |provisioner|
5157
provisioner.add_host '10.1.42.70', ['nomad1.local']
5258
provisioner.add_host '10.1.42.71', ['nomad2.local']
@@ -66,6 +72,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
6672
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
6773
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
6874
end
75+
if ENV['NOMAD_DOCKER_ENABLE'] == "true"
76+
nomad3_config.vm.provision "docker"
77+
end
6978
nomad3_config.vm.provision :hosts do |provisioner|
7079
provisioner.add_host '10.1.42.70', ['nomad1.local']
7180
provisioner.add_host '10.1.42.71', ['nomad2.local']

files/docker.repo

Lines changed: 0 additions & 6 deletions
This file was deleted.

tasks/CentOS.yml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,3 @@
3030
file: "dest={{ role_path }}/files/nomad* state=absent"
3131
run_once: true
3232
tags: installation
33-
34-
## Docker Subsystem
35-
36-
- name: Add Docker repo
37-
copy: src=../files/docker.repo dest=/etc/yum.repos.d/docker.repo owner=root group=root mode=0644
38-
when: nomad_enable_docker == "native"
39-
tags: docker
40-
41-
- name: Install Docker
42-
yum: name=docker-engine state=latest
43-
when: nomad_enable_docker == "native"
44-
tags: docker
45-
46-
- name: Start Docker
47-
service: name=docker enabled=yes state=started
48-
when: nomad_enable_docker == "native"
49-
tags: docker

tasks/Debian.yml

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -30,55 +30,3 @@
3030
file: "dest={{ role_path }}/files/nomad* state=absent"
3131
run_once: true
3232
tags: installation
33-
34-
## Docker Subsystem
35-
36-
- name: Update package cache
37-
apt: update_cache=yes
38-
when: nomad_enable_docker == "native"
39-
tags: docker
40-
41-
- name: Apt transport package
42-
apt: name='apt-transport-https' state=present
43-
when: nomad_enable_docker == "native"
44-
tags: docker
45-
46-
- name: CA certs package
47-
apt: name='ca-certificates' state=present
48-
when: nomad_enable_docker == "native"
49-
tags: docker
50-
51-
- name: HTTPS APT transport for Docker repository
52-
apt:
53-
name: apt-transport-https
54-
state: present
55-
when: nomad_enable_docker == "native"
56-
tags: docker
57-
58-
- name: Add Docker signing key
59-
apt_key:
60-
id: "{{ nomad_apt_key_sig }}"
61-
keyserver: "{{ nomad_apt_key_url }}"
62-
state: present
63-
register: add_repository_key
64-
when: nomad_enable_docker == "native"
65-
tags: docker
66-
67-
- name: Add Docker repo and update apt cache
68-
apt_repository:
69-
repo: "{{ nomad_apt_repo }}"
70-
mode: '644'
71-
update_cache: yes
72-
state: present
73-
when: nomad_enable_docker == "native"
74-
tags: docker
75-
76-
- name: Install Docker
77-
apt: name='docker-engine' state=present update_cache=yes
78-
when: nomad_enable_docker == "native"
79-
tags: docker
80-
81-
- name: Start Docker
82-
service: name=docker enabled=yes state=started
83-
when: nomad_enable_docker == "native"
84-
tags: docker

tasks/RedHat.yml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,3 @@
3232
file: "dest={{ role_path }}/files/nomad* state=absent"
3333
run_once: true
3434
tags: installation
35-
36-
## Docker Subsystem
37-
38-
- name: Add Docker repo
39-
copy: src=../files/docker.repo dest=/etc/yum.repos.d/docker.repo owner=root group=root mode=0644
40-
when: nomad_enable_docker == "native"
41-
tags: docker
42-
43-
- name: Install Docker
44-
yum: name=docker-engine state=latest
45-
when: nomad_enable_docker == "native"
46-
tags: docker
47-
48-
- name: Start Docker
49-
service: name=docker enabled=yes state=started
50-
when: nomad_enable_docker == "native"
51-
tags: docker

tasks/Ubuntu.yml

Lines changed: 2 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
run_once: true
3232
tags: installation
3333

34-
## Docker Subsystem
34+
## Docker items
3535

3636
# Fix for https://github.com/docker/docker/issues/23347
3737
- name: Install dmsetup for Ubuntu 16.04
@@ -41,60 +41,10 @@
4141
update_cache: yes
4242
cache_valid_time: 600
4343
register: dmsetup_result
44-
when: ansible_distribution_version|version_compare(16.04, '=') and nomad_enable_docker == "native"
44+
when: ansible_distribution_version|version_compare(16.04, '=') and nomad_docker_enable == "true"
4545
tags: docker
4646

4747
- name: Run dmsetup for Ubuntu 16.04
4848
command: dmsetup mknodes
4949
when: dmsetup_result and
5050
tags: docker
51-
- name: Update package cache
52-
apt: update_cache=yes
53-
when: nomad_enable_docker == "native"
54-
tags: docker
55-
56-
- name: Apt transport package
57-
apt: name='apt-transport-https' state=present
58-
when: nomad_enable_docker == "native"
59-
tags: docker
60-
61-
- name: CA certs package
62-
apt: name='ca-certificates' state=present
63-
when: nomad_enable_docker == "native"
64-
tags: docker
65-
66-
- name: HTTPS APT transport for Docker repository
67-
apt:
68-
name: apt-transport-https
69-
state: present
70-
when: nomad_enable_docker == "native"
71-
tags: docker
72-
73-
- name: Add Docker signing key
74-
apt_key:
75-
id: "{{ nomad_apt_key_sig }}"
76-
keyserver: "{{ nomad_apt_key_url }}"
77-
state: present
78-
register: add_repository_key
79-
ignore_errors: true
80-
tags: docker
81-
82-
- name: Add Docker repo and update apt cache
83-
apt_repository:
84-
repo: "{{ nomad_apt_repo }}"
85-
mode: '644'
86-
update_cache: yes
87-
state: present
88-
when: nomad_enable_docker == "native"
89-
tags: docker
90-
91-
- name: Install Docker
92-
apt: name='docker-engine' state=present update_cache=yes
93-
when: nomad_enable_docker == "native"
94-
tags: docker
95-
96-
- name: Start Docker
97-
service: name=docker enabled=yes state=started
98-
when: nomad_enable_docker == "native"
99-
tags: docker
100-

templates/nomad_systemd.service.j2

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,15 @@ After=basic.target network.target
1616
[Service]
1717
User={{ nomad_user }}
1818
Group={{ nomad_group }}
19-
19+
{% if nomad_node_role == "server" %}
2020
ExecStart=/usr/local/bin/nomad agent -server \
2121
-config={{ nomad_config_dir }}/base.hcl \
2222
-config={{ nomad_config_dir }}/{{ nomad_node_role }}.hcl
23+
{% else %}
24+
ExecStart=/usr/local/bin/nomad agent \
25+
-config={{ nomad_config_dir }}/base.hcl \
26+
-config={{ nomad_config_dir }}/{{ nomad_node_role }}.hcl
27+
{% endif %}
2328
ExecReload=/bin/kill -HUP $MAINPID
2429
KillMode=process
2530
Restart=on-failure

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.2.1
1+
v1.3.0

0 commit comments

Comments
 (0)