Public bug reported:

I've got the following terraform config:

resource "google_compute_instance" "instance" {
  name         = "${var.name}"
  machine_type = "${var.type}"
  zone         = "${var.zone}"


  boot_disk {
    initialize_params {
      image = "ubuntu-os-cloud/ubuntu-1604-lts"
    }
  }

  attached_disk {
    source = "${google_compute_disk.data-disk.self_link}"
  }

  # metadata {
  #   ssh-keys = "${var.ssh_keys}"
  # }

  provisioner "remote-exec" {
    script = "${path.module}/attach-data-disk.sh"

    connection {
      type = "ssh"
      user = "ubuntu"
    }
  }
}

It creates a disk and an instance with that disk attached. After that it tries 
to connect over ssh to that instance as ubuntu user and keys from ssh-agent to 
format and mount attached disk.
It works well since I've got my public key in project metadata and cloud-init 
adds it as authorized key for ubuntu user on startup.

If I uncomment metadata block it'll add ssh-keys field to instance
metadata and I'll be never success with the following ssh connection
unless I add my public key to instance metadata.


Provider: Google Cloud Platform
cloud-init version: 0.7.9-153-g16a7302f-0ubuntu1~16.04.2
Logs:
ci-info: no authorized ssh keys fingerprints found for user ubuntu

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1718867

Title:
  [gce] cloud-init ignores project metadata ssh-keys if instance
  metadata is not empty

Status in cloud-init:
  New

Bug description:
  I've got the following terraform config:

  resource "google_compute_instance" "instance" {
    name         = "${var.name}"
    machine_type = "${var.type}"
    zone         = "${var.zone}"

  
    boot_disk {
      initialize_params {
        image = "ubuntu-os-cloud/ubuntu-1604-lts"
      }
    }

    attached_disk {
      source = "${google_compute_disk.data-disk.self_link}"
    }

    # metadata {
    #   ssh-keys = "${var.ssh_keys}"
    # }

    provisioner "remote-exec" {
      script = "${path.module}/attach-data-disk.sh"

      connection {
        type = "ssh"
        user = "ubuntu"
      }
    }
  }

  It creates a disk and an instance with that disk attached. After that it 
tries to connect over ssh to that instance as ubuntu user and keys from 
ssh-agent to format and mount attached disk.
  It works well since I've got my public key in project metadata and cloud-init 
adds it as authorized key for ubuntu user on startup.

  If I uncomment metadata block it'll add ssh-keys field to instance
  metadata and I'll be never success with the following ssh connection
  unless I add my public key to instance metadata.

  
  Provider: Google Cloud Platform
  cloud-init version: 0.7.9-153-g16a7302f-0ubuntu1~16.04.2
  Logs:
  ci-info: no authorized ssh keys fingerprints found for user ubuntu

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1718867/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to