Module: OpsManager::Deployments::Vsphere

Includes:
Logging
Defined in:
lib/ops_manager/deployments/vsphere.rb

Instance Method Summary collapse

Methods included from Logging

#logger, logger, logger=

Instance Method Details

#deploy_vm(name, ip) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/ops_manager/deployments/vsphere.rb', line 11

def deploy_vm(name, ip)
  print '====> Deploying ova ...'.green
  vcenter_target= "vi://#{vcenter_username}:#{vcenter_password}@#{config.opts['vcenter']['host']}/#{config.opts['vcenter']['datacenter']}/host/#{config.opts['vcenter']['cluster']}"
  cmd = "echo yes | ovftool --acceptAllEulas --noSSLVerify --powerOn --X:waitForIp --net:\"Network 1=#{config.opts['portgroup']}\" --name=#{name} -ds=#{config.opts['datastore']} --prop:ip0=#{ip} --prop:netmask0=#{config.opts['netmask']}  --prop:gateway=#{config.opts['gateway']} --prop:DNS=#{config.opts['dns']} --prop:ntp_servers=#{config.opts['ntp_servers'].join(',')} --prop:admin_password=#{config.password} #{config.opts['ova_path']} #{vcenter_target}"
  logger.info "Running: #{cmd}"
  logger.info `#{cmd}`
  puts 'done'.green
end

#stop_current_vm(name) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/ops_manager/deployments/vsphere.rb', line 20

def stop_current_vm(name)
  print "====> Stopping vm #{name}...".green
  dc = vim.serviceInstance.find_datacenter(config.opts['vcenter']['datacenter'])
  logger.info "finding vm: #{name}"
  vm = dc.find_vm(name) or fail "VM not found"
  vm.PowerOffVM_Task.wait_for_completion
  puts 'done'.green
end