Class: Chef::Knife

Inherits:
Object
  • Object
show all
Defined in:
lib/chef/knife/rackspace_base.rb,
lib/chef/knife/rackspace_image_list.rb,
lib/chef/knife/rackspace_flavor_list.rb,
lib/chef/knife/rackspace_server_list.rb,
lib/chef/knife/rackspace_network_list.rb,
lib/chef/knife/rackspace_server_create.rb,
lib/chef/knife/rackspace_server_delete.rb,
lib/chef/knife/rackspace_network_create.rb,
lib/chef/knife/rackspace_network_delete.rb

Defined Under Namespace

Modules: RackspaceBase Classes: RackspaceFlavorList, RackspaceImageList, RackspaceNetworkCreate, RackspaceNetworkDelete, RackspaceNetworkList, RackspaceServerCreate, RackspaceServerDelete, RackspaceServerList

Instance Method Summary collapse

Instance Method Details

#get_networks(names, rackconnect3 = false) ⇒ Object



638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
# File 'lib/chef/knife/rackspace_server_create.rb', line 638

def get_networks(names, rackconnect3 = false)
  names = Array(names)

  if locate_config_value(:rackspace_version) == "v2"
    nets = if rackconnect3
             [locate_config_value(:rackconnect_v3_network_id)]
           elsif locate_config_value(:default_networks)
             [
               "00000000-0000-0000-0000-000000000000",
               "11111111-1111-1111-1111-111111111111",
             ]
           else
             []
           end

    available_networks = connection.networks.all

    names.each do |name|
      net = available_networks.detect { |n| n.label == name || n.id == name }
      if net
        nets << net.id
      else
        ui.error("Failed to locate network: #{name}")
        exit 1
      end
    end
    nets
  elsif names && !names.empty?
    ui.error("Custom networks are only available in v2 API")
    exit 1
  end
end

#get_node_name(chef_node_name) ⇒ Object

v2 servers require a name, random if chef_node_name is empty, empty if v1



632
633
634
635
636
# File 'lib/chef/knife/rackspace_server_create.rb', line 632

def get_node_name(chef_node_name)
  return chef_node_name unless chef_node_name.nil?
  #lazy uuids
  chef_node_name = "rs-" + rand.to_s.split(".")[1] unless version_one?
end