From 76d81a0f19df0b836f56d87dab8e3e2b4c340ab2 Mon Sep 17 00:00:00 2001 From: Alex Polvi Date: Thu, 1 Aug 2013 19:15:21 -0700 Subject: [PATCH] feat(oem-service): make etcd bootstrapping optional, and only supported on ec2 for now. This will continue to be refactored. --- .../coreos-base/oem-ami/files/oem-release | 1 + .../coreos-base/oem-ami/oem-ami-0.0.1-r7.ebuild | 1 - ...-ami-0.0.1-r4.ebuild => oem-ami-0.0.1-r8.ebuild} | 0 .../coreos-base/oem-ami/oem-ami-0.0.1.ebuild | 3 +++ .../oem-service/files/coreos-detect-virt | 13 +++++++++++++ ...-0.0.1-r3.ebuild => oem-service-0.0.1-r4.ebuild} | 0 .../oem-service/oem-service-0.0.1.ebuild | 1 + .../{etcd-0.0.1-r4.ebuild => etcd-0.0.1-r5.ebuild} | 0 .../coreos-overlay/dev-db/etcd/files/coreos-c10n | 7 +++++++ .../coreos-overlay/dev-db/etcd/files/etcd-bootstrap | 13 ++++++++++--- 10 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/files/oem-release delete mode 120000 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r7.ebuild rename sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/{oem-ami-0.0.1-r4.ebuild => oem-ami-0.0.1-r8.ebuild} (100%) create mode 100755 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/files/coreos-detect-virt rename sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/{oem-service-0.0.1-r3.ebuild => oem-service-0.0.1-r4.ebuild} (100%) rename sdk_container/src/third_party/coreos-overlay/dev-db/etcd/{etcd-0.0.1-r4.ebuild => etcd-0.0.1-r5.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/files/oem-release new file mode 100644 index 0000000000..1133a352fd --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/files/oem-release @@ -0,0 +1 @@ +ec2 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r7.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r7.ebuild deleted file mode 120000 index b1843e3373..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r7.ebuild +++ /dev/null @@ -1 +0,0 @@ -oem-ami-0.0.1.ebuild \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r8.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r4.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1-r8.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1.ebuild index fc5e9057f0..8db3190479 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-0.0.1.ebuild @@ -20,4 +20,7 @@ src_install() { exeinto "/" doexe ${FILESDIR}/run.sh + + insinto "/" + doins ${FILESDIR}/oem-release } diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/files/coreos-detect-virt b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/files/coreos-detect-virt new file mode 100755 index 0000000000..ffa8bfba94 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/files/coreos-detect-virt @@ -0,0 +1,13 @@ +#!/bin/bash + +OEM_RELEASE="/usr/share/oem/oem-release" + +VIRT= + +if [ -e "${OEM_RELEASE}" ]; then + VIRT=$(cat ${OEM_RELEASE}) +else + VIRT=$(systemd-detect-virt) +fi + +echo $VIRT diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1-r4.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1-r3.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1-r4.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1.ebuild index 5679292d10..fba36ecf7a 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-service/oem-service-0.0.1.ebuild @@ -19,6 +19,7 @@ IUSE="" src_install() { dobin ${FILESDIR}/run-oem.sh + dobin ${FILESDIR}/coreos-detect-virt systemd_dounit "${FILESDIR}"/${PN}.service systemd_enable_service multi-user.target ${PN}.service diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1-r5.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1-r4.ebuild rename to sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1-r5.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n index ed744d369a..0c91b65d1c 100755 --- a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n +++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n @@ -1,5 +1,12 @@ #!/bin/bash +VIRT=$(coreos-detect-virt) + +if [ "${VIRT}" != "ec2" ]; then + # all of this is currently dependent on ec2, we'll refactor as we add more images + exit 0 +fi + C10N_ENDPOINT=https://core-api.appspot.com/v1/c10n/group META_URL="http://169.254.169.254/latest" 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 536defbdd7..a1a5f7d1ee 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 @@ -1,14 +1,21 @@ #!/bin/bash +STATE=/var/lib/etcd +mkdir -p $STATE + +VIRT=$(coreos-detect-virt) + +if [ "${VIRT}" != "ec2" ]; then + echo "Detected environment \"${VIRT}\", just starting solo master..." + exec /usr/bin/etcd -v -d $STATE +fi + /usr/bin/coreos-c10n META_URL="http://169.254.169.254/latest" MY_IP=$(curl -s $META_URL/meta-data/local-ipv4) BOOTSTRAP="/var/run/etcd/bootstrap.config" -# for etcd -STATE=/var/lib/etcd -mkdir -p $STATE [ ! -e $BOOTSTRAP ] && echo bootstrap config missing && exit 1