class Kontena::Plugin::Vagrant::Nodes::CreateCommand
Public Instance Methods
ask_instance_memory()
click to toggle source
# File lib/kontena/plugin/vagrant/nodes/create_command.rb, line 59 def ask_instance_memory if self.memory.nil? prompt.select("Choose a size ") do |menu| %w(1024 2048 4096).each do |mem| menu.choice "#{mem}MB", mem end end else self.memory end end
ask_instances()
click to toggle source
# File lib/kontena/plugin/vagrant/nodes/create_command.rb, line 51 def ask_instances if self.instances.nil? prompt.ask("How many nodes?: ", default: 1, in: '1..10') else self.instances end end
execute()
click to toggle source
# File lib/kontena/plugin/vagrant/nodes/create_command.rb, line 14 def execute api_url = require_api_url require_current_grid instance_count = ask_instances instance_memory = ask_instance_memory require_relative '../../../machine/vagrant' grid = fetch_grid provisioner = provisioner(client(require_token)) require 'ipaddr' ip_address = if network_address == "dhcp" nil else IPAddr.new network_address end instance_count.to_i.times do |i| provisioner.run!( master_uri: api_url, grid_token: grid['token'], grid: current_grid, name: name, instance_number: i + 1, network_address: ip_address ? ip_address.to_s : "dhcp", cpus: cpus, memory: instance_memory, version: version, coreos_channel: coreos_channel ) ip_address = ip_address.succ if ip_address end end
fetch_grid()
click to toggle source
@return [Hash]
# File lib/kontena/plugin/vagrant/nodes/create_command.rb, line 77 def fetch_grid client(require_token).get("grids/#{current_grid}") end
provisioner(client)
click to toggle source
@param [Kontena::Client] client
# File lib/kontena/plugin/vagrant/nodes/create_command.rb, line 72 def provisioner(client) Kontena::Machine::Vagrant::NodeProvisioner.new(client) end