diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/cloud-config.yml deleted file mode 100644 index 9a1df701b0..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/cloud-config.yml +++ /dev/null @@ -1,119 +0,0 @@ -#cloud-config - -coreos: - units: - - name: gce-add-metadata-host.service - command: start - runtime: yes - content: | - [Unit] - Description=Setup metadata in /etc/hosts - - [Service] - ExecStart=/usr/share/oem/bin/gce-add-metadata-host - - name: gce-coreos-cloudinit.service - command: restart - runtime: yes - content: | - [Unit] - Requires=coreos-setup-environment.service - After=coreos-setup-environment.service - - [Service] - Type=oneshot - EnvironmentFile=/etc/environment - ExecStart=/usr/share/oem/bin/gce-coreos-cloudinit - - name: gce-ssh-key.service - command: restart - runtime: yes - content: | - [Unit] - Description=Sets SSH key from metadata - - [Service] - Type=oneshot - StandardOutput=journal+console - ExecStart=/usr/share/oem/bin/gce-ssh-key - - name: google-accounts-manager.service - command: start - runtime: yes - content: | - [Unit] - Description=Google Compute Engine User Accounts Manager Daemon - After=network.target - Before=sshd.service - Requires=network.target - - [Service] - Type=simple - ExecStart=/usr/share/oem/python/bin/python2.7 /usr/share/oem/google-compute-daemon/manage_accounts.py - - [Install] - WantedBy=multi-user.target - - name: google-address-manager.service - command: start - runtime: yes - content: | - [Unit] - Description=Google Compute Engine Address Manager Daemon - After=network.target - Requires=network.target - - [Service] - Type=simple - ExecStart=/usr/share/oem/python/bin/python2.7 /usr/share/oem/google-compute-daemon/manage_addresses.py - - [Install] - WantedBy=multi-user.target - - name: google-startup-scripts-onboot.service - command: start - runtime: yes - content: | - [Unit] - Description=Google Compute Engine Startup Scripts - After=network.target - After=local-fs.target - Before=sshd.service - Requires=network.target - Requires=local-fs.target - - [Service] - Type=oneshot - Environment=GOOGLE_STARTUP_SCRIPTS_PREFIX=/usr/share/oem/google-startup-scripts - ExecStart=/usr/share/oem/google-startup-scripts/onboot - - [Install] - WantedBy=multi-user.target - - name: google-startup-scripts.service - command: start - runtime: yes - content: | - [Unit] - Description=Google Compute Engine user startup scripts - After=network.target - After=google-startup-scripts-onboot.service - Requires=google-startup-scripts-onboot.service - Requires=network.target - - [Service] - ExecStart=/usr/share/oem/google-startup-scripts/run-startup-scripts - Type=idle - - [Install] - WantedBy=multi-user.target - - oem: - id: gce - name: Google Compute Engine - version-id: @@OEM_VERSION_ID@@ - home-url: https://cloud.google.com/products/compute-engine/ - bug-report-url: https://github.com/coreos/bugs/issues - -write_files: - - path: /etc/profile.d/google-cloud-sdk.sh - permissions: 0644 - content: | - #!/bin/sh - alias gcloud="(docker images google/cloud-sdk || docker pull google/cloud-sdk) > /dev/null;docker run -t -i --net="host" -v $HOME/.config:/.config -v /var/run/docker.sock:/var/run/docker.sock google/cloud-sdk gcloud" - alias gcutil="(docker images google/cloud-sdk || docker pull google/cloud-sdk) > /dev/null;docker run -t -i --net="host" -v $HOME/.config:/.config google/cloud-sdk gcutil" - alias gsutil="(docker images google/cloud-sdk || docker pull google/cloud-sdk) > /dev/null;docker run -t -i --net="host" -v $HOME/.config:/.config google/cloud-sdk gsutil" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/coreos-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/coreos-setup-environment deleted file mode 100755 index e7951b7c9e..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/coreos-setup-environment +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -e - -ENV=$1 -METADATA_URL="http://169.254.169.254/computeMetadata/" - -if [ -z "$ENV" ]; then - echo usage: $0 /etc/environment - exit 1 -fi - -# test for rw -touch $ENV -if [ $? -ne 0 ]; then - echo exiting, unable to modify: $ENV - exit 1 -fi - -get_value() { - curl --fail --silent --show-error \ - -H "X-Google-Metadata-Request: True" \ - "${METADATA_URL}v1/instance/$1" -} - -block-until-url "${METADATA_URL}" -external_ip=$(get_value network-interfaces/0/access-configs/0/external-ip) -public_ip=$(get_value network-interfaces/0/ip) - -sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \ - -e '/^COREOS_PRIVATE_IPV4=/d' \ - "${ENV}" - -echo COREOS_PUBLIC_IPV4=${external_ip} >> $ENV -echo COREOS_PRIVATE_IPV4=${public_ip} >> $ENV diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-add-metadata-host b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-add-metadata-host deleted file mode 100755 index e4fd4cd92c..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-add-metadata-host +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -entry="169.254.169.254 metadata" - -grep -qs "${entry}" /etc/hosts - -if [ $? -ne 0 ]; then - echo ${entry} >> /etc/hosts -fi diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-coreos-cloudinit b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-coreos-cloudinit deleted file mode 100644 index fb7ae5441f..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-coreos-cloudinit +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -METADATA_URL="http://169.254.169.254/computeMetadata/" -TMPFILE=$(mktemp /tmp/XXXXXX-cloud-init) -if [[ $? -ne 0 || ! -f "${TMPFILE}" ]]; then - echo "Failed to create temp file for user-data" >&2 - exit 1 -fi -trap "rm -f '${TMPFILE}'" EXIT - -try_cloudinit() { - local id="$1" - local url="${METADATA_URL}v1/${id}/attributes/user-data" - - echo "Trying to fetch $id user-data..." - curl --fail --silent --show-error \ - -H "X-Google-Metadata-Request: True" \ - -o "${TMPFILE}" "${url}" - - ret=$? - if [[ $ret -ne 0 && $ret -ne 22 ]]; then - echo "curl failed with error code $ret" >&2 - return $ret - elif [[ $ret -eq 22 || ! -s "${TMPFILE}" ]]; then - echo "$id user-data is missing or empty, skipping" - return 0 - fi - - coreos-cloudinit --from-file="${TMPFILE}" - return $? -} - -block-until-url "${METADATA_URL}" -try_cloudinit project && try_cloudinit instance diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-ssh-key b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-ssh-key deleted file mode 100755 index 2820a99494..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/gce-ssh-key +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -e - -set -e - -URL_PREFIX="http://169.254.169.254/computeMetadata/v1beta1/" - -update_keys() { - local id="$1" - local url="${URL_PREFIX}${id}/attributes/sshKeys" - - # The key may have a username: prerix which must be stripped - local keys=$(curl --fail -s "$url" | sed -re 's/^\w*://') - if [[ -n "$keys" ]]; then - update-ssh-keys -a "gce-$id" <<<"$keys" - fi -} - -block-until-url "$URL_PREFIX" -# Generally sshKeys is only defined per-project -# but might as well support per-instance too. -update_keys project -update_keys instance diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release new file mode 100644 index 0000000000..407d738610 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release @@ -0,0 +1,5 @@ +ID=gce +VERSION_ID=@@OEM_VERSION_ID@@ +NAME="Google Compute Engine" +HOME_URL="https://cloud.google.com/products/compute-engine/" +BUG_REPORT_URL="https://github.com/coreos/bugs/issues" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-accounts-manager.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-accounts-manager.service new file mode 100644 index 0000000000..1b4545ba1f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-accounts-manager.service @@ -0,0 +1,12 @@ +[Unit] +Description=Google Compute Engine User Accounts Manager Daemon +After=network.target +Before=sshd.service +Requires=network.target + +[Service] +Type=simple +ExecStart=/usr/share/oem/python/bin/python2.7 /usr/share/oem/google-compute-daemon/manage_accounts.py + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-address-manager.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-address-manager.service new file mode 100644 index 0000000000..4eccef0ed4 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-address-manager.service @@ -0,0 +1,11 @@ +[Unit] +Description=Google Compute Engine Address Manager Daemon +After=network.target +Requires=network.target + +[Service] +Type=simple +ExecStart=/usr/share/oem/python/bin/python2.7 /usr/share/oem/google-compute-daemon/manage_addresses.py + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-clock-sync-manager.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-clock-sync-manager.service new file mode 100644 index 0000000000..277b50b364 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-clock-sync-manager.service @@ -0,0 +1,11 @@ +[Unit] +Description=Google Compute Engine Clock Sync Daemon +After=network.target +Requires=network.target + +[Service] +Type=simple +ExecStart=/usr/share/oem/python/bin/python2.7 /usr/share/oem/google-compute-daemon/manage_clock_sync.py + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-startup-scripts-onboot.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-startup-scripts-onboot.service new file mode 100644 index 0000000000..6c393e8576 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-startup-scripts-onboot.service @@ -0,0 +1,15 @@ +[Unit] +Description=Google Compute Engine Startup Scripts +After=network.target +After=local-fs.target +Before=sshd.service +Requires=network.target +Requires=local-fs.target + +[Service] +Type=oneshot +Environment=GOOGLE_SCRIPTS_PREFIX=/usr/share/oem/google-startup-scripts +ExecStart=/usr/share/oem/google-startup-scripts/onboot + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-startup-scripts.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-startup-scripts.service new file mode 100644 index 0000000000..c3e517b5af --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/google-startup-scripts.service @@ -0,0 +1,14 @@ +[Unit] +Description=Google Compute Engine user startup scripts +After=network.target +After=google-startup-scripts-onboot.service +Requires=google-startup-scripts-onboot.service +Requires=network.target + +[Service] +Environment=GOOGLE_SCRIPTS_PREFIX=/usr/share/oem/google-startup-scripts +ExecStart=/usr/share/oem/google-startup-scripts/run-startup-scripts +Type=idle + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-0.0.6.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-1.3.2.ebuild similarity index 55% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-0.0.6.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-1.3.2.ebuild index 17fb643528..a835239a8a 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-0.0.6.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-1.3.2.ebuild @@ -16,23 +16,18 @@ IUSE="" S="${WORKDIR}" RDEPEND=" - app-emulation/google-compute-daemon - app-emulation/google-startup-scripts + ~app-emulation/google-compute-daemon-${PV} + ~app-emulation/google-startup-scripts-${PV} " src_prepare() { sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \ - "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die + "${FILESDIR}/oem-release" > "${T}/oem-release" || die } src_install() { - into "/usr/share/oem" - dobin "${FILESDIR}/gce-ssh-key" - dobin "${FILESDIR}/gce-coreos-cloudinit" - dobin "${FILESDIR}/gce-add-metadata-host" - dobin "${FILESDIR}/coreos-setup-environment" - insinto "/usr/share/oem" - doins "${T}/cloud-config.yml" doins "${FILESDIR}/grub.cfg" + doins "${T}/oem-release" + doins -r "${FILESDIR}/units" }