Puppet Class: nova::compute::xenserver

Defined in:
manifests/compute/xenserver.pp

Overview

Class: nova::compute::xenserver

Configures nova-compute to manage xen guests

Parameters:

connection_url

(required) URL for connection to XenServer/Xen Cloud Platform.

connection_username

(required) Username for connection to XenServer/Xen Cloud Platform

connection_password

(required) Password for connection to XenServer/Xen Cloud Platform

compute_driver

(optional) Compute driver. Defaults to ‘xenapi.XenAPIDriver’

ovs_integration_bridge

(optional) Name of Integration Bridge used by Open vSwitch (string value) Defaults to $::os_service_default

agent_timeout

(optional) Number of seconds to wait for agent reply (integer value) Defaults to $::os_service_default

agent_version_timeout

(optional) Number of seconds to wait for agent to be fully operational (integer value) Defaults to $::os_service_default

agent_resetnetwork_timeout

(optional) Number of seconds to wait for agent reply to resetnetwork request (integer value) Defaults to $::os_service_default

agent_path

(optional) Specifies the path in which the XenAPI guest agent should be located. If the agent is present, network configuration is not injected into the image. Used if compute_driver=xenapi.XenAPIDriver and flat_injected=True (string value) Defaults to $::os_service_default

disable_agent

(optional) Disables the use of the XenAPI agent in any image regardless of what image properties are present (boolean value). Defaults to $::os_service_default

use_agent_default

(optional) Determines if the XenAPI agent should be used when the image used does not contain a hint to declare if the agent is present or not. The hint is a glance property “xenapi_use_agent” that has the value “True” or “False”. Note that waiting for the agent when it is not present will significantly increase server boot times. (boolean value) Defaults to $::os_service_default

login_timeout

(optional) Timeout in seconds for XenAPI login. (integer value) Defaults to $::os_service_default

connection_concurrent

optional Maximum number of concurrent XenAPI connections. Defaults to $::os_service_default

vhd_coalesce_poll_interval

(optional) The interval used for polling of coalescing vhds. (floating point value) Defaults to $::os_service_default

check_host

(optional) Ensure compute service is running on host XenAPI connects to. (boolean value) Defaults to $::os_service_default

vhd_coalesce_max_attempts

(optional) Max number of times to poll for VHD to coalesce. Defaults to $::os_service_default

sr_base_path

(optional) Base path to the storage repository (string value) Defaults to $::os_service_default

target_host

(optional) The iSCSI Target Host (string value) Defaults to $::os_service_default

target_port

(optional) The iSCSI Target Port, default is port 3260 (string value) Defaults to $::os_service_default

iqn_prefix

(optional) IQN Prefix (string value) Defaults to $::os_service_default

remap_vbd_dev

(optional) Used to enable the remapping of VBD dev (Works around an issue in Ubuntu Maverick) (boolean value) Defaults to $::os_service_default

remap_vbd_dev_prefix

(optional) Specify prefix to remap VBD dev to (ex. /dev/xvdb -> /dev/sdb) (string value) Defaults to $::os_service_default

torrent_base_url

(optional) Base URL for torrent files; must contain a slash character (see RFC 1808, step 6) (string value) Defaults to $::os_service_default

torrent_seed_chance

(optional) Probability that peer will become a seeder. (1.0 = 100%) (floating point value) Defaults to $::os_service_default

torrent_seed_duration

(optional) Number of seconds after downloading an image via BitTorrent that it should be seeded for other peers. (integer value) Defaults to $::os_service_default

torrent_max_last_accessed

(optional) Cached torrent files not accessed within this number of seconds can be reaped (integer value) Defaults to $::os_service_default

torrent_listen_port_start

(optional) Beginning of port range to listen on (integer value) Minimum value: 1 Maximum value: 65535 Defaults to $::os_service_default

torrent_listen_port_end

(optional) End of port range to listen on (integer value) Minimum value: 1 Maximum value: 65535 Defaults to $::os_service_default

torrent_download_stall_cutoff

(optional) Number of seconds a download can remain at the same progress percentage w/o being considered a stall (integer value) Defaults to $::os_service_default

torrent_max_seeder_processes_per_host

(optional) Maximum number of seeder processes to run concurrently within a given dom0. (-1 = no limit) (integer value) Defaults to $::os_service_default

