ruby - storage-attach id 与 vagrant 自定义 id 不同
问题描述
我正在使用 vagrant 和 ubuntu16.04 。
当我跑无业游民时,我得到了错误
A customization command failed:
["storageattach", :id, "--storagectl", "IDE Controller", "--port", 1, "--device", 0, "--type", "hdd", "--medium", "server.vdi"]
The following error was experienced:
#<Vagrant::Errors::VBoxManageError: There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["storageattach", "538c4e03-f4ea-4adf-af6e-02d303d56f13", "--storagectl", "IDE Controller", "--port", "1", "--device", "0", "--type", "hdd", "--medium", "server.vdi"]
Stderr: VBoxManage: error: Could not find a controller named 'IDE Controller'
>
Please fix this customization and try again.
脚本生成的id和virtualbox机器一之间似乎有冲突。
我的流浪文件是
# -*- mode: ruby -*-
# vi: set ft=ruby :
server_disk='server.vdi'
desktop_disk='desktop.vdi'
Vagrant.configure(2) do |config|
config.vm.box = "centos/7"
config.vm.define "classroom" do |s|
s.vbguest.auto_update = false
s.vm.network "private_network", ip: "192.168.33.254"
s.vm.synced_folder ".", "/vagrant", disabled: true
#s.vm.synced_folder "../repos", "/repos", owner: "root", group: "root"
s.vm.synced_folder "scripts/classroom", "/usr/local/scripts", type: "rsync", owner: "root", group: "root"
s.vm.provision "shell", inline: <<-SHELL
chmod u+x /usr/local/scripts/classroom.sh
/usr/local/scripts/classroom.sh
SHELL
end
config.vm.define "server" do |a|
a.vbguest.auto_update = false
a.vm.provider "virtualbox" do |v|
unless File.exist?(server_disk)
v.customize ['createhd', '--filename', server_disk, '--size', 20 * 1024]
end
v.customize ['storageattach', :id, '--storagectl', 'IDE Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', server_disk]
end
a.vm.network "private_network", ip: "192.168.33.11"
a.vm.synced_folder ".", "/vagrant", disabled: true
a.vm.synced_folder "scripts/server", "/usr/local/scripts", type: "rsync", owner: "root", group: "root"
a.vm.provision "shell", inline: <<-SHELL
chmod u+x /usr/local/scripts/server.sh
/usr/local/scripts/server.sh
SHELL
end
config.vm.define "desktop" do |b|
b.vbguest.auto_update = false
b.vm.provider "virtualbox" do |v|
unless File.exist?(desktop_disk)
v.customize ['createhd', '--filename', desktop_disk, '--size', 20 * 1024]
end
v.customize ['storageattach', :id, '--storagectl', 'IDE Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', desktop_disk]
end
b.vm.network "private_network", ip: "192.168.33.10"
b.vm.synced_folder ".", "/vagrant", disabled: true
b.vm.synced_folder "scripts/desktop", "/usr/local/scripts", type: "rsync", owner: "root", group: "root"
b.vm.provision "shell", inline: <<-SHELL
chmod u+x /usr/local/scripts/desktop.sh
/usr/local/scripts/desktop.sh
SHELL
end
end
VBoxManage list vms 输出为“ubuntu-server”{bc38335e-ddf7-48a1-b0be-3df2495b91df}
解决方案
将 IDECONTROLLER 更改为 IDE 后问题已修复
推荐阅读
- ios - 使用 Firebase-iOS 观察实时聊天数据时应用程序崩溃
- node.js - 对于 DynamoDB 和节点,我应该使用数据映射器吗?
- html - 表体列与标题列的宽度不同
- python - petl 从重复条目中转换数据
- angular - 动态组件 - createComponent - OnChanges
- javascript - CSS Div 高度未扩展以适应内容或包装内容
- java - 处理空指针异常不起作用
- javascript - Javascript为开始/停止动画分配相同的按钮
- apache-spark-sql - Spark SQL RANK() over ROWS BETWEEN UNBOUNDED PRECEDING 和 UNBOUNDED FOLLOWING 失败
- java - Java:关闭挂钩中的线程