2016-07-27 4 views
3

У меня проблема с Packer и RancherOS. Я пытаюсь создать пользовательское изображение rancherOS с файлом cloud-config. Я работаю над MacOSX.SSH не удалось при создании RancherOS с упаковщиком

У меня есть этот build.json файл

{ 
    "variables": { 
     "vm_name" : "" 
    }, 
    "builders": [ 
     { 
      "type": "vmware-iso", 
      "iso_url": "rancheros.iso", 
      "guest_os_type": "other", 
      "iso_checksum_type": "md5", 
      "iso_checksum": "467caa8394684ba54e8731aed8480652", 
      "output_directory": "output_rancheros", 
      "ssh_wait_timeout": "30s", 
      "shutdown_command": "sudo shutdown -h now", 
      "disk_size": 20000, 
      "ssh_username": "rancher", 
      "ssh_password": "rancher", 
      "ssh_port": 22, 
      "ssh_wait_timeout": "90m", 
      "vm_name": "{{ user `vm_name` }}", 
      "boot_wait": "10s", 
      "vmx_data": { 
       "memsize": "4096" 
      } 
     } 
    ], 
    "provisioners": [ 
     { 
      "type":"file", 
      "source": "cloud-config.yml", 
      "destination": "/tmp/cloud-config.yml" 
     }, 
     { 
      "type": "shell", 
      "inline": [ 
       "sudo ros install -d /dev/sda -f -t generic -c /tmp/cloud-config.yml" 
      ] 
     } 
    ] 
} 

Вдоль стороны у меня есть cloud-config.yml, содержащий только мой SSH ключ

#cloud-config 
ssh_authorized_keys: 
    - ssh-rsa AAAA....d [email protected] 

Когда я запускаю команду здание packer build build.json

я получаю

vmware-iso: + umount /mnt/new_img 
    vmware-iso: time="2016-07-27T05:52:35Z" level=fatal msg=EOF 
    vmware-iso: Continue with reboot [y/N]: 
==> vmware-iso: Stopping virtual machine... 
==> vmware-iso: Deleting output directory... 
Build 'vmware-iso' errored: Script exited with non-zero exit status: 1 

==> Some builds didn't complete successfully and had errors: 
--> vmware-iso: Script exited with non-zero exit status: 1 

==> Builds finished but no artifacts were created. 

Если я правильно понимаю. Мой скрипт работает, но при перезагрузке виртуальной машины новый SSH-ключ не работает.

Я не знаю, как это решить. Может, кто-то мне поможет.

С наилучшими пожеланиями

+0

у вас возникла проблема с таймерами пакетов ssh? Я использую почти тот же json (кроме использования vbox вместо vmware), и я не могу ssh в него. Ошибка: «Ошибка сборки« virtualbox-iso »: ssh: handshake не удалось: ssh: не удалось выполнить проверку подлинности, попытаться методы [пароль-клавиатура-интерактивный нет], не поддерживаются поддерживаемые методы» –

+0

Я никогда не пробовал с VirtualBox, вы можете создать сообщение в StackOverflow, чтобы я мог помочь? Мне нужен хотя бы файл template.json. – Sapher

+0

спасибо. https://stackoverflow.com/questions/49133676/handshake-failed-ssh-unable-to-authenticate-attempted-methods-none-password –

ответ

4

Я нашел решение

Просто добавьте -no-reboot флаг команды sudo ros install -d /dev/sda -f -t generic -c /tmp/cloud-config.yml сделать трюк.

Таким образом, во время генерации перезагрузка не будет выполнена.

 Смежные вопросы

  • Нет связанных вопросов^_^