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) ⇒ Object



521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
# File 'lib/chef/knife/rackspace_server_create.rb', line 521

def get_networks(names)
  names = Array(names)
  if(Chef::Config[:knife][:rackspace_version] == 'v2')
    if(config[:default_networks])
      nets = [
        '00000000-0000-0000-0000-000000000000',
        '11111111-1111-1111-1111-111111111111'
      ]
    else
      nets = []
    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



515
516
517
518
519
# File 'lib/chef/knife/rackspace_server_create.rb', line 515

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