Class: Chef::Knife::ServerBootstrapOpenstack
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::ServerBootstrapOpenstack
- Includes:
- ServerBootstrapBase
- Defined in:
- lib/chef/knife/server_bootstrap_openstack.rb
Overview
Provisions an OpenStack instance and sets up an Open Source Chef Server.
Instance Method Summary collapse
- #openstack_bootstrap ⇒ Object
- #openstack_connection ⇒ Object
- #run ⇒ Object
- #server_ip_address ⇒ Object
Methods included from ServerBootstrapBase
Instance Method Details
#openstack_bootstrap ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/chef/knife/server_bootstrap_openstack.rb', line 62 def openstack_bootstrap ENV["WEBUI_PASSWORD"] = config_val(:webui_password) ENV["AMQP_PASSWORD"] = config_val(:amqp_password) ENV["NO_TEST"] = "1" if config[:no_test] bootstrap = Chef::Knife::OpenstackServerCreate.new Chef::Knife::OpenstackServerCreate..keys.each do |attr| val = config_val(attr) next if val.nil? bootstrap.config[attr] = val end bootstrap.config[:distro] = bootstrap_distro bootstrap end |
#openstack_connection ⇒ Object
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/chef/knife/server_bootstrap_openstack.rb', line 77 def openstack_connection @openstack_connection ||= Fog::Compute.new( :provider => :openstack, :openstack_username => config_val(:openstack_username), :openstack_password => config_val(:openstack_password), :openstack_auth_url => config_val(:openstack_auth_url), :openstack_tenant => config_val(:openstack_tenant), :openstack_region => config_val(:openstack_region) ) end |
#run ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/chef/knife/server_bootstrap_openstack.rb', line 54 def run super openstack_bootstrap.run fetch_validation_key create_root_client install_client_key end |
#server_ip_address ⇒ Object
88 89 90 91 92 93 94 |
# File 'lib/chef/knife/server_bootstrap_openstack.rb', line 88 def server_ip_address server = openstack_connection.servers.find do |s| s.status == 1 && s.name == config_val(:openstack_node_name) end server && server.public_ip_address end |