vmware-archive / vmware-vcenter

VMware vCenter Module
Other
87 stars 102 forks source link

Better error reporting for failed license assigment #216

Open ggeldenhuis opened 7 years ago

ggeldenhuis commented 7 years ago
transport { 'vmware':
  username => 'administrator',
  password => 'password',
  server   => 'vcenter01.example.com',
  options  => { 'insecure' => true },
}

vc_datacenter { 'dc1':
  path      => '/dc1',
  ensure    => present,
  transport => Transport['vmware'],
}

esx_license { 'vcenter_license':
  ensure      => present,
  license_key => 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX',
  transport   => Transport['vmware'],
  require     => Transport['vmware'],
}

esx_license_assignment { 'vcenter.example.com':
  license_key => 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX',
  transport   => Transport['vmware'],
  require     => [ Transport['vmware'],
                   Esx_license['vcenter_license']],
}

The difference is rather small. If you try to assign a license to vcenter.example.com but the server is actually called vcenter01.example.com then you will get the following error:

Could not evaluate: undefined method `assignedLicense' for nil:NilClass

It would be good to encapsulate the license assignment in a try--except statement with a more detailed error telling you what you are trying to do.