diff options
author | Scott Dodson <sdodson@redhat.com> | 2018-01-24 08:10:53 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-24 08:10:53 -0500 |
commit | 7e112b2c5893623dcd059813c993b0fab57e58b4 (patch) | |
tree | fb226772ec0f0273cef60f903ab7f3bd17d06e68 /roles/openshift_gcp/templates/provision.j2.sh | |
parent | dd5c2a24872490f34be8516e4f03a4076be35789 (diff) | |
parent | f2b14d2e76d8a9b19d9515f00c0eac85876363f5 (diff) | |
download | openshift-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.sh | 17 |
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 |