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

Reply via email to