From 4649f7fa12fa27c4b4a589cb87f81e06c295d9d3 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Fri, 18 Apr 2014 15:15:58 -0700 Subject: [PATCH] fix(coreos-base/oem-vagrant): Add coreos-setup-environment In vagrant /etc/environment is set up by cloudinit but other services still depend on the coreos-setup-environment.service unit as a signal that /etc/environment is valid. Also the OEM needs to provide this script in order to block the likely to be broken defaults from being written. This just provides a dumb script that blocks. Use system-cloudinit@.service because it does not depend on coreos-setup-environment.service. Otherwise we would dead lock on a circular dependency. --- .../coreos-base/oem-vagrant/files/cloud-config.yml | 2 +- .../oem-vagrant/files/coreos-setup-environment | 13 +++++++++++++ ...-0.0.1-r7.ebuild => oem-vagrant-0.0.1-r8.ebuild} | 0 .../oem-vagrant/oem-vagrant-0.0.1.ebuild | 3 +++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100755 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment rename sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/{oem-vagrant-0.0.1-r7.ebuild => oem-vagrant-0.0.1-r8.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml index 8b3f7cbb59..4cf0581490 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml @@ -7,7 +7,7 @@ coreos: content: | [Path] PathExists=/var/lib/coreos-vagrant/user-data - Unit=user-cloudinit@var-lib-coreos\x2dvagrant-user\x2ddata.service + Unit=system-cloudinit@var-lib-coreos\x2dvagrant-user\x2ddata.service oem: id: vagrant name: Vagrant diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment new file mode 100755 index 0000000000..22b53abc37 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment @@ -0,0 +1,13 @@ +#!/bin/bash -e + +ENV="$1" + +if [ -z "$ENV" ]; then + echo usage: $0 /etc/environment + exit 1 +fi + +# just block until cloudinit updates environment +while ! grep -qs ^COREOS_PUBLIC_IPV4 "$ENV"; do + sleep 0.1 +done diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1-r7.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1-r8.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1-r7.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1-r8.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1.ebuild index a782a3b8aa..fc732939c0 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.1.ebuild @@ -19,4 +19,7 @@ src_install() { insinto "/usr/share/oem" doins "${FILESDIR}/authorized_keys" doins "${FILESDIR}/cloud-config.yml" + + into "/usr/share/oem" + dobin ${FILESDIR}/coreos-setup-environment }