From a100fc793da1ec375dc7ac976da21221c633d75a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 12 Jul 2016 21:33:55 -0700 Subject: [PATCH] etcd-wrapper: only have a single slot --- .../app-admin/etcd-wrapper/Manifest | 2 - .../etcd-wrapper/etcd-wrapper-0.0.1-r0.ebuild | 27 ++++++ .../etcd-wrapper/etcd-wrapper-2.3.7-r2.ebuild | 1 - .../etcd-wrapper/etcd-wrapper-3.0.2-r2.ebuild | 1 - .../{etcd-wrapper.template => etcd-wrapper} | 62 +++++++------- .../etcd-wrapper/files/etcd-wrapper.ebuild | 82 ------------------- .../etcd-wrapper/files/etcd-wrapper.service | 19 +++++ .../files/etcd-wrapper.service.template | 17 ---- .../coreos-base/coreos/coreos-0.0.1.ebuild | 3 +- 9 files changed, 80 insertions(+), 134 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/Manifest create mode 100644 sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-0.0.1-r0.ebuild delete mode 120000 sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-2.3.7-r2.ebuild delete mode 120000 sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.0.2-r2.ebuild rename sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/{etcd-wrapper.template => etcd-wrapper} (72%) delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.ebuild create mode 100644 sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service.template diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/Manifest b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/Manifest deleted file mode 100644 index 2345046c78..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST etcd-v2.3.7_pubkey.gpg 6179 SHA256 56eb40918ba8dfbfc30bfddb3d235c3485825af1e7bd9816bdc478716d40544b SHA512 74d2de868f3df73452c50f196320857283c97d0f1d654fd4788be7aa621b50d0767527679ce0f111a86b69ce301329e58d188cb219def306580e0a24c4037738 WHIRLPOOL 3499e633cbb5e28cb3a373263137af30c83573b513d479190ca1402591a7e4fdf78c497f9ac84ced0ffb5fd1dda440eb04a31b81da2a8f964d914c8d1cbb7969 -DIST etcd-v3.0.2_pubkey.gpg 6179 SHA256 56eb40918ba8dfbfc30bfddb3d235c3485825af1e7bd9816bdc478716d40544b SHA512 74d2de868f3df73452c50f196320857283c97d0f1d654fd4788be7aa621b50d0767527679ce0f111a86b69ce301329e58d188cb219def306580e0a24c4037738 WHIRLPOOL 3499e633cbb5e28cb3a373263137af30c83573b513d479190ca1402591a7e4fdf78c497f9ac84ced0ffb5fd1dda440eb04a31b81da2a8f964d914c8d1cbb7969 diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-0.0.1-r0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-0.0.1-r0.ebuild new file mode 100644 index 0000000000..2cbe7bd844 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-0.0.1-r0.ebuild @@ -0,0 +1,27 @@ +# +# Copyright (c) 2016 CoreOS, Inc.. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 +# $Header:$ +# + +EAPI=6 + +inherit systemd + +DESCRIPTION="etcd (System Application Container)" +HOMEPAGE="https://github.com/coreos/etcd" +KEYWORDS="amd64" + +LICENSE="Apache-2.0" +IUSE="" +SLOT=0 + +DEPEND="" +RDEPEND=">=app-emulation/rkt-1.9.1[rkt_stage1_fly]" + +S=${WORKDIR} + +src_install() { + dobin "${FILESDIR}"/etcd-wrapper + systemd_dounit "${FILESDIR}"/etcd-wrapper.service +} diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-2.3.7-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-2.3.7-r2.ebuild deleted file mode 120000 index 6c6224dbd9..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-2.3.7-r2.ebuild +++ /dev/null @@ -1 +0,0 @@ -files/etcd-wrapper.ebuild \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.0.2-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.0.2-r2.ebuild deleted file mode 120000 index 6c6224dbd9..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.0.2-r2.ebuild +++ /dev/null @@ -1 +0,0 @@ -files/etcd-wrapper.ebuild \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.template b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper similarity index 72% rename from sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.template rename to sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper index 5a5cfd144e..657a9e526b 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.template +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper @@ -1,44 +1,41 @@ #!/usr/bin/bash -e - # Wrapper for launching etcd via rkt. -SOURCE_FILES=${SOURCE_FILES:-{{SOURCE_FILES}}} +function require_ev_all() { + for rev in $@ ; do + if [[ -z ${!rev} ]]; then + echo ${rev} is not set + exit 1 + fi + done +} -for source_file in ${SOURCE_FILES}; do - if [[ -e "${source_file}" ]]; then - source "${source_file}" - fi -done +function require_ev_one() { + for rev in $@ ; do + if [[ ! -z ${!rev} ]]; then + return + fi + done + echo One of $@ must be set + exit 1 +} -REQUIRED_ENV_VARS="ETCD_IMG ETCD_IMG_USER ETCD_DATA_DIR" -for rev in $REQUIRED_ENV_VARS ; do - if [[ -z ${!rev} ]]; then - echo ${rev} is not set - exit 1 - fi -done +require_ev_one ETCD_IMG ETCD_TAG +require_ev_all ETCD_IMG_USER ETCD_DATA_DIR -SSL_CERTS_SRC=${SSL_CERTS_SRC:-/etc/ssl/certs} -ETC_HOSTS_SRC=${ETC_HOSTS_SRC:-/etc/hosts} -SYSTEMD_SYSTEM_DIR_SRC=${SYSTEMD_SYSTEM_DIR_SRC:-/run/systemd/system} - -RKT=${RKT:-/usr/bin/rkt} -ETCD_IMG_EXEC=${ETCD_IMG_EXEC:-/etcd} - -RKT_STAGE1_ARG=${RKT_STAGE1_ARG:-"--stage1-from-dir=stage1-fly.aci"} +if [[ ! -z ${ETCD_TAG} ]]; then + ETCD_IMG="${ETCD_IMG:-coreos.com/etcd:${ETCD_TAG}}" + RKT_RUN_ARGS="${RKT_RUN_ARGS} \ + --trust-keys-from-https + " +fi if [[ ! -e ${ETCD_DATA_DIR} ]]; then mkdir -p ${ETCD_DATA_DIR} chown ${ETCD_IMG_USER} ${ETCD_DATA_DIR} fi -if [[ ! -z ${ETCD_IMG_PUBKEY} ]]; then - ${RKT} trust ${RKT_TRUST_ARGS} \ - --prefix=${ETCD_IMG_PREFIX} \ - --skip-fingerprint-review \ - ${ETCD_IMG_PUBKEY} -fi - +SYSTEMD_SYSTEM_DIR_SRC=${SYSTEMD_SYSTEM_DIR_SRC:-/run/systemd/system} if [[ -d ${SYSTEMD_SYSTEM_DIR_SRC} ]]; then RKT_RUN_ARGS="${RKT_RUN_ARGS} \ --mount volume=systemd-dir,target=/run/systemd/system \ @@ -46,6 +43,7 @@ if [[ -d ${SYSTEMD_SYSTEM_DIR_SRC} ]]; then " fi + if [[ -S ${NOTIFY_SOCKET} ]]; then RKT_RUN_ARGS="${RKT_RUN_ARGS} \ --mount volume=notify,target=/run/systemd/notify \ @@ -54,6 +52,12 @@ if [[ -S ${NOTIFY_SOCKET} ]]; then " fi +SSL_CERTS_SRC=${SSL_CERTS_SRC:-/etc/ssl/certs} +ETC_HOSTS_SRC=${ETC_HOSTS_SRC:-/etc/hosts} +ETCD_IMG_EXEC=${ETCD_IMG_EXEC:-/etcd} + +RKT=${RKT:-/usr/bin/rkt} +RKT_STAGE1_ARG=${RKT_STAGE1_ARG:-"--stage1-from-dir=stage1-fly.aci"} set -x exec ${RKT} ${RKT_GLOBAL_ARGS} \ run ${RKT_RUN_ARGS} \ diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.ebuild deleted file mode 100644 index e656b3fb75..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# -# Copyright (c) 2016 CoreOS, Inc.. All rights reserved. -# Distributed under the terms of the GNU General Public License v2 -# $Header:$ -# - -EAPI=6 - -inherit systemd - -DESCRIPTION="etcd (System Application Container)" -HOMEPAGE="https://github.com/coreos/etcd" -KEYWORDS="amd64" - -LICENSE="Apache-2.0" -IUSE="" - -MY_PV=${PV} -MY_PV=${MY_PV/_alpha/-alpha.} -MY_PV=${MY_PV/_beta/-beta.} - -case ${MY_PV} in -2*) - SLOT="2" - ;; -3*) - SLOT="3" - ;; -*) - die "Unknown etcd version ${MY_PV}" - ;; -esac - -SRC_URI="https://coreos.com/dist/pubkeys/app-signing-pubkey.gpg -> etcd-v${MY_PV}_pubkey.gpg" - -IMG_FILENAME="etcd-v${MY_PV}-linux-${ARCH}.aci" -PUBKEY_FILENAME="etcd-v${MY_PV}_pubkey.gpg" -IMG_PREFIX="coreos.com/etcd" -IMG_PUBKEY="${DISTDIR}/${PUBKEY_FILENAME}" -RKT="rkt" -VERSION_DIR=/usr/lib/coreos/versions -VERSION_DIR_VAR=/var/lib/coreos/versions -IMG_VERSION_FILE="${VERSION_DIR}/etcd${SLOT}" -IMG_VERSION_FILE_VAR="${VERSION_DIR_VAR}/etcd${SLOT}" -IMG_VERSION_DIR="${VERSION_DIR}/etcd${SLOT}.d" -ENV_PREFIX="ETCD" - -DEPEND="" -RDEPEND=">=app-emulation/rkt-1.9.1[rkt_stage1_fly]" - -S=${WORKDIR} - -pkg_preinst() { - echo ${ENV_PREFIX}_IMG="https://github.com/coreos/etcd/releases/download/v${MY_PV}/etcd-v${MY_PV}-linux-${ARCH}.aci" >> "${D}/${IMG_VERSION_FILE}" - echo ${ENV_PREFIX}_IMG_USER=etcd >> "${D}/${IMG_VERSION_FILE}" - echo ${ENV_PREFIX}_DATA_DIR=/var/lib/etcd${SLOT} >> "${D}/${IMG_VERSION_FILE}" - echo ${ENV_PREFIX}_IMG_PREFIX=${IMG_PREFIX} >> "${D}/${IMG_VERSION_FILE}" - echo ${ENV_PREFIX}_IMG_PUBKEY=${IMG_VERSION_DIR}/${PUBKEY_FILENAME} >> "${D}/${IMG_VERSION_FILE}" -} - -src_install() { - insinto "${IMG_VERSION_DIR}" - doins "${DISTDIR}/${PUBKEY_FILENAME}" - - local wrapper_file="${TMP}/etcd${SLOT}-wrapper" - cat ${FILESDIR}/etcd-wrapper.template > ${wrapper_file} - sed -i ${wrapper_file} -e \ - "s,{{SOURCE_FILES}},${IMG_VERSION_FILE} ${IMG_VERSION_FILE_VAR},g" \ - || die - dobin ${wrapper_file} - - local service_file="${TMP}/etcd${SLOT}-wrapper.service" - cat "${FILESDIR}/etcd-wrapper.service.template" > ${service_file} - cat ${service_file} - sed -i ${service_file} -e \ - "s,{{SLOT}},${SLOT},g" \ - || die - sed -i ${service_file} -e \ - "s,{{SOURCE_FILES}},${IMG_VERSION_FILE} ${IMG_VERSION_FILE_VAR},g" \ - || die - systemd_dounit "${service_file}" -} diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service new file mode 100644 index 0000000000..05149f50ed --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service @@ -0,0 +1,19 @@ +[Unit] +Description=etcd (System Application Container) +Conflicts=etcd.service +Conflicts=etcd2.service + +[Service] +Type=notify +Environment=ETCD_NAME=%m +Environment=ETCD_IMG_USER=etcd +Environment=ETCD_DATA_DIR=/var/lib/etcd +EnvironmentFile=-/var/lib/coreos/versions/etcd +ExecStart=/usr/bin/etcd-wrapper $ETCD_OPTS +Restart=always +RestartSec=10s +LimitNOFILE=40000 +TimeoutStartSec=0 + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service.template b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service.template deleted file mode 100644 index 34302bf7cc..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service.template +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=etcd{{SLOT}} (System Application Container) -Conflicts=etcd{{SLOT}}.service - -[Service] -Type=notify -Environment=ETCD_NAME=%m -Environment=ETCD_IMG_USER=etcd -Environment="SOURCE_FILES={{SOURCE_FILES}}" -ExecStart=/usr/bin/etcd{{SLOT}}-wrapper $ETCD_OPTS -Restart=always -RestartSec=10s -LimitNOFILE=40000 -TimeoutStartSec=0 - -[Install] -WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild index 48d7a9acb8..d5992ead30 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild @@ -76,8 +76,7 @@ RDEPEND="${RDEPEND} etcd_protocols_2? ( dev-db/etcd:2 amd64? ( - app-admin/etcd-wrapper:2 - app-admin/etcd-wrapper:3 + app-admin/etcd-wrapper ) ) "