class Chef::Knife::VcVmConfigGuest
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/vm/vc_vm_config_guest.rb, line 57 def run $stdout.sync = true vm_arg = @name_args.shift computer_name = locate_config_value(:guest_computer_name) script_filename = locate_config_value(:customization_script) if script_filename script = File.read(script_filename) raise ArgumentError, "A customization script cannot exceed 49000 characters" if script.size > 49_000 end config = { :enabled => locate_config_value(:guest_enabled), :admin_passwd_enabled => locate_config_value(:admin_passwd_enabled), :admin_passwd => locate_config_value(:admin_passwd), :customization_script => script } connection.login vm = get_vm(vm_arg) if config[:admin_passwd].nil? && vm[:guest_customizations][:admin_passwd_enabled] ui.msg('Inheriting admin password') config[:admin_passwd] = vm[:guest_customizations][:admin_passwd] end if computer_name.nil? computer_name = vm[:guest_customizations][:computer_name] end stop_if_running(connection, vm) guest_name = sanitize_guest_name(computer_name) ui.msg "Renaming guest name to #{guest_name}..." if locate_config_value(:guest_computer_name) task_id, response = connection.set_vm_guest_customization vm[:id], guest_name, config ui.msg "VM guest configuration..." wait_task(connection, task_id) if locate_config_value(:force_customization) ui.msg "Forcing Guest Customization..." task_id = connection.force_customization_vm vm[:id] wait_task(connection, task_id) end connection.logout end