Merge pull request #581 from marineam/c10n

Cleanup c10n and old update service bits
This commit is contained in:
Michael Marineau 2014-05-07 18:08:06 -07:00
commit 7d2309a30b
21 changed files with 1 additions and 450 deletions

View File

@ -1,33 +0,0 @@
#
# Copyright (c) 2013 Brandon Philips. All rights reserved.
# Distributed under the terms of the MIT License
# $Header:$
#
EAPI=2
CROS_WORKON_COMMIT="7c24110f7c7de87f2b377aae6c60bd9a70e632a7"
CROS_WORKON_PROJECT="coreos/core-admin"
CROS_WORKON_LOCALNAME="core-admin"
CROS_WORKON_REPO="git://github.com"
inherit toolchain-funcs cros-workon
DESCRIPTION="systemd over rest"
HOMEPAGE="https://github.com/coreos/core-admin"
SRC_URI=""
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm x86"
IUSE=""
DEPEND=">=dev-lang/go-1.0.2"
src_compile() {
export GOPATH="${S}"
go get
go build -o ${PN} || die
}
src_install() {
dobin ${S}/${PN}
}

View File

@ -1,32 +0,0 @@
#
# Copyright (c) 2013 Brandon Philips. All rights reserved.
# Distributed under the terms of the MIT License
# $Header:$
#
EAPI=2
CROS_WORKON_PROJECT="coreos/core-admin"
CROS_WORKON_LOCALNAME="core-admin"
CROS_WORKON_REPO="git://github.com"
inherit toolchain-funcs cros-workon
DESCRIPTION="systemd over rest"
HOMEPAGE="https://github.com/coreos/core-admin"
SRC_URI=""
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE=""
DEPEND=">=dev-lang/go-1.0.2"
src_compile() {
export GOPATH="${S}"
go get
go build -o ${PN} || die
}
src_install() {
dobin ${S}/${PN}
}

View File

