summaryrefslogtreecommitdiffstats
path: root/roles/openshift_gcp/templates/provision.j2.sh
diff options
context:
space:
mode:
authorScott Dodson <sdodson@redhat.com>2018-01-24 08:10:53 -0500
committerGitHub <noreply@github.com>2018-01-24 08:10:53 -0500
commit7e112b2c5893623dcd059813c993b0fab57e58b4 (patch)
treefb226772ec0f0273cef60f903ab7f3bd17d06e68 /roles/openshift_gcp/templates/provision.j2.sh
parentdd5c2a24872490f34be8516e4f03a4076be35789 (diff)
parentf2b14d2e76d8a9b19d9515f00c0eac85876363f5 (diff)
downloadopenshift-7e112b2c5893623dcd059813c993b0fab57e58b4.tar.gz
openshift-7e112b2c5893623dcd059813c993b0fab57e58b4.tar.bz2
openshift-7e112b2c5893623dcd059813c993b0fab57e58b4.tar.xz
openshift-7e112b2c5893623dcd059813c993b0fab57e58b4.zip
Merge pull request #6541 from smarterclayton/move_gcp_in
Allow openshift-ansible image to deploy to GCP
Diffstat (limited to 'roles/openshift_gcp/templates/provision.j2.sh')
-rw-r--r--roles/openshift_gcp/templates/provision.j2.sh17
1 files changed, 14 insertions, 3 deletions
diff --git a/roles/openshift_gcp/templates/provision.j2.sh b/roles/openshift_gcp/templates/provision.j2.sh
index 4d150bc74..794985322 100644
--- a/roles/openshift_gcp/templates/provision.j2.sh
+++ b/roles/openshift_gcp/templates/provision.j2.sh
@@ -9,15 +9,26 @@ if [[ -n "{{ openshift_gcp_ssh_private_key }}" ]]; then
ssh-add "{{ openshift_gcp_ssh_private_key }}" || true
fi
- # Check if the ~/.ssh/google_compute_engine.pub key is in the project metadata, and if not, add it there
- pub_key=$(cut -d ' ' -f 2 < "{{ openshift_gcp_ssh_private_key }}.pub")
+ # Check if the public key is in the project metadata, and if not, add it there
+ if [ -f "{{ openshift_gcp_ssh_private_key }}.pub" ]; then
+ pub_file="{{ openshift_gcp_ssh_private_key }}.pub"
+ pub_key=$(cut -d ' ' -f 2 < "{{ openshift_gcp_ssh_private_key }}.pub")
+ else
+ keyfile="${HOME}/.ssh/google_compute_engine"
+ pub_file="${keyfile}.pub"
+ mkdir -p "${HOME}/.ssh"
+ cp "{{ openshift_gcp_ssh_private_key }}" "${keyfile}"
+ chmod 0600 "${keyfile}"
+ ssh-keygen -y -f "${keyfile}" > "${pub_file}"
+ pub_key=$(cut -d ' ' -f 2 < "${pub_file}")
+ fi
key_tmp_file='/tmp/ocp-gce-keys'
if ! gcloud --project "{{ openshift_gcp_project }}" compute project-info describe | grep -q "$pub_key"; then
if gcloud --project "{{ openshift_gcp_project }}" compute project-info describe | grep -q ssh-rsa; then
gcloud --project "{{ openshift_gcp_project }}" compute project-info describe | grep ssh-rsa | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/value: //' > "$key_tmp_file"
fi
echo -n 'cloud-user:' >> "$key_tmp_file"
- cat "{{ openshift_gcp_ssh_private_key }}.pub" >> "$key_tmp_file"
+ cat "${pub_file}" >> "$key_tmp_file"
gcloud --project "{{ openshift_gcp_project }}" compute project-info add-metadata --metadata-from-file "sshKeys=${key_tmp_file}"
rm -f "$key_tmp_file"
fi