Skip to content

Commit 3ebcae0

Browse files
committed
Merge pull request #2872 from carmstrong/fix-ec2_unit_start_order
fix(contrib/ec2): prepare etcd before starting etcd
2 parents 18cf1a9 + a6b7d86 commit 3ebcae0

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

contrib/ec2/gen-json.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
Type=oneshot
3838
RemainAfterExit=yes
3939
ExecStart=/usr/bin/mkdir -p /media/ephemeral/etcd
40-
ExecStart=/usr/bin/chown -R etcd /media/ephemeral/etcd
40+
ExecStart=/usr/bin/chown -R etcd:etcd /media/ephemeral/etcd
4141
'''
4242
FORMAT_DOCKER_VOLUME = '''
4343
[Unit]
@@ -62,12 +62,19 @@
6262
Type=btrfs
6363
'''
6464

65+
new_units = [
66+
dict({'name': 'format-ephemeral-volume.service', 'command': 'start', 'content': FORMAT_EPHEMERAL_VOLUME}),
67+
dict({'name': 'media-ephemeral.mount', 'command': 'start', 'content': MOUNT_EPHEMERAL_VOLUME}),
68+
dict({'name': 'prepare-etcd-data-directory.service', 'command': 'start', 'content': PREPARE_ETCD_DATA_DIRECTORY}),
69+
dict({'name': 'format-docker-volume.service', 'command': 'start', 'content': FORMAT_DOCKER_VOLUME}),
70+
dict({'name': 'var-lib-docker.mount', 'command': 'start', 'content': MOUNT_DOCKER_VOLUME})
71+
]
72+
6573
data = yaml.load(file(os.path.join(CURR_DIR, '..', 'coreos', 'user-data'), 'r'))
66-
data['coreos']['units'].append(dict({'name': 'format-ephemeral-volume.service', 'command': 'start', 'content': FORMAT_EPHEMERAL_VOLUME}))
67-
data['coreos']['units'].append(dict({'name': 'media-ephemeral.mount', 'command': 'start', 'content': MOUNT_EPHEMERAL_VOLUME}))
68-
data['coreos']['units'].append(dict({'name': 'prepare-etcd-data-directory.service', 'command': 'start', 'content': PREPARE_ETCD_DATA_DIRECTORY}))
69-
data['coreos']['units'].append(dict({'name': 'format-docker-volume.service', 'command': 'start', 'content': FORMAT_DOCKER_VOLUME}))
70-
data['coreos']['units'].append(dict({'name': 'var-lib-docker.mount', 'command': 'start', 'content': MOUNT_DOCKER_VOLUME}))
74+
75+
# coreos-cloudinit will start the units in order, so we want these to be processed before etcd/fleet
76+
# are started
77+
data['coreos']['units'] = new_units + data['coreos']['units']
7178

7279
# configure etcd to use the ephemeral drive
7380
data['coreos']['etcd']['data-dir'] = '/media/ephemeral/etcd'

0 commit comments

Comments
 (0)