use_join_force

(optional) To use for hosts with different CPUs (boolean value) Defaults to $::os_service_default

cache_images

(optional) Cache glance images locally. ‘all` will cache all images, `some` will only cache images that have the image_property `cache_in_nova=True`, and `none` turns off caching entirely (string value) Allowed values: all, some, none Defaults to $::os_service_default

image_compression_level

(optional) Compression level for images, e.g., 9 for gzip -9. Range is 1-9, 9 being most compressed but most CPU intensive on dom0. (integer value) Minimum value: 1 Maximum value: 9 Defaults to $::os_service_default

default_os_type

(optional) Default OS type (string value) Defaults to $::os_service_default

block_device_creation_timeout

(optional) Time to wait for a block device to be created (integer value)

Defaults to $::os_service_default
max_kernel_ramdisk_size

(optional) Maximum size in bytes of kernel or ramdisk images (integer value) Defaults to $::os_service_default

sr_matching_filter

(optional) Filter for finding the SR to be used to install guest instances on. To use the Local Storage in default XenServer/XCP installations set this flag to other-config:i18n-key=local-storage. To select an SR with a different matching criteria, you could set it to other-config:my_favorite_sr=true. On the other hand, to fall back on the Default SR, as displayed by XenCenter, set this flag to: default-sr:true (string value) Defaults to $::os_service_default

sparse_copy

(optional) Whether to use sparse_copy for copying data on a resize down (False will use standard dd). This speeds up resizes down considerably since large runs of zeros won’t have to be rsynced (boolean value) Defaults to $::os_service_default

num_vbd_unplug_retries

(optional) Maximum number of retries to unplug VBD. if <=0, should try once and no retry (integer value) Defaults to $::os_service_default

torrent_images

(optional) Whether or not to download images via Bit Torrent. (string value) Allowed values: all, some, none Defaults to $::os_service_default

ipxe_network_name

(optional) Name of network to use for booting iPXE ISOs (string value) Defaults to $::os_service_default

ipxe_boot_menu_url

(optional) URL to the iPXE boot menu (string value) Defaults to $::os_service_default

ipxe_mkisofs_cmd

(optional) Name and optionally path of the tool used for ISO image creation (string value) Defaults to $::os_service_default

running_timeout

(optional) Number of seconds to wait for instance to go to running state (integer value) Defaults to $::os_service_default

vif_driver

(optional) The XenAPI VIF driver using XenServer Network APIs. (string value) Defaults to $::os_service_default

image_upload_handler

(optional) Dom0 plugin driver used to handle image uploads. (string value) Defaults to $::os_service_default

introduce_vdi_retry_wait

(optional) Number of seconds to wait for an SR to settle if the VDI does not exist when first introduced (integer value) Defaults to $::os_service_default

Parameters:

  • connection_url (Any)
  • connection_username (Any)
  • connection_password (Any)
  • compute_driver (Any) (defaults to: 'xenapi.XenAPIDriver')
  • ovs_integration_bridge (Any) (defaults to: $::os_service_default)
  • agent_timeout (Any) (defaults to: $::os_service_default)
  • agent_version_timeout (Any) (defaults to: $::os_service_default)
  • agent_resetnetwork_timeout (Any) (defaults to: $::os_service_default)
  • agent_path (Any) (defaults to: $::os_service_default)
  • disable_agent (Any) (defaults to: $::os_service_default)
  • use_agent_default (Any) (defaults to: $::os_service_default)
  • login_timeout (Any) (defaults to: $::os_service_default)
  • connection_concurrent (Any) (defaults to: $::os_service_default)
  • vhd_coalesce_poll_interval (Any) (defaults to: $::os_service_default)
  • check_host (Any) (defaults to: $::os_service_default)
  • vhd_coalesce_max_attempts (Any) (defaults to: $::os_service_default)
  • sr_base_path (Any) (defaults to: $::os_service_default)
  • target_host (Any) (defaults to: $::os_service_default)
  • target_port (Any) (defaults to: $::os_service_default)
  • iqn_prefix (Any) (defaults to: $::os_service_default)
  • remap_vbd_dev (Any) (defaults to: $::os_service_default)
  • remap_vbd_dev_prefix (Any) (defaults to: $::os_service_default)
  • torrent_base_url (Any) (defaults to: $::os_service_default)
  • torrent_seed_chance (Any) (defaults to: $::os_service_default)
  • torrent_seed_duration (Any) (defaults to: $::os_service_default)
  • torrent_max_last_accessed (Any) (defaults to: $::os_service_default)
  • torrent_listen_port_start (Any) (defaults to: $::os_service_default)
  • torrent_listen_port_end (Any) (defaults to: $::os_service_default)
  • torrent_download_stall_cutoff (Any) (defaults to: $::os_service_default)
  • torrent_max_seeder_processes_per_host (Any) (defaults to: $::os_service_default)
  • use_join_force (Any) (defaults to: $::os_service_default)
  • cache_images (Any) (defaults to: $::os_service_default)
  • image_compression_level (Any) (defaults to: $::os_service_default)
  • default_os_type (Any) (defaults to: $::os_service_default)
  • block_device_creation_timeout (Any) (defaults to: $::os_service_default)
  • max_kernel_ramdisk_size (Any) (defaults to: $::os_service_default)
  • sr_matching_filter (Any) (defaults to: $::os_service_default)
  • sparse_copy (Any) (defaults to: $::os_service_default)
  • num_vbd_unplug_retries (Any) (defaults to: $::os_service_default)
  • torrent_images (Any) (defaults to: $::os_service_default)
  • ipxe_network_name (Any) (defaults to: $::os_service_default)
  • ipxe_boot_menu_url (Any) (defaults to: $::os_service_default)
  • ipxe_mkisofs_cmd (Any) (defaults to: $::os_service_default)
  • running_timeout (Any) (defaults to: $::os_service_default)
  • vif_driver (Any) (defaults to: 'nova.virt.xenapi.vif.XenAPIOpenVswitchDriver')
  • image_upload_handler (Any) (defaults to: $::os_service_default)
  • introduce_vdi_retry_wait (Any) (defaults to: $::os_service_default)


226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
# File 'manifests/compute/xenserver.pp', line 226

class nova::compute::xenserver(
  $connection_url,
  $connection_username,
  $connection_password,
  $compute_driver                        = 'xenapi.XenAPIDriver',
  $ovs_integration_bridge                = $::os_service_default,
  $agent_timeout                         = $::os_service_default,
  $agent_version_timeout                 = $::os_service_default,
  $agent_resetnetwork_timeout            = $::os_service_default,
  $agent_path                            = $::os_service_default,
  $disable_agent                         = $::os_service_default,
  $use_agent_default                     = $::os_service_default,
  $login_timeout                         = $::os_service_default,
  $connection_concurrent                 = $::os_service_default,
  $vhd_coalesce_poll_interval            = $::os_service_default,
  $check_host                            = $::os_service_default,
  $vhd_coalesce_max_attempts             = $::os_service_default,
  $sr_base_path                          = $::os_service_default,
  $target_host                           = $::os_service_default,
  $target_port                           = $::os_service_default,
  $iqn_prefix                            = $::os_service_default,
  $remap_vbd_dev                         = $::os_service_default,
  $remap_vbd_dev_prefix                  = $::os_service_default,
  $torrent_base_url                      = $::os_service_default,
  $torrent_seed_chance                   = $::os_service_default,
  $torrent_seed_duration                 = $::os_service_default,
  $torrent_max_last_accessed             = $::os_service_default,
  $torrent_listen_port_start             = $::os_service_default,
  $torrent_listen_port_end               = $::os_service_default,
  $torrent_download_stall_cutoff         = $::os_service_default,
  $torrent_max_seeder_processes_per_host = $::os_service_default,
  $use_join_force                        = $::os_service_default,
  $cache_images                          = $::os_service_default,
  $image_compression_level               = $::os_service_default,
  $default_os_type                       = $::os_service_default,
  $block_device_creation_timeout         = $::os_service_default,
  $max_kernel_ramdisk_size               = $::os_service_default,
  $sr_matching_filter                    = $::os_service_default,
  $sparse_copy                           = $::os_service_default,
  $num_vbd_unplug_retries                = $::os_service_default,
  $torrent_images                        = $::os_service_default,
  $ipxe_network_name                     = $::os_service_default,
  $ipxe_boot_menu_url                    = $::os_service_default,
  $ipxe_mkisofs_cmd                      = $::os_service_default,
  $running_timeout                       = $::os_service_default,
  $vif_driver                            = 'nova.virt.xenapi.vif.XenAPIOpenVswitchDriver',
  $image_upload_handler                  = $::os_service_default,
  $introduce_vdi_retry_wait              = $::os_service_default,
) {

  include nova::deps

  nova_config {
    'DEFAULT/compute_driver':                          value => $compute_driver;
    'xenserver/connection_url':                        value => $connection_url;
    'xenserver/connection_username':                   value => $connection_username;
    'xenserver/connection_password':                   value => $connection_password;
    'xenserver/ovs_integration_bridge':                value => $ovs_integration_bridge;
    'xenserver/agent_timeout':                         value => $agent_timeout;
    'xenserver/agent_version_timeout':                 value => $agent_version_timeout;
    'xenserver/agent_resetnetwork_timeout':            value => $agent_resetnetwork_timeout;
    'xenserver/agent_path':                            value => $agent_path;
    'xenserver/disable_agent':                         value => $disable_agent;
    'xenserver/use_agent_default':                     value => $use_agent_default;
    'xenserver/login_timeout':                         value => $login_timeout;
    'xenserver/connection_concurrent':                 value => $connection_concurrent;
    'xenserver/vhd_coalesce_poll_interval':            value => $vhd_coalesce_poll_interval;
    'xenserver/check_host':                            value => $check_host;
    'xenserver/vhd_coalesce_max_attempts':             value => $vhd_coalesce_max_attempts;
    'xenserver/sr_base_path':                          value => $sr_base_path;
    'xenserver/target_host':                           value => $target_host;
    'xenserver/target_port':                           value => $target_port;
    'xenserver/iqn_prefix':                            value => $iqn_prefix;
    'xenserver/remap_vbd_dev':                         value => $remap_vbd_dev;
    'xenserver/remap_vbd_dev_prefix':                  value => $remap_vbd_dev_prefix;
    'xenserver/torrent_base_url':                      value => $torrent_base_url;
    'xenserver/torrent_seed_chance':                   value => $torrent_seed_chance;
    'xenserver/torrent_seed_duration':                 value => $torrent_seed_duration;
    'xenserver/torrent_max_last_accessed':             value => $torrent_max_last_accessed;
    'xenserver/torrent_listen_port_start':             value => $torrent_listen_port_start;
    'xenserver/torrent_listen_port_end':               value => $torrent_listen_port_end;
    'xenserver/torrent_download_stall_cutoff':         value => $torrent_download_stall_cutoff;
    'xenserver/torrent_max_seeder_processes_per_host': value => $torrent_max_seeder_processes_per_host;
    'xenserver/use_join_force':                        value => $use_join_force;
    'xenserver/cache_images':                          value => $cache_images;
    'xenserver/image_compression_level':               value => $image_compression_level;
    'xenserver/default_os_type':                       value => $default_os_type;
    'xenserver/block_device_creation_timeout':         value => $block_device_creation_timeout;
    'xenserver/max_kernel_ramdisk_size':               value => $max_kernel_ramdisk_size;
    'xenserver/sr_matching_filter':                    value => $sr_matching_filter;
    'xenserver/sparse_copy':                           value => $sparse_copy;
    'xenserver/num_vbd_unplug_retries':                value => $num_vbd_unplug_retries;
    'xenserver/torrent_images':                        value => $torrent_images;
    'xenserver/ipxe_network_name':                     value => $ipxe_network_name;
    'xenserver/ipxe_boot_menu_url':                    value => $ipxe_boot_menu_url;
    'xenserver/ipxe_mkisofs_cmd':                      value => $ipxe_mkisofs_cmd;
    'xenserver/running_timeout':                       value => $running_timeout;
    'xenserver/vif_driver':                            value => $vif_driver;
    'xenserver/image_upload_handler':                  value => $image_upload_handler;
    'xenserver/introduce_vdi_retry_wait':              value => $introduce_vdi_retry_wait;
  }

  ensure_packages(['python-pip'])

  package { 'xenapi':
    ensure   => present,
    provider => pip,
    tag      => ['openstack', 'nova-support-package'],
  }

  Package['python-pip'] -> Package['xenapi']
}