在等待SSH可用时,packer vmware-iso本地ubuntu内部版本会挂起

时间:2019-01-09 06:24:10

标签: ubuntu vmware packer

打包器版本:打包器v1.3.3

主机平台: MacOS Mojave 10.14.2(18C54)

您好,我正在尝试构建一个非常简单的vmware-iso(本地而非远程)。构建开始,经过前几个步骤,然后挂起==> vmware-iso: Waiting for SSH to become available...直到达到shh_wait超时(我尝试了几种不同的等待时间)。如果在将headless设置为false的情况下运行,那么ubuntu Provisioning vm将显示一个屏幕,在其中设置驱动器并即将对其进行格式化。有什么想法会导致ssh可用性挂起,即使它看起来像在上一步中正常工作一样?

{
  "variables": {},
  "builders": [
    {
      "type": "vmware-iso",
      "iso_url": "http://releases.ubuntu.com/bionic/ubuntu-18.04.1.0-live-server-amd64.iso",
      "iso_checksum": "188741f61c23d112a2564b0a864e25a3",
      "iso_checksum_type": "MD5",
      "guest_os_type": "ubuntu-64",
      "ssh_username": "dev",
      "ssh_password": "dev",
      "vm_name": "sqldb-vmware",
      "ssh_port": 22,
      "ssh_wait_timeout": "10m",
      "vmx_data": {
        "numvcpus": "2",
        "memsize": "2048"
      },
      "http_directory" : "http",
      "boot_command": [
        "<esc><wait>",
        "<esc><wait>",
        "<enter><wait>",
        "/install/vmlinuz<wait>",
        " auto<wait>",
        " console-setup/ask_detect=false<wait>",
        " console-setup/layoutcode=us<wait>",
        " console-setup/modelcode=pc105<wait>",
        " debconf/frontend=noninteractive<wait>",
        " debian-installer=en_US<wait>",
        " fb=false<wait>",
        " initrd=/install/initrd.gz<wait>",
        " kbd-chooser/method=us<wait>",
        " keyboard-configuration/layout=USA<wait>",
        " keyboard-configuration/variant=USA<wait>",
        " locale=en_US<wait>",
        " netcfg/get_domain=vm<wait>",
        " netcfg/get_hostname=ubuntubase<wait>",
        " grub-installer/bootdev=/dev/sda<wait>",        
        " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg<wait>",
        " -- <wait>",
        "<enter><wait>"
      ],
      "boot_wait": "20s",
      "shutdown_command": "echo 'packer' | sudo -S shutdown -P now"
    }
  ]
}

打包调试日志:https://gist.github.com/spstratis/73f4d662fd93917fb7e4a2278a5854f5

这是在等待SSH可用时在构建器VM上显示的内容。 Display on VM while waiting for SSH

1 个答案:

答案 0 :(得分:1)

您需要在preseed.cfg目录中有一个http,其中包含安装程序如何安装Ubuntu的说明,有关{seeded}的更多信息,请参见Preseed wiki