From ae260d655832257ba53cf7304e9cf8e5e04ef8cf Mon Sep 17 00:00:00 2001 From: Pierre-Luc Dion Date: Sat, 11 Feb 2017 16:56:14 -0500 Subject: [PATCH 1/2] user-data for data-volume management use cloud-init --- cloudca.go | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/cloudca.go b/cloudca.go index 2f7f10b..c321c73 100644 --- a/cloudca.go +++ b/cloudca.go @@ -22,10 +22,46 @@ const ( defaultSSHUser = "cca-user" dockerPort = 2376 swarmPort = 3376 - userDataToMountVolume = `#!/bin/sh -mkfs -t ext4 /dev/xvdb -mkdir -p /var/lib/docker -mount -t ext4 /dev/xvdb /var/lib/docker` + userDataToMountVolume = `#cloud-config +fs_setup: + - label: data + filesystem: 'btrfs' + device: '/dev/xvdb' +mounts: + - [ xvdb, /var/lib/docker, "auto", "defaults", "0", "0" ] +coreos: + units: + - name: format-datavolume.service + command: start + content: | + [Unit] + Description=Formats the data volume + After=dev-xvdb.device + Requires=dev-xvdb.device + ConditionPathExists=!/var/lib/docker.btrfs + [Service] + Type=oneshot + RemainAfterExit=yes + ExecStart=/usr/sbin/mkfs.btrfs /dev/xvdb + ExecStart=/usr/bin/mkdir /var/lib/docker.btrfs + - name: var-lib-docker.mount + command: start + content: | + [Unit] + Description=Mount data volume to /var/lib/docker + Requires=format-datavolume.service + After=format-datavolume.service + [Mount] + What=/dev/xvdb + Where=/var/lib/docker + Type=btrfs + - name: docker.service + drop-ins: + - name: 10-wait-docker.conf + content: | + [Unit] + After=var-lib-docker.mount + Requires=var-lib-docker.mount` ) type configError struct { From 49f89a5e06ed4c19b205df09599f74c5c57d86c1 Mon Sep 17 00:00:00 2001 From: Pierre-Luc Dion Date: Sat, 11 Feb 2017 23:47:37 -0500 Subject: [PATCH 2/2] ubuntu use ext4,docker deployment with rancher fail if /var/lib/docker is on btrfs --- cloudca.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cloudca.go b/cloudca.go index c321c73..a4fdd40 100644 --- a/cloudca.go +++ b/cloudca.go @@ -25,10 +25,10 @@ const ( userDataToMountVolume = `#cloud-config fs_setup: - label: data - filesystem: 'btrfs' + filesystem: 'ext4' device: '/dev/xvdb' mounts: - - [ xvdb, /var/lib/docker, "auto", "defaults", "0", "0" ] + - [ xvdb, /var/lib/docker, "ext4", "defaults", "0", "0" ] coreos: units: - name: format-datavolume.service @@ -61,7 +61,8 @@ coreos: content: | [Unit] After=var-lib-docker.mount - Requires=var-lib-docker.mount` + Requires=var-lib-docker.mount +` ) type configError struct {