From f2640f0d8f16104b3f406deefb7e77ac86953e11 Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Wed, 10 Jul 2013 14:46:25 -0700 Subject: [PATCH] feat(dev-db/etcd): add new raft based etcd --- .../etcd/files/etcd-bootstrap.service | 8 ----- .../app-admin/etcd/files/etcd.service | 7 ---- .../coreos-dev/coreos-dev-0.1.0.ebuild | 1 + ...ld => coreos-experimental-0.0.1-r2.ebuild} | 0 .../coreos-experimental-0.0.1.ebuild | 4 +-- .../etcd/etcd-0.0.1-r2.ebuild} | 0 .../etcd/etcd-0.0.1.ebuild | 25 ++++++------- .../etcd/etcd-99999.ebuild | 14 ++++---- .../dev-db/etcd/files/coreos-c10n.sh | 35 +++++++++++++++++++ .../dev-db/etcd/files/etcd.service | 5 +++ 10 files changed, 58 insertions(+), 41 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd-bootstrap.service delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd.service rename sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/{coreos-experimental-0.0.1-r1.ebuild => coreos-experimental-0.0.1-r2.ebuild} (100%) rename sdk_container/src/third_party/coreos-overlay/{app-admin/etcd/etcd-0.0.1-r4.ebuild => dev-db/etcd/etcd-0.0.1-r2.ebuild} (100%) rename sdk_container/src/third_party/coreos-overlay/{app-admin => dev-db}/etcd/etcd-0.0.1.ebuild (56%) rename sdk_container/src/third_party/coreos-overlay/{app-admin => dev-db}/etcd/etcd-99999.ebuild (77%) create mode 100644 sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n.sh create mode 100644 sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd.service diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd-bootstrap.service b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd-bootstrap.service deleted file mode 100644 index 3e80d06b83..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd-bootstrap.service +++ /dev/null @@ -1,8 +0,0 @@ -[Service] -ExecStartPre=/usr/lib/etcd/host/doozerd/configure.sh -ExecStart=/usr/lib/etcd/host/riak/configure.sh -Before=etcd.service - -[Install] -WantedBy=multi-user.target - diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd.service b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd.service deleted file mode 100644 index 1af7c18404..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/files/etcd.service +++ /dev/null @@ -1,7 +0,0 @@ -[Service] -ExecStart=/usr/sbin/etcd -a doozer:?ca=${DOOZERD_MASTER}:8046 -EnvironmentFile=/var/run/etcd/doozerd/EnvironmentFile - -[Install] -WantedBy=multi-user.target - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0.ebuild index 56d79deb2b..6944621cc3 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0.ebuild @@ -74,6 +74,7 @@ RDEPEND="${RDEPEND} sys-process/psmisc sys-process/time virtual/perf + coreos-base/coreos-experimental " # TODO: sys-apps/iotools diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1-r2.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1-r1.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1-r2.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1.ebuild index 140b328cc6..c42f45d6c2 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-experimental/coreos-experimental-0.0.1.ebuild @@ -15,7 +15,5 @@ IUSE="" DEPEND="" RDEPEND=" app-admin/systemd-rest - app-admin/etcd - app-admin/etcd-client - app-admin/etcd-lib + dev-db/etcd " diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-0.0.1-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1-r2.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-0.0.1-r4.ebuild rename to sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1-r2.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1.ebuild similarity index 56% rename from sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-0.0.1.ebuild rename to sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1.ebuild index 4ff9ee9872..40d529c70f 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-0.0.1.ebuild @@ -5,37 +5,32 @@ # $Header:$ # -EAPI=2 +EAPI=4 CROS_WORKON_PROJECT="coreos/etcd" CROS_WORKON_LOCALNAME="etcd" CROS_WORKON_REPO="git://github.com" -CROS_WORKON_COMMIT="f4301f994c995d7e91214e082fa18312899b4131" +CROS_WORKON_COMMIT="01e5d41f91da0251a8ed9dbba79df70a9dd6a237" inherit toolchain-funcs cros-workon systemd DESCRIPTION="etcd" -HOMEPAGE="https://github.com/xiangli-cmu/etcd" +HOMEPAGE="https://github.com/coreos/etcd" SRC_URI="" -LICENSE="MIT" +LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm x86" +KEYWORDS="amd64 x86" IUSE="" -DEPEND=">=dev-lang/go-1.0.2" -GOROOT="${ED}usr/$(get_libdir)/go" -GOPKG="${PN}" +DEPEND=">=dev-lang/go-1.1" + +ETCD_PACKAGE="github.com/coreos/etcd" src_compile() { - export GOPATH="${S}" - go get - go build -o ${PN} + ./build } src_install() { - dosbin ${S}/${PN} + dobin ${S}/${PN} systemd_dounit "${FILESDIR}"/${PN}.service systemd_enable_service multi-user.target ${PN}.service - - systemd_dounit "${FILESDIR}"/${PN}-bootstrap.service - systemd_enable_service multi-user.target ${PN}-bootstrap.service } diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-99999.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-99999.ebuild similarity index 77% rename from sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-99999.ebuild rename to sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-99999.ebuild index 43209c5e78..71c7abc9c0 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd/etcd-99999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/etcd-99999.ebuild @@ -5,29 +5,27 @@ # $Header:$ # -EAPI=2 +EAPI=4 CROS_WORKON_PROJECT="coreos/etcd" CROS_WORKON_LOCALNAME="etcd" CROS_WORKON_REPO="git://github.com" inherit toolchain-funcs cros-workon systemd DESCRIPTION="etcd" -HOMEPAGE="https://github.com/xiangli-cmu/etcd" +HOMEPAGE="https://github.com/coreos/etcd" SRC_URI="" -LICENSE="MIT" +LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64" IUSE="" -DEPEND=">=dev-lang/go-1.0.2" +DEPEND=">=dev-lang/go-1.1" GOROOT="${ED}usr/$(get_libdir)/go" GOPKG="${PN}" src_compile() { - export GOPATH="${S}" - go get - go build -o ${PN} + ./build } src_install() { diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n.sh b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n.sh new file mode 100644 index 0000000000..558bbdd7bb --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/coreos-c10n.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +C10N_ENDPOINT=https://core-api.appspot.com/v1/c10n/group +META_URL="http://169.254.169.254/latest" + +USER_DATA=$(curl -s $META_URL/user-data) + +URL=$USER_DATA + +echo $URL | grep -q '^https://' || (echo Coordination URL requires valid SSL; exit 1) + +TMP=`mktemp` + +curl -s "$USER_DATA/raw" > $TMP + +# validate ssh key +ssh-keygen -l -f $TMP > /dev/null 2>&1 +if [ $? -eq 0 ]; then + cat $TMP >> $HOME/.ssh/authorized_keys + echo "SSH key updated" +else + echo "Not a valid ssh key" +fi + +IP_LIST="" +for IP4 in `curl -s $META_URL/meta-data/ | grep ipv4`; do + IP=$(curl -s $META_URL/meta-data/$IP4) + if [ "$IP_LIST" != "" ]; then + IP_LIST="$IP_LIST,$IP" + else + IP_LIST="$IP" + fi +done + +curl $C10N_ENDPOINT -d "c10n_url=$URL" -d"ip_list=$IP_LIST" 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 new file mode 100644 index 0000000000..bd08c04c9d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcd/files/etcd.service @@ -0,0 +1,5 @@ +[Service] +ExecStart=/usr/bin/etcd-bootstrap + +[Install] +WantedBy=multi-user.target