# # Configure the VMware compute driver for nova. # # === Parameters # # [*host_ip*] # The IP address of the VMware vCenter server. # # [*host_username*] # The username for connection to VMware vCenter server. # # [*host_password*] # The password for connection to VMware vCenter server. # # [*cluster_name*] # The name of a vCenter cluster compute resource. # # [*api_retry_count*] # (optional) The number of times we retry on failures, # e.g., socket error, etc. # Defaults to 5. # # [*maximum_objects*] # (optional) The maximum number of ObjectContent data objects that should # be returned in a single result. A positive value will cause # the operation to suspend the retrieval when the count of # objects reaches the specified maximum. The server may still # limit the count to something less than the configured value. # Any remaining objects may be retrieved with additional requests. # Defaults to 100. # # [*task_poll_interval*] # (optional) The interval in seconds used for polling of remote tasks. # Defaults to 5.0 # # [*use_linked_clone*] # (optional) Whether to use linked clone strategy while creating VM's. # Defaults to true. # # [*wsdl_location*] # (optional) VIM Service WSDL Location e.g # http:///vimService.wsdl. Optional over-ride to # default location for bug work-arounds. # Defaults to None. # class nova::compute::vmware( $host_ip, $host_username, $host_password, $cluster_name, $api_retry_count=5, $maximum_objects=100, $task_poll_interval=5.0, $use_linked_clone=true, $wsdl_location=undef ) { nova_config { 'DEFAULT/compute_driver': value => 'vmwareapi.VMwareVCDriver'; 'VMWARE/host_ip': value => $host_ip; 'VMWARE/host_username': value => $host_username; 'VMWARE/host_password': value => $host_password; 'VMWARE/cluster_name': value => $cluster_name; 'VMWARE/api_retry_count' : value => $api_retry_count; 'VMWARE/maximum_objects' : value => $maximum_objects; 'VMWARE/task_poll_interval' : value => $task_poll_interval; 'VMWARE/use_linked_clone': value => $use_linked_clone; } if $wsdl_location { nova_config { 'VMWARE/wsdl_location' : value => $wsdl_location; } } package { 'python-suds': ensure => present } }