2015-08-08 57 views
0

我正在使用打包模板并尝试使用打包器,流浪和虚拟框的图像。当我运行我的包装的模板,使用以下命令:打包机生成,错误建立Ubuntu服务器,虚拟框错误

packer build -only=virtualbox-iso application-server.json 

(我打包机文件被称为应用server.json)

它下载所需的ubuntu-14.04.3服务器-i386的成功,但无法启动与下面的错误VirtualBox的:

 ←[1;32m==> virtualbox-iso: Executing custom VBoxManage commands...←[0m 
    ←[0;32m virtualbox-iso: Executing: modifyvm ubuntu-14.04.3-server-i386 --memo 
    ry 1024←[0m 
    ←[0;32m virtualbox-iso: Executing: modifyvm ubuntu-14.04.3-server-i386 --cpus 
    2←[0m 
    ←[1;32m==> virtualbox-iso: Starting the virtual machine...←[0m 
    ←[1;31m==> virtualbox-iso: Error starting VM: VBoxManage error:←[0m 
    ←[1;32m==> virtualbox-iso: Unregistering and deleting virtual machine...←[0m 
    ←[1;32m==> virtualbox-iso: Deleting output directory...←[0m 
    ←[1;31mBuild 'virtualbox-iso' errored: Error starting VM: VBoxManage error: ←[0m 

==> Some builds didn't complete successfully and had errors: 
--> virtualbox-iso: Error starting VM: VBoxManage error: 

==> Builds finished but no artifacts were created. 

下面是我的包装的模板文件:

{ 
    "variables": { 
     "PACKER_OS_FLAVOUR": "ubuntu", 
     "PACKER_BOX_NAME": "ubuntu-14.04.3-server-i386", 
     "AWS_ACCESS_KEY_ID": "{{env `AWS_ACCESS_KEY_ID`}}", 
     "AWS_SECRET_ACCESS_KEY": "{{env `AWS_SECRET_ACCESS_KEY`}}" 
    }, 
    "builders": [ 
     { 
     "type": "virtualbox-iso", 
     "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=vagrant<wait>", 
      " noapic<wait>", 
      " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg<wait>", 
      " -- <wait>", 
      "<enter><wait>" 
     ], 
     "boot_wait": "10s", 
     "headless": false, 
     "disk_size": 10140, 
     "guest_additions_path": "VBoxGuestAdditions_{{.Version}}.iso", 
     "guest_os_type": "Ubuntu", 
     "http_directory": "http", 
     "iso_checksum": "a5c02e25a8f6ab335269adb1a6c176edff075093b90854439b4a90fce9b31f28", 
     "iso_checksum_type": "sha256", 
     "iso_url": "http://releases.ubuntu.com/trusty/{{ user `PACKER_BOX_NAME` }}.iso", 
     "shutdown_command": "echo 'vagrant'|sudo -S shutdown -P now", 
     "ssh_password": "vagrant", 
     "ssh_port": 22, 
     "ssh_username": "vagrant", 
     "ssh_wait_timeout": "10000s", 
     "type": "virtualbox-iso", 
     "vm_name": "{{ user `PACKER_BOX_NAME` }}", 
     "vboxmanage": [ 
      ["modifyvm", "{{.Name}}", "--memory", "1024"], 
      ["modifyvm", "{{.Name}}", "--cpus", "2"] 
     ], 
     "virtualbox_version_file": ".vbox_version" 
     }, 
     { 
     "type": "amazon-ebs", 
     "access_key": "{{ user `AWS_ACCESS_KEY_ID` }}", 
     "secret_key": "{{ user `AWS_SECRET_ACCESS_KEY` }}", 
     "region": "us-east-1", 
     "source_ami": "ami-10b68a78", 
     "instance_type": "t1.micro", 
     "ssh_username": "ubuntu", 
     "ami_name": "packer-app-server {{timestamp}}" 
     }, 
     { 
     "type": "googlecompute", 
     "account_file": "account.json", 
     "project_id": "devops-intro-project", 
     "source_image": "ubuntu-1404-trusty-v20150316", 
     "zone": "us-central1-a", 
     "image_name": "application-ubuntu-1404-{{timestamp}}", 
     "machine_type": "n1-standard-1", 
     "ssh_username": "ubuntu" 
     } 
    ], 

    "provisioners": [ 
    { 
     "type": "shell", 
     "execute_command": "echo 'vagrant'|{{.Vars}} sudo -S -E bash '{{.Path}}'", 
     "scripts": [ 
     "scripts/update.sh" 
     ] 
    }, 
    { 
    "type": "shell", 
    "only": ["virtualbox-iso"], 
    "execute_command": "echo 'vagrant'|sudo -S -E bash '{{.Path}}'", 
    "scripts": [ 
     "scripts/virtualbox.sh", 
     "scripts/vagrant.sh" 
     ] 
    }, 
    { 
     "type": "shell", 
     "execute_command": "echo 'vagrant'|sudo -S -E bash '{{.Path}}'", 
     "scripts": [ 
     "scripts/application.sh", 
     "scripts/cleanup.sh" 
     ] 
    } 
    ], 
    "post-processors": [ 
    [ 
     { 
     "type": "vagrant", 
     "except": ["googlecompute"], 
     "compression_level": "9", 
     "output": "{{.Provider}}/{{ user `PACKER_BOX_NAME` }}-appserver_{{.Provider}}.box" 
     } 
    ] 
    ] 
} 

回答

0

不知道你的主机操作系统,但你可以把PACKER_LOG可变看到有关Windows错误

CMD的更多信息:设置PACKER_LOG = 1 bash或任何其他壳:出口PACKER_LOG = 1

然后运行打包机构建...并共享日志的要点。

Alvaro