Module: Kontena::Machine::Azure::Common

Included in:
MasterProvisioner, NodeProvisioner
Defined in:
lib/kontena/machine/azure/common.rb

Instance Method Summary collapse

Instance Method Details

#create_virtual_network(name, location) ⇒ Object



6
7
8
9
10
# File 'lib/kontena/machine/azure/common.rb', line 6

def create_virtual_network(name, location)
  address_space = ['10.0.0.0/20']
  options = {subnet: [{:name => 'subnet-1',  :ip_address=>'10.0.0.0',  :cidr=>23}]}
  client.network_management.set_network_configuration(name, location, address_space, options)
end

#erb(template, vars) ⇒ Object



16
17
18
# File 'lib/kontena/machine/azure/common.rb', line 16

def erb(template, vars)
  ERB.new(template).result(OpenStruct.new(vars).instance_eval { binding })
end

#find_coreos_imageString



21
22
23
24
25
26
27
28
29
# File 'lib/kontena/machine/azure/common.rb', line 21

def find_coreos_image
  images = client.vm_image_management.list_os_images.select { |i|
    i.name.include?('__CoreOS-Stable-')
  }.sort_by { |i|
    i.name.split('__CoreOS-Stable-')[1].to_i
  }
  image = images[-1]
  image.name
end

#virtual_network_exist?(name) ⇒ Boolean



12
13
14
# File 'lib/kontena/machine/azure/common.rb', line 12

def virtual_network_exist?(name)
  client.network_management.list_virtual_networks.find{|n| n.name == name}
end