Write meta-data as yaml
This commit is contained in:
parent
c60d1f8565
commit
db57af5bca
@ -20,7 +20,7 @@ module Vagrant
|
||||
|
||||
if !user_data_configs.empty?
|
||||
user_data = setup_user_data(machine, env, user_data_configs)
|
||||
meta_data = { "instance-id": "i-#{machine.id.split('-').join}" }
|
||||
meta_data = { "instance-id" => "i-#{machine.id.split('-').join}" }
|
||||
|
||||
write_cfg_iso(machine, env, user_data, meta_data)
|
||||
end
|
||||
@ -97,7 +97,7 @@ module Vagrant
|
||||
source_dir = Pathname.new(Dir.mktmpdir(TEMP_PREFIX))
|
||||
File.open("#{source_dir}/user-data", 'w') { |file| file.write(user_data.to_s) }
|
||||
|
||||
File.open("#{source_dir}/meta-data", 'w') { |file| file.write(meta_data.to_s) }
|
||||
File.open("#{source_dir}/meta-data", 'w') { |file| file.write(meta_data.to_yaml) }
|
||||
|
||||
iso_path = env[:env].host.capability(:create_iso,
|
||||
source_dir, volume_id: "cidata")
|
||||
|
||||
@ -25,7 +25,7 @@ describe Vagrant::Action::Builtin::CloudInitSetup do
|
||||
let(:text_cfgs) { [MIME::Text.new("data: true", "cloud-config"),
|
||||
MIME::Text.new("data: false", "cloud-config") ] }
|
||||
|
||||
let(:meta_data) { { "instance-id": "i-123456789" } }
|
||||
let(:meta_data) { { "instance-id" => "i-123456789" } }
|
||||
|
||||
|
||||
let(:subject) { described_class.new(app, env) }
|
||||
@ -96,6 +96,11 @@ describe Vagrant::Action::Builtin::CloudInitSetup do
|
||||
describe "#write_cfg_iso" do
|
||||
let(:iso_path) { Pathname.new("fake/iso/path") }
|
||||
let(:source_dir) { Pathname.new("fake/source/path") }
|
||||
let(:meta_data_file) { double("meta_data_file") }
|
||||
|
||||
before do
|
||||
allow(meta_data_file).to receive(:write).and_return(true)
|
||||
end
|
||||
|
||||
it "raises an error if the host capability is not supported" do
|
||||
message = subject.generate_cfg_msg(machine, text_cfgs)
|
||||
@ -109,12 +114,13 @@ describe Vagrant::Action::Builtin::CloudInitSetup do
|
||||
allow(host).to receive(:capability?).with(:create_iso).and_return(true)
|
||||
allow(Dir).to receive(:mktmpdir).and_return(source_dir)
|
||||
expect(File).to receive(:open).with("#{source_dir}/user-data", 'w').and_return(true)
|
||||
expect(File).to receive(:open).with("#{source_dir}/meta-data", 'w').and_return(true)
|
||||
expect(File).to receive(:open).with("#{source_dir}/meta-data", 'w').and_yield(meta_data_file)
|
||||
expect(FileUtils).to receive(:remove_entry).with(source_dir).and_return(true)
|
||||
allow(host).to receive(:capability).with(:create_iso, source_dir, volume_id: "cidata").and_return(iso_path)
|
||||
expect(vm.disks).to receive(:each)
|
||||
expect(meta_data).to receive(:to_yaml)
|
||||
|
||||
subject.write_cfg_iso(machine, env, message, {})
|
||||
subject.write_cfg_iso(machine, env, message, meta_data)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user