123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377 |
- # == 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 poin 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
- #
- # DEPRECATED PARAMETERS
- #
- # [*xenapi_inject_image*]
- # (optional) DEPRECATED: This parameter does nothing.
- #
- # [*xenapi_connection_url*]
- # (optional) DEPRECATED: URL for connection to XenServer/Xen Cloud Platform.
- # Please use connection_url parameter.
- #
- # [*xenapi_connection_username*]
- # (optional) DEPRECATED: Username for connection to XenServer/Xen Cloud Platform
- # Please use connection_username parameter.
- #
- # [*xenapi_connection_password*]
- # (optional) DEPRECATED: Password for connection to XenServer/Xen Cloud Platform.
- # Please use connection_password parameter.
- #
- 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,
- # DEPRECATED PARAMETERS
- $xenapi_inject_image = undef,
- $xenapi_connection_url = undef,
- $xenapi_connection_username = undef,
- $xenapi_connection_password = undef,
- ) {
- include ::nova::deps
- if $xenapi_inject_image != undef {
- warning('The xenapi_inject_image parameter is deprecated and has no effect.')
- }
- if $xenapi_connection_url {
- warning('The xenapi_connection_url parameter is deprecated and has no effect, please use connection_url.')
- }
- if $xenapi_connection_username {
- warning('The xenapi_connection_username parameter is deprecated and has no effect, please use connection_username.')
- }
- if $xenapi_connection_password {
- warning('The xenapi_connection_password parameter is deprecated and has no effect, please use connection_password.')
- }
- 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']
- }
|