@ -1,18 +0,0 @@
# Copyright (c) 2013 CoreOS Inc. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=2
DESCRIPTION="CoreOS restricted set of certificates."
HOMEPAGE="http://github.com/coreos/"
SRC_URI=""
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm x86"
src_install() {
CA_CERT_DIR=/usr/share/coreos-ca-certificates
insinto "${CA_CERT_DIR}"
doins "${FILESDIR}"/*.pem
c_rehash "${D}/${CA_CERT_DIR}"
}

View File

@ -1,23 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID2DCCAsCgAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwfzELMAkGA1UEBhMCVVMx
EzARBgNVBAgMCkNhbGlmb3JuaWExEzARBgNVBAoMCkNvcmVPUyBJbmMxIjAgBgNV
BAsMGUNvcmVPUyBJbnRlcm5ldCBBdXRob3JpdHkxIjAgBgNVBAMMGUNvcmVPUyBJ
bnRlcm5ldCBBdXRob3JpdHkwHhcNMTMwNjI1MDMyNzA5WhcNMjMwNjIzMDMyNzA5
WjB/MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTETMBEGA1UECgwK
Q29yZU9TIEluYzEiMCAGA1UECwwZQ29yZU9TIEludGVybmV0IEF1dGhvcml0eTEi
MCAGA1UEAwwZQ29yZU9TIEludGVybmV0IEF1dGhvcml0eTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMnBS5GFXRXYLmxqjwZGbRFWnmJ97SKLgLLqt4kP
AZAGPoGf9NjTiE7EmBIe2P1oaIUAwbNwOSGVje3i5JvZvwEhj1A7n9w425QDizgw
Ai8pKQ+RjX/2WZ3zlza+C7g8nCPh2mDzBDTKr3tOtw271oPoQzDTxY1kKMjMagXs
29RScAZciwgtb164Nk/g+8GTWOB9xzBpovneDqaKYvToduN7uTzacyCRZHCg/jON
S5PTevqcjftFa42SN7Wmdda548JjT5wd1tDhrCWsVfDej/c6i65f4Wa1OSNQjZbR
xX+cM/KZVcu4O4faJrHUtuSXWQ/+FXdOeMZUWkE/wr6X66MCAwEAAaNeMFwwHQYD
VR0OBBYEFCo5n86xtcXCxDi2oEGhtxcGZBkqMB8GA1UdIwQYMBaAFCo5n86xtcXC
xDi2oEGhtxcGZBkqMA8GA1UdEwEB/wQFMAMBAf8wCQYDVR0RBAIwADANBgkqhkiG
9w0BAQUFAAOCAQEAWY10ANuSLiIaDC0Q6sRKqT7UnFxrHBQ4hPrb6B8Qh+h4YcSG
1Ks2fxyAUi/3OFrm8NkLNFLfADWQ8R2q9BkoJ2Nzlg6vYFRA2v9B5cWpHYSuQZPu
9L/wp9Ag5po+btu941/xg8o86Xl4yyRr9mJtJl0u38WKT2qOnPHspaQpGgLfpPvn
+ReWZpXuJA7Y41/HFk9+IKViHNng+2zGk1bTWD1eVUWQxfHMl974444XDXKXpQ0S
7L0ipxjZXePRmuzSkOKgu+vvdiufbIP4Kt9QVrcJMziehWOG9rz14F5ANpDMq5kj
4pbfxhenxN9KW0BC5hD7i0TuFsGpu/ci8MyEOw==
-----END CERTIFICATE-----

View File

@ -1,24 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEAzCCAuugAwIBAgICEAEwDQYJKoZIhvcNAQEFBQAwfzELMAkGA1UEBhMCVVMx
EzARBgNVBAgMCkNhbGlmb3JuaWExEzARBgNVBAoMCkNvcmVPUyBJbmMxIjAgBgNV
BAsMGUNvcmVPUyBJbnRlcm5ldCBBdXRob3JpdHkxIjAgBgNVBAMMGUNvcmVPUyBJ
bnRlcm5ldCBBdXRob3JpdHkwHhcNMTMwNjI1MDMzMjE2WhcNMjMwNjIzMDMzMjE2
WjB9MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTETMBEGA1UECgwK
Q29yZU9TIEluYzEhMB8GA1UECwwYQ29yZU9TIEludGVybmV0IFNlcnZpY2VzMSEw
HwYDVQQDDBhDb3JlT1MgSW50ZXJuZXQgU2VydmljZXMwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCb+beLOC1A41z3zR6i1EbRi1eHn1SLAam8Yhuc1a88
FkxrsMM7MLsbbFkdVOkMKcHR1+oqRw/5c82sBTHFu5KDaB5LyQ5foAmzX/mA8T+q
WVBi8PHMJYJDVV9tQ2zCZliShCPs7ZAuijU1zK02QGd2BIyjjhumdsCZiWdkNbF2
fyQF8JDea2pjinuUnfPmvSMn8/YF19eNSRXLwtbqx8/Dgo5DY93FJGXDJR2aYPx1
q0utJS6i0uHQ63/LUib4fJmdNDXkMwXUZL8oPGNj4rahMSenKK/c2Q5Bty9Ile5e
mVxr1U784A8IlLo2JCObywbESYHLoRKW+PmmwWVSLmtZAgMBAAGjgYowgYcwDwYD
VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUp6Qm79/E4GCyZ+BHCBCfVumDS3IwHwYD
VR0jBBgwFoAUKjmfzrG1xcLEOLagQaG3FwZkGSowNAYDVR0fBC0wKzApoCegJYYj
aHR0cDovL3BraS5jb3Jlb3MuY29tL2NvcmVvcy1jYS5jcmwwDQYJKoZIhvcNAQEF
BQADggEBAAoE2Vr5281+ETrcsAw0Zuqdwdzx1YhzTcWtilO4ncFvAvcawQ9wWifS
s8YWXlpoIgSRAh8MLZV/cmjAMu6yZFPzjCUSUR0VfOOihi2rVDhNnDhEAzUd87wU
+TpsZ29UIDm+QTdUTDiFgcZUr2ub2D+L4CmYsmLUo90mPyS36/e+ePtbAcOw8LlN
MaTR4Hca4HzCk1SY55EUGVtLQzUJLXNkme1zDx54lNsyoVlk1UvwygEvAdmUi7AD
v+fYLD/Ya/AGnzxPCpPOpzD4TzBQcfy3CrBnAlM1xg+TRHG2qnSoq6Z+623SNyOp
Xcty/1OfAPhW0hzEV36EvPBSkKkCSmA=
-----END CERTIFICATE-----

View File

@ -10,7 +10,7 @@ CROS_WORKON_REPO="git://github.com"
if [[ "${PV}" == 9999 ]]; then
KEYWORDS="~amd64 ~arm ~x86"
else
CROS_WORKON_COMMIT="97523539aaddca96654a505d576cd287666c58c3"
CROS_WORKON_COMMIT="8ccfc852d2aa974f2efa75e0f676013066970138"
KEYWORDS="amd64 arm x86"
fi

View File

@ -1,72 +0,0 @@
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
CROS_WORKON_COMMIT="640113066b0a717955004e702a2afefe051d36a2"
CROS_WORKON_TREE="7e911e28b8bcde9bbdf4cff52eec7ac57adc3980"
CROS_WORKON_PROJECT="chromiumos/platform/crash-reporter"
CROS_WORKON_OUTOFTREE_BUILD=1
inherit cros-debug cros-workon
DESCRIPTION="Build chromeos crash handler"
HOMEPAGE="http://www.chromium.org/"
SRC_URI=""
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm x86"
IUSE="test"
LIBCHROME_VERS="125070"
# crash_sender uses sys-apps/findutils (for /usr/bin/find).
RDEPEND="coreos-base/google-breakpad
coreos-base/libchrome:${LIBCHROME_VERS}[cros-debug=]
coreos-base/libchromeos
coreos-base/metrics
coreos-base/coreos-ca-certificates
dev-cpp/gflags
dev-libs/libpcre
test? ( dev-cpp/gtest )
net-misc/curl
sys-apps/findutils"
DEPEND="${RDEPEND}"
src_prepare() {
cros-workon_src_prepare
}
src_configure() {
cros-workon_src_configure
}
src_compile() {
cros-workon_src_compile
}
src_test() {
# TODO(benchan): Enable unit tests for arm target once
# crosbug.com/27127 is fixed.
if use arm; then
echo Skipping unit tests on arm platform
else
# TODO(mkrebs): The tests are not currently thread-safe, so
# running them in the default parallel mode results in
# failures.
emake -j1 tests
fi
}
src_install() {
into /
dosbin "${OUT}"/crash_reporter
dosbin crash_sender
into /usr
dobin "${OUT}"/list_proxies
insinto /etc
doins crash_reporter_logs.conf
insinto /lib/udev/rules.d
doins 99-crash-reporter.rules
}

View File

@ -1,70 +0,0 @@
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
CROS_WORKON_PROJECT="chromiumos/platform/crash-reporter"
CROS_WORKON_OUTOFTREE_BUILD=1
inherit cros-debug cros-workon
DESCRIPTION="Build chromeos crash handler"
HOMEPAGE="http://www.chromium.org/"
SRC_URI=""
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="test"
LIBCHROME_VERS="125070"
# crash_sender uses sys-apps/findutils (for /usr/bin/find).
RDEPEND="coreos-base/google-breakpad
coreos-base/libchrome:${LIBCHROME_VERS}[cros-debug=]
coreos-base/libchromeos
coreos-base/metrics
coreos-base/coreos-ca-certificates
dev-cpp/gflags
dev-libs/libpcre
test? ( dev-cpp/gtest )
net-misc/curl
sys-apps/findutils"
DEPEND="${RDEPEND}"
src_prepare() {
cros-workon_src_prepare
}
src_configure() {
cros-workon_src_configure
}
src_compile() {
cros-workon_src_compile
}
src_test() {
# TODO(benchan): Enable unit tests for arm target once
# crosbug.com/27127 is fixed.
if use arm; then
echo Skipping unit tests on arm platform
else
# TODO(mkrebs): The tests are not currently thread-safe, so
# running them in the default parallel mode results in
# failures.
emake -j1 tests
fi
}
src_install() {
into /
dosbin "${OUT}"/crash_reporter
dosbin crash_sender
into /usr
dobin "${OUT}"/list_proxies
insinto /etc
doins crash_reporter_logs.conf
insinto /lib/udev/rules.d
doins 99-crash-reporter.rules
}

View File

@ -139,11 +139,6 @@ RDEPEND="${RDEPEND}
coreos-base/update_engine
"
# Needed for uploading to the update.core-os.net servers
RDEPEND="${RDEPEND}
coreos-base/core-admin
"
# Host dependencies to run unit tests within the chroot
RDEPEND="${RDEPEND}
dev-cpp/gflags

View File

@ -26,20 +26,6 @@ coreos:
Type=oneshot
EnvironmentFile=/etc/environment
ExecStart=/usr/bin/coreos-cloudinit -ignore-failure=true -from-url=http://169.254.169.254/latest/user-data
- name: ec2-c10n.service
command: restart
runtime: yes
content: |
[Unit]
Description=Legacy c10n support from EC2-style metadata
Requires=ec2-cloudinit.service
After=ec2-cloudinit.service
ConditionPathIsMountPoint=!/usr
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/share/oem/bin/coreos-c10n
oem:
id: @@OEM_ID@@
name: @@OEM_NAME@@

View File

@ -1,118 +0,0 @@
#!/bin/bash
depwarn() {
DOCS="https://github.com/coreos/coreos-cloudinit#cloud-config"
echo "DEPRECATION WARNING! $1 See docs for the new cloud-config format here: $DOCS" 1>&2;
}
# this will only run on generic images
C10N_ENDPOINT=https://core-api.appspot.com/v1/c10n/group
META_URL="http://169.254.169.254/latest"
ETCD_SERVICE_D="/run/systemd/system/etcd.service.d"
mkdir -p $ETCD_SERVICE_D
/usr/bin/block-until-url $META_URL
IP=$(curl -s $META_URL/meta-data/local-ipv4)
# Attempt to download userdata, exiting on failure or no user-data is found
USER_DATA=$(curl -s --fail $META_URL/user-data)
retcode=$?
# exit code 22 is http code 404, meaning user-data is blank
if [[ $retcode -ne 0 && $retcode -ne 22 ]]; then
echo "Unable to communicate with EC2 metadata service"
exit 1
elif [[ $retcode -eq 22 || -z "${USER_DATA}" ]]; then
echo "No user-data provided"
exit 0
fi
# Preserve the original user-data contents to use as the c10n token in case
# a discovery URL is not provided.
C10N_TOKEN="${USER_DATA}"
# If user-data is an HTTPS url, follow it
if echo "${USER_DATA}" | grep -q '^https://'; then
depwarn "Resolving user-data as a URL is deprecated."
# Backwards compatibility. If we have a GitHub gist that doesn't end in /raw, we'll append it to before grabbing the gist
if echo "${USER_DATA}" | grep -e '^https://gist.github.com' | grep -v -e 'raw$'; then
USER_DATA="${USER_DATA}/raw"
fi
echo "Downloading contents of URL: ${USER_DATA}"
USER_DATA="$(curl -s $USER_DATA)"
fi
# Create temporary file that gets cleaned up on exit
TMP=$(mktemp)
trap "rm -f ${TMP}" EXIT
# Write user-data to disk for future validation
echo "${USER_DATA}" > $TMP
# If user-data is a script, execute it
if head -n 1 $TMP | grep -q '^#!'; then
if grep -q '^ETCD_DISCOVERY_URL=' $TMP; then
depwarn "The ETCD_DISCOVERY_URL variable is deprecated."
eval $(grep '^ETCD_DISCOVERY_URL=' $TMP | tail -n1)
fi
if grep -q '^START_FLEET=1' $TMP; then
depwarn "The START_FLEET variable is deprecated."
START_FLEET=1
fi
# If user-data is a cloud-config, do not do c10n
elif head -n 1 $TMP | grep -q '^#cloud-config'; then
# no c10n if this is a cloudconfig
C10N_TOKEN=""
# Validate the user-data as an SSH key, installing it if so
else
depwarn "Interpreting user-data as an SSH key is deprecated."
# This just validates the key
ssh-keygen -l -f $TMP > /dev/null 2>&1
if [ $? -eq 0 ]; then
update-ssh-keys -a c10n $TMP
fi
fi
# After all that, if a script happened to set the discovery URL, write it to disk for etcd-bootstrap
if [ -n "${ETCD_DISCOVERY_URL}" ]; then
echo "Using '${ETCD_DISCOVERY_URL}' as etcd discovery url"
echo "[Service]
Environment=ETCD_DISCOVERY=${ETCD_DISCOVERY_URL}" > ${ETCD_SERVICE_D}/21-c10n.conf
# ...otherwise, we treat the provided user-data as a legacy c10n URL
elif [ -n "${C10N_TOKEN}" ]; then
depwarn "Bootstrapping etcd with the c10n service is deprecated."
echo "Using '$C10N_TOKEN' as c10n token"
# Assert we have networking up and able to access the c10n service
/usr/bin/block-until-url $C10N_ENDPOINT
ETCD_PEERS=$(curl -s $C10N_ENDPOINT -d "c10n_url=$C10N_TOKEN" -d"ip_list=$IP")
IPS=$(echo "$ETCD_PEERS" | grep -v $IP | grep -v '^$' | sed 's/$/:7001/'| tr '\n' ','| sed 's/^,//' | sed 's/,$//')
echo "[Service]" > ${ETCD_SERVICE_D}/22-c10n.conf
echo "Environment=ETCD_PEERS=${IPS}" >> ${ETCD_SERVICE_D}/22-c10n.conf
fi
if [ "$START_FLEET" = "1" ]; then
echo "Starting fleet"
systemctl start --no-block fleet
fi
# on generic images, we only set the name to the internal IP
echo "[Service]
Environment=ETCD_NAME=${IP}
Environment=ETCD_ADDR=${IP}:4001
Environment=ETCD_PEER_ADDR=${IP}:7001" > ${ETCD_SERVICE_D}/23-c10n.conf
systemctl daemon-reload
systemctl --no-block start etcd

View File

@ -1,34 +0,0 @@
#!/bin/bash
#TODO: Generating a config file rather than args so etcd-bootstrap can run as a
# completely separate unit from etcd
STATE=/var/lib/etcd
ARGS="-f -data-dir $STATE -bind-addr 0.0.0.0"
ARGS="${ARGS} -peer-election-timeout 1200"
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 --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"
if [ -e $BOOTSTRAP_DISCO ]; then
DISCOVERY_URL="$(cat $BOOTSTRAP_DISCO)"
ARGS="${ARGS} -discovery ${DISCOVERY_URL}"
elif [ -e $BOOTSTRAP_PEERS ]; then
IPS=$(grep -v $MY_IP $BOOTSTRAP_PEERS | grep -v '^$' | sed 's/$/:7001/'| tr '\n' ','| sed 's/^,//' | sed 's/,$//')
if [ -n "$IPS" ]; then
ARGS="${ARGS} -C ${IPS}"
fi
fi
exec /usr/bin/etcd $ARGS

View File

@ -43,8 +43,6 @@ src_install() {
into "/usr/share/oem"
dobin ${FILESDIR}/ec2-ssh-key
dobin ${FILESDIR}/coreos-setup-environment
dobin ${FILESDIR}/coreos-c10n
dobin ${FILESDIR}/etcd-bootstrap
insinto "/usr/share/oem"
doins ${T}/cloud-config.yml

View File

@ -27,7 +27,6 @@ LIBCHROME_VERS="180609"
RDEPEND="!coreos-base/coreos-installer
app-arch/bzip2
coreos-base/coreos-au-key
coreos-base/coreos-ca-certificates
coreos-base/libchrome:${LIBCHROME_VERS}[cros-debug=]
coreos-base/libchromeos
coreos-base/metrics