From 065585832866ff5a0e07c88b1226e15dfb949d2b Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Tue, 11 Feb 2014 16:02:29 -0800 Subject: [PATCH] fix(dev-db/etcd): Require c10n, start even if cluster config is missing. If c10n fails etcd should not start, wait until it is known if there is a cluster config to use or not. Also now c10n may not write out a cluster config on ec2 if there isn't a need for one. Make this case non-fatal and start up etcd as a master node. --- .../etcd/{etcd-0.3.0-r3.ebuild => etcd-0.3.0-r4.ebuild} | 0 .../coreos-overlay/dev-db/etcd/files/etcd-bootstrap | 9 +++++---- .../coreos-overlay/dev-db/etcd/files/etcd.service | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) rename sdk_container/src/third_party/coreos-overlay/dev-db/etcd/{etcd-0.3.0-r3.ebuild => etcd-0.3.0-r4.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.3.0-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.3.0-r4.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.3.0-r3.ebuild rename to sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.3.0-r4.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd-bootstrap b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd-bootstrap index 12a17739af..74ede44eb5 100755 --- a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd-bootstrap +++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd-bootstrap @@ -18,7 +18,11 @@ BOOTSTRAP_PEERS="/var/run/etcd/bootstrap.config" BOOTSTRAP_DISCO="/var/run/etcd/bootstrap.disco" META_URL="http://169.254.169.254/latest" -MY_IP=$(curl -s $META_URL/meta-data/local-ipv4) +MY_IP=$(curl --fail -s $META_URL/meta-data/local-ipv4) +if [ $? -ne 0 ]; then + echo "Request to meta-data service failed" >&2 + exit 1 +fi ARGS="${ARGS} -name ${MY_IP} -addr ${MY_IP}:4001 -peer-addr ${MY_IP}:7001 -peer-bind-addr 0.0.0.0" @@ -31,9 +35,6 @@ elif [ -e $BOOTSTRAP_PEERS ]; then if [ -n "$IPS" ]; then ARGS="${ARGS} -C ${IPS}" fi -else - echo "Could not find any bootstrap configuration" - exit 1 fi exec /usr/bin/etcd $ARGS diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd.service b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd.service index 52f96ef867..7865f88d7c 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd.service +++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd.service @@ -1,6 +1,6 @@ [Unit] Description=etcd -Wants=coreos-c10n.service +Requires=coreos-c10n.service After=coreos-c10n.service [Service]