X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=Vagrantfile;h=ea8593d244c71adc6fad7cb0ff4aea8444f75e1c;hb=41776ab3743c491e4ff4c31e7a2ea48abe6451a2;hp=377b21552f3c79d6d7d2a6afca28216caa2dbb5c;hpb=71b5424fc45bb2fdf57d4067bc351b31dc424539;p=icn.git diff --git a/Vagrantfile b/Vagrantfile index 377b215..ea8593d 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -11,23 +11,30 @@ require 'yaml' # by vagrant from the jump machine definition) is up. site = ENV['ICN_SITE'] || 'vm' +with_jenkins = ENV['WITH_JENKINS'] || false # Calculate the baremetal network address from the bmcAddress (aka # IPMI address) specified in the machine pool values. IPMI in the # virtual environment is emulated by virtualbmc listening on the host. baremetal_cidr = nil -Dir.glob("deploy/site/#{site}/*.yaml") do |file| +registry_mirrors = nil +Dir.glob("deploy/site/#{site}/deployment/*.yaml") do |file| YAML.load_stream(File.read(file)) do |document| values = document.fetch('spec', {}).fetch('values', {}) - next if values['machineName'].nil? || values['bootMACAddress'].nil? - bmc_host = URI.parse(values['bmcAddress']).host - baremetal_cidr = "#{IPAddr.new(bmc_host).mask(24)}/24" + unless values['bmcAddress'].nil? + bmc_host = URI.parse(values['bmcAddress']).host + baremetal_cidr = "#{IPAddr.new(bmc_host).mask(24)}/24" + end + unless values['dockerRegistryMirrors'].nil? + registry_mirrors = values['dockerRegistryMirrors'].join(' ') + end end end if baremetal_cidr.nil? puts "Missing bmcAddress value in site definition, can't determine baremetal network address" exit 1 end +baremetal_gw = IPAddr.new(baremetal_cidr).succ $post_up_message = < "#{site}-provisioning", :type => 'dhcp' - # IPMI control of machines is provided by vbmc on the host + # BMC control of machines is provided by sushy-emulator on the host m.trigger.after [:up] do |trigger| - trigger.name = 'Starting virtualbmc for IPMI network' - trigger.run = {inline: "./tools/vagrant/start_vbmc.sh"} + trigger.name = 'Starting sushy for BMC network' + trigger.run = {inline: "./tools/vagrant/start_sushy.sh #{baremetal_gw}"} end m.trigger.after [:destroy] do |trigger| - trigger.name = 'Stopping virtualbmc for IPMI network' - trigger.run = {inline: "./tools/vagrant/stop_vbmc.sh"} + trigger.name = 'Stopping sushy for BMC network' + trigger.run = {inline: "./tools/vagrant/stop_sushy.sh #{baremetal_gw}"} end m.trigger.after [:up] do |trigger| trigger.name = 'Creating ICN user_config.sh' - trigger.run = {inline: "./tools/vagrant/create_user_config.sh"} + trigger.run = {inline: "bash -c 'DOCKER_REGISTRY_MIRRORS=\"#{registry_mirrors}\" ./tools/vagrant/create_user_config.sh'"} end m.vm.provision 'Configuring ICN prerequisites', type: 'shell', privileged: true, inline: <<-SHELL ssh-keygen -f "${HOME}/.ssh/id_rsa" -P "" << "#{site}-baremetal", :type => 'dhcp' - - # IPMI control - m.trigger.after [:up] do |trigger| - trigger.name = 'Adding machine to IPMI network' - trigger.run = {inline: "./tools/vagrant/add_machine_to_vbmc.sh #{site} #{machine_name} #{bmc_port}"} - end - m.trigger.after [:destroy] do |trigger| - trigger.name = 'Removing machine from IPMI network' - trigger.run = {inline: "./tools/vagrant/remove_machine_from_vbmc.sh #{site} #{machine_name} #{bmc_port}"} - end - - # Create configuration for ICN provisioning - legacy_machine_args = "#{legacy_machine_args} #{machine_name} #{bmc_port}" - m.trigger.after [:up] do |trigger| - trigger.info = 'Creating nodes.json.sample describing the machines' - trigger.run = {inline: "./tools/vagrant/create_nodes_json_sample.sh #{site} #{legacy_machine_args}"} - end - m.trigger.after [:up] do |trigger| - trigger.info = 'Creating Provisioning resource describing the cluster' - trigger.run = {inline: "./tools/vagrant/create_provisioning_cr.sh #{site} #{legacy_machine_args}"} - end end end end