This repository has been archived by the owner on Mar 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Vagrantfile.erb
37 lines (34 loc) · 1.49 KB
/
Vagrantfile.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "dummy"
config.ssh.private_key_path = "<%= @provider_config.fetch("private_key_path") %>"
config.ssh.username = "<%= @provider_config.fetch("vagrant_user") %>"
config.vm.provider :openstack do |os|
os.server_name = "boxci<%= rand(10000) -%>.<%= @provider_config.fetch("domain_name") -%>"
os.username = "<%= @provider_config.fetch("username") %>"
os.api_key = "<%= @provider_config.fetch("password") %>"
os.flavor = Regexp.new('<%= @provider_config.fetch("box_size_flavor_map")[@project_config.box_size] -%>')
os.image = Regexp.new('<%= @provider_config.fetch("image") -%>')
os.endpoint = "<%= @provider_config.fetch('endpoint') -%>"
os.keypair_name = "<%= @provider_config.fetch("key_pair") %>"
os.metadata = {}
os.network = "<%= @provider_config.fetch('network') -%>"
end
config.vm.provision :puppet do |puppet|
puppet.facter = {
<% @project_config.puppet_facts.each do |k, v| %>
"<%= k %>" => "<%= v %>",
<% end %>
"role" => "boxci",
"vagrant_user" => "<%= @provider_config.fetch("vagrant_user") %>",
"vagrant_home" => "<%= @provider_config.fetch("vagrant_home") %>"
}
puppet.module_path = "<%= @puppet_path %>/modules"
puppet.manifests_path = "<%= @puppet_path %>/manifests"
puppet.manifest_file = "main.pp"
<% if @options["verbose"] == true %>
puppet.options = "--verbose --debug"
<% end %>
end
end