commit 8d0e6c275d6eb3c779d4f3f5e29b84dd865796b2
Author: Eric Paris <[email protected]>
Date: Tue Jan 20 18:34:18 2015 -0500
Add intermediate service file to resolve flannel to docker race
.gitignore | 1 +
flannel-docker-bridge.service | 14 ++++++++++++++
flannel-docker.conf | 2 ++
flannel.spec | 22 +++++++++++++++++-----
flannel2docker.sh | 6 ++++++
flanneld.service | 2 +-
6 files changed, 41 insertions(+), 6 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 73724f4..3bb238a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
+/clog
/flannel-a7b435a.tar.gz
/v0.2.0.tar.gz
diff --git a/flannel-docker-bridge.service b/flannel-docker-bridge.service
new file mode 100644
index 0000000..1a388bb
--- /dev/null
+++ b/flannel-docker-bridge.service
@@ -0,0 +1,14 @@
+#Systemd unit file for converting flannel env vars to docker cmdline values
+
+[Unit]
+Description=Unit to convert flannel env var to docker cmd line options
+After=flanneld.service
+Before=docker.service
+
+[Service]
+Type=oneshot
+EnvironmentFile=/var/run/flannel/subnet.env
+ExecStart=/usr/libexec/flannel/flannel2docker.sh
+
+[Install]
+WantedBy=docker.service
diff --git a/flannel-docker.conf b/flannel-docker.conf
new file mode 100644
index 0000000..8f55177
--- /dev/null
+++ b/flannel-docker.conf
@@ -0,0 +1,2 @@
+[Service]
+EnvironmentFile=-/run/flannel/docker
diff --git a/flannel.spec b/flannel.spec
index bb5cab4..201e0cb 100644
--- a/flannel.spec
+++ b/flannel.spec
@@ -9,14 +9,17 @@
Name: flannel
Version: 0.2.0
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Etcd address management agent for overlay networks
License: ASL 2.0
URL: https://%{import_path}
#Source0:
https://%{import_path}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
Source0: https://%{import_path}/archive/v%{version}.tar.gz
-Source1: flanneld.service
-Source2: flanneld.sysconf
+Source1: flanneld.sysconf
+Source2: flanneld.service
+Source3: flannel-docker-bridge.service
+Source4: flannel-docker.conf
+Source5: flannel2docker.sh
ExclusiveArch: %{ix86} x86_64 %{arm}
Patch0: flannel-remove-third-party-dependency-on-Godeps.patch
@@ -90,8 +93,11 @@ GOPATH=${PWD}/_build:%{gopath} go build -o bin/flanneld .
%install
# package with binary
install -D -p -m 755 bin/flanneld %{buildroot}%{_bindir}/flanneld
-install -D -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/flanneld.service
-install -D -p -m 644 %{SOURCE2} %{buildroot}/etc/sysconfig/flanneld
+install -D -p -m 644 %{SOURCE1} %{buildroot}/etc/sysconfig/flanneld
+install -D -p -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/flanneld.service
+install -D -p -m 644 %{SOURCE3}
%{buildroot}%{_unitdir}/flannel-docker-bridge.service
+install -D -p -m 644 %{SOURCE4}
%{buildroot}%{_unitdir}/docker.service.d/flannel.conf
+install -D -p -m 755 %{SOURCE5}
%{buildroot}%{_libexecdir}/flannel/flannel2docker.sh
# devel package
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
cp -pav {backend,pkg,subnet} %{buildroot}/%{gopath}/src/%{import_path}/
@@ -110,6 +116,9 @@ cp -pav {backend,pkg,subnet}
%{buildroot}/%{gopath}/src/%{import_path}/
%doc CONTRIBUTING.md LICENSE MAINTAINERS README.md DCO NOTICE
%{_bindir}/flanneld
%{_unitdir}/flanneld.service
+%{_unitdir}/flannel-docker-bridge.service
+%{_unitdir}/docker.service.d/flannel.conf
+%{_libexecdir}/flannel/flannel2docker.sh
%config(noreplace) %{_sysconfdir}/sysconfig/flanneld
%files devel
@@ -119,6 +128,9 @@ cp -pav {backend,pkg,subnet}
%{buildroot}/%{gopath}/src/%{import_path}/
%{gopath}/src/%{import_path}/
%changelog
+* Tue Jan 20 2015 Eric Paris <[email protected]> - 0.2.0-4
+- Add generator to turn flannel env vars into docker flags
+
* Tue Jan 20 2015 Peter Lemenkov <[email protected]> - 0.2.0-3
- Change (Build)Requires accordning to the recent changes
(http://pkgs.fedoraproject.org/cgit/golang-github-coreos-go-systemd.git/commit/?id=204f61c)
diff --git a/flannel2docker.sh b/flannel2docker.sh
new file mode 100644
index 0000000..52e908d
--- /dev/null
+++ b/flannel2docker.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+set -e
+
+mkdir -p /run/flannel/
+echo DOCKER_NETWORK_OPTIONS=\" --bip=$FLANNEL_SUBNET --mtu=$FLANNEL_MTU \" >
/run/flannel/docker
diff --git a/flanneld.service b/flanneld.service
index d6eec2e..5fff028 100644
--- a/flanneld.service
+++ b/flanneld.service
@@ -12,4 +12,4 @@ ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD}
-etcd-prefix=${FLANN
[Install]
WantedBy=docker.service
-
+Also=flannel-docker-bridge.service
_______________________________________________
golang mailing list
[email protected]
https://lists.fedoraproject.org/mailman/listinfo/golang