| {%- from "nova/map.jinja" import compute,compute_driver_mapping with context %} |
| [DEFAULT] |
| |
| # |
| # From nova.conf |
| # |
| compute_manager=nova.compute.manager.ComputeManager |
| network_device_mtu=65000 |
| use_neutron = True |
| security_group_api=neutron |
| image_service=nova.image.glance.GlanceImageService |
| |
| # |
| # Availability zone for internal services. |
| # |
| # This option determines the availability zone for the various |
| # internal nova |
| # services, such as 'nova-scheduler', 'nova-conductor', etc. |
| # |
| # Possible values: |
| # |
| # * Any string representing an existing availability zone name. |
| # (string value) |
| #internal_service_availability_zone = internal |
| |
| # |
| # Default availability zone for compute services. |
| # |
| # This option determines the default availability zone for 'nova- |
| # compute' |
| # services, which will be used if the service(s) do not belong to |
| # aggregates with |
| # availability zone metadata. |
| # |
| # Possible values: |
| # |
| # * Any string representing an existing availability zone name. |
| # (string value) |
| #default_availability_zone = nova |
| |
| # |
| # Default availability zone for instances. |
| # |
| # This option determines the default availability zone for instances, |
| # which will |
| # be used when a user does not specify one when creating an instance. |
| # The |
| # instance(s) will be bound to this availability zone for their |
| # lifetime. |
| # |
| # Possible values: |
| # |
| # * Any string representing an existing availability zone name. |
| # * None, which means that the instance can move from one availability |
| # zone to |
| # another during its lifetime if it is moved from one compute node |
| # to another. |
| # (string value) |
| #default_schedule_zone = <None> |
| |
| # Length of generated instance admin passwords. (integer value) |
| # Minimum value: 0 |
| #password_length = 12 |
| |
| # |
| # Time period to generate instance usages for. It is possible to |
| # define optional |
| # offset to given period by appending @ character followed by a number |
| # defining |
| # offset. |
| # |
| # Possible values: |
| # |
| # * period, example: ``hour``, ``day``, ``month` or ``year`` |
| # * period with offset, example: ``month@15`` will result in monthly |
| # audits |
| # starting on 15th day of month. |
| # (string value) |
| #instance_usage_audit_period = month |
| {% if pillar.ceilometer is defined %} |
| instance_usage_audit = True |
| instance_usage_audit_period = hour |
| {%- endif %} |
| |
| # |
| # Start and use a daemon that can run the commands that need to be run |
| # with |
| # root privileges. This option is usually enabled on nodes that run |
| # nova compute |
| # processes. |
| # (boolean value) |
| #use_rootwrap_daemon = false |
| |
| # |
| # Path to the rootwrap configuration file. |
| # |
| # Goal of the root wrapper is to allow a service-specific unprivileged |
| # user to |
| # run a number of actions as the root user in the safest manner |
| # possible. |
| # The configuration file used here must match the one defined in the |
| # sudoers |
| # entry. |
| # (string value) |
| rootwrap_config = /etc/nova/rootwrap.conf |
| |
| # Explicitly specify the temporary working directory. (string value) |
| #tempdir = <None> |
| |
| # DEPRECATED: |
| # Determine if monkey patching should be applied. |
| # |
| # Related options: |
| # |
| # * ``monkey_patch_modules``: This must have values set for this |
| # option to |
| # have any effect |
| # (boolean value) |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # Monkey patching nova is not tested, not supported, and is a barrier |
| # for interoperability. |
| #monkey_patch = false |
| |
| # DEPRECATED: |
| # List of modules/decorators to monkey patch. |
| # |
| # This option allows you to patch a decorator for all functions in |
| # specified |
| # modules. |
| # |
| # Possible values: |
| # |
| # * nova.compute.api:nova.notifications.notify_decorator |
| # * [...] |
| # |
| # Related options: |
| # |
| # * ``monkey_patch``: This must be set to ``True`` for this option to |
| # have any effect |
| # (list value) |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # Monkey patching nova is not tested, not supported, and is a barrier |
| # for interoperability. |
| #monkey_patch_modules = nova.compute.api:nova.notifications.notify_decorator |
| |
| # |
| # Defines which driver to use for controlling virtualization. |
| # |
| # Possible values: |
| # |
| # * ``libvirt.LibvirtDriver`` |
| # * ``xenapi.XenAPIDriver`` |
| # * ``fake.FakeDriver`` |
| # * ``ironic.IronicDriver`` |
| # * ``vmwareapi.VMwareVCDriver`` |
| # * ``hyperv.HyperVDriver`` |
| # * ``powervm.PowerVMDriver`` |
| # (string value) |
| #compute_driver = <None> |
| compute_driver = {{ compute.get('compute_driver', 'libvirt.LibvirtDriver') }} |
| |
| # |
| # Allow destination machine to match source for resize. Useful when |
| # testing in single-host environments. By default it is not allowed |
| # to resize to the same host. Setting this option to true will add |
| # the same host to the destination options. Also set to true |
| # if you allow the ServerGroupAffinityFilter and need to resize. |
| # (boolean value) |
| #allow_resize_to_same_host = false |
| allow_resize_to_same_host = true |
| |
| # |
| # Image properties that should not be inherited from the instance |
| # when taking a snapshot. |
| # |
| # This option gives an opportunity to select which image-properties |
| # should not be inherited by newly created snapshots. |
| # |
| # Possible values: |
| # |
| # * A comma-separated list whose item is an image property. Usually |
| # only |
| # the image properties that are only needed by base images can be |
| # included |
| # here, since the snapshots that are created from the base images |
| # don't |
| # need them. |
| # * Default list: cache_in_nova, bittorrent, |
| # img_signature_hash_method, |
| # img_signature, img_signature_key_type, |
| # img_signature_certificate_uuid |
| # |
| # (list value) |
| #non_inheritable_image_properties = cache_in_nova,bittorrent,img_signature_hash_method,img_signature,img_signature_key_type,img_signature_certificate_uuid |
| |
| # DEPRECATED: |
| # When creating multiple instances with a single request using the |
| # os-multiple-create API extension, this template will be used to |
| # build |
| # the display name for each instance. The benefit is that the |
| # instances |
| # end up with different hostnames. Example display names when creating |
| # two VM's: name-1, name-2. |
| # |
| # Possible values: |
| # |
| # * Valid keys for the template are: name, uuid, count. |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # This config changes API behaviour. All changes in API behaviour |
| # should be |
| # discoverable. |
| #multi_instance_display_name_template = %(name)s-%(count)d |
| |
| # |
| # Maximum number of devices that will result in a local image being |
| # created on the hypervisor node. |
| # |
| # A negative number means unlimited. Setting max_local_block_devices |
| # to 0 means that any request that attempts to create a local disk |
| # will fail. This option is meant to limit the number of local discs |
| # (so root local disc that is the result of --image being used, and |
| # any other ephemeral and swap disks). 0 does not mean that images |
| # will be automatically converted to volumes and boot instances from |
| # volumes - it just means that all requests that attempt to create a |
| # local disk will fail. |
| # |
| # Possible values: |
| # |
| # * 0: Creating a local disk is not allowed. |
| # * Negative number: Allows unlimited number of local discs. |
| # * Positive number: Allows only these many number of local discs. |
| # (Default value is 3). |
| # (integer value) |
| #max_local_block_devices = 3 |
| |
| # |
| # A comma-separated list of monitors that can be used for getting |
| # compute metrics. You can use the alias/name from the setuptools |
| # entry points for nova.compute.monitors.* namespaces. If no |
| # namespace is supplied, the "cpu." namespace is assumed for |
| # backwards-compatibility. |
| # |
| # NOTE: Only one monitor per namespace (For example: cpu) can be |
| # loaded at |
| # a time. |
| # |
| # Possible values: |
| # |
| # * An empty list will disable the feature (Default). |
| # * An example value that would enable both the CPU and NUMA memory |
| # bandwidth monitors that use the virt driver variant: |
| # |
| # compute_monitors = cpu.virt_driver, numa_mem_bw.virt_driver |
| # (list value) |
| #compute_monitors = |
| |
| # |
| # The default format an ephemeral_volume will be formatted with on |
| # creation. |
| # |
| # Possible values: |
| # |
| # * ``ext2`` |
| # * ``ext3`` |
| # * ``ext4`` |
| # * ``xfs`` |
| # * ``ntfs`` (only for Windows guests) |
| # (string value) |
| #default_ephemeral_format = <None> |
| |
| # |
| # Determine if instance should boot or fail on VIF plugging timeout. |
| # |
| # Nova sends a port update to Neutron after an instance has been |
| # scheduled, |
| # providing Neutron with the necessary information to finish setup of |
| # the port. |
| # Once completed, Neutron notifies Nova that it has finished setting |
| # up the |
| # port, at which point Nova resumes the boot of the instance since |
| # network |
| # connectivity is now supposed to be present. A timeout will occur if |
| # the reply |
| # is not received after a given interval. |
| # |
| # This option determines what Nova does when the VIF plugging timeout |
| # event |
| # happens. When enabled, the instance will error out. When disabled, |
| # the |
| # instance will continue to boot on the assumption that the port is |
| # ready. |
| # |
| # Possible values: |
| # |
| # * True: Instances should fail after VIF plugging timeout |
| # * False: Instances should continue booting after VIF plugging |
| # timeout |
| # (boolean value) |
| vif_plugging_is_fatal = {{ compute.get('vif_plugging_is_fatal', 'true') }} |
| |
| # |
| # Timeout for Neutron VIF plugging event message arrival. |
| # |
| # Number of seconds to wait for Neutron vif plugging events to |
| # arrive before continuing or failing (see 'vif_plugging_is_fatal'). |
| # |
| # Related options: |
| # |
| # * vif_plugging_is_fatal - If ``vif_plugging_timeout`` is set to zero |
| # and |
| # ``vif_plugging_is_fatal`` is False, events should not be expected |
| # to |
| # arrive at all. |
| # (integer value) |
| # Minimum value: 0 |
| vif_plugging_timeout = {{ compute.get('vif_plugging_timeout', '300') }} |
| |
| # Path to '/etc/network/interfaces' template. |
| # |
| # The path to a template file for the '/etc/network/interfaces'-style |
| # file, which |
| # will be populated by nova and subsequently used by cloudinit. This |
| # provides a |
| # method to configure network connectivity in environments without a |
| # DHCP server. |
| # |
| # The template will be rendered using Jinja2 template engine, and |
| # receive a |
| # top-level key called ``interfaces``. This key will contain a list of |
| # dictionaries, one for each interface. |
| # |
| # Refer to the cloudinit documentaion for more information: |
| # |
| # https://cloudinit.readthedocs.io/en/latest/topics/datasources.html |
| # |
| # Possible values: |
| # |
| # * A path to a Jinja2-formatted template for a Debian |
| # '/etc/network/interfaces' |
| # file. This applies even if using a non Debian-derived guest. |
| # |
| # Related options: |
| # |
| # * ``flat_inject``: This must be set to ``True`` to ensure nova |
| # embeds network |
| # configuration information in the metadata provided through the |
| # config drive. |
| # (string value) |
| #injected_network_template = $pybasedir/nova/virt/interfaces.template |
| |
| # |
| # The image preallocation mode to use. |
| # |
| # Image preallocation allows storage for instance images to be |
| # allocated up front |
| # when the instance is initially provisioned. This ensures immediate |
| # feedback is |
| # given if enough space isn't available. In addition, it should |
| # significantly |
| # improve performance on writes to new blocks and may even improve I/O |
| # performance to prewritten blocks due to reduced fragmentation. |
| # |
| # Possible values: |
| # |
| # * "none" => no storage provisioning is done up front |
| # * "space" => storage is fully allocated at instance start |
| # (string value) |
| # Possible values: |
| # none - <No description provided> |
| # space - <No description provided> |
| #preallocate_images = none |
| {%- if compute.preallocate_images is defined %} |
| preallocate_images = {{ compute.preallocate_images }} |
| {%- endif %} |
| |
| # |
| # Enable use of copy-on-write (cow) images. |
| # |
| # QEMU/KVM allow the use of qcow2 as backing files. By disabling this, |
| # backing files will not be used. |
| # (boolean value) |
| #use_cow_images = true |
| {%- if compute.image is defined and compute.image.use_cow is defined %} |
| use_cow_images = {{ compute.image.use_cow }} |
| {%- endif %} |
| |
| # |
| # Force conversion of backing images to raw format. |
| # |
| # Possible values: |
| # |
| # * True: Backing image files will be converted to raw image format |
| # * False: Backing image files will not be converted |
| # |
| # Related options: |
| # |
| # * ``compute_driver``: Only the libvirt driver uses this option. |
| # (boolean value) |
| #force_raw_images = true |
| force_raw_images={{ compute.get('image', {}).get('force_raw', True)|lower }} |
| |
| # |
| # Name of the mkfs commands for ephemeral device. |
| # |
| # The format is <os_type>=<mkfs command> |
| # (multi valued) |
| #virt_mkfs = |
| |
| # |
| # Enable resizing of filesystems via a block device. |
| # |
| # If enabled, attempt to resize the filesystem by accessing the image |
| # over a |
| # block device. This is done by the host and may not be necessary if |
| # the image |
| # contains a recent version of cloud-init. Possible mechanisms require |
| # the nbd |
| # driver (for qcow and raw), or loop (for raw). |
| # (boolean value) |
| #resize_fs_using_block_device = false |
| |
| # Amount of time, in seconds, to wait for NBD device start up. |
| # (integer value) |
| # Minimum value: 0 |
| #timeout_nbd = 10 |
| {%- if compute.timeout_nbd is defined %} |
| timeout_nbd = {{ compute.timeout_nbd }} |
| {%- endif %} |
| |
| # |
| # Location of cached images. |
| # |
| # This is NOT the full path - just a folder name relative to |
| # '$instances_path'. |
| # For per-compute-host cached images, set to '_base_$my_ip' |
| # (string value) |
| #image_cache_subdirectory_name = _base |
| |
| # Should unused base images be removed? (boolean value) |
| #remove_unused_base_images = true |
| |
| # |
| # Unused unresized base images younger than this will not be removed. |
| # (integer value) |
| remove_unused_original_minimum_age_seconds = 86400 |
| |
| # |
| # Generic property to specify the pointer type. |
| # |
| # Input devices allow interaction with a graphical framebuffer. For |
| # example to provide a graphic tablet for absolute cursor movement. |
| # |
| # If set, the 'hw_pointer_model' image property takes precedence over |
| # this configuration option. |
| # |
| # Possible values: |
| # |
| # * None: Uses default behavior provided by drivers (mouse on PS2 for |
| # libvirt x86) |
| # * ps2mouse: Uses relative movement. Mouse connected by PS2 |
| # * usbtablet: Uses absolute movement. Tablet connect by USB |
| # |
| # Related options: |
| # |
| # * usbtablet must be configured with VNC enabled or SPICE enabled and |
| # SPICE |
| # agent disabled. When used with libvirt the instance mode should be |
| # configured as HVM. |
| # (string value) |
| # Possible values: |
| # <None> - <No description provided> |
| # ps2mouse - <No description provided> |
| # usbtablet - <No description provided> |
| #pointer_model = usbtablet |
| |
| # |
| # Defines which physical CPUs (pCPUs) can be used by instance |
| # virtual CPUs (vCPUs). |
| # |
| # Possible values: |
| # |
| # * A comma-separated list of physical CPU numbers that virtual CPUs |
| # can be |
| # allocated to by default. Each element should be either a single |
| # CPU number, |
| # a range of CPU numbers, or a caret followed by a CPU number to be |
| # excluded from a previous range. For example: |
| # |
| # vcpu_pin_set = "4-12,^8,15" |
| # (string value) |
| #vcpu_pin_set = <None> |
| {%- if compute.vcpu_pin_set is defined %} |
| vcpu_pin_set={{ compute.vcpu_pin_set }} |
| {%- endif %} |
| |
| # |
| # Number of huge/large memory pages to reserved per NUMA host cell. |
| # |
| # Possible values: |
| # |
| # * A list of valid key=value which reflect NUMA node ID, page size |
| # (Default unit is KiB) and number of pages to be reserved. |
| # |
| # reserved_huge_pages = node:0,size:2048,count:64 |
| # reserved_huge_pages = node:1,size:1GB,count:1 |
| # |
| # In this example we are reserving on NUMA node 0 64 pages of 2MiB |
| # and on NUMA node 1 1 page of 1GiB. |
| # (dict value) |
| #reserved_huge_pages = <None> |
| |
| # |
| # Amount of disk resources in MB to make them always available to |
| # host. The |
| # disk usage gets reported back to the scheduler from nova-compute |
| # running |
| # on the compute nodes. To prevent the disk resources from being |
| # considered |
| # as available, this option can be used to reserve disk space for that |
| # host. |
| # |
| # Possible values: |
| # |
| # * Any positive integer representing amount of disk in MB to reserve |
| # for the host. |
| # (integer value) |
| # Minimum value: 0 |
| #reserved_host_disk_mb = 0 |
| |
| # |
| # Amount of memory in MB to reserve for the host so that it is always |
| # available |
| # to host processes. The host resources usage is reported back to the |
| # scheduler |
| # continuously from nova-compute running on the compute node. To |
| # prevent the host |
| # memory from being considered as available, this option is used to |
| # reserve |
| # memory for the host. |
| # |
| # Possible values: |
| # |
| # * Any positive integer representing amount of memory in MB to |
| # reserve |
| # for the host. |
| # (integer value) |
| # Minimum value: 0 |
| #reserved_host_memory_mb = 512 |
| reserved_host_memory_mb = {{ compute.get('reserved_host_memory_mb', '512') }} |
| |
| # |
| # Number of physical CPUs to reserve for the host. The host resources |
| # usage is |
| # reported back to the scheduler continuously from nova-compute |
| # running on the |
| # compute node. To prevent the host CPU from being considered as |
| # available, |
| # this option is used to reserve random pCPU(s) for the host. |
| # |
| # Possible values: |
| # |
| # * Any positive integer representing number of physical CPUs to |
| # reserve |
| # for the host. |
| # (integer value) |
| # Minimum value: 0 |
| #reserved_host_cpus = 0 |
| |
| # |
| # This option helps you specify virtual CPU to physical CPU allocation |
| # ratio. |
| # |
| # From Ocata (15.0.0) this is used to influence the hosts selected by |
| # the Placement API. Note that when Placement is used, the CoreFilter |
| # is redundant, because the Placement API will have already filtered |
| # out hosts that would have failed the CoreFilter. |
| # |
| # This configuration specifies ratio for CoreFilter which can be set |
| # per compute node. For AggregateCoreFilter, it will fall back to this |
| # configuration value if no per-aggregate setting is found. |
| # |
| # NOTE: This can be set per-compute, or if set to 0.0, the value |
| # set on the scheduler node(s) or compute node(s) will be used |
| # and defaulted to 16.0. |
| # |
| # NOTE: As of the 16.0.0 Pike release, this configuration option is |
| # ignored |
| # for the ironic.IronicDriver compute driver and is hardcoded to 1.0. |
| # |
| # Possible values: |
| # |
| # * Any valid positive integer or float value |
| # (floating point value) |
| # Minimum value: 0 |
| #cpu_allocation_ratio = 0.0 |
| {%- if compute.cpu_allocation_ratio is defined %} |
| cpu_allocation_ratio = {{ compute.cpu_allocation_ratio }} |
| {%- else %} |
| #cpu_allocation_ratio=0.0 |
| {%- endif %} |
| |
| # |
| # This option helps you specify virtual RAM to physical RAM |
| # allocation ratio. |
| # |
| # From Ocata (15.0.0) this is used to influence the hosts selected by |
| # the Placement API. Note that when Placement is used, the RamFilter |
| # is redundant, because the Placement API will have already filtered |
| # out hosts that would have failed the RamFilter. |
| # |
| # This configuration specifies ratio for RamFilter which can be set |
| # per compute node. For AggregateRamFilter, it will fall back to this |
| # configuration value if no per-aggregate setting found. |
| # |
| # NOTE: This can be set per-compute, or if set to 0.0, the value |
| # set on the scheduler node(s) or compute node(s) will be used and |
| # defaulted to 1.5. |
| # |
| # NOTE: As of the 16.0.0 Pike release, this configuration option is |
| # ignored |
| # for the ironic.IronicDriver compute driver and is hardcoded to 1.0. |
| # |
| # Possible values: |
| # |
| # * Any valid positive integer or float value |
| # (floating point value) |
| # Minimum value: 0 |
| #ram_allocation_ratio = 0.0 |
| {%- if compute.ram_allocation_ratio is defined %} |
| ram_allocation_ratio = {{ compute.ram_allocation_ratio }} |
| {%- else %} |
| #ram_allocation_ratio=0.0 |
| {%- endif %} |
| |
| # |
| # This option helps you specify virtual disk to physical disk |
| # allocation ratio. |
| # |
| # From Ocata (15.0.0) this is used to influence the hosts selected by |
| # the Placement API. Note that when Placement is used, the DiskFilter |
| # is redundant, because the Placement API will have already filtered |
| # out hosts that would have failed the DiskFilter. |
| # |
| # A ratio greater than 1.0 will result in over-subscription of the |
| # available physical disk, which can be useful for more |
| # efficiently packing instances created with images that do not |
| # use the entire virtual disk, such as sparse or compressed |
| # images. It can be set to a value between 0.0 and 1.0 in order |
| # to preserve a percentage of the disk for uses other than |
| # instances. |
| # |
| # NOTE: This can be set per-compute, or if set to 0.0, the value |
| # set on the scheduler node(s) or compute node(s) will be used and |
| # defaulted to 1.0. |
| # |
| # NOTE: As of the 16.0.0 Pike release, this configuration option is |
| # ignored |
| # for the ironic.IronicDriver compute driver and is hardcoded to 1.0. |
| # |
| # Possible values: |
| # |
| # * Any valid positive integer or float value |
| # (floating point value) |
| # Minimum value: 0 |
| #disk_allocation_ratio = 0.0 |
| |
| # |
| # Console proxy host to be used to connect to instances on this host. |
| # It is the |
| # publicly visible name for the console host. |
| # |
| # Possible values: |
| # |
| # * Current hostname (default) or any string representing hostname. |
| # (string value) |
| #console_host = <current_hostname> |
| |
| # |
| # Name of the network to be used to set access IPs for instances. If |
| # there are |
| # multiple IPs to choose from, an arbitrary one will be chosen. |
| # |
| # Possible values: |
| # |
| # * None (default) |
| # * Any string representing network name. |
| # (string value) |
| #default_access_ip_network_name = <None> |
| |
| # |
| # Whether to batch up the application of IPTables rules during a host |
| # restart |
| # and apply all at the end of the init phase. |
| # (boolean value) |
| #defer_iptables_apply = false |
| |
| # |
| # Specifies where instances are stored on the hypervisor's disk. |
| # It can point to locally attached storage or a directory on NFS. |
| # |
| # Possible values: |
| # |
| # * $state_path/instances where state_path is a config option that |
| # specifies |
| # the top-level directory for maintaining nova's state. (default) or |
| # Any string representing directory path. |
| # (string value) |
| instances_path = {{ compute.instances_path }} |
| |
| # |
| # This option enables periodic compute.instance.exists notifications. |
| # Each |
| # compute node must be configured to generate system usage data. These |
| # notifications are consumed by OpenStack Telemetry service. |
| # (boolean value) |
| #instance_usage_audit = false |
| |
| # |
| # Maximum number of 1 second retries in live_migration. It specifies |
| # number |
| # of retries to iptables when it complains. It happens when an user |
| # continuously |
| # sends live-migration request to same host leading to concurrent |
| # request |
| # to iptables. |
| # |
| # Possible values: |
| # |
| # * Any positive integer representing retry count. |
| # (integer value) |
| # Minimum value: 0 |
| #live_migration_retry_count = 30 |
| |
| # |
| # This option specifies whether to start guests that were running |
| # before the |
| # host rebooted. It ensures that all of the instances on a Nova |
| # compute node |
| # resume their state each time the compute node boots or restarts. |
| # (boolean value) |
| resume_guests_state_on_host_boot = {{ compute.get('resume_guests_state_on_host_boot', True) }} |
| |
| # |
| # Number of times to retry network allocation. It is required to |
| # attempt network |
| # allocation retries if the virtual interface plug fails. |
| # |
| # Possible values: |
| # |
| # * Any positive integer representing retry count. |
| # (integer value) |
| # Minimum value: 0 |
| #network_allocate_retries = 0 |
| |
| # |
| # Limits the maximum number of instance builds to run concurrently by |
| # nova-compute. Compute service can attempt to build an infinite |
| # number of |
| # instances, if asked to do so. This limit is enforced to avoid |
| # building |
| # unlimited instance concurrently on a compute node. This value can be |
| # set |
| # per compute node. |
| # |
| # Possible Values: |
| # |
| # * 0 : treated as unlimited. |
| # * Any positive integer representing maximum concurrent builds. |
| # (integer value) |
| # Minimum value: 0 |
| #max_concurrent_builds = 10 |
| |
| # |
| # Maximum number of live migrations to run concurrently. This limit is |
| # enforced |
| # to avoid outbound live migrations overwhelming the host/network and |
| # causing |
| # failures. It is not recommended that you change this unless you are |
| # very sure |
| # that doing so is safe and stable in your environment. |
| # |
| # Possible values: |
| # |
| # * 0 : treated as unlimited. |
| # * Negative value defaults to 0. |
| # * Any positive integer representing maximum number of live |
| # migrations |
| # to run concurrently. |
| # (integer value) |
| #max_concurrent_live_migrations = 1 |
| {%- if compute.max_concurrent_live_migrations is defined %} |
| max_concurrent_live_migrations = {{ compute.max_concurrent_live_migrations }} |
| {%- endif %} |
| |
| # |
| # Number of times to retry block device allocation on failures. |
| # Starting with |
| # Liberty, Cinder can use image volume cache. This may help with block |
| # device |
| # allocation performance. Look at the cinder |
| # image_volume_cache_enabled |
| # configuration option. |
| # |
| # Possible values: |
| # |
| # * 60 (default) |
| # * If value is 0, then one attempt is made. |
| # * Any negative value is treated as 0. |
| # * For any value > 0, total attempts are (value + 1) |
| # (integer value) |
| block_device_allocate_retries = {{ compute.get('block_device_allocate_retries', '600') }} |
| |
| # |
| # Number of greenthreads available for use to sync power states. |
| # |
| # This option can be used to reduce the number of concurrent requests |
| # made to the hypervisor or system with real instance power states |
| # for performance reasons, for example, with Ironic. |
| # |
| # Possible values: |
| # |
| # * Any positive integer representing greenthreads count. |
| # (integer value) |
| #sync_power_state_pool_size = 1000 |
| |
| # |
| # Number of seconds to wait between runs of the image cache manager. |
| # |
| # Possible values: |
| # * 0: run at the default rate. |
| # * -1: disable |
| # * Any other value |
| # (integer value) |
| # Minimum value: -1 |
| image_cache_manager_interval = 0 |
| |
| # |
| # Interval to pull network bandwidth usage info. |
| # |
| # Not supported on all hypervisors. If a hypervisor doesn't support |
| # bandwidth |
| # usage, it will not get the info in the usage events. |
| # |
| # Possible values: |
| # |
| # * 0: Will run at the default periodic interval. |
| # * Any value < 0: Disables the option. |
| # * Any positive integer in seconds. |
| # (integer value) |
| #bandwidth_poll_interval = 600 |
| |
| # |
| # Interval to sync power states between the database and the |
| # hypervisor. |
| # |
| # The interval that Nova checks the actual virtual machine power state |
| # and the power state that Nova has in its database. If a user powers |
| # down their VM, Nova updates the API to report the VM has been |
| # powered down. Should something turn on the VM unexpectedly, |
| # Nova will turn the VM back off to keep the system in the expected |
| # state. |
| # |
| # Possible values: |
| # |
| # * 0: Will run at the default periodic interval. |
| # * Any value < 0: Disables the option. |
| # * Any positive integer in seconds. |
| # |
| # Related options: |
| # |
| # * If ``handle_virt_lifecycle_events`` in workarounds_group is |
| # false and this option is negative, then instances that get out |
| # of sync between the hypervisor and the Nova database will have |
| # to be synchronized manually. |
| # (integer value) |
| #sync_power_state_interval = 600 |
| |
| # |
| # Interval between instance network information cache updates. |
| # |
| # Number of seconds after which each compute node runs the task of |
| # querying Neutron for all of its instances networking information, |
| # then updates the Nova db with that information. Nova will never |
| # update it's cache if this option is set to 0. If we don't update the |
| # cache, the metadata service and nova-api endpoints will be proxying |
| # incorrect network data about the instance. So, it is not recommended |
| # to set this option to 0. |
| # |
| # Possible values: |
| # |
| # * Any positive integer in seconds. |
| # * Any value <=0 will disable the sync. This is not recommended. |
| # (integer value) |
| #heal_instance_info_cache_interval = 60 |
| heal_instance_info_cache_interval = {{ compute.heal_instance_info_cache_interval }} |
| |
| # |
| # Interval for reclaiming deleted instances. |
| # |
| # A value greater than 0 will enable SOFT_DELETE of instances. |
| # This option decides whether the server to be deleted will be put |
| # into |
| # the SOFT_DELETED state. If this value is greater than 0, the deleted |
| # server will not be deleted immediately, instead it will be put into |
| # a queue until it's too old (deleted time greater than the value of |
| # reclaim_instance_interval). The server can be recovered from the |
| # delete queue by using the restore action. If the deleted server |
| # remains |
| # longer than the value of reclaim_instance_interval, it will be |
| # deleted by a periodic task in the compute service automatically. |
| # |
| # Note that this option is read from both the API and compute nodes, |
| # and |
| # must be set globally otherwise servers could be put into a soft |
| # deleted |
| # state in the API and never actually reclaimed (deleted) on the |
| # compute |
| # node. |
| # |
| # Possible values: |
| # |
| # * Any positive integer(in seconds) greater than 0 will enable |
| # this option. |
| # * Any value <=0 will disable the option. |
| # (integer value) |
| #reclaim_instance_interval = 0 |
| {%- if compute.reclaim_instance_interval is defined %} |
| reclaim_instance_interval = {{ compute.reclaim_instance_interval }} |
| {%- endif %} |
| |
| # |
| # Interval for gathering volume usages. |
| # |
| # This option updates the volume usage cache for every |
| # volume_usage_poll_interval number of seconds. |
| # |
| # Possible values: |
| # |
| # * Any positive integer(in seconds) greater than 0 will enable |
| # this option. |
| # * Any value <=0 will disable the option. |
| # (integer value) |
| #volume_usage_poll_interval = 0 |
| |
| # |
| # Interval for polling shelved instances to offload. |
| # |
| # The periodic task runs for every shelved_poll_interval number |
| # of seconds and checks if there are any shelved instances. If it |
| # finds a shelved instance, based on the 'shelved_offload_time' config |
| # value it offloads the shelved instances. Check |
| # 'shelved_offload_time' |
| # config option description for details. |
| # |
| # Possible values: |
| # |
| # * Any value <= 0: Disables the option. |
| # * Any positive integer in seconds. |
| # |
| # Related options: |
| # |
| # * ``shelved_offload_time`` |
| # (integer value) |
| #shelved_poll_interval = 3600 |
| |
| # |
| # Time before a shelved instance is eligible for removal from a host. |
| # |
| # By default this option is set to 0 and the shelved instance will be |
| # removed from the hypervisor immediately after shelve operation. |
| # Otherwise, the instance will be kept for the value of |
| # shelved_offload_time(in seconds) so that during the time period the |
| # unshelve action will be faster, then the periodic task will remove |
| # the instance from hypervisor after shelved_offload_time passes. |
| # |
| # Possible values: |
| # |
| # * 0: Instance will be immediately offloaded after being |
| # shelved. |
| # * Any value < 0: An instance will never offload. |
| # * Any positive integer in seconds: The instance will exist for |
| # the specified number of seconds before being offloaded. |
| # (integer value) |
| #shelved_offload_time = 0 |
| |
| # |
| # Interval for retrying failed instance file deletes. |
| # |
| # This option depends on 'maximum_instance_delete_attempts'. |
| # This option specifies how often to retry deletes whereas |
| # 'maximum_instance_delete_attempts' specifies the maximum number |
| # of retry attempts that can be made. |
| # |
| # Possible values: |
| # |
| # * 0: Will run at the default periodic interval. |
| # * Any value < 0: Disables the option. |
| # * Any positive integer in seconds. |
| # |
| # Related options: |
| # |
| # * ``maximum_instance_delete_attempts`` from instance_cleaning_opts |
| # group. |
| # (integer value) |
| #instance_delete_interval = 300 |
| |
| # |
| # Interval (in seconds) between block device allocation retries on |
| # failures. |
| # |
| # This option allows the user to specify the time interval between |
| # consecutive retries. 'block_device_allocate_retries' option |
| # specifies |
| # the maximum number of retries. |
| # |
| # Possible values: |
| # |
| # * 0: Disables the option. |
| # * Any positive integer in seconds enables the option. |
| # |
| # Related options: |
| # |
| # * ``block_device_allocate_retries`` in compute_manager_opts group. |
| # (integer value) |
| # Minimum value: 0 |
| block_device_allocate_retries_interval = {{ compute.get('block_device_allocate_retries_interval', '10') }} |
| |
| # |
| # Interval between sending the scheduler a list of current instance |
| # UUIDs to |
| # verify that its view of instances is in sync with nova. |
| # |
| # If the CONF option 'scheduler_tracks_instance_changes' is |
| # False, the sync calls will not be made. So, changing this option |
| # will |
| # have no effect. |
| # |
| # If the out of sync situations are not very common, this interval |
| # can be increased to lower the number of RPC messages being sent. |
| # Likewise, if sync issues turn out to be a problem, the interval |
| # can be lowered to check more frequently. |
| # |
| # Possible values: |
| # |
| # * 0: Will run at the default periodic interval. |
| # * Any value < 0: Disables the option. |
| # * Any positive integer in seconds. |
| # |
| # Related options: |
| # |
| # * This option has no impact if ``scheduler_tracks_instance_changes`` |
| # is set to False. |
| # (integer value) |
| #scheduler_instance_sync_interval = 120 |
| |
| # |
| # Interval for updating compute resources. |
| # |
| # This option specifies how often the update_available_resources |
| # periodic task should run. A number less than 0 means to disable the |
| # task completely. Leaving this at the default of 0 will cause this to |
| # run at the default periodic interval. Setting it to any positive |
| # value will cause it to run at approximately that number of seconds. |
| # |
| # Possible values: |
| # |
| # * 0: Will run at the default periodic interval. |
| # * Any value < 0: Disables the option. |
| # * Any positive integer in seconds. |
| # (integer value) |
| #update_resources_interval = 0 |
| |
| # |
| # Time interval after which an instance is hard rebooted |
| # automatically. |
| # |
| # When doing a soft reboot, it is possible that a guest kernel is |
| # completely hung in a way that causes the soft reboot task |
| # to not ever finish. Setting this option to a time period in seconds |
| # will automatically hard reboot an instance if it has been stuck |
| # in a rebooting state longer than N seconds. |
| # |
| # Possible values: |
| # |
| # * 0: Disables the option (default). |
| # * Any positive integer in seconds: Enables the option. |
| # (integer value) |
| # Minimum value: 0 |
| #reboot_timeout = 0 |
| |
| # |
| # Maximum time in seconds that an instance can take to build. |
| # |
| # If this timer expires, instance status will be changed to ERROR. |
| # Enabling this option will make sure an instance will not be stuck |
| # in BUILD state for a longer period. |
| # |
| # Possible values: |
| # |
| # * 0: Disables the option (default) |
| # * Any positive integer in seconds: Enables the option. |
| # (integer value) |
| # Minimum value: 0 |
| {%- if compute.instance_build_timeout is defined %} |
| instance_build_timeout = {{ compute.instance_build_timeout }} |
| {%- else %} |
| #instance_build_timeout = 0 |
| {%- endif %} |
| |
| # |
| # Interval to wait before un-rescuing an instance stuck in RESCUE. |
| # |
| # Possible values: |
| # |
| # * 0: Disables the option (default) |
| # * Any positive integer in seconds: Enables the option. |
| # (integer value) |
| # Minimum value: 0 |
| #rescue_timeout = 0 |
| |
| # |
| # Automatically confirm resizes after N seconds. |
| # |
| # Resize functionality will save the existing server before resizing. |
| # After the resize completes, user is requested to confirm the resize. |
| # The user has the opportunity to either confirm or revert all |
| # changes. Confirm resize removes the original server and changes |
| # server status from resized to active. Setting this option to a time |
| # period (in seconds) will automatically confirm the resize if the |
| # server is in resized state longer than that time. |
| # |
| # Possible values: |
| # |
| # * 0: Disables the option (default) |
| # * Any positive integer in seconds: Enables the option. |
| # (integer value) |
| # Minimum value: 0 |
| #resize_confirm_window = 0 |
| |
| # |
| # Total time to wait in seconds for an instance toperform a clean |
| # shutdown. |
| # |
| # It determines the overall period (in seconds) a VM is allowed to |
| # perform a clean shutdown. While performing stop, rescue and shelve, |
| # rebuild operations, configuring this option gives the VM a chance |
| # to perform a controlled shutdown before the instance is powered off. |
| # The default timeout is 60 seconds. |
| # |
| # The timeout value can be overridden on a per image basis by means |
| # of os_shutdown_timeout that is an image metadata setting allowing |
| # different types of operating systems to specify how much time they |
| # need to shut down cleanly. |
| # |
| # Possible values: |
| # |
| # * Any positive integer in seconds (default value is 60). |
| # (integer value) |
| # Minimum value: 1 |
| #shutdown_timeout = 60 |
| |
| # |
| # The compute service periodically checks for instances that have been |
| # deleted in the database but remain running on the compute node. The |
| # above option enables action to be taken when such instances are |
| # identified. |
| # |
| # Possible values: |
| # |
| # * reap: Powers down the instances and deletes them(default) |
| # * log: Logs warning message about deletion of the resource |
| # * shutdown: Powers down instances and marks them as non- |
| # bootable which can be later used for debugging/analysis |
| # * noop: Takes no action |
| # |
| # Related options: |
| # |
| # * running_deleted_instance_poll_interval |
| # * running_deleted_instance_timeout |
| # (string value) |
| # Possible values: |
| # noop - <No description provided> |
| # log - <No description provided> |
| # shutdown - <No description provided> |
| # reap - <No description provided> |
| #running_deleted_instance_action = reap |
| |
| # |
| # Time interval in seconds to wait between runs for the clean up |
| # action. |
| # If set to 0, above check will be disabled. If |
| # "running_deleted_instance |
| # _action" is set to "log" or "reap", a value greater than 0 must be |
| # set. |
| # |
| # Possible values: |
| # |
| # * Any positive integer in seconds enables the option. |
| # * 0: Disables the option. |
| # * 1800: Default value. |
| # |
| # Related options: |
| # |
| # * running_deleted_instance_action |
| # (integer value) |
| #running_deleted_instance_poll_interval = 1800 |
| |
| # |
| # Time interval in seconds to wait for the instances that have |
| # been marked as deleted in database to be eligible for cleanup. |
| # |
| # Possible values: |
| # |
| # * Any positive integer in seconds(default is 0). |
| # |
| # Related options: |
| # |
| # * "running_deleted_instance_action" |
| # (integer value) |
| #running_deleted_instance_timeout = 0 |
| |
| # |
| # The number of times to attempt to reap an instance's files. |
| # |
| # This option specifies the maximum number of retry attempts |
| # that can be made. |
| # |
| # Possible values: |
| # |
| # * Any positive integer defines how many attempts are made. |
| # * Any value <=0 means no delete attempts occur, but you should use |
| # ``instance_delete_interval`` to disable the delete attempts. |
| # |
| # Related options: |
| # * ``instance_delete_interval`` in interval_opts group can be used to |
| # disable |
| # this option. |
| # (integer value) |
| #maximum_instance_delete_attempts = 5 |
| |
| # |
| # Sets the scope of the check for unique instance names. |
| # |
| # The default doesn't check for unique names. If a scope for the name |
| # check is |
| # set, a launch of a new instance or an update of an existing instance |
| # with a |
| # duplicate name will result in an ''InstanceExists'' error. The |
| # uniqueness is |
| # case-insensitive. Setting this option can increase the usability for |
| # end |
| # users as they don't have to distinguish among instances with the |
| # same name |
| # by their IDs. |
| # |
| # Possible values: |
| # |
| # * '': An empty value means that no uniqueness check is done and |
| # duplicate |
| # names are possible. |
| # * "project": The instance name check is done only for instances |
| # within the |
| # same project. |
| # * "global": The instance name check is done for all instances |
| # regardless of |
| # the project. |
| # (string value) |
| # Possible values: |
| # '' - <No description provided> |
| # project - <No description provided> |
| # global - <No description provided> |
| #osapi_compute_unique_server_name_scope = |
| |
| # |
| # Enable new nova-compute services on this host automatically. |
| # |
| # When a new nova-compute service starts up, it gets |
| # registered in the database as an enabled service. Sometimes it can |
| # be useful |
| # to register new compute services in disabled state and then enabled |
| # them at a |
| # later point in time. This option only sets this behavior for nova- |
| # compute |
| # services, it does not auto-disable other services like nova- |
| # conductor, |
| # nova-scheduler, nova-consoleauth, or nova-osapi_compute. |
| # |
| # Possible values: |
| # |
| # * ``True``: Each new compute service is enabled as soon as it |
| # registers itself. |
| # * ``False``: Compute services must be enabled via an os-services |
| # REST API call |
| # or with the CLI with ``nova service-enable <hostname> <binary>``, |
| # otherwise |
| # they are not ready to use. |
| # (boolean value) |
| #enable_new_services = true |
| |
| # |
| # Template string to be used to generate instance names. |
| # |
| # This template controls the creation of the database name of an |
| # instance. This |
| # is *not* the display name you enter when creating an instance (via |
| # Horizon |
| # or CLI). For a new deployment it is advisable to change the default |
| # value |
| # (which uses the database autoincrement) to another value which makes |
| # use |
| # of the attributes of an instance, like ``instance-%(uuid)s``. If you |
| # already have instances in your deployment when you change this, your |
| # deployment will break. |
| # |
| # Possible values: |
| # |
| # * A string which either uses the instance database ID (like the |
| # default) |
| # * A string with a list of named database columns, for example |
| # ``%(id)d`` |
| # or ``%(uuid)s`` or ``%(hostname)s``. |
| # |
| # Related options: |
| # |
| # * not to be confused with: ``multi_instance_display_name_template`` |
| # (string value) |
| #instance_name_template = instance-%08x |
| |
| # |
| # Number of times to retry live-migration before failing. |
| # |
| # Possible values: |
| # |
| # * If == -1, try until out of hosts (default) |
| # * If == 0, only try once, no retries |
| # * Integer greater than 0 |
| # (integer value) |
| # Minimum value: -1 |
| #migrate_max_retries = -1 |
| |
| # |
| # Configuration drive format |
| # |
| # Configuration drive format that will contain metadata attached to |
| # the |
| # instance when it boots. |
| # |
| # Possible values: |
| # |
| # * iso9660: A file system image standard that is widely supported |
| # across |
| # operating systems. NOTE: Mind the libvirt bug |
| # (https://bugs.launchpad.net/nova/+bug/1246201) - If your |
| # hypervisor |
| # driver is libvirt, and you want live migrate to work without |
| # shared storage, |
| # then use VFAT. |
| # * vfat: For legacy reasons, you can configure the configuration |
| # drive to |
| # use VFAT format instead of ISO 9660. |
| # |
| # Related options: |
| # |
| # * This option is meaningful when one of the following alternatives |
| # occur: |
| # 1. force_config_drive option set to 'true' |
| # 2. the REST API call to create the instance contains an enable |
| # flag for |
| # config drive option |
| # 3. the image used to create the instance requires a config drive, |
| # this is defined by img_config_drive property for that image. |
| # * A compute node running Hyper-V hypervisor can be configured to |
| # attach |
| # configuration drive as a CD drive. To attach the configuration |
| # drive as a CD |
| # drive, set config_drive_cdrom option at hyperv section, to true. |
| # (string value) |
| # Possible values: |
| # iso9660 - <No description provided> |
| # vfat - <No description provided> |
| #config_drive_format = iso9660 |
| config_drive_format={{ compute.get('config_drive_format', compute.get('config_drive', {}).get('format', 'vfat')) }} |
| |
| # |
| # Force injection to take place on a config drive |
| # |
| # When this option is set to true configuration drive functionality |
| # will be |
| # forced enabled by default, otherwise user can still enable |
| # configuration |
| # drives via the REST API or image metadata properties. |
| # |
| # Possible values: |
| # |
| # * True: Force to use of configuration drive regardless the user's |
| # input in the |
| # REST API call. |
| # * False: Do not force use of configuration drive. Config drives can |
| # still be |
| # enabled via the REST API or image metadata properties. |
| # |
| # Related options: |
| # |
| # * Use the 'mkisofs_cmd' flag to set the path where you install the |
| # genisoimage program. If genisoimage is in same path as the |
| # nova-compute service, you do not need to set this flag. |
| # * To use configuration drive with Hyper-V, you must set the |
| # 'mkisofs_cmd' value to the full path to an mkisofs.exe |
| # installation. |
| # Additionally, you must set the qemu_img_cmd value in the hyperv |
| # configuration section to the full path to an qemu-img command |
| # installation. |
| # (boolean value) |
| #force_config_drive = false |
| force_config_drive={{ compute.get('config_drive', {}).get('forced', True)|lower }} |
| |
| # |
| # Name or path of the tool used for ISO image creation |
| # |
| # Use the mkisofs_cmd flag to set the path where you install the |
| # genisoimage |
| # program. If genisoimage is on the system path, you do not need to |
| # change |
| # the default value. |
| # |
| # To use configuration drive with Hyper-V, you must set the |
| # mkisofs_cmd value |
| # to the full path to an mkisofs.exe installation. Additionally, you |
| # must set |
| # the qemu_img_cmd value in the hyperv configuration section to the |
| # full path |
| # to an qemu-img command installation. |
| # |
| # Possible values: |
| # |
| # * Name of the ISO image creator program, in case it is in the same |
| # directory |
| # as the nova-compute service |
| # * Path to ISO image creator program |
| # |
| # Related options: |
| # |
| # * This option is meaningful when config drives are enabled. |
| # * To use configuration drive with Hyper-V, you must set the |
| # qemu_img_cmd |
| # value in the hyperv configuration section to the full path to an |
| # qemu-img |
| # command installation. |
| # (string value) |
| #mkisofs_cmd = genisoimage |
| |
| # DEPRECATED: The driver to use for database access (string value) |
| # This option is deprecated for removal since 13.0.0. |
| # Its value may be silently ignored in the future. |
| #db_driver = nova.db |
| |
| # DEPRECATED: |
| # Default flavor to use for the EC2 API only. |
| # The Nova API does not support a default flavor. |
| # (string value) |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: The EC2 API is deprecated. |
| #default_flavor = m1.small |
| |
| # |
| # The IP address which the host is using to connect to the management |
| # network. |
| # |
| # Possible values: |
| # |
| # * String with valid IP address. Default is IPv4 address of this |
| # host. |
| # |
| # Related options: |
| # |
| # * metadata_host |
| # * my_block_storage_ip |
| # * routing_source_ip |
| # * vpn_ip |
| # (string value) |
| #my_ip = <host_ipv4> |
| {%- if compute.my_ip is defined %} |
| my_ip={{ compute.my_ip }} |
| {%- endif %} |
| |
| # |
| # The IP address which is used to connect to the block storage |
| # network. |
| # |
| # Possible values: |
| # |
| # * String with valid IP address. Default is IP address of this host. |
| # |
| # Related options: |
| # |
| # * my_ip - if my_block_storage_ip is not set, then my_ip value is |
| # used. |
| # (string value) |
| #my_block_storage_ip = $my_ip |
| |
| # |
| # Hostname, FQDN or IP address of this host. |
| # |
| # Used as: |
| # |
| # * the oslo.messaging queue name for nova-compute worker |
| # * we use this value for the binding_host sent to neutron. This means |
| # if you use |
| # a neutron agent, it should have the same value for host. |
| # * cinder host attachment information |
| # |
| # Must be valid within AMQP key. |
| # |
| # Possible values: |
| # |
| # * String with hostname, FQDN or IP address. Default is hostname of |
| # this host. |
| # (string value) |
| #host = <current_hostname> |
| {%- if compute.host is defined %} |
| host={{ compute.host }} |
| {%- endif %} |
| |
| # DEPRECATED: |
| # This option is a list of full paths to one or more configuration |
| # files for |
| # dhcpbridge. In most cases the default path of '/etc/nova/nova- |
| # dhcpbridge.conf' |
| # should be sufficient, but if you have special needs for configuring |
| # dhcpbridge, |
| # you can change or add to this list. |
| # |
| # Possible values |
| # |
| # * A list of strings, where each string is the full path to a |
| # dhcpbridge |
| # configuration file. |
| # (multi valued) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dhcpbridge_flagfile = /etc/nova/nova.conf |
| |
| # DEPRECATED: |
| # The location where the network configuration files will be kept. The |
| # default is |
| # the 'networks' directory off of the location where nova's Python |
| # module is |
| # installed. |
| # |
| # Possible values |
| # |
| # * A string containing the full path to the desired configuration |
| # directory |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #networks_path = $state_path/networks |
| |
| # DEPRECATED: |
| # This is the name of the network interface for public IP addresses. |
| # The default |
| # is 'eth0'. |
| # |
| # Possible values: |
| # |
| # * Any string representing a network interface name |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #public_interface = eth0 |
| |
| # DEPRECATED: |
| # The location of the binary nova-dhcpbridge. By default it is the |
| # binary named |
| # 'nova-dhcpbridge' that is installed with all the other nova |
| # binaries. |
| # |
| # Possible values: |
| # |
| # * Any string representing the full path to the binary for dhcpbridge |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dhcpbridge = $bindir/nova-dhcpbridge |
| |
| # DEPRECATED: |
| # The public IP address of the network host. |
| # |
| # This is used when creating an SNAT rule. |
| # |
| # Possible values: |
| # |
| # * Any valid IP address |
| # |
| # Related options: |
| # |
| # * ``force_snat_range`` |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #routing_source_ip = $my_ip |
| |
| # DEPRECATED: |
| # The lifetime of a DHCP lease, in seconds. The default is 86400 (one |
| # day). |
| # |
| # Possible values: |
| # |
| # * Any positive integer value. |
| # (integer value) |
| # Minimum value: 1 |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dhcp_lease_time = 86400 |
| |
| # DEPRECATED: |
| # Despite the singular form of the name of this option, it is actually |
| # a list of |
| # zero or more server addresses that dnsmasq will use for DNS |
| # nameservers. If |
| # this is not empty, dnsmasq will not read /etc/resolv.conf, but will |
| # only use |
| # the servers specified in this option. If the option |
| # use_network_dns_servers is |
| # True, the dns1 and dns2 servers from the network will be appended to |
| # this list, |
| # and will be used as DNS servers, too. |
| # |
| # Possible values: |
| # |
| # * A list of strings, where each string is either an IP address or a |
| # FQDN. |
| # |
| # Related options: |
| # |
| # * ``use_network_dns_servers`` |
| # (multi valued) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dns_server = |
| |
| # DEPRECATED: |
| # When this option is set to True, the dns1 and dns2 servers for the |
| # network |
| # specified by the user on boot will be used for DNS, as well as any |
| # specified in |
| # the `dns_server` option. |
| # |
| # Related options: |
| # |
| # * ``dns_server`` |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #use_network_dns_servers = false |
| |
| # DEPRECATED: |
| # This option is a list of zero or more IP address ranges in your |
| # network's DMZ |
| # that should be accepted. |
| # |
| # Possible values: |
| # |
| # * A list of strings, each of which should be a valid CIDR. |
| # (list value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dmz_cidr = |
| |
| # DEPRECATED: |
| # This is a list of zero or more IP ranges that traffic from the |
| # `routing_source_ip` will be SNATted to. If the list is empty, then |
| # no SNAT |
| # rules are created. |
| # |
| # Possible values: |
| # |
| # * A list of strings, each of which should be a valid CIDR. |
| # |
| # Related options: |
| # |
| # * ``routing_source_ip`` |
| # (multi valued) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #force_snat_range = |
| |
| # DEPRECATED: |
| # The path to the custom dnsmasq configuration file, if any. |
| # |
| # Possible values: |
| # |
| # * The full path to the configuration file, or an empty string if |
| # there is no |
| # custom dnsmasq configuration file. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dnsmasq_config_file = |
| |
| # DEPRECATED: |
| # This is the class used as the ethernet device driver for linuxnet |
| # bridge |
| # operations. The default value should be all you need for most cases, |
| # but if you |
| # wish to use a customized class, set this option to the full dot- |
| # separated |
| # import path for that class. |
| # |
| # Possible values: |
| # |
| # * Any string representing a dot-separated class path that Nova can |
| # import. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #linuxnet_interface_driver = nova.network.linux_net.LinuxBridgeInterfaceDriver |
| |
| # DEPRECATED: |
| # The name of the Open vSwitch bridge that is used with linuxnet when |
| # connecting |
| # with Open vSwitch." |
| # |
| # Possible values: |
| # |
| # * Any string representing a valid bridge name. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #linuxnet_ovs_integration_bridge = br-int |
| |
| # |
| # When True, when a device starts up, and upon binding floating IP |
| # addresses, arp |
| # messages will be sent to ensure that the arp caches on the compute |
| # hosts are |
| # up-to-date. |
| # |
| # Related options: |
| # |
| # * ``send_arp_for_ha_count`` |
| # (boolean value) |
| #send_arp_for_ha = false |
| |
| # |
| # When arp messages are configured to be sent, they will be sent with |
| # the count |
| # set to the value of this option. Of course, if this is set to zero, |
| # no arp |
| # messages will be sent. |
| # |
| # Possible values: |
| # |
| # * Any integer greater than or equal to 0 |
| # |
| # Related options: |
| # |
| # * ``send_arp_for_ha`` |
| # (integer value) |
| #send_arp_for_ha_count = 3 |
| |
| # DEPRECATED: |
| # When set to True, only the firt nic of a VM will get its default |
| # gateway from |
| # the DHCP server. |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #use_single_default_gateway = false |
| |
| # DEPRECATED: |
| # One or more interfaces that bridges can forward traffic to. If any |
| # of the items |
| # in this list is the special keyword 'all', then all traffic will be |
| # forwarded. |
| # |
| # Possible values: |
| # |
| # * A list of zero or more interface names, or the word 'all'. |
| # (multi valued) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #forward_bridge_interface = all |
| |
| # |
| # This option determines the IP address for the network metadata API |
| # server. |
| # |
| # This is really the client side of the metadata host equation that |
| # allows |
| # nova-network to find the metadata server when doing a default multi |
| # host |
| # networking. |
| # |
| # Possible values: |
| # |
| # * Any valid IP address. The default is the address of the Nova API |
| # server. |
| # |
| # Related options: |
| # |
| # * ``metadata_port`` |
| # (string value) |
| #metadata_host = $my_ip |
| |
| # DEPRECATED: |
| # This option determines the port used for the metadata API server. |
| # |
| # Related options: |
| # |
| # * ``metadata_host`` |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #metadata_port = 8775 |
| |
| # DEPRECATED: |
| # This expression, if defined, will select any matching iptables rules |
| # and place |
| # them at the top when applying metadata changes to the rules. |
| # |
| # Possible values: |
| # |
| # * Any string representing a valid regular expression, or an empty |
| # string |
| # |
| # Related options: |
| # |
| # * ``iptables_bottom_regex`` |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #iptables_top_regex = |
| |
| # DEPRECATED: |
| # This expression, if defined, will select any matching iptables rules |
| # and place |
| # them at the bottom when applying metadata changes to the rules. |
| # |
| # Possible values: |
| # |
| # * Any string representing a valid regular expression, or an empty |
| # string |
| # |
| # Related options: |
| # |
| # * iptables_top_regex |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #iptables_bottom_regex = |
| |
| # DEPRECATED: |
| # By default, packets that do not pass the firewall are DROPped. In |
| # many cases, |
| # though, an operator may find it more useful to change this from DROP |
| # to REJECT, |
| # so that the user issuing those packets may have a better idea as to |
| # what's |
| # going on, or LOGDROP in order to record the blocked traffic before |
| # DROPping. |
| # |
| # Possible values: |
| # |
| # * A string representing an iptables chain. The default is DROP. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #iptables_drop_action = DROP |
| |
| # DEPRECATED: |
| # This option represents the period of time, in seconds, that the |
| # ovs_vsctl calls |
| # will wait for a response from the database before timing out. A |
| # setting of 0 |
| # means that the utility should wait forever for a response. |
| # |
| # Possible values: |
| # |
| # * Any positive integer if a limited timeout is desired, or zero if |
| # the calls |
| # should wait forever for a response. |
| # (integer value) |
| # Minimum value: 0 |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ovs_vsctl_timeout = 120 |
| |
| # DEPRECATED: |
| # This option is used mainly in testing to avoid calls to the |
| # underlying network |
| # utilities. |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #fake_network = false |
| |
| # DEPRECATED: |
| # This option determines the number of times to retry ebtables |
| # commands before |
| # giving up. The minimum number of retries is 1. |
| # |
| # Possible values: |
| # |
| # * Any positive integer |
| # |
| # Related options: |
| # |
| # * ``ebtables_retry_interval`` |
| # (integer value) |
| # Minimum value: 1 |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ebtables_exec_attempts = 3 |
| |
| # DEPRECATED: |
| # This option determines the time, in seconds, that the system will |
| # sleep in |
| # between ebtables retries. Note that each successive retry waits a |
| # multiple of |
| # this value, so for example, if this is set to the default of 1.0 |
| # seconds, and |
| # ebtables_exec_attempts is 4, after the first failure, the system |
| # will sleep for |
| # 1 * 1.0 seconds, after the second failure it will sleep 2 * 1.0 |
| # seconds, and |
| # after the third failure it will sleep 3 * 1.0 seconds. |
| # |
| # Possible values: |
| # |
| # * Any non-negative float or integer. Setting this to zero will |
| # result in no |
| # waiting between attempts. |
| # |
| # Related options: |
| # |
| # * ebtables_exec_attempts |
| # (floating point value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ebtables_retry_interval = 1.0 |
| |
| # DEPRECATED: |
| # Enable neutron as the backend for networking. |
| # |
| # Determine whether to use Neutron or Nova Network as the back end. |
| # Set to true |
| # to use neutron. |
| # (boolean value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #use_neutron = true |
| |
| # |
| # This option determines whether the network setup information is |
| # injected into |
| # the VM before it is booted. While it was originally designed to be |
| # used only |
| # by nova-network, it is also used by the vmware and xenapi virt |
| # drivers to |
| # control whether network information is injected into a VM. The |
| # libvirt virt |
| # driver also uses it when we use config_drive to configure network to |
| # control |
| # whether network information is injected into a VM. |
| # (boolean value) |
| #flat_injected = false |
| |
| # DEPRECATED: |
| # This option determines the bridge used for simple network interfaces |
| # when no |
| # bridge is specified in the VM creation request. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. |
| # |
| # Possible values: |
| # |
| # * Any string representing a valid network bridge, such as 'br100' |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #flat_network_bridge = <None> |
| |
| # DEPRECATED: |
| # This is the address of the DNS server for a simple network. If this |
| # option is |
| # not specified, the default of '8.8.4.4' is used. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. |
| # |
| # Possible values: |
| # |
| # * Any valid IP address. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #flat_network_dns = 8.8.4.4 |
| |
| # DEPRECATED: |
| # This option is the name of the virtual interface of the VM on which |
| # the bridge |
| # will be built. While it was originally designed to be used only by |
| # nova-network, it is also used by libvirt for the bridge interface |
| # name. |
| # |
| # Possible values: |
| # |
| # * Any valid virtual interface name, such as 'eth0' |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #flat_interface = <None> |
| |
| # DEPRECATED: |
| # This is the VLAN number used for private networks. Note that the |
| # when creating |
| # the networks, if the specified number has already been assigned, |
| # nova-network |
| # will increment this number until it finds an available VLAN. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. It also will be ignored if the |
| # configuration option |
| # for `network_manager` is not set to the default of |
| # 'nova.network.manager.VlanManager'. |
| # |
| # Possible values: |
| # |
| # * Any integer between 1 and 4094. Values outside of that range will |
| # raise a |
| # ValueError exception. |
| # |
| # Related options: |
| # |
| # * ``network_manager`` |
| # * ``use_neutron`` |
| # (integer value) |
| # Minimum value: 1 |
| # Maximum value: 4094 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #vlan_start = 100 |
| |
| # DEPRECATED: |
| # This option is the name of the virtual interface of the VM on which |
| # the VLAN |
| # bridge will be built. While it was originally designed to be used |
| # only by |
| # nova-network, it is also used by libvirt and xenapi for the bridge |
| # interface |
| # name. |
| # |
| # Please note that this setting will be ignored in nova-network if the |
| # configuration option for `network_manager` is not set to the default |
| # of |
| # 'nova.network.manager.VlanManager'. |
| # |
| # Possible values: |
| # |
| # * Any valid virtual interface name, such as 'eth0' |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. While |
| # this option has an effect when using neutron, it incorrectly |
| # override the value |
| # provided by neutron and should therefore not be used. |
| #vlan_interface = <None> |
| |
| # DEPRECATED: |
| # This option represents the number of networks to create if not |
| # explicitly |
| # specified when the network is created. The only time this is used is |
| # if a CIDR |
| # is specified, but an explicit network_size is not. In that case, the |
| # subnets |
| # are created by diving the IP address space of the CIDR by |
| # num_networks. The |
| # resulting subnet sizes cannot be larger than the configuration |
| # option |
| # `network_size`; in that event, they are reduced to `network_size`, |
| # and a |
| # warning is logged. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. |
| # |
| # Possible values: |
| # |
| # * Any positive integer is technically valid, although there are |
| # practical |
| # limits based upon available IP address space and virtual |
| # interfaces. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # * ``network_size`` |
| # (integer value) |
| # Minimum value: 1 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #num_networks = 1 |
| |
| # DEPRECATED: |
| # This option is no longer used since the /os-cloudpipe API was |
| # removed in the |
| # 16.0.0 Pike release. This is the public IP address for the cloudpipe |
| # VPN |
| # servers. It defaults to the IP address of the host. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. It also will be ignored if the |
| # configuration option |
| # for `network_manager` is not set to the default of |
| # 'nova.network.manager.VlanManager'. |
| # |
| # Possible values: |
| # |
| # * Any valid IP address. The default is ``$my_ip``, the IP address of |
| # the VM. |
| # |
| # Related options: |
| # |
| # * ``network_manager`` |
| # * ``use_neutron`` |
| # * ``vpn_start`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #vpn_ip = $my_ip |
| |
| # DEPRECATED: |
| # This is the port number to use as the first VPN port for private |
| # networks. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. It also will be ignored if the |
| # configuration option |
| # for `network_manager` is not set to the default of |
| # 'nova.network.manager.VlanManager', or if you specify a value the |
| # 'vpn_start' |
| # parameter when creating a network. |
| # |
| # Possible values: |
| # |
| # * Any integer representing a valid port number. The default is 1000. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # * ``vpn_ip`` |
| # * ``network_manager`` |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #vpn_start = 1000 |
| |
| # DEPRECATED: |
| # This option determines the number of addresses in each private |
| # subnet. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. |
| # |
| # Possible values: |
| # |
| # * Any positive integer that is less than or equal to the available |
| # network |
| # size. Note that if you are creating multiple networks, they must |
| # all fit in |
| # the available IP address space. The default is 256. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # * ``num_networks`` |
| # (integer value) |
| # Minimum value: 1 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #network_size = 256 |
| |
| # DEPRECATED: |
| # This option determines the fixed IPv6 address block when creating a |
| # network. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. |
| # |
| # Possible values: |
| # |
| # * Any valid IPv6 CIDR |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #fixed_range_v6 = fd00::/48 |
| |
| # DEPRECATED: |
| # This is the default IPv4 gateway. It is used only in the testing |
| # suite. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. |
| # |
| # Possible values: |
| # |
| # * Any valid IP address. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # * ``gateway_v6`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #gateway = <None> |
| |
| # DEPRECATED: |
| # This is the default IPv6 gateway. It is used only in the testing |
| # suite. |
| # |
| # Please note that this option is only used when using nova-network |
| # instead of |
| # Neutron in your deployment. |
| # |
| # Possible values: |
| # |
| # * Any valid IP address. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # * ``gateway`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #gateway_v6 = <None> |
| |
| # DEPRECATED: |
| # This option represents the number of IP addresses to reserve at the |
| # top of the |
| # address range for VPN clients. It also will be ignored if the |
| # configuration |
| # option for `network_manager` is not set to the default of |
| # 'nova.network.manager.VlanManager'. |
| # |
| # Possible values: |
| # |
| # * Any integer, 0 or greater. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # * ``network_manager`` |
| # (integer value) |
| # Minimum value: 0 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #cnt_vpn_clients = 0 |
| |
| # DEPRECATED: |
| # This is the number of seconds to wait before disassociating a |
| # deallocated fixed |
| # IP address. This is only used with the nova-network service, and has |
| # no effect |
| # when using neutron for networking. |
| # |
| # Possible values: |
| # |
| # * Any integer, zero or greater. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (integer value) |
| # Minimum value: 0 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #fixed_ip_disassociate_timeout = 600 |
| |
| # DEPRECATED: |
| # This option determines how many times nova-network will attempt to |
| # create a |
| # unique MAC address before giving up and raising a |
| # `VirtualInterfaceMacAddressException` error. |
| # |
| # Possible values: |
| # |
| # * Any positive integer. The default is 5. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (integer value) |
| # Minimum value: 1 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #create_unique_mac_address_attempts = 5 |
| |
| # DEPRECATED: |
| # Determines whether unused gateway devices, both VLAN and bridge, are |
| # deleted if |
| # the network is in nova-network VLAN mode and is multi-hosted. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # * ``vpn_ip`` |
| # * ``fake_network`` |
| # (boolean value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #teardown_unused_network_gateway = false |
| |
| # DEPRECATED: |
| # When this option is True, a call is made to release the DHCP for the |
| # instance |
| # when that instance is terminated. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (boolean value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| force_dhcp_release = {{ compute.get('force_dhcp_release', 'true') }} |
| |
| # DEPRECATED: |
| # When this option is True, whenever a DNS entry must be updated, a |
| # fanout cast |
| # message is sent to all network hosts to update their DNS entries in |
| # multi-host |
| # mode. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (boolean value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #update_dns_entries = false |
| |
| # DEPRECATED: |
| # This option determines the time, in seconds, to wait between |
| # refreshing DNS |
| # entries for the network. |
| # |
| # Possible values: |
| # |
| # * A positive integer |
| # * -1 to disable updates |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (integer value) |
| # Minimum value: -1 |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dns_update_periodic_interval = -1 |
| |
| # DEPRECATED: |
| # This option allows you to specify the domain for the DHCP server. |
| # |
| # Possible values: |
| # |
| # * Any string that is a valid domain name. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #dhcp_domain = novalocal |
| dhcp_domain={{ compute.get('dhcp_domain', 'novalocal') }} |
| |
| # DEPRECATED: |
| # This option allows you to specify the L3 management library to be |
| # used. |
| # |
| # Possible values: |
| # |
| # * Any dot-separated string that represents the import path to an L3 |
| # networking |
| # library. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #l3_lib = nova.network.l3.LinuxNetL3 |
| |
| # DEPRECATED: |
| # THIS VALUE SHOULD BE SET WHEN CREATING THE NETWORK. |
| # |
| # If True in multi_host mode, all compute hosts share the same dhcp |
| # address. The |
| # same IP address used for DHCP will be added on each nova-network |
| # node which is |
| # only visible to the VMs on the same host. |
| # |
| # The use of this configuration has been deprecated and may be removed |
| # in any |
| # release after Mitaka. It is recommended that instead of relying on |
| # this option, |
| # an explicit value should be passed to 'create_networks()' as a |
| # keyword argument |
| # with the name 'share_address'. |
| # (boolean value) |
| # This option is deprecated for removal since 2014.2. |
| # Its value may be silently ignored in the future. |
| #share_dhcp_address = false |
| |
| # DEPRECATED: |
| # URL for LDAP server which will store DNS entries |
| # |
| # Possible values: |
| # |
| # * A valid LDAP URL representing the server |
| # (uri value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_url = ldap://ldap.example.com:389 |
| |
| # DEPRECATED: Bind user for LDAP server (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_user = uid=admin,ou=people,dc=example,dc=org |
| |
| # DEPRECATED: Bind user's password for LDAP server (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_password = password |
| |
| # DEPRECATED: |
| # Hostmaster for LDAP DNS driver Statement of Authority |
| # |
| # Possible values: |
| # |
| # * Any valid string representing LDAP DNS hostmaster. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_soa_hostmaster = hostmaster@example.org |
| |
| # DEPRECATED: |
| # DNS Servers for LDAP DNS driver |
| # |
| # Possible values: |
| # |
| # * A valid URL representing a DNS server |
| # (multi valued) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_servers = dns.example.org |
| |
| # DEPRECATED: |
| # Base distinguished name for the LDAP search query |
| # |
| # This option helps to decide where to look up the host in LDAP. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_base_dn = ou=hosts,dc=example,dc=org |
| |
| # DEPRECATED: |
| # Refresh interval (in seconds) for LDAP DNS driver Start of Authority |
| # |
| # Time interval, a secondary/slave DNS server waits before requesting |
| # for |
| # primary DNS server's current SOA record. If the records are |
| # different, |
| # secondary DNS server will request a zone transfer from primary. |
| # |
| # NOTE: Lower values would cause more traffic. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_soa_refresh = 1800 |
| |
| # DEPRECATED: |
| # Retry interval (in seconds) for LDAP DNS driver Start of Authority |
| # |
| # Time interval, a secondary/slave DNS server should wait, if an |
| # attempt to transfer zone failed during the previous refresh |
| # interval. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_soa_retry = 3600 |
| |
| # DEPRECATED: |
| # Expiry interval (in seconds) for LDAP DNS driver Start of Authority |
| # |
| # Time interval, a secondary/slave DNS server holds the information |
| # before it is no longer considered authoritative. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_soa_expiry = 86400 |
| |
| # DEPRECATED: |
| # Minimum interval (in seconds) for LDAP DNS driver Start of Authority |
| # |
| # It is Minimum time-to-live applies for all resource records in the |
| # zone file. This value is supplied to other servers how long they |
| # should keep the data in cache. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ldap_dns_soa_minimum = 7200 |
| |
| # DEPRECATED: |
| # Default value for multi_host in networks. |
| # |
| # nova-network service can operate in a multi-host or single-host |
| # mode. |
| # In multi-host mode each compute node runs a copy of nova-network and |
| # the |
| # instances on that compute node use the compute node as a gateway to |
| # the |
| # Internet. Where as in single-host mode, a central server runs the |
| # nova-network |
| # service. All compute nodes forward traffic from the instances to the |
| # cloud controller which then forwards traffic to the Internet. |
| # |
| # If this options is set to true, some rpc network calls will be sent |
| # directly |
| # to host. |
| # |
| # Note that this option is only used when using nova-network instead |
| # of |
| # Neutron in your deployment. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (boolean value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #multi_host = false |
| |
| # DEPRECATED: |
| # Driver to use for network creation. |
| # |
| # Network driver initializes (creates bridges and so on) only when the |
| # first VM lands on a host node. All network managers configure the |
| # network using network drivers. The driver is not tied to any |
| # particular |
| # network manager. |
| # |
| # The default Linux driver implements vlans, bridges, and iptables |
| # rules |
| # using linux utilities. |
| # |
| # Note that this option is only used when using nova-network instead |
| # of Neutron in your deployment. |
| # |
| # Related options: |
| # |
| # * ``use_neutron`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #network_driver = nova.network.linux_net |
| |
| # DEPRECATED: |
| # Firewall driver to use with ``nova-network`` service. |
| # |
| # This option only applies when using the ``nova-network`` service. |
| # When using |
| # another networking services, such as Neutron, this should be to set |
| # to the |
| # ``nova.virt.firewall.NoopFirewallDriver``. |
| # |
| # Possible values: |
| # |
| # * ``nova.virt.firewall.IptablesFirewallDriver`` |
| # * ``nova.virt.firewall.NoopFirewallDriver`` |
| # * ``nova.virt.libvirt.firewall.IptablesFirewallDriver`` |
| # * [...] |
| # |
| # Related options: |
| # |
| # * ``use_neutron``: This must be set to ``False`` to enable ``nova- |
| # network`` |
| # networking |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| firewall_driver = nova.virt.firewall.NoopFirewallDriver |
| |
| # DEPRECATED: |
| # Determine whether to allow network traffic from same network. |
| # |
| # When set to true, hosts on the same subnet are not filtered and are |
| # allowed |
| # to pass all types of traffic between them. On a flat network, this |
| # allows |
| # all instances from all projects unfiltered communication. With VLAN |
| # networking, this allows access between instances within the same |
| # project. |
| # |
| # This option only applies when using the ``nova-network`` service. |
| # When using |
| # another networking services, such as Neutron, security groups or |
| # other |
| # approaches should be used. |
| # |
| # Possible values: |
| # |
| # * True: Network traffic should be allowed pass between all instances |
| # on the |
| # same network, regardless of their tenant and security policies |
| # * False: Network traffic should not be allowed pass between |
| # instances unless |
| # it is unblocked in a security group |
| # |
| # Related options: |
| # |
| # * ``use_neutron``: This must be set to ``False`` to enable ``nova- |
| # network`` |
| # networking |
| # * ``firewall_driver``: This must be set to |
| # ``nova.virt.libvirt.firewall.IptablesFirewallDriver`` to ensure |
| # the |
| # libvirt firewall driver is enabled. |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #allow_same_net_traffic = true |
| |
| # DEPRECATED: |
| # Default pool for floating IPs. |
| # |
| # This option specifies the default floating IP pool for allocating |
| # floating IPs. |
| # |
| # While allocating a floating ip, users can optionally pass in the |
| # name of the |
| # pool they want to allocate from, otherwise it will be pulled from |
| # the |
| # default pool. |
| # |
| # If this option is not set, then 'nova' is used as default floating |
| # pool. |
| # |
| # Possible values: |
| # |
| # * Any string representing a floating IP pool name |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # This option was used for two purposes: to set the floating IP pool |
| # name for |
| # nova-network and to do the same for neutron. nova-network is |
| # deprecated, as are |
| # any related configuration options. Users of neutron, meanwhile, |
| # should use the |
| # 'default_floating_pool' option in the '[neutron]' group. |
| #default_floating_pool = nova |
| |
| # DEPRECATED: |
| # Autoassigning floating IP to VM |
| # |
| # When set to True, floating IP is auto allocated and associated |
| # to the VM upon creation. |
| # |
| # Related options: |
| # |
| # * use_neutron: this options only works with nova-network. |
| # (boolean value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #auto_assign_floating_ip = false |
| |
| # DEPRECATED: |
| # Full class name for the DNS Manager for floating IPs. |
| # |
| # This option specifies the class of the driver that provides |
| # functionality |
| # to manage DNS entries associated with floating IPs. |
| # |
| # When a user adds a DNS entry for a specified domain to a floating |
| # IP, |
| # nova will add a DNS entry using the specified floating DNS driver. |
| # When a floating IP is deallocated, its DNS entry will automatically |
| # be deleted. |
| # |
| # Possible values: |
| # |
| # * Full Python path to the class to be used |
| # |
| # Related options: |
| # |
| # * use_neutron: this options only works with nova-network. |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #floating_ip_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver |
| |
| # DEPRECATED: |
| # Full class name for the DNS Manager for instance IPs. |
| # |
| # This option specifies the class of the driver that provides |
| # functionality |
| # to manage DNS entries for instances. |
| # |
| # On instance creation, nova will add DNS entries for the instance |
| # name and |
| # id, using the specified instance DNS driver and domain. On instance |
| # deletion, |
| # nova will remove the DNS entries. |
| # |
| # Possible values: |
| # |
| # * Full Python path to the class to be used |
| # |
| # Related options: |
| # |
| # * use_neutron: this options only works with nova-network. |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #instance_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver |
| |
| # DEPRECATED: |
| # If specified, Nova checks if the availability_zone of every instance |
| # matches |
| # what the database says the availability_zone should be for the |
| # specified |
| # dns_domain. |
| # |
| # Related options: |
| # |
| # * use_neutron: this options only works with nova-network. |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #instance_dns_domain = |
| |
| # DEPRECATED: |
| # Assign IPv6 and IPv4 addresses when creating instances. |
| # |
| # Related options: |
| # |
| # * use_neutron: this only works with nova-network. |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #use_ipv6 = false |
| |
| # DEPRECATED: |
| # Abstracts out IPv6 address generation to pluggable backends. |
| # |
| # nova-network can be put into dual-stack mode, so that it uses |
| # both IPv4 and IPv6 addresses. In dual-stack mode, by default, |
| # instances |
| # acquire IPv6 global unicast addresses with the help of stateless |
| # address |
| # auto-configuration mechanism. |
| # |
| # Related options: |
| # |
| # * use_neutron: this option only works with nova-network. |
| # * use_ipv6: this option only works if ipv6 is enabled for nova- |
| # network. |
| # (string value) |
| # Possible values: |
| # rfc2462 - <No description provided> |
| # account_identifier - <No description provided> |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #ipv6_backend = rfc2462 |
| |
| # DEPRECATED: |
| # This option is used to enable or disable quota checking for tenant |
| # networks. |
| # |
| # Related options: |
| # |
| # * quota_networks |
| # (boolean value) |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # CRUD operations on tenant networks are only available when using |
| # nova-network |
| # and nova-network is itself deprecated. |
| #enable_network_quota = false |
| |
| # DEPRECATED: |
| # This option controls the number of private networks that can be |
| # created per |
| # project (or per tenant). |
| # |
| # Related options: |
| # |
| # * enable_network_quota |
| # (integer value) |
| # Minimum value: 0 |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # CRUD operations on tenant networks are only available when using |
| # nova-network |
| # and nova-network is itself deprecated. |
| #quota_networks = 3 |
| |
| # |
| # Filename that will be used for storing websocket frames received |
| # and sent by a proxy service (like VNC, spice, serial) running on |
| # this host. |
| # If this is not set, no recording will be done. |
| # (string value) |
| #record = <None> |
| |
| # Run as a background process. (boolean value) |
| #daemon = false |
| |
| # Disallow non-encrypted connections. (boolean value) |
| #ssl_only = false |
| |
| # Set to True if source host is addressed with IPv6. (boolean value) |
| #source_is_ipv6 = false |
| |
| # Path to SSL certificate file. (string value) |
| #cert = self.pem |
| |
| # SSL key file (if separate from cert). (string value) |
| #key = <None> |
| |
| # |
| # Path to directory with content which will be served by a web server. |
| # (string value) |
| #web = /usr/share/spice-html5 |
| |
| # |
| # The directory where the Nova python modules are installed. |
| # |
| # This directory is used to store template files for networking and |
| # remote |
| # console access. It is also the default path for other config options |
| # which |
| # need to persist Nova internal data. It is very unlikely that you |
| # need to |
| # change this option from its default value. |
| # |
| # Possible values: |
| # |
| # * The full path to a directory. |
| # |
| # Related options: |
| # |
| # * ``state_path`` |
| # (string value) |
| #pybasedir = /usr/lib/python2.7/dist-packages |
| |
| # |
| # The directory where the Nova binaries are installed. |
| # |
| # This option is only relevant if the networking capabilities from |
| # Nova are |
| # used (see services below). Nova's networking capabilities are |
| # targeted to |
| # be fully replaced by Neutron in the future. It is very unlikely that |
| # you need |
| # to change this option from its default value. |
| # |
| # Possible values: |
| # |
| # * The full path to a directory. |
| # (string value) |
| #bindir = /usr/local/bin |
| |
| # |
| # The top-level directory for maintaining Nova's state. |
| # |
| # This directory is used to store Nova's internal state. It is used by |
| # a |
| # variety of other config options which derive from this. In some |
| # scenarios |
| # (for example migrations) it makes sense to use a storage location |
| # which is |
| # shared between multiple compute hosts (for example via NFS). Unless |
| # the |
| # option ``instances_path`` gets overwritten, this directory can grow |
| # very |
| # large. |
| # |
| # Possible values: |
| # |
| # * The full path to a directory. Defaults to value provided in |
| # ``pybasedir``. |
| # (string value) |
| state_path = /var/lib/nova |
| |
| # |
| # Number of seconds indicating how frequently the state of services on |
| # a |
| # given hypervisor is reported. Nova needs to know this to determine |
| # the |
| # overall health of the deployment. |
| # |
| # Related Options: |
| # |
| # * service_down_time |
| # report_interval should be less than service_down_time. If |
| # service_down_time |
| # is less than report_interval, services will routinely be |
| # considered down, |
| # because they report in too rarely. |
| # (integer value) |
| #report_interval = 10 |
| report_interval = {{ compute.get('report_interval', '60') }} |
| |
| # |
| # Maximum time in seconds since last check-in for up service |
| # |
| # Each compute node periodically updates their database status based |
| # on the |
| # specified report interval. If the compute node hasn't updated the |
| # status |
| # for more than service_down_time, then the compute node is considered |
| # down. |
| # |
| # Related Options: |
| # |
| # * report_interval (service_down_time should not be less than |
| # report_interval) |
| # (integer value) |
| service_down_time = 90 |
| |
| # |
| # Enable periodic tasks. |
| # |
| # If set to true, this option allows services to periodically run |
| # tasks |
| # on the manager. |
| # |
| # In case of running multiple schedulers or conductors you may want to |
| # run |
| # periodic tasks on only one host - in this case disable this option |
| # for all |
| # hosts but one. |
| # (boolean value) |
| #periodic_enable = true |
| |
| # |
| # Number of seconds to randomly delay when starting the periodic task |
| # scheduler to reduce stampeding. |
| # |
| # When compute workers are restarted in unison across a cluster, |
| # they all end up running the periodic tasks at the same time |
| # causing problems for the external services. To mitigate this |
| # behavior, periodic_fuzzy_delay option allows you to introduce a |
| # random initial delay when starting the periodic task scheduler. |
| # |
| # Possible Values: |
| # |
| # * Any positive integer (in seconds) |
| # * 0 : disable the random delay |
| # (integer value) |
| # Minimum value: 0 |
| #periodic_fuzzy_delay = 60 |
| |
| # List of APIs to be enabled by default. (list value) |
| enabled_apis = osapi_compute,metadata |
| |
| # |
| # List of APIs with enabled SSL. |
| # |
| # Nova provides SSL support for the API servers. enabled_ssl_apis |
| # option |
| # allows configuring the SSL support. |
| # (list value) |
| #enabled_ssl_apis = |
| |
| # |
| # IP address on which the OpenStack API will listen. |
| # |
| # The OpenStack API service listens on this IP address for incoming |
| # requests. |
| # (string value) |
| #osapi_compute_listen = 0.0.0.0 |
| |
| # |
| # Port on which the OpenStack API will listen. |
| # |
| # The OpenStack API service listens on this port number for incoming |
| # requests. |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #osapi_compute_listen_port = 8774 |
| |
| # |
| # Number of workers for OpenStack API service. The default will be the |
| # number |
| # of CPUs available. |
| # |
| # OpenStack API services can be configured to run as multi-process |
| # (workers). |
| # This overcomes the problem of reduction in throughput when API |
| # request |
| # concurrency increases. OpenStack API service will run in the |
| # specified |
| # number of processes. |
| # |
| # Possible Values: |
| # |
| # * Any positive integer |
| # * None (default value) |
| # (integer value) |
| # Minimum value: 1 |
| #osapi_compute_workers = <None> |
| |
| # |
| # IP address on which the metadata API will listen. |
| # |
| # The metadata API service listens on this IP address for incoming |
| # requests. |
| # (string value) |
| #metadata_listen = 0.0.0.0 |
| |
| # |
| # Port on which the metadata API will listen. |
| # |
| # The metadata API service listens on this port number for incoming |
| # requests. |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #metadata_listen_port = 8775 |
| |
| # |
| # Number of workers for metadata service. If not specified the number |
| # of |
| # available CPUs will be used. |
| # |
| # The metadata service can be configured to run as multi-process |
| # (workers). |
| # This overcomes the problem of reduction in throughput when API |
| # request |
| # concurrency increases. The metadata service will run in the |
| # specified |
| # number of processes. |
| # |
| # Possible Values: |
| # |
| # * Any positive integer |
| # * None (default value) |
| # (integer value) |
| # Minimum value: 1 |
| #metadata_workers = <None> |
| |
| # Full class name for the Manager for network (string value) |
| # Possible values: |
| # nova.network.manager.FlatManager - <No description provided> |
| # nova.network.manager.FlatDHCPManager - <No description provided> |
| # nova.network.manager.VlanManager - <No description provided> |
| #network_manager = nova.network.manager.VlanManager |
| |
| # |
| # This option specifies the driver to be used for the servicegroup |
| # service. |
| # |
| # ServiceGroup API in nova enables checking status of a compute node. |
| # When a |
| # compute worker running the nova-compute daemon starts, it calls the |
| # join API |
| # to join the compute group. Services like nova scheduler can query |
| # the |
| # ServiceGroup API to check if a node is alive. Internally, the |
| # ServiceGroup |
| # client driver automatically updates the compute worker status. There |
| # are |
| # multiple backend implementations for this service: Database |
| # ServiceGroup driver |
| # and Memcache ServiceGroup driver. |
| # |
| # Possible Values: |
| # |
| # * db : Database ServiceGroup driver |
| # * mc : Memcache ServiceGroup driver |
| # |
| # Related Options: |
| # |
| # * service_down_time (maximum time since last check-in for up |
| # service) |
| # (string value) |
| # Possible values: |
| # db - <No description provided> |
| # mc - <No description provided> |
| #servicegroup_driver = db |
| |
| # |
| # From oslo.service.periodic_task |
| # |
| |
| # Some periodic tasks can be run in a separate process. Should we run |
| # them here? (boolean value) |
| #run_external_periodic_tasks = true |
| |
| # |
| # From oslo.service.service |
| # |
| |
| # Enable eventlet backdoor. Acceptable values are 0, <port>, and |
| # <start>:<end>, where 0 results in listening on a random tcp port |
| # number; <port> results in listening on the specified port number |
| # (and not enabling backdoor if that port is in use); and |
| # <start>:<end> results in listening on the smallest unused port |
| # number within the specified range of port numbers. The chosen port |
| # is displayed in the service's log file. (string value) |
| #backdoor_port = <None> |
| |
| # Enable eventlet backdoor, using the provided path as a unix socket |
| # that can receive connections. This option is mutually exclusive with |
| # 'backdoor_port' in that only one should be provided. If both are |
| # provided then the existence of this option overrides the usage of |
| # that option. (string value) |
| #backdoor_socket = <None> |
| |
| # Enables or disables logging values of all registered options when |
| # starting a service (at DEBUG level). (boolean value) |
| #log_options = true |
| |
| # Specify a timeout after which a gracefully shutdown server will |
| # exit. Zero value means endless wait. (integer value) |
| #graceful_shutdown_timeout = 60 |
| |
| {%- if compute.logging is defined %} |
| {%- set _data = compute.logging %} |
| {%- include "oslo_templates/files/queens/oslo/_log.conf" %} |
| {%- endif %} |
| |
| {%- set _data = compute.message_queue %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_default.conf" %} |
| |
| [api] |
| # |
| # Options under this group are used to define Nova API. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # This determines the strategy to use for authentication: keystone or |
| # noauth2. |
| # 'noauth2' is designed for testing only, as it does no actual |
| # credential |
| # checking. 'noauth2' provides administrative credentials only if |
| # 'admin' is |
| # specified as the username. |
| # (string value) |
| # Possible values: |
| # keystone - <No description provided> |
| # noauth2 - <No description provided> |
| auth_strategy = keystone |
| |
| # |
| # When True, the 'X-Forwarded-For' header is treated as the canonical |
| # remote |
| # address. When False (the default), the 'remote_address' header is |
| # used. |
| # |
| # You should only enable this if you have an HTML sanitizing proxy. |
| # (boolean value) |
| #use_forwarded_for = false |
| |
| # |
| # When gathering the existing metadata for a config drive, the |
| # EC2-style |
| # metadata is returned for all versions that don't appear in this |
| # option. |
| # As of the Liberty release, the available versions are: |
| # |
| # * 1.0 |
| # * 2007-01-19 |
| # * 2007-03-01 |
| # * 2007-08-29 |
| # * 2007-10-10 |
| # * 2007-12-15 |
| # * 2008-02-01 |
| # * 2008-09-01 |
| # * 2009-04-04 |
| # |
| # The option is in the format of a single string, with each version |
| # separated |
| # by a space. |
| # |
| # Possible values: |
| # |
| # * Any string that represents zero or more versions, separated by |
| # spaces. |
| # (string value) |
| #config_drive_skip_versions = 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01 |
| |
| # |
| # A list of vendordata providers. |
| # |
| # vendordata providers are how deployers can provide metadata via |
| # configdrive |
| # and metadata that is specific to their deployment. There are |
| # currently two |
| # supported providers: StaticJSON and DynamicJSON. |
| # |
| # StaticJSON reads a JSON file configured by the flag |
| # vendordata_jsonfile_path |
| # and places the JSON from that file into vendor_data.json and |
| # vendor_data2.json. |
| # |
| # DynamicJSON is configured via the vendordata_dynamic_targets flag, |
| # which is |
| # documented separately. For each of the endpoints specified in that |
| # flag, a |
| # section is added to the vendor_data2.json. |
| # |
| # For more information on the requirements for implementing a |
| # vendordata |
| # dynamic endpoint, please see the vendordata.rst file in the nova |
| # developer |
| # reference. |
| # |
| # Possible values: |
| # |
| # * A list of vendordata providers, with StaticJSON and DynamicJSON |
| # being |
| # current options. |
| # |
| # Related options: |
| # |
| # * vendordata_dynamic_targets |
| # * vendordata_dynamic_ssl_certfile |
| # * vendordata_dynamic_connect_timeout |
| # * vendordata_dynamic_read_timeout |
| # * vendordata_dynamic_failure_fatal |
| # (list value) |
| #vendordata_providers = StaticJSON |
| |
| # |
| # A list of targets for the dynamic vendordata provider. These targets |
| # are of |
| # the form <name>@<url>. |
| # |
| # The dynamic vendordata provider collects metadata by contacting |
| # external REST |
| # services and querying them for information about the instance. This |
| # behaviour |
| # is documented in the vendordata.rst file in the nova developer |
| # reference. |
| # (list value) |
| #vendordata_dynamic_targets = |
| |
| # |
| # Path to an optional certificate file or CA bundle to verify dynamic |
| # vendordata REST services ssl certificates against. |
| # |
| # Possible values: |
| # |
| # * An empty string, or a path to a valid certificate file |
| # |
| # Related options: |
| # |
| # * vendordata_providers |
| # * vendordata_dynamic_targets |
| # * vendordata_dynamic_connect_timeout |
| # * vendordata_dynamic_read_timeout |
| # * vendordata_dynamic_failure_fatal |
| # (string value) |
| #vendordata_dynamic_ssl_certfile = |
| |
| # |
| # Maximum wait time for an external REST service to connect. |
| # |
| # Possible values: |
| # |
| # * Any integer with a value greater than three (the TCP packet |
| # retransmission |
| # timeout). Note that instance start may be blocked during this wait |
| # time, |
| # so this value should be kept small. |
| # |
| # Related options: |
| # |
| # * vendordata_providers |
| # * vendordata_dynamic_targets |
| # * vendordata_dynamic_ssl_certfile |
| # * vendordata_dynamic_read_timeout |
| # * vendordata_dynamic_failure_fatal |
| # (integer value) |
| # Minimum value: 3 |
| #vendordata_dynamic_connect_timeout = 5 |
| |
| # |
| # Maximum wait time for an external REST service to return data once |
| # connected. |
| # |
| # Possible values: |
| # |
| # * Any integer. Note that instance start is blocked during this wait |
| # time, |
| # so this value should be kept small. |
| # |
| # Related options: |
| # |
| # * vendordata_providers |
| # * vendordata_dynamic_targets |
| # * vendordata_dynamic_ssl_certfile |
| # * vendordata_dynamic_connect_timeout |
| # * vendordata_dynamic_failure_fatal |
| # (integer value) |
| # Minimum value: 0 |
| #vendordata_dynamic_read_timeout = 5 |
| |
| # |
| # Should failures to fetch dynamic vendordata be fatal to instance |
| # boot? |
| # |
| # Related options: |
| # |
| # * vendordata_providers |
| # * vendordata_dynamic_targets |
| # * vendordata_dynamic_ssl_certfile |
| # * vendordata_dynamic_connect_timeout |
| # * vendordata_dynamic_read_timeout |
| # (boolean value) |
| #vendordata_dynamic_failure_fatal = false |
| |
| # |
| # This option is the time (in seconds) to cache metadata. When set to |
| # 0, |
| # metadata caching is disabled entirely; this is generally not |
| # recommended for |
| # performance reasons. Increasing this setting should improve response |
| # times |
| # of the metadata API when under heavy load. Higher values may |
| # increase memory |
| # usage, and result in longer times for host metadata changes to take |
| # effect. |
| # (integer value) |
| # Minimum value: 0 |
| #metadata_cache_expiration = 15 |
| |
| # |
| # Cloud providers may store custom data in vendor data file that will |
| # then be |
| # available to the instances via the metadata service, and to the |
| # rendering of |
| # config-drive. The default class for this, JsonFileVendorData, loads |
| # this |
| # information from a JSON file, whose path is configured by this |
| # option. If |
| # there is no path set by this option, the class returns an empty |
| # dictionary. |
| # |
| # Possible values: |
| # |
| # * Any string representing the path to the data file, or an empty |
| # string |
| # (default). |
| # (string value) |
| #vendordata_jsonfile_path = <None> |
| |
| # |
| # As a query can potentially return many thousands of items, you can |
| # limit the |
| # maximum number of items in a single response by setting this option. |
| # (integer value) |
| # Minimum value: 0 |
| # Deprecated group/name - [DEFAULT]/osapi_max_limit |
| #max_limit = 1000 |
| |
| # |
| # This string is prepended to the normal URL that is returned in links |
| # to the |
| # OpenStack Compute API. If it is empty (the default), the URLs are |
| # returned |
| # unchanged. |
| # |
| # Possible values: |
| # |
| # * Any string, including an empty string (the default). |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/osapi_compute_link_prefix |
| #compute_link_prefix = <None> |
| |
| # |
| # This string is prepended to the normal URL that is returned in links |
| # to |
| # Glance resources. If it is empty (the default), the URLs are |
| # returned |
| # unchanged. |
| # |
| # Possible values: |
| # |
| # * Any string, including an empty string (the default). |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/osapi_glance_link_prefix |
| #glance_link_prefix = <None> |
| |
| # DEPRECATED: |
| # Operators can turn off the ability for a user to take snapshots of |
| # their |
| # instances by setting this option to False. When disabled, any |
| # attempt to |
| # take a snapshot will result in a HTTP 400 response ("Bad Request"). |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: This option disables the createImage server action API in a |
| # non-discoverable way and is thus a barrier to interoperability. |
| # Also, it is not used for other APIs that create snapshots like |
| # shelve or createBackup. Disabling snapshots should be done via |
| # policy if so desired. |
| #allow_instance_snapshots = true |
| |
| # DEPRECATED: |
| # This option is a list of all instance states for which network |
| # address |
| # information should not be returned from the API. |
| # |
| # Possible values: |
| # |
| # A list of strings, where each string is a valid VM state, as |
| # defined in |
| # nova/compute/vm_states.py. As of the Newton release, they are: |
| # |
| # * "active" |
| # * "building" |
| # * "paused" |
| # * "suspended" |
| # * "stopped" |
| # * "rescued" |
| # * "resized" |
| # * "soft-delete" |
| # * "deleted" |
| # * "error" |
| # * "shelved" |
| # * "shelved_offloaded" |
| # (list value) |
| # Deprecated group/name - [DEFAULT]/osapi_hide_server_address_states |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: This option hide the server address in server representation |
| # for configured server states. Which makes GET server API controlled |
| # by this config options. Due to this config options, user would not |
| # be able to discover the API behavior on different clouds which leads |
| # to the interop issue. |
| #hide_server_address_states = building |
| |
| # The full path to the fping binary. (string value) |
| #fping_path = /usr/sbin/fping |
| |
| # |
| # When True, the TenantNetworkController will query the Neutron API to |
| # get the |
| # default networks to use. |
| # |
| # Related options: |
| # |
| # * neutron_default_tenant_id |
| # (boolean value) |
| #use_neutron_default_nets = false |
| |
| # |
| # Tenant ID for getting the default network from Neutron API (also |
| # referred in |
| # some places as the 'project ID') to use. |
| # |
| # Related options: |
| # |
| # * use_neutron_default_nets |
| # (string value) |
| #neutron_default_tenant_id = default |
| |
| # |
| # Enables returning of the instance password by the relevant server |
| # API calls |
| # such as create, rebuild, evacuate, or rescue. If the hypervisor does |
| # not |
| # support password injection, then the password returned will not be |
| # correct, |
| # so if your hypervisor does not support password injection, set this |
| # to False. |
| # (boolean value) |
| #enable_instance_password = true |
| |
| |
| [api_database] |
| {%- set _data = {} %} |
| {%- do _data.update(compute.database) %} |
| {%- do _data.update({'name': 'nova_api'}) %} |
| {%- if _data.ssl is defined and 'cacert_file' not in _data.get('ssl', {}).keys() %}{% do _data['ssl'].update({'cacert_file': compute.cacert_file}) %}{% endif %} |
| {%- include "oslo_templates/files/queens/oslo/_database.conf" %} |
| |
| {%- if compute.get('barbican', {}).get('enabled', False) %} |
| {%- set _data = compute.identity %} |
| [barbican] |
| {%- include "oslo_templates/files/queens/castellan/_barbican.conf" %} |
| {%- endif %} |
| |
| [cache] |
| |
| {%- if compute.cache is defined %} |
| {%- set _data = compute.cache %} |
| {%- include "oslo_templates/files/queens/oslo/_cache.conf" %} |
| {%- endif %} |
| |
| [cells] |
| # |
| # DEPRECATED: Cells options allow you to use cells v1 functionality in |
| # an |
| # OpenStack deployment. |
| # |
| # Note that the options in this group are only for cells v1 |
| # functionality, which |
| # is considered experimental and not recommended for new deployments. |
| # Cells v1 |
| # is being replaced with cells v2, which starting in the 15.0.0 Ocata |
| # release is |
| # required and all Nova deployments will be at least a cells v2 cell |
| # of one. |
| # |
| |
| # |
| # From nova.conf |
| # |
| |
| # DEPRECATED: |
| # Enable cell v1 functionality. |
| # |
| # Note that cells v1 is considered experimental and not recommended |
| # for new |
| # Nova deployments. Cells v1 is being replaced by cells v2 which |
| # starting in |
| # the 15.0.0 Ocata release, all Nova deployments are at least a cells |
| # v2 cell |
| # of one. Setting this option, or any other options in the [cells] |
| # group, is |
| # not required for cells v2. |
| # |
| # When this functionality is enabled, it lets you to scale an |
| # OpenStack |
| # Compute cloud in a more distributed fashion without having to use |
| # complicated technologies like database and message queue clustering. |
| # Cells are configured as a tree. The top-level cell should have a |
| # host |
| # that runs a nova-api service, but no nova-compute services. Each |
| # child cell should run all of the typical nova-* services in a |
| # regular |
| # Compute cloud except for nova-api. You can think of cells as a |
| # normal |
| # Compute deployment in that each cell has its own database server and |
| # message queue broker. |
| # |
| # Related options: |
| # |
| # * name: A unique cell name must be given when this functionality |
| # is enabled. |
| # * cell_type: Cell type should be defined for all cells. |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #enable = false |
| |
| # DEPRECATED: |
| # Name of the current cell. |
| # |
| # This value must be unique for each cell. Name of a cell is used as |
| # its id, leaving this option unset or setting the same name for |
| # two or more cells may cause unexpected behaviour. |
| # |
| # Related options: |
| # |
| # * enabled: This option is meaningful only when cells service |
| # is enabled |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #name = nova |
| |
| # DEPRECATED: |
| # Cell capabilities. |
| # |
| # List of arbitrary key=value pairs defining capabilities of the |
| # current cell to be sent to the parent cells. These capabilities |
| # are intended to be used in cells scheduler filters/weighers. |
| # |
| # Possible values: |
| # |
| # * key=value pairs list for example; |
| # ``hypervisor=xenserver;kvm,os=linux;windows`` |
| # (list value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #capabilities = hypervisor=xenserver;kvm,os=linux;windows |
| |
| # DEPRECATED: |
| # Call timeout. |
| # |
| # Cell messaging module waits for response(s) to be put into the |
| # eventlet queue. This option defines the seconds waited for |
| # response from a call to a cell. |
| # |
| # Possible values: |
| # |
| # * An integer, corresponding to the interval time in seconds. |
| # (integer value) |
| # Minimum value: 0 |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #call_timeout = 60 |
| |
| # DEPRECATED: |
| # Reserve percentage |
| # |
| # Percentage of cell capacity to hold in reserve, so the minimum |
| # amount of free resource is considered to be; |
| # |
| # min_free = total * (reserve_percent / 100.0) |
| # |
| # This option affects both memory and disk utilization. |
| # |
| # The primary purpose of this reserve is to ensure some space is |
| # available for users who want to resize their instance to be larger. |
| # Note that currently once the capacity expands into this reserve |
| # space this option is ignored. |
| # |
| # Possible values: |
| # |
| # * An integer or float, corresponding to the percentage of cell |
| # capacity to |
| # be held in reserve. |
| # (floating point value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #reserve_percent = 10.0 |
| |
| # DEPRECATED: |
| # Type of cell. |
| # |
| # When cells feature is enabled the hosts in the OpenStack Compute |
| # cloud are partitioned into groups. Cells are configured as a tree. |
| # The top-level cell's cell_type must be set to ``api``. All other |
| # cells are defined as a ``compute cell`` by default. |
| # |
| # Related option: |
| # |
| # * quota_driver: Disable quota checking for the child cells. |
| # (nova.quota.NoopQuotaDriver) |
| # (string value) |
| # Possible values: |
| # api - <No description provided> |
| # compute - <No description provided> |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #cell_type = compute |
| |
| # DEPRECATED: |
| # Mute child interval. |
| # |
| # Number of seconds after which a lack of capability and capacity |
| # update the child cell is to be treated as a mute cell. Then the |
| # child cell will be weighed as recommend highly that it be skipped. |
| # |
| # Possible values: |
| # |
| # * An integer, corresponding to the interval time in seconds. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #mute_child_interval = 300 |
| |
| # DEPRECATED: |
| # Bandwidth update interval. |
| # |
| # Seconds between bandwidth usage cache updates for cells. |
| # |
| # Possible values: |
| # |
| # * An integer, corresponding to the interval time in seconds. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #bandwidth_update_interval = 600 |
| |
| # DEPRECATED: |
| # Instance update sync database limit. |
| # |
| # Number of instances to pull from the database at one time for |
| # a sync. If there are more instances to update the results will |
| # be paged through. |
| # |
| # Possible values: |
| # |
| # * An integer, corresponding to a number of instances. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #instance_update_sync_database_limit = 100 |
| |
| # DEPRECATED: |
| # Mute weight multiplier. |
| # |
| # Multiplier used to weigh mute children. Mute children cells are |
| # recommended to be skipped so their weight is multiplied by this |
| # negative value. |
| # |
| # Possible values: |
| # |
| # * Negative numeric number |
| # (floating point value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #mute_weight_multiplier = -10000.0 |
| |
| # DEPRECATED: |
| # Ram weight multiplier. |
| # |
| # Multiplier used for weighing ram. Negative numbers indicate that |
| # Compute should stack VMs on one host instead of spreading out new |
| # VMs to more hosts in the cell. |
| # |
| # Possible values: |
| # |
| # * Numeric multiplier |
| # (floating point value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #ram_weight_multiplier = 10.0 |
| |
| # DEPRECATED: |
| # Offset weight multiplier |
| # |
| # Multiplier used to weigh offset weigher. Cells with higher |
| # weight_offsets in the DB will be preferred. The weight_offset |
| # is a property of a cell stored in the database. It can be used |
| # by a deployer to have scheduling decisions favor or disfavor |
| # cells based on the setting. |
| # |
| # Possible values: |
| # |
| # * Numeric multiplier |
| # (floating point value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #offset_weight_multiplier = 1.0 |
| |
| # DEPRECATED: |
| # Instance updated at threshold |
| # |
| # Number of seconds after an instance was updated or deleted to |
| # continue to update cells. This option lets cells manager to only |
| # attempt to sync instances that have been updated recently. |
| # i.e., a threshold of 3600 means to only update instances that |
| # have modified in the last hour. |
| # |
| # Possible values: |
| # |
| # * Threshold in seconds |
| # |
| # Related options: |
| # |
| # * This value is used with the ``instance_update_num_instances`` |
| # value in a periodic task run. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #instance_updated_at_threshold = 3600 |
| |
| # DEPRECATED: |
| # Instance update num instances |
| # |
| # On every run of the periodic task, nova cells manager will attempt |
| # to |
| # sync instance_updated_at_threshold number of instances. When the |
| # manager gets the list of instances, it shuffles them so that |
| # multiple |
| # nova-cells services do not attempt to sync the same instances in |
| # lockstep. |
| # |
| # Possible values: |
| # |
| # * Positive integer number |
| # |
| # Related options: |
| # |
| # * This value is used with the ``instance_updated_at_threshold`` |
| # value in a periodic task run. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #instance_update_num_instances = 1 |
| |
| # DEPRECATED: |
| # Maximum hop count |
| # |
| # When processing a targeted message, if the local cell is not the |
| # target, a route is defined between neighbouring cells. And the |
| # message is processed across the whole routing path. This option |
| # defines the maximum hop counts until reaching the target. |
| # |
| # Possible values: |
| # |
| # * Positive integer value |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #max_hop_count = 10 |
| |
| # DEPRECATED: |
| # Cells scheduler. |
| # |
| # The class of the driver used by the cells scheduler. This should be |
| # the full Python path to the class to be used. If nothing is |
| # specified |
| # in this option, the CellsScheduler is used. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #scheduler = nova.cells.scheduler.CellsScheduler |
| |
| # DEPRECATED: |
| # RPC driver queue base. |
| # |
| # When sending a message to another cell by JSON-ifying the message |
| # and making an RPC cast to 'process_message', a base queue is used. |
| # This option defines the base queue name to be used when |
| # communicating |
| # between cells. Various topics by message type will be appended to |
| # this. |
| # |
| # Possible values: |
| # |
| # * The base queue name to be used when communicating between cells. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #rpc_driver_queue_base = cells.intercell |
| |
| # DEPRECATED: |
| # Scheduler filter classes. |
| # |
| # Filter classes the cells scheduler should use. An entry of |
| # "nova.cells.filters.all_filters" maps to all cells filters |
| # included with nova. As of the Mitaka release the following |
| # filter classes are available: |
| # |
| # Different cell filter: A scheduler hint of 'different_cell' |
| # with a value of a full cell name may be specified to route |
| # a build away from a particular cell. |
| # |
| # Image properties filter: Image metadata named |
| # 'hypervisor_version_requires' with a version specification |
| # may be specified to ensure the build goes to a cell which |
| # has hypervisors of the required version. If either the version |
| # requirement on the image or the hypervisor capability of the |
| # cell is not present, this filter returns without filtering out |
| # the cells. |
| # |
| # Target cell filter: A scheduler hint of 'target_cell' with a |
| # value of a full cell name may be specified to route a build to |
| # a particular cell. No error handling is done as there's no way |
| # to know whether the full path is a valid. |
| # |
| # As an admin user, you can also add a filter that directs builds |
| # to a particular cell. |
| # |
| # (list value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #scheduler_filter_classes = nova.cells.filters.all_filters |
| |
| # DEPRECATED: |
| # Scheduler weight classes. |
| # |
| # Weigher classes the cells scheduler should use. An entry of |
| # "nova.cells.weights.all_weighers" maps to all cell weighers |
| # included with nova. As of the Mitaka release the following |
| # weight classes are available: |
| # |
| # mute_child: Downgrades the likelihood of child cells being |
| # chosen for scheduling requests, which haven't sent capacity |
| # or capability updates in a while. Options include |
| # mute_weight_multiplier (multiplier for mute children; value |
| # should be negative). |
| # |
| # ram_by_instance_type: Select cells with the most RAM capacity |
| # for the instance type being requested. Because higher weights |
| # win, Compute returns the number of available units for the |
| # instance type requested. The ram_weight_multiplier option defaults |
| # to 10.0 that adds to the weight by a factor of 10. Use a negative |
| # number to stack VMs on one host instead of spreading out new VMs |
| # to more hosts in the cell. |
| # |
| # weight_offset: Allows modifying the database to weight a particular |
| # cell. The highest weight will be the first cell to be scheduled for |
| # launching an instance. When the weight_offset of a cell is set to 0, |
| # it is unlikely to be picked but it could be picked if other cells |
| # have a lower weight, like if they're full. And when the |
| # weight_offset |
| # is set to a very high value (for example, '999999999999999'), it is |
| # likely to be picked if another cell do not have a higher weight. |
| # (list value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #scheduler_weight_classes = nova.cells.weights.all_weighers |
| |
| # DEPRECATED: |
| # Scheduler retries. |
| # |
| # How many retries when no cells are available. Specifies how many |
| # times the scheduler tries to launch a new instance when no cells |
| # are available. |
| # |
| # Possible values: |
| # |
| # * Positive integer value |
| # |
| # Related options: |
| # |
| # * This value is used with the ``scheduler_retry_delay`` value |
| # while retrying to find a suitable cell. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #scheduler_retries = 10 |
| |
| # DEPRECATED: |
| # Scheduler retry delay. |
| # |
| # Specifies the delay (in seconds) between scheduling retries when no |
| # cell can be found to place the new instance on. When the instance |
| # could not be scheduled to a cell after ``scheduler_retries`` in |
| # combination with ``scheduler_retry_delay``, then the scheduling |
| # of the instance failed. |
| # |
| # Possible values: |
| # |
| # * Time in seconds. |
| # |
| # Related options: |
| # |
| # * This value is used with the ``scheduler_retries`` value |
| # while retrying to find a suitable cell. |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #scheduler_retry_delay = 2 |
| |
| # DEPRECATED: |
| # DB check interval. |
| # |
| # Cell state manager updates cell status for all cells from the DB |
| # only after this particular interval time is passed. Otherwise cached |
| # status are used. If this value is 0 or negative all cell status are |
| # updated from the DB whenever a state is needed. |
| # |
| # Possible values: |
| # |
| # * Interval time, in seconds. |
| # |
| # (integer value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #db_check_interval = 60 |
| |
| # DEPRECATED: |
| # Optional cells configuration. |
| # |
| # Configuration file from which to read cells configuration. If given, |
| # overrides reading cells from the database. |
| # |
| # Cells store all inter-cell communication data, including user names |
| # and passwords, in the database. Because the cells data is not |
| # updated |
| # very frequently, use this option to specify a JSON file to store |
| # cells data. With this configuration, the database is no longer |
| # consulted when reloading the cells data. The file must have columns |
| # present in the Cell model (excluding common database fields and the |
| # id column). You must specify the queue connection information |
| # through |
| # a transport_url field, instead of username, password, and so on. |
| # |
| # The transport_url has the following form: |
| # rabbit://USERNAME:PASSWORD@HOSTNAME:PORT/VIRTUAL_HOST |
| # |
| # Possible values: |
| # |
| # The scheme can be either qpid or rabbit, the following sample shows |
| # this optional configuration: |
| # |
| # { |
| # "parent": { |
| # "name": "parent", |
| # "api_url": "http://api.example.com:8774", |
| # "transport_url": "rabbit://rabbit.example.com", |
| # "weight_offset": 0.0, |
| # "weight_scale": 1.0, |
| # "is_parent": true |
| # }, |
| # "cell1": { |
| # "name": "cell1", |
| # "api_url": "http://api.example.com:8774", |
| # "transport_url": "rabbit://rabbit1.example.com", |
| # "weight_offset": 0.0, |
| # "weight_scale": 1.0, |
| # "is_parent": false |
| # }, |
| # "cell2": { |
| # "name": "cell2", |
| # "api_url": "http://api.example.com:8774", |
| # "transport_url": "rabbit://rabbit2.example.com", |
| # "weight_offset": 0.0, |
| # "weight_scale": 1.0, |
| # "is_parent": false |
| # } |
| # } |
| # |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Cells v1 is being replaced with Cells v2. |
| #cells_config = <None> |
| |
| |
| [cinder] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Info to match when looking for cinder in the service catalog. |
| # |
| # Possible values: |
| # |
| # * Format is separated values of the form: |
| # <service_type>:<service_name>:<endpoint_type> |
| # |
| # Note: Nova does not support the Cinder v2 API since the Nova 17.0.0 |
| # Queens |
| # release. |
| # |
| # Related options: |
| # |
| # * endpoint_template - Setting this option will override catalog_info |
| # (string value) |
| #catalog_info = volumev3:cinderv3:publicURL |
| catalog_info = volumev3:cinderv3:internalURL |
| |
| # |
| # If this option is set then it will override service catalog lookup |
| # with |
| # this template for cinder endpoint |
| # |
| # Possible values: |
| # |
| # * URL for cinder endpoint API |
| # e.g. http://localhost:8776/v3/%(project_id)s |
| # |
| # Note: Nova does not support the Cinder v2 API since the Nova 17.0.0 |
| # Queens |
| # release. |
| # |
| # Related options: |
| # |
| # * catalog_info - If endpoint_template is not set, catalog_info will |
| # be used. |
| # (string value) |
| #endpoint_template = <None> |
| |
| # |
| # Region name of this node. This is used when picking the URL in the |
| # service |
| # catalog. |
| # |
| # Possible values: |
| # |
| # * Any string representing region name |
| # (string value) |
| #os_region_name = <None> |
| os_region_name = {{ compute.identity.region }} |
| |
| # |
| # Number of times cinderclient should retry on any failed http call. |
| # 0 means connection is attempted only once. Setting it to any |
| # positive integer |
| # means that on failure connection is retried that many times e.g. |
| # setting it |
| # to 3 means total attempts to connect will be 4. |
| # |
| # Possible values: |
| # |
| # * Any integer value. 0 means connection is attempted only once |
| # (integer value) |
| # Minimum value: 0 |
| #http_retries = 3 |
| |
| # |
| # Allow attach between instance and volume in different availability |
| # zones. |
| # |
| # If False, volumes attached to an instance must be in the same |
| # availability |
| # zone in Cinder as the instance availability zone in Nova. |
| # This also means care should be taken when booting an instance from a |
| # volume |
| # where source is not "volume" because Nova will attempt to create a |
| # volume using |
| # the same availability zone as what is assigned to the instance. |
| # If that AZ is not in Cinder (or |
| # allow_availability_zone_fallback=False in |
| # cinder.conf), the volume create request will fail and the instance |
| # will fail |
| # the build request. |
| # By default there is no availability zone restriction on volume |
| # attach. |
| # (boolean value) |
| #cross_az_attach = true |
| {%- if compute.cross_az_attach is defined %} |
| cross_az_attach={{ compute.cross_az_attach }} |
| {%- endif %} |
| |
| {%- set _data = compute.get('cinder', compute.get('identity', {})) %} |
| {%- set auth_type = _data.get('auth_type', 'password') %} |
| {%- if 'cacert_file' not in _data.keys() %}{% do _data.update({'cacert_file': compute.cacert_file}) %}{% endif %} |
| {%- include "oslo_templates/files/queens/keystoneauth/_type_" + auth_type + ".conf" %} |
| |
| |
| [compute] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Number of consecutive failed builds that result in disabling a |
| # compute service. |
| # |
| # This option will cause nova-compute to set itself to a disabled |
| # state |
| # if a certain number of consecutive build failures occur. This will |
| # prevent the scheduler from continuing to send builds to a compute |
| # node that is |
| # consistently failing. Note that all failures qualify and count |
| # towards this |
| # score, including reschedules that may have been due to racy |
| # scheduler behavior. |
| # Since the failures must be consecutive, it is unlikely that |
| # occasional expected |
| # reschedules will actually disable a compute node. |
| # |
| # Possible values: |
| # |
| # * Any positive integer representing a build failure count. |
| # * Zero to never auto-disable. |
| # (integer value) |
| #consecutive_build_service_disable_threshold = 10 |
| {%- if compute.get('compute', {}).consecutive_build_service_disable_threshold is defined %} |
| consecutive_build_service_disable_threshold = {{ compute.compute.consecutive_build_service_disable_threshold }} |
| {%- endif %} |
| |
| # |
| # Interval for updating nova-compute-side cache of the compute node |
| # resource |
| # provider's aggregates and traits info. |
| # |
| # This option specifies the number of seconds between attempts to |
| # update a |
| # provider's aggregates and traits information in the local cache of |
| # the compute |
| # node. |
| # |
| # Possible values: |
| # |
| # * Any positive integer in seconds. |
| # (integer value) |
| # Minimum value: 1 |
| #resource_provider_association_refresh = 300 |
| |
| # |
| # Determine if the source compute host should wait for a ``network-vif-plugged`` |
| # event from the (neutron) networking service before starting the actual |
| # transfer |
| # of the guest to the destination compute host. |
| # |
| # If you set this option the same on all of your compute hosts, which you should |
| # do if you use the same networking backend universally, you do not have to |
| # worry about this. |
| # |
| # Before starting the transfer of the guest, some setup occurs on the |
| # destination |
| # compute host, including plugging virtual interfaces. Depending on the |
| # networking backend **on the destination host**, a ``network-vif-plugged`` |
| # event may be triggered and then received on the source compute host and the |
| # source compute can wait for that event to ensure networking is set up on the |
| # destination host before starting the guest transfer in the hypervisor. |
| # |
| # By default, this is False for two reasons: |
| # |
| # 1. Backward compatibility: deployments should test this out and ensure it |
| # works |
| # for them before enabling it. |
| # |
| # 2. The compute service cannot reliably determine which types of virtual |
| # interfaces (``port.binding:vif_type``) will send ``network-vif-plugged`` |
| # events without an accompanying port ``binding:host_id`` change. |
| # Open vSwitch and linuxbridge should be OK, but OpenDaylight is at least |
| # one known backend that will not currently work in this case, see bug |
| # https://launchpad.net/bugs/1755890 for more details. |
| # |
| # Possible values: |
| # |
| # * True: wait for ``network-vif-plugged`` events before starting guest transfer |
| # * False: do not wait for ``network-vif-plugged`` events before starting guest |
| # transfer (this is how things have always worked before this option |
| # was introduced) |
| # |
| # Related options: |
| # |
| # * [DEFAULT]/vif_plugging_is_fatal: if ``live_migration_wait_for_vif_plug`` is |
| # True and ``vif_plugging_timeout`` is greater than 0, and a timeout is |
| # reached, the live migration process will fail with an error but the guest |
| # transfer will not have started to the destination host |
| # * [DEFAULT]/vif_plugging_timeout: if ``live_migration_wait_for_vif_plug`` is |
| # True, this controls the amount of time to wait before timing out and either |
| # failing if ``vif_plugging_is_fatal`` is True, or simply continuing with the |
| # live migration |
| # (boolean value) |
| #live_migration_wait_for_vif_plug = false |
| {%- if pillar.get('neutron', {}).get('compute', {}).get('backend', {}).get('mechanism', {}).get('ovs', {}).get('driver', '') == 'openvswitch' %} |
| live_migration_wait_for_vif_plug = true |
| {%- endif %} |
| |
| |
| [conductor] |
| # |
| # Options under this group are used to define Conductor's |
| # communication, |
| # which manager should be act as a proxy between computes and |
| # database, |
| # and finally, how many worker processes will be used. |
| |
| # |
| # From nova.conf |
| # |
| |
| # DEPRECATED: |
| # Topic exchange name on which conductor nodes listen. |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # There is no need to let users choose the RPC topic for all services |
| # - there |
| # is little gain from this. Furthermore, it makes it really easy to |
| # break Nova |
| # by using this option. |
| #topic = conductor |
| |
| # |
| # Number of workers for OpenStack Conductor service. The default will |
| # be the |
| # number of CPUs available. |
| # (integer value) |
| #workers = <None> |
| |
| |
| [console] |
| # |
| # Options under this group allow to tune the configuration of the |
| # console proxy |
| # service. |
| # |
| # Note: in configuration of every compute is a ``console_host`` |
| # option, |
| # which allows to select the console proxy service to connect to. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Adds list of allowed origins to the console websocket proxy to allow |
| # connections from other origin hostnames. |
| # Websocket proxy matches the host header with the origin header to |
| # prevent cross-site requests. This list specifies if any there are |
| # values other than host are allowed in the origin header. |
| # |
| # Possible values: |
| # |
| # * A list where each element is an allowed origin hostnames, else an |
| # empty list |
| # (list value) |
| # Deprecated group/name - [DEFAULT]/console_allowed_origins |
| #allowed_origins = |
| |
| |
| [consoleauth] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # The lifetime of a console auth token (in seconds). |
| # |
| # A console auth token is used in authorizing console access for a |
| # user. |
| # Once the auth token time to live count has elapsed, the token is |
| # considered expired. Expired tokens are then deleted. |
| # (integer value) |
| # Minimum value: 0 |
| # Deprecated group/name - [DEFAULT]/console_token_ttl |
| #token_ttl = 600 |
| {% if compute.consoleauth_token_ttl is defined %} |
| {%- set token_ttl = compute.consoleauth_token_ttl %} |
| token_ttl = {{ token_ttl }} |
| {%- elif compute.get('consoleauth', {}).token_ttl is defined %} |
| token_ttl = {{ compute.consoleauth.token_ttl }} |
| {% endif %} |
| |
| |
| [crypto] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Filename of root CA (Certificate Authority). This is a container |
| # format |
| # and includes root certificates. |
| # |
| # Possible values: |
| # |
| # * Any file name containing root CA, cacert.pem is default |
| # |
| # Related options: |
| # |
| # * ca_path |
| # (string value) |
| #ca_file = cacert.pem |
| |
| # |
| # Filename of a private key. |
| # |
| # Related options: |
| # |
| # * keys_path |
| # (string value) |
| #key_file = private/cakey.pem |
| |
| # |
| # Filename of root Certificate Revocation List (CRL). This is a list |
| # of |
| # certificates that have been revoked, and therefore, entities |
| # presenting |
| # those (revoked) certificates should no longer be trusted. |
| # |
| # Related options: |
| # |
| # * ca_path |
| # (string value) |
| #crl_file = crl.pem |
| |
| # |
| # Directory path where keys are located. |
| # |
| # Related options: |
| # |
| # * key_file |
| # (string value) |
| #keys_path = $state_path/keys |
| |
| # |
| # Directory path where root CA is located. |
| # |
| # Related options: |
| # |
| # * ca_file |
| # (string value) |
| #ca_path = $state_path/CA |
| |
| # Option to enable/disable use of CA for each project. (boolean value) |
| #use_project_ca = false |
| |
| # |
| # Subject for certificate for users, %s for |
| # project, user, timestamp |
| # (string value) |
| #user_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s |
| |
| # |
| # Subject for certificate for projects, %s for |
| # project, timestamp |
| # (string value) |
| #project_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s |
| |
| |
| [devices] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # A list of the vGPU types enabled in the compute node. |
| # |
| # Some pGPUs (e.g. NVIDIA GRID K1) support different vGPU types. User |
| # can use |
| # this option to specify a list of enabled vGPU types that may be |
| # assigned to a |
| # guest instance. But please note that Nova only supports a single |
| # type in the |
| # Queens release. If more than one vGPU type is specified (as a comma- |
| # separated |
| # list), only the first one will be used. An example is as the |
| # following: |
| # [devices] |
| # enabled_vgpu_types = GRID K100,Intel GVT-g,MxGPU.2,nvidia-11 |
| # (list value) |
| #enabled_vgpu_types = |
| |
| |
| [ephemeral_storage_encryption] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Enables/disables LVM ephemeral storage encryption. |
| # (boolean value) |
| #enabled = false |
| |
| # |
| # Cipher-mode string to be used. |
| # |
| # The cipher and mode to be used to encrypt ephemeral storage. The set |
| # of |
| # cipher-mode combinations available depends on kernel support. |
| # According |
| # to the dm-crypt documentation, the cipher is expected to be in the |
| # format: |
| # "<cipher>-<chainmode>-<ivmode>". |
| # |
| # Possible values: |
| # |
| # * Any crypto option listed in ``/proc/crypto``. |
| # (string value) |
| #cipher = aes-xts-plain64 |
| |
| # |
| # Encryption key length in bits. |
| # |
| # The bit length of the encryption key to be used to encrypt ephemeral |
| # storage. |
| # In XTS mode only half of the bits are used for encryption key. |
| # (integer value) |
| # Minimum value: 1 |
| #key_size = 512 |
| |
| |
| [filter_scheduler] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Size of subset of best hosts selected by scheduler. |
| # |
| # New instances will be scheduled on a host chosen randomly from a |
| # subset of the |
| # N best hosts, where N is the value set by this option. |
| # |
| # Setting this to a value greater than 1 will reduce the chance that |
| # multiple |
| # scheduler processes handling similar requests will select the same |
| # host, |
| # creating a potential race condition. By selecting a host randomly |
| # from the N |
| # hosts that best fit the request, the chance of a conflict is |
| # reduced. However, |
| # the higher you set this value, the less optimal the chosen host may |
| # be for a |
| # given request. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * An integer, where the integer corresponds to the size of a host |
| # subset. Any |
| # integer is valid, although any value less than 1 will be treated |
| # as 1 |
| # (integer value) |
| # Minimum value: 1 |
| # Deprecated group/name - [DEFAULT]/scheduler_host_subset_size |
| #host_subset_size = 1 |
| |
| # |
| # The number of instances that can be actively performing IO on a |
| # host. |
| # |
| # Instances performing IO includes those in the following states: |
| # build, resize, |
| # snapshot, migrate, rescue, unshelve. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'io_ops_filter' filter is enabled. |
| # |
| # Possible values: |
| # |
| # * An integer, where the integer corresponds to the max number of |
| # instances |
| # that can be actively performing IO on any given host. |
| # (integer value) |
| #max_io_ops_per_host = 8 |
| |
| # |
| # Maximum number of instances that be active on a host. |
| # |
| # If you need to limit the number of instances on any given host, set |
| # this option |
| # to the maximum number of instances you want to allow. The |
| # num_instances_filter |
| # will reject any host that has at least as many instances as this |
| # option's |
| # value. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'num_instances_filter' filter is |
| # enabled. |
| # |
| # Possible values: |
| # |
| # * An integer, where the integer corresponds to the max instances |
| # that can be |
| # scheduled on a host. |
| # (integer value) |
| # Minimum value: 1 |
| #max_instances_per_host = 50 |
| |
| # |
| # Enable querying of individual hosts for instance information. |
| # |
| # The scheduler may need information about the instances on a host in |
| # order to |
| # evaluate its filters and weighers. The most common need for this |
| # information is |
| # for the (anti-)affinity filters, which need to choose a host based |
| # on the |
| # instances already running on a host. |
| # |
| # If the configured filters and weighers do not need this information, |
| # disabling |
| # this option will improve performance. It may also be disabled when |
| # the tracking |
| # overhead proves too heavy, although this will cause classes |
| # requiring host |
| # usage data to query the database on each request instead. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # NOTE: In a multi-cell (v2) setup where the cell MQ is separated from |
| # the |
| # top-level, computes cannot directly communicate with the scheduler. |
| # Thus, |
| # this option cannot be enabled in that scenario. See also the |
| # [workarounds]/disable_group_policy_check_upcall option. |
| # (boolean value) |
| # Deprecated group/name - [DEFAULT]/scheduler_tracks_instance_changes |
| #track_instance_changes = true |
| |
| # |
| # Filters that the scheduler can use. |
| # |
| # An unordered list of the filter classes the nova scheduler may |
| # apply. Only the |
| # filters specified in the 'enabled_filters' option will be used, but |
| # any filter appearing in that option must also be included in this |
| # list. |
| # |
| # By default, this is set to all filters that are included with nova. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * A list of zero or more strings, where each string corresponds to |
| # the name of |
| # a filter that may be used for selecting a host |
| # |
| # Related options: |
| # |
| # * enabled_filters |
| # (multi valued) |
| # Deprecated group/name - [DEFAULT]/scheduler_available_filters |
| #available_filters = nova.scheduler.filters.all_filters |
| |
| # |
| # Filters that the scheduler will use. |
| # |
| # An ordered list of filter class names that will be used for |
| # filtering |
| # hosts. These filters will be applied in the order they are listed so |
| # place your most restrictive filters first to make the filtering |
| # process more |
| # efficient. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * A list of zero or more strings, where each string corresponds to |
| # the name of |
| # a filter to be used for selecting a host |
| # |
| # Related options: |
| # |
| # * All of the filters in this option *must* be present in the |
| # 'scheduler_available_filters' option, or a |
| # SchedulerHostFilterNotFound |
| # exception will be raised. |
| # (list value) |
| # Deprecated group/name - [DEFAULT]/scheduler_default_filters |
| #enabled_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter |
| |
| # DEPRECATED: |
| # Filters used for filtering baremetal hosts. |
| # |
| # Filters are applied in order, so place your most restrictive filters |
| # first to |
| # make the filtering process more efficient. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * A list of zero or more strings, where each string corresponds to |
| # the name of |
| # a filter to be used for selecting a baremetal host |
| # |
| # Related options: |
| # |
| # * If the 'scheduler_use_baremetal_filters' option is False, this |
| # option has |
| # no effect. |
| # (list value) |
| # Deprecated group/name - [DEFAULT]/baremetal_scheduler_default_filters |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # These filters were used to overcome some of the baremetal scheduling |
| # limitations in Nova prior to the use of the Placement API. Now |
| # scheduling will |
| # use the custom resource class defined for each baremetal node to |
| # make its |
| # selection. |
| #baremetal_enabled_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ExactRamFilter,ExactDiskFilter,ExactCoreFilter |
| |
| # DEPRECATED: |
| # Enable baremetal filters. |
| # |
| # Set this to True to tell the nova scheduler that it should use the |
| # filters |
| # specified in the 'baremetal_enabled_filters' option. If you are not |
| # scheduling baremetal nodes, leave this at the default setting of |
| # False. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Related options: |
| # |
| # * If this option is set to True, then the filters specified in the |
| # 'baremetal_enabled_filters' are used instead of the filters |
| # specified in 'enabled_filters'. |
| # (boolean value) |
| # Deprecated group/name - [DEFAULT]/scheduler_use_baremetal_filters |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # These filters were used to overcome some of the baremetal scheduling |
| # limitations in Nova prior to the use of the Placement API. Now |
| # scheduling will |
| # use the custom resource class defined for each baremetal node to |
| # make its |
| # selection. |
| #use_baremetal_filters = false |
| |
| # |
| # Weighers that the scheduler will use. |
| # |
| # Only hosts which pass the filters are weighed. The weight for any |
| # host starts |
| # at 0, and the weighers order these hosts by adding to or subtracting |
| # from the |
| # weight assigned by the previous weigher. Weights may become |
| # negative. An |
| # instance will be scheduled to one of the N most-weighted hosts, |
| # where N is |
| # 'scheduler_host_subset_size'. |
| # |
| # By default, this is set to all weighers that are included with Nova. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * A list of zero or more strings, where each string corresponds to |
| # the name of |
| # a weigher that will be used for selecting a host |
| # (list value) |
| # Deprecated group/name - [DEFAULT]/scheduler_weight_classes |
| #weight_classes = nova.scheduler.weights.all_weighers |
| |
| # |
| # Ram weight multipler ratio. |
| # |
| # This option determines how hosts with more or less available RAM are |
| # weighed. A |
| # positive value will result in the scheduler preferring hosts with |
| # more |
| # available RAM, and a negative number will result in the scheduler |
| # preferring |
| # hosts with less available RAM. Another way to look at it is that |
| # positive |
| # values for this option will tend to spread instances across many |
| # hosts, while |
| # negative values will tend to fill up (stack) hosts as much as |
| # possible before |
| # scheduling to a less-used host. The absolute value, whether positive |
| # or |
| # negative, controls how strong the RAM weigher is relative to other |
| # weighers. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'ram' weigher is enabled. |
| # |
| # Possible values: |
| # |
| # * An integer or float value, where the value corresponds to the |
| # multipler |
| # ratio for this weigher. |
| # (floating point value) |
| #ram_weight_multiplier = 1.0 |
| |
| # |
| # Disk weight multipler ratio. |
| # |
| # Multiplier used for weighing free disk space. Negative numbers mean |
| # to |
| # stack vs spread. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'disk' weigher is enabled. |
| # |
| # Possible values: |
| # |
| # * An integer or float value, where the value corresponds to the |
| # multipler |
| # ratio for this weigher. |
| # (floating point value) |
| #disk_weight_multiplier = 1.0 |
| |
| # |
| # IO operations weight multipler ratio. |
| # |
| # This option determines how hosts with differing workloads are |
| # weighed. Negative |
| # values, such as the default, will result in the scheduler preferring |
| # hosts with |
| # lighter workloads whereas positive values will prefer hosts with |
| # heavier |
| # workloads. Another way to look at it is that positive values for |
| # this option |
| # will tend to schedule instances onto hosts that are already busy, |
| # while |
| # negative values will tend to distribute the workload across more |
| # hosts. The |
| # absolute value, whether positive or negative, controls how strong |
| # the io_ops |
| # weigher is relative to other weighers. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'io_ops' weigher is enabled. |
| # |
| # Possible values: |
| # |
| # * An integer or float value, where the value corresponds to the |
| # multipler |
| # ratio for this weigher. |
| # (floating point value) |
| #io_ops_weight_multiplier = -1.0 |
| |
| # |
| # PCI device affinity weight multiplier. |
| # |
| # The PCI device affinity weighter computes a weighting based on the |
| # number of |
| # PCI devices on the host and the number of PCI devices requested by |
| # the |
| # instance. The ``NUMATopologyFilter`` filter must be enabled for this |
| # to have |
| # any significance. For more information, refer to the filter |
| # documentation: |
| # |
| # https://docs.openstack.org/nova/latest/user/filter- |
| # scheduler.html |
| # |
| # Possible values: |
| # |
| # * A positive integer or float value, where the value corresponds to |
| # the |
| # multiplier ratio for this weigher. |
| # (floating point value) |
| # Minimum value: 0 |
| #pci_weight_multiplier = 1.0 |
| |
| # |
| # Multiplier used for weighing hosts for group soft-affinity. |
| # |
| # Possible values: |
| # |
| # * An integer or float value, where the value corresponds to weight |
| # multiplier |
| # for hosts with group soft affinity. Only a positive value are |
| # meaningful, as |
| # negative values would make this behave as a soft anti-affinity |
| # weigher. |
| # (floating point value) |
| #soft_affinity_weight_multiplier = 1.0 |
| |
| # |
| # Multiplier used for weighing hosts for group soft-anti-affinity. |
| # |
| # Possible values: |
| # |
| # * An integer or float value, where the value corresponds to weight |
| # multiplier |
| # for hosts with group soft anti-affinity. Only a positive value are |
| # meaningful, as negative values would make this behave as a soft |
| # affinity |
| # weigher. |
| # (floating point value) |
| #soft_anti_affinity_weight_multiplier = 1.0 |
| |
| # |
| # Enable spreading the instances between hosts with the same best |
| # weight. |
| # |
| # Enabling it is beneficial for cases when host_subset_size is 1 |
| # (default), but there is a large number of hosts with same maximal |
| # weight. |
| # This scenario is common in Ironic deployments where there are |
| # typically many |
| # baremetal nodes with identical weights returned to the scheduler. |
| # In such case enabling this option will reduce contention and chances |
| # for |
| # rescheduling events. |
| # At the same time it will make the instance packing (even in |
| # unweighed case) |
| # less dense. |
| # (boolean value) |
| #shuffle_best_same_weighed_hosts = false |
| |
| # |
| # The default architecture to be used when using the image properties |
| # filter. |
| # |
| # When using the ImagePropertiesFilter, it is possible that you want |
| # to define |
| # a default architecture to make the user experience easier and avoid |
| # having |
| # something like x86_64 images landing on aarch64 compute nodes |
| # because the |
| # user did not specify the 'hw_architecture' property in Glance. |
| # |
| # Possible values: |
| # |
| # * CPU Architectures such as x86_64, aarch64, s390x. |
| # (string value) |
| # Possible values: |
| # alpha - <No description provided> |
| # armv6 - <No description provided> |
| # armv7l - <No description provided> |
| # armv7b - <No description provided> |
| # aarch64 - <No description provided> |
| # cris - <No description provided> |
| # i686 - <No description provided> |
| # ia64 - <No description provided> |
| # lm32 - <No description provided> |
| # m68k - <No description provided> |
| # microblaze - <No description provided> |
| # microblazeel - <No description provided> |
| # mips - <No description provided> |
| # mipsel - <No description provided> |
| # mips64 - <No description provided> |
| # mips64el - <No description provided> |
| # openrisc - <No description provided> |
| # parisc - <No description provided> |
| # parisc64 - <No description provided> |
| # ppc - <No description provided> |
| # ppcle - <No description provided> |
| # ppc64 - <No description provided> |
| # ppc64le - <No description provided> |
| # ppcemb - <No description provided> |
| # s390 - <No description provided> |
| # s390x - <No description provided> |
| # sh4 - <No description provided> |
| # sh4eb - <No description provided> |
| # sparc - <No description provided> |
| # sparc64 - <No description provided> |
| # unicore32 - <No description provided> |
| # x86_64 - <No description provided> |
| # xtensa - <No description provided> |
| # xtensaeb - <No description provided> |
| #image_properties_default_architecture = <None> |
| |
| # |
| # List of UUIDs for images that can only be run on certain hosts. |
| # |
| # If there is a need to restrict some images to only run on certain |
| # designated |
| # hosts, list those image UUIDs here. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'IsolatedHostsFilter' filter is |
| # enabled. |
| # |
| # Possible values: |
| # |
| # * A list of UUID strings, where each string corresponds to the UUID |
| # of an |
| # image |
| # |
| # Related options: |
| # |
| # * scheduler/isolated_hosts |
| # * scheduler/restrict_isolated_hosts_to_isolated_images |
| # (list value) |
| #isolated_images = |
| |
| # |
| # List of hosts that can only run certain images. |
| # |
| # If there is a need to restrict some images to only run on certain |
| # designated |
| # hosts, list those host names here. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'IsolatedHostsFilter' filter is |
| # enabled. |
| # |
| # Possible values: |
| # |
| # * A list of strings, where each string corresponds to the name of a |
| # host |
| # |
| # Related options: |
| # |
| # * scheduler/isolated_images |
| # * scheduler/restrict_isolated_hosts_to_isolated_images |
| # (list value) |
| #isolated_hosts = |
| |
| # |
| # Prevent non-isolated images from being built on isolated hosts. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the 'IsolatedHostsFilter' filter is |
| # enabled. Even |
| # then, this option doesn't affect the behavior of requests for |
| # isolated images, |
| # which will *always* be restricted to isolated hosts. |
| # |
| # Related options: |
| # |
| # * scheduler/isolated_images |
| # * scheduler/isolated_hosts |
| # (boolean value) |
| #restrict_isolated_hosts_to_isolated_images = true |
| |
| # |
| # Image property namespace for use in the host aggregate. |
| # |
| # Images and hosts can be configured so that certain images can only |
| # be scheduled |
| # to hosts in a particular aggregate. This is done with metadata |
| # values set on |
| # the host aggregate that are identified by beginning with the value |
| # of this |
| # option. If the host is part of an aggregate with such a metadata |
| # key, the image |
| # in the request spec must have the value of that metadata in its |
| # properties in |
| # order for the scheduler to consider the host as acceptable. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the |
| # 'aggregate_image_properties_isolation' filter is |
| # enabled. |
| # |
| # Possible values: |
| # |
| # * A string, where the string corresponds to an image property |
| # namespace |
| # |
| # Related options: |
| # |
| # * aggregate_image_properties_isolation_separator |
| # (string value) |
| #aggregate_image_properties_isolation_namespace = <None> |
| |
| # |
| # Separator character(s) for image property namespace and name. |
| # |
| # When using the aggregate_image_properties_isolation filter, the |
| # relevant |
| # metadata keys are prefixed with the namespace defined in the |
| # aggregate_image_properties_isolation_namespace configuration option |
| # plus a |
| # separator. This option defines the separator to be used. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. Also note that |
| # this setting |
| # only affects scheduling if the |
| # 'aggregate_image_properties_isolation' filter |
| # is enabled. |
| # |
| # Possible values: |
| # |
| # * A string, where the string corresponds to an image property |
| # namespace |
| # separator character |
| # |
| # Related options: |
| # |
| # * aggregate_image_properties_isolation_namespace |
| # (string value) |
| #aggregate_image_properties_isolation_separator = . |
| |
| |
| [glance] |
| # Configuration options for the Image service |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # List of glance api servers endpoints available to nova. |
| # |
| # https is used for ssl-based glance api servers. |
| # |
| # NOTE: The preferred mechanism for endpoint discovery is via |
| # keystoneauth1 |
| # loading options. Only use api_servers if you need multiple endpoints |
| # and are |
| # unable to use a load balancer for some reason. |
| # |
| # Possible values: |
| # |
| # * A list of any fully qualified url of the form |
| # "scheme://hostname:port[/path]" |
| # (i.e. "http://10.0.1.0:9292" or "https://my.glance.server/image"). |
| # (list value) |
| #api_servers = <None> |
| {%- if compute.image is defined %} |
| api_servers = {{ compute.image.get('protocol', 'http') }}://{{ compute.image.host }}:{{ compute.image.get('port', 9292) }} |
| {% endif %} |
| |
| # |
| # Enable glance operation retries. |
| # |
| # Specifies the number of retries when uploading / downloading |
| # an image to / from glance. 0 means no retries. |
| # (integer value) |
| # Minimum value: 0 |
| #num_retries = 0 |
| |
| # DEPRECATED: |
| # List of url schemes that can be directly accessed. |
| # |
| # This option specifies a list of url schemes that can be downloaded |
| # directly via the direct_url. This direct_URL can be fetched from |
| # Image metadata which can be used by nova to get the |
| # image more efficiently. nova-compute could benefit from this by |
| # invoking a copy when it has access to the same file system as |
| # glance. |
| # |
| # Possible values: |
| # |
| # * [file], Empty list (default) |
| # (list value) |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # This was originally added for the 'nova.image.download.file' |
| # FileTransfer |
| # extension which was removed in the 16.0.0 Pike release. The |
| # 'nova.image.download.modules' extension point is not maintained |
| # and there is no indication of its use in production clouds. |
| #allowed_direct_url_schemes = |
| |
| # |
| # Enable image signature verification. |
| # |
| # nova uses the image signature metadata from glance and verifies the |
| # signature |
| # of a signed image while downloading that image. If the image |
| # signature cannot |
| # be verified or if the image signature metadata is either incomplete |
| # or |
| # unavailable, then nova will not boot the image and instead will |
| # place the |
| # instance into an error state. This provides end users with stronger |
| # assurances |
| # of the integrity of the image data they are using to create servers. |
| # |
| # Related options: |
| # |
| # * The options in the `key_manager` group, as the key_manager is used |
| # for the signature validation. |
| # * Both enable_certificate_validation and |
| # default_trusted_certificate_ids |
| # below depend on this option being enabled. |
| # (boolean value) |
| {%- if compute.get('image', {}).verify_glance_signatures is defined %} |
| verify_glance_signatures={{ compute.image.verify_glance_signatures }} |
| {%- elif compute.get('barbican', {}).get('enabled', False) %} |
| verify_glance_signatures=true |
| {%- else %} |
| #verify_glance_signatures=false |
| {%- endif %} |
| |
| # DEPRECATED: |
| # Enable certificate validation for image signature verification. |
| # |
| # During image signature verification nova will first verify the |
| # validity of the |
| # image's signing certificate using the set of trusted certificates |
| # associated |
| # with the instance. If certificate validation fails, signature |
| # verification |
| # will not be performed and the image will be placed into an error |
| # state. This |
| # provides end users with stronger assurances that the image data is |
| # unmodified |
| # and trustworthy. If left disabled, image signature verification can |
| # still |
| # occur but the end user will not have any assurance that the signing |
| # certificate used to generate the image signature is still |
| # trustworthy. |
| # |
| # Related options: |
| # |
| # * This option only takes effect if verify_glance_signatures is |
| # enabled. |
| # * The value of default_trusted_certificate_ids may be used when this |
| # option |
| # is enabled. |
| # (boolean value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # This option is intended to ease the transition for deployments |
| # leveraging |
| # image signature verification. The intended state long-term is for |
| # signature |
| # verification and certificate validation to always happen together. |
| #enable_certificate_validation = false |
| |
| # |
| # List of certificate IDs for certificates that should be trusted. |
| # |
| # May be used as a default list of trusted certificate IDs for |
| # certificate |
| # validation. The value of this option will be ignored if the user |
| # provides a |
| # list of trusted certificate IDs with an instance API request. The |
| # value of |
| # this option will be persisted with the instance data if signature |
| # verification |
| # and certificate validation are enabled and if the user did not |
| # provide an |
| # alternative list. If left empty when certificate validation is |
| # enabled the |
| # user must provide a list of trusted certificate IDs otherwise |
| # certificate |
| # validation will fail. |
| # |
| # Related options: |
| # |
| # * The value of this option may be used if both |
| # verify_glance_signatures and |
| # enable_certificate_validation are enabled. |
| # (list value) |
| #default_trusted_certificate_ids = |
| |
| # Enable or disable debug logging with glanceclient. (boolean value) |
| #debug = false |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs |
| # connections. (string value) |
| #cafile = <None> |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # The default service_type for endpoint URL discovery. (string value) |
| #service_type = image |
| |
| # The default service_name for endpoint URL discovery. (string value) |
| #service_name = <None> |
| |
| # List of interfaces, in order of preference, for endpoint URL. (list |
| # value) |
| #valid_interfaces = internal,public |
| |
| # The default region_name for endpoint URL discovery. (string value) |
| #region_name = <None> |
| |
| # Always use this endpoint URL for requests for this client. NOTE: The |
| # unversioned endpoint should be specified here; to request a |
| # particular API version, use the `version`, `min-version`, and/or |
| # `max-version` options. (string value) |
| #endpoint_override = <None> |
| |
| |
| [guestfs] |
| # |
| # libguestfs is a set of tools for accessing and modifying virtual |
| # machine (VM) disk images. You can use this for viewing and editing |
| # files inside guests, scripting changes to VMs, monitoring disk |
| # used/free statistics, creating guests, P2V, V2V, performing backups, |
| # cloning VMs, building VMs, formatting disks and resizing disks. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Enable/disables guestfs logging. |
| # |
| # This configures guestfs to debug messages and push them to OpenStack |
| # logging system. When set to True, it traces libguestfs API calls and |
| # enable verbose debug messages. In order to use the above feature, |
| # "libguestfs" package must be installed. |
| # |
| # Related options: |
| # Since libguestfs access and modifies VM's managed by libvirt, below |
| # options |
| # should be set to give access to those VM's. |
| # * libvirt.inject_key |
| # * libvirt.inject_partition |
| # * libvirt.inject_password |
| # (boolean value) |
| #debug = false |
| |
| |
| [hyperv] |
| # |
| # The hyperv feature allows you to configure the Hyper-V hypervisor |
| # driver to be used within an OpenStack deployment. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Dynamic memory ratio |
| # |
| # Enables dynamic memory allocation (ballooning) when set to a value |
| # greater than 1. The value expresses the ratio between the total RAM |
| # assigned to an instance and its startup RAM amount. For example a |
| # ratio of 2.0 for an instance with 1024MB of RAM implies 512MB of |
| # RAM allocated at startup. |
| # |
| # Possible values: |
| # |
| # * 1.0: Disables dynamic memory allocation (Default). |
| # * Float values greater than 1.0: Enables allocation of total implied |
| # RAM divided by this value for startup. |
| # (floating point value) |
| #dynamic_memory_ratio = 1.0 |
| |
| # |
| # Enable instance metrics collection |
| # |
| # Enables metrics collections for an instance by using Hyper-V's |
| # metric APIs. Collected data can be retrieved by other apps and |
| # services, e.g.: Ceilometer. |
| # (boolean value) |
| #enable_instance_metrics_collection = false |
| |
| # |
| # Instances path share |
| # |
| # The name of a Windows share mapped to the "instances_path" dir |
| # and used by the resize feature to copy files to the target host. |
| # If left blank, an administrative share (hidden network share) will |
| # be used, looking for the same "instances_path" used locally. |
| # |
| # Possible values: |
| # |
| # * "": An administrative share will be used (Default). |
| # * Name of a Windows share. |
| # |
| # Related options: |
| # |
| # * "instances_path": The directory which will be used if this option |
| # here is left blank. |
| # (string value) |
| #instances_path_share = |
| |
| # |
| # Limit CPU features |
| # |
| # This flag is needed to support live migration to hosts with |
| # different CPU features and checked during instance creation |
| # in order to limit the CPU features used by the instance. |
| # (boolean value) |
| #limit_cpu_features = false |
| |
| # |
| # Mounted disk query retry count |
| # |
| # The number of times to retry checking for a mounted disk. |
| # The query runs until the device can be found or the retry |
| # count is reached. |
| # |
| # Possible values: |
| # |
| # * Positive integer values. Values greater than 1 is recommended |
| # (Default: 10). |
| # |
| # Related options: |
| # |
| # * Time interval between disk mount retries is declared with |
| # "mounted_disk_query_retry_interval" option. |
| # (integer value) |
| # Minimum value: 0 |
| #mounted_disk_query_retry_count = 10 |
| |
| # |
| # Mounted disk query retry interval |
| # |
| # Interval between checks for a mounted disk, in seconds. |
| # |
| # Possible values: |
| # |
| # * Time in seconds (Default: 5). |
| # |
| # Related options: |
| # |
| # * This option is meaningful when the mounted_disk_query_retry_count |
| # is greater than 1. |
| # * The retry loop runs with mounted_disk_query_retry_count and |
| # mounted_disk_query_retry_interval configuration options. |
| # (integer value) |
| # Minimum value: 0 |
| #mounted_disk_query_retry_interval = 5 |
| |
| # |
| # Power state check timeframe |
| # |
| # The timeframe to be checked for instance power state changes. |
| # This option is used to fetch the state of the instance from Hyper-V |
| # through the WMI interface, within the specified timeframe. |
| # |
| # Possible values: |
| # |
| # * Timeframe in seconds (Default: 60). |
| # (integer value) |
| # Minimum value: 0 |
| #power_state_check_timeframe = 60 |
| |
| # |
| # Power state event polling interval |
| # |
| # Instance power state change event polling frequency. Sets the |
| # listener interval for power state events to the given value. |
| # This option enhances the internal lifecycle notifications of |
| # instances that reboot themselves. It is unlikely that an operator |
| # has to change this value. |
| # |
| # Possible values: |
| # |
| # * Time in seconds (Default: 2). |
| # (integer value) |
| # Minimum value: 0 |
| #power_state_event_polling_interval = 2 |
| |
| # |
| # qemu-img command |
| # |
| # qemu-img is required for some of the image related operations |
| # like converting between different image types. You can get it |
| # from here: (http://qemu.weilnetz.de/) or you can install the |
| # Cloudbase OpenStack Hyper-V Compute Driver |
| # (https://cloudbase.it/openstack-hyperv-driver/) which automatically |
| # sets the proper path for this config option. You can either give the |
| # full path of qemu-img.exe or set its path in the PATH environment |
| # variable and leave this option to the default value. |
| # |
| # Possible values: |
| # |
| # * Name of the qemu-img executable, in case it is in the same |
| # directory as the nova-compute service or its path is in the |
| # PATH environment variable (Default). |
| # * Path of qemu-img command (DRIVELETTER:\PATH\TO\QEMU-IMG\COMMAND). |
| # |
| # Related options: |
| # |
| # * If the config_drive_cdrom option is False, qemu-img will be used |
| # to |
| # convert the ISO to a VHD, otherwise the configuration drive will |
| # remain an ISO. To use configuration drive with Hyper-V, you must |
| # set the mkisofs_cmd value to the full path to an mkisofs.exe |
| # installation. |
| # (string value) |
| #qemu_img_cmd = qemu-img.exe |
| |
| # |
| # External virtual switch name |
| # |
| # The Hyper-V Virtual Switch is a software-based layer-2 Ethernet |
| # network switch that is available with the installation of the |
| # Hyper-V server role. The switch includes programmatically managed |
| # and extensible capabilities to connect virtual machines to both |
| # virtual networks and the physical network. In addition, Hyper-V |
| # Virtual Switch provides policy enforcement for security, isolation, |
| # and service levels. The vSwitch represented by this config option |
| # must be an external one (not internal or private). |
| # |
| # Possible values: |
| # |
| # * If not provided, the first of a list of available vswitches |
| # is used. This list is queried using WQL. |
| # * Virtual switch name. |
| # (string value) |
| #vswitch_name = <None> |
| |
| # |
| # Wait soft reboot seconds |
| # |
| # Number of seconds to wait for instance to shut down after soft |
| # reboot request is made. We fall back to hard reboot if instance |
| # does not shutdown within this window. |
| # |
| # Possible values: |
| # |
| # * Time in seconds (Default: 60). |
| # (integer value) |
| # Minimum value: 0 |
| #wait_soft_reboot_seconds = 60 |
| |
| # |
| # Configuration drive cdrom |
| # |
| # OpenStack can be configured to write instance metadata to |
| # a configuration drive, which is then attached to the |
| # instance before it boots. The configuration drive can be |
| # attached as a disk drive (default) or as a CD drive. |
| # |
| # Possible values: |
| # |
| # * True: Attach the configuration drive image as a CD drive. |
| # * False: Attach the configuration drive image as a disk drive |
| # (Default). |
| # |
| # Related options: |
| # |
| # * This option is meaningful with force_config_drive option set to |
| # 'True' |
| # or when the REST API call to create an instance will have |
| # '--config-drive=True' flag. |
| # * config_drive_format option must be set to 'iso9660' in order to |
| # use |
| # CD drive as the configuration drive image. |
| # * To use configuration drive with Hyper-V, you must set the |
| # mkisofs_cmd value to the full path to an mkisofs.exe installation. |
| # Additionally, you must set the qemu_img_cmd value to the full path |
| # to an qemu-img command installation. |
| # * You can configure the Compute service to always create a |
| # configuration |
| # drive by setting the force_config_drive option to 'True'. |
| # (boolean value) |
| #config_drive_cdrom = false |
| config_drive_cdrom = {{ compute.get('config_drive', {}).get('cdrom', False)|lower }} |
| |
| # |
| # Configuration drive inject password |
| # |
| # Enables setting the admin password in the configuration drive image. |
| # |
| # Related options: |
| # |
| # * This option is meaningful when used with other options that enable |
| # configuration drive usage with Hyper-V, such as |
| # force_config_drive. |
| # * Currently, the only accepted config_drive_format is 'iso9660'. |
| # (boolean value) |
| #config_drive_inject_password = false |
| config_drive_inject_password = {{ compute.get('config_drive', {}).get('inject_password', False)|lower }} |
| |
| # |
| # Volume attach retry count |
| # |
| # The number of times to retry attaching a volume. Volume attachment |
| # is retried until success or the given retry count is reached. |
| # |
| # Possible values: |
| # |
| # * Positive integer values (Default: 10). |
| # |
| # Related options: |
| # |
| # * Time interval between attachment attempts is declared with |
| # volume_attach_retry_interval option. |
| # (integer value) |
| # Minimum value: 0 |
| #volume_attach_retry_count = 10 |
| |
| # |
| # Volume attach retry interval |
| # |
| # Interval between volume attachment attempts, in seconds. |
| # |
| # Possible values: |
| # |
| # * Time in seconds (Default: 5). |
| # |
| # Related options: |
| # |
| # * This options is meaningful when volume_attach_retry_count |
| # is greater than 1. |
| # * The retry loop runs with volume_attach_retry_count and |
| # volume_attach_retry_interval configuration options. |
| # (integer value) |
| # Minimum value: 0 |
| #volume_attach_retry_interval = 5 |
| |
| # |
| # Enable RemoteFX feature |
| # |
| # This requires at least one DirectX 11 capable graphics adapter for |
| # Windows / Hyper-V Server 2012 R2 or newer and RDS-Virtualization |
| # feature has to be enabled. |
| # |
| # Instances with RemoteFX can be requested with the following flavor |
| # extra specs: |
| # |
| # **os:resolution**. Guest VM screen resolution size. Acceptable |
| # values:: |
| # |
| # 1024x768, 1280x1024, 1600x1200, 1920x1200, 2560x1600, 3840x2160 |
| # |
| # ``3840x2160`` is only available on Windows / Hyper-V Server 2016. |
| # |
| # **os:monitors**. Guest VM number of monitors. Acceptable values:: |
| # |
| # [1, 4] - Windows / Hyper-V Server 2012 R2 |
| # [1, 8] - Windows / Hyper-V Server 2016 |
| # |
| # **os:vram**. Guest VM VRAM amount. Only available on |
| # Windows / Hyper-V Server 2016. Acceptable values:: |
| # |
| # 64, 128, 256, 512, 1024 |
| # (boolean value) |
| #enable_remotefx = false |
| |
| # |
| # Use multipath connections when attaching iSCSI or FC disks. |
| # |
| # This requires the Multipath IO Windows feature to be enabled. MPIO |
| # must be |
| # configured to claim such devices. |
| # (boolean value) |
| #use_multipath_io = false |
| |
| # |
| # List of iSCSI initiators that will be used for estabilishing iSCSI |
| # sessions. |
| # |
| # If none are specified, the Microsoft iSCSI initiator service will |
| # choose the |
| # initiator. |
| # (list value) |
| #iscsi_initiator_list = |
| |
| {% if compute.ironic is defined -%} |
| [ironic] |
| # |
| # Configuration options for Ironic driver (Bare Metal). |
| # If using the Ironic driver following options must be set: |
| # * auth_type |
| # * auth_url |
| # * project_name |
| # * username |
| # * password |
| # * project_domain_id or project_domain_name |
| # * user_domain_id or user_domain_name |
| |
| # |
| # From nova.conf |
| # |
| |
| # DEPRECATED: URL override for the Ironic API endpoint. (uri value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Endpoint lookup uses the service catalog via common |
| # keystoneauth1 Adapter configuration options. In the current release, |
| # api_endpoint will override this behavior, but will be ignored and/or |
| # removed in a future release. To achieve the same result, use the |
| # endpoint_override option instead. |
| #api_endpoint = http://ironic.example.org:6385/ |
| api_endpoint={{ compute.ironic.get('protocol', 'http') }}://{{ compute.ironic.host }}:{{ compute.ironic.port }} |
| |
| # |
| # The number of times to retry when a request conflicts. |
| # If set to 0, only try once, no retries. |
| # |
| # Related options: |
| # |
| # * api_retry_interval |
| # (integer value) |
| # Minimum value: 0 |
| #api_max_retries = 60 |
| |
| # |
| # The number of seconds to wait before retrying the request. |
| # |
| # Related options: |
| # |
| # * api_max_retries |
| # (integer value) |
| # Minimum value: 0 |
| #api_retry_interval = 2 |
| |
| # Timeout (seconds) to wait for node serial console state changed. Set |
| # to 0 to disable timeout. (integer value) |
| # Minimum value: 0 |
| #serial_console_state_timeout = 10 |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs |
| # connections. (string value) |
| #cafile = <None> |
| {%- if compute.ironic.get('protocol', 'http') == 'https' %} |
| cafile={{ compute.identity.get('cacert_file', compute.cacert_file) }} |
| {%- endif %} |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # Authentication type to load (string value) |
| # Deprecated group/name - [ironic]/auth_plugin |
| #auth_type = <None> |
| auth_type={{ compute.ironic.auth_type }} |
| |
| # Config Section from which to load plugin specific options (string |
| # value) |
| #auth_section = <None> |
| |
| # Authentication URL (string value) |
| #auth_url = <None> |
| auth_url={{ compute.identity.get('protocol', 'http') }}://{{ compute.identity.host }}:{{ compute.identity.port }}/v3 |
| |
| # Scope for system operations (string value) |
| #system_scope = <None> |
| |
| # Domain ID to scope to (string value) |
| #domain_id = <None> |
| |
| # Domain name to scope to (string value) |
| #domain_name = <None> |
| |
| # Project ID to scope to (string value) |
| #project_id = <None> |
| |
| # Project name to scope to (string value) |
| #project_name = <None> |
| project_name={{ compute.identity.tenant }} |
| |
| # Domain ID containing project (string value) |
| #project_domain_id = <None> |
| |
| # Domain name containing project (string value) |
| #project_domain_name = <None> |
| project_domain_name={{ compute.ironic.project_domain_name }} |
| |
| # Trust ID (string value) |
| #trust_id = <None> |
| |
| # User ID (string value) |
| #user_id = <None> |
| |
| # Username (string value) |
| # Deprecated group/name - [ironic]/user_name |
| #username = <None> |
| username={{ compute.ironic.user }} |
| |
| # User's domain id (string value) |
| #user_domain_id = <None> |
| |
| # User's domain name (string value) |
| #user_domain_name = <None> |
| user_domain_name={{ compute.ironic.user_domain_name }} |
| |
| |
| # User's password (string value) |
| #password = <None> |
| password={{ compute.ironic.password }} |
| # The default service_type for endpoint URL discovery. (string value) |
| #service_type = baremetal |
| |
| # The default service_name for endpoint URL discovery. (string value) |
| #service_name = <None> |
| |
| # List of interfaces, in order of preference, for endpoint URL. (list |
| # value) |
| #valid_interfaces = internal,public |
| |
| # The default region_name for endpoint URL discovery. (string value) |
| #region_name = <None> |
| |
| # Always use this endpoint URL for requests for this client. NOTE: The |
| # unversioned endpoint should be specified here; to request a |
| # particular API version, use the `version`, `min-version`, and/or |
| # `max-version` options. (string value) |
| # Deprecated group/name - [ironic]/api_endpoint |
| #endpoint_override = <None> |
| {%- endif %} |
| |
| |
| [key_manager] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Fixed key returned by key manager, specified in hex. |
| # |
| # Possible values: |
| # |
| # * Empty string or a key in hex value |
| # (string value) |
| #fixed_key = <None> |
| {%- if compute.get('barbican', {}).get('enabled', False) %} |
| api_class=castellan.key_manager.barbican_key_manager.BarbicanKeyManager |
| {%- endif %} |
| |
| # Specify the key manager implementation. Options are "barbican" and |
| # "vault". Default is "barbican". Will support the values earlier |
| # set using [key_manager]/api_class for some time. (string value) |
| # Deprecated group/name - [key_manager]/api_class |
| #backend = barbican |
| |
| # The type of authentication credential to create. Possible values are |
| # 'token', 'password', 'keystone_token', and 'keystone_password'. |
| # Required if no context is passed to the credential factory. (string |
| # value) |
| #auth_type = <None> |
| |
| # Token for authentication. Required for 'token' and 'keystone_token' |
| # auth_type if no context is passed to the credential factory. (string |
| # value) |
| #token = <None> |
| |
| # Username for authentication. Required for 'password' auth_type. |
| # Optional for the 'keystone_password' auth_type. (string value) |
| #username = <None> |
| |
| # Password for authentication. Required for 'password' and |
| # 'keystone_password' auth_type. (string value) |
| #password = <None> |
| |
| # Use this endpoint to connect to Keystone. (string value) |
| #auth_url = <None> |
| |
| # User ID for authentication. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #user_id = <None> |
| |
| # User's domain ID for authentication. Optional for 'keystone_token' |
| # and 'keystone_password' auth_type. (string value) |
| #user_domain_id = <None> |
| |
| # User's domain name for authentication. Optional for 'keystone_token' |
| # and 'keystone_password' auth_type. (string value) |
| #user_domain_name = <None> |
| |
| # Trust ID for trust scoping. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #trust_id = <None> |
| |
| # Domain ID for domain scoping. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #domain_id = <None> |
| |
| # Domain name for domain scoping. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #domain_name = <None> |
| |
| # Project ID for project scoping. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #project_id = <None> |
| |
| # Project name for project scoping. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #project_name = <None> |
| |
| # Project's domain ID for project. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #project_domain_id = <None> |
| |
| # Project's domain name for project. Optional for 'keystone_token' and |
| # 'keystone_password' auth_type. (string value) |
| #project_domain_name = <None> |
| |
| # Allow fetching a new token if the current one is going to expire. |
| # Optional for 'keystone_token' and 'keystone_password' auth_type. |
| # (boolean value) |
| #reauthenticate = true |
| |
| |
| [keystone] |
| # Configuration options for the identity service |
| |
| # |
| # From nova.conf |
| # |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs |
| # connections. (string value) |
| #cafile = <None> |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # The default service_type for endpoint URL discovery. (string value) |
| #service_type = identity |
| |
| # The default service_name for endpoint URL discovery. (string value) |
| #service_name = <None> |
| |
| # List of interfaces, in order of preference, for endpoint URL. (list |
| # value) |
| #valid_interfaces = internal,public |
| |
| # The default region_name for endpoint URL discovery. (string value) |
| #region_name = <None> |
| |
| # Always use this endpoint URL for requests for this client. NOTE: The |
| # unversioned endpoint should be specified here; to request a |
| # particular API version, use the `version`, `min-version`, and/or |
| # `max-version` options. (string value) |
| #endpoint_override = <None> |
| |
| |
| [libvirt] |
| # |
| # Libvirt options allows cloud administrator to configure related |
| # libvirt hypervisor driver to be used within an OpenStack deployment. |
| # |
| # Almost all of the libvirt config options are influence by |
| # ``virt_type`` config |
| # which describes the virtualization type (or so called domain type) |
| # libvirt |
| # should use for specific features such as live migration, snapshot. |
| |
| # |
| # From nova.conf |
| # |
| {%- if compute.libvirt.virt_type is defined %} |
| virt_type = {{ compute.libvirt.virt_type }} |
| {%- else %} |
| virt_type = kvm |
| {%- endif%} |
| |
| inject_partition={{ compute.libvirt.inject_partition }} |
| {%- if compute.libvirt.get('inject_partition', '-2')|string == '-2' %} |
| inject_password=False |
| {%- else %} |
| inject_password={{ compute.libvirt.inject_password }} |
| {%- endif %} |
| |
| disk_cachemodes="{{ compute.get('disk_cachemodes', 'network=writeback,block=none') }}" |
| block_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_NON_SHARED_INC |
| live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST |
| inject_key=True |
| vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver |
| |
| {%- if compute.get('ceph', {}).get('ephemeral', False) %} |
| images_type=rbd |
| images_rbd_pool={{ compute.ceph.rbd_pool }} |
| images_rbd_ceph_conf=/etc/ceph/ceph.conf |
| rbd_user={{ compute.ceph.rbd_user }} |
| rbd_secret_uuid={{ compute.ceph.secret_uuid }} |
| inject_password=false |
| inject_key=false |
| {%- elif compute.get('lvm', {}).get('ephemeral', False) %} |
| images_type=lvm |
| images_volume_group={{ compute.lvm.images_volume_group }} |
| {%- if compute.lvm.volume_clear is defined %} |
| volume_clear={{ compute.lvm.volume_clear }} |
| {%- endif %} |
| {%- if compute.lvm.volume_clear_size is defined %} |
| volume_clear_size={{ compute.lvm.volume_clear_size }} |
| {%- endif %} |
| {%- endif %} |
| |
| # |
| # The ID of the image to boot from to rescue data from a corrupted |
| # instance. |
| # |
| # If the rescue REST API operation doesn't provide an ID of an image |
| # to |
| # use, the image which is referenced by this ID is used. If this |
| # option is not set, the image from the instance is used. |
| # |
| # Possible values: |
| # |
| # * An ID of an image or nothing. If it points to an *Amazon Machine |
| # Image* (AMI), consider to set the config options |
| # ``rescue_kernel_id`` |
| # and ``rescue_ramdisk_id`` too. If nothing is set, the image of the |
| # instance |
| # is used. |
| # |
| # Related options: |
| # |
| # * ``rescue_kernel_id``: If the chosen rescue image allows the |
| # separate |
| # definition of its kernel disk, the value of this option is used, |
| # if specified. This is the case when *Amazon*'s AMI/AKI/ARI image |
| # format is used for the rescue image. |
| # * ``rescue_ramdisk_id``: If the chosen rescue image allows the |
| # separate |
| # definition of its RAM disk, the value of this option is used if, |
| # specified. This is the case when *Amazon*'s AMI/AKI/ARI image |
| # format is used for the rescue image. |
| # (string value) |
| #rescue_image_id = <None> |
| |
| # |
| # The ID of the kernel (AKI) image to use with the rescue image. |
| # |
| # If the chosen rescue image allows the separate definition of its |
| # kernel |
| # disk, the value of this option is used, if specified. This is the |
| # case |
| # when *Amazon*'s AMI/AKI/ARI image format is used for the rescue |
| # image. |
| # |
| # Possible values: |
| # |
| # * An ID of an kernel image or nothing. If nothing is specified, the |
| # kernel |
| # disk from the instance is used if it was launched with one. |
| # |
| # Related options: |
| # |
| # * ``rescue_image_id``: If that option points to an image in |
| # *Amazon*'s |
| # AMI/AKI/ARI image format, it's useful to use ``rescue_kernel_id`` |
| # too. |
| # (string value) |
| #rescue_kernel_id = <None> |
| |
| # |
| # The ID of the RAM disk (ARI) image to use with the rescue image. |
| # |
| # If the chosen rescue image allows the separate definition of its RAM |
| # disk, the value of this option is used, if specified. This is the |
| # case |
| # when *Amazon*'s AMI/AKI/ARI image format is used for the rescue |
| # image. |
| # |
| # Possible values: |
| # |
| # * An ID of a RAM disk image or nothing. If nothing is specified, the |
| # RAM |
| # disk from the instance is used if it was launched with one. |
| # |
| # Related options: |
| # |
| # * ``rescue_image_id``: If that option points to an image in |
| # *Amazon*'s |
| # AMI/AKI/ARI image format, it's useful to use ``rescue_ramdisk_id`` |
| # too. |
| # (string value) |
| #rescue_ramdisk_id = <None> |
| |
| # |
| # Describes the virtualization type (or so called domain type) libvirt |
| # should |
| # use. |
| # |
| # The choice of this type must match the underlying virtualization |
| # strategy |
| # you have chosen for this host. |
| # |
| # Possible values: |
| # |
| # * See the predefined set of case-sensitive values. |
| # |
| # Related options: |
| # |
| # * ``connection_uri``: depends on this |
| # * ``disk_prefix``: depends on this |
| # * ``cpu_mode``: depends on this |
| # * ``cpu_model``: depends on this |
| # (string value) |
| # Possible values: |
| # kvm - <No description provided> |
| # lxc - <No description provided> |
| # qemu - <No description provided> |
| # uml - <No description provided> |
| # xen - <No description provided> |
| # parallels - <No description provided> |
| #virt_type = kvm |
| |
| # |
| # Overrides the default libvirt URI of the chosen virtualization type. |
| # |
| # If set, Nova will use this URI to connect to libvirt. |
| # |
| # Possible values: |
| # |
| # * An URI like ``qemu:///system`` or ``xen+ssh://oirase/`` for |
| # example. |
| # This is only necessary if the URI differs to the commonly known |
| # URIs |
| # for the chosen virtualization type. |
| # |
| # Related options: |
| # |
| # * ``virt_type``: Influences what is used as default value here. |
| # (string value) |
| #connection_uri = |
| {%- if compute.get('libvirt', {}).uri is defined %} |
| connection_uri={{ compute.libvirt.uri }} |
| {%- endif %} |
| |
| # |
| # Algorithm used to hash the injected password. |
| # Note that it must be supported by libc on the compute host |
| # _and_ by libc inside *any guest image* that will be booted by this |
| # compute |
| # host whith requested password injection. |
| # In case the specified algorithm is not supported by libc on the |
| # compute host, |
| # a fallback to DES algorithm will be performed. |
| # |
| # Related options: |
| # |
| # * ``inject_password`` |
| # * ``inject_partition`` |
| # (string value) |
| # Possible values: |
| # SHA-512 - <No description provided> |
| # SHA-256 - <No description provided> |
| # MD5 - <No description provided> |
| #inject_password_algorithm = MD5 |
| |
| # |
| # Allow the injection of an admin password for instance only at |
| # ``create`` and |
| # ``rebuild`` process. |
| # |
| # There is no agent needed within the image to do this. If |
| # *libguestfs* is |
| # available on the host, it will be used. Otherwise *nbd* is used. The |
| # file |
| # system of the image will be mounted and the admin password, which is |
| # provided |
| # in the REST API call will be injected as password for the root user. |
| # If no |
| # root user is available, the instance won't be launched and an error |
| # is thrown. |
| # Be aware that the injection is *not* possible when the instance gets |
| # launched |
| # from a volume. |
| # |
| # Possible values: |
| # |
| # * True: Allows the injection. |
| # * False (default): Disallows the injection. Any via the REST API |
| # provided |
| # admin password will be silently ignored. |
| # |
| # Related options: |
| # |
| # * ``inject_partition``: That option will decide about the discovery |
| # and usage |
| # of the file system. It also can disable the injection at all. |
| # (boolean value) |
| #inject_password = false |
| |
| # |
| # Allow the injection of an SSH key at boot time. |
| # |
| # There is no agent needed within the image to do this. If |
| # *libguestfs* is |
| # available on the host, it will be used. Otherwise *nbd* is used. The |
| # file |
| # system of the image will be mounted and the SSH key, which is |
| # provided |
| # in the REST API call will be injected as SSH key for the root user |
| # and |
| # appended to the ``authorized_keys`` of that user. The SELinux |
| # context will |
| # be set if necessary. Be aware that the injection is *not* possible |
| # when the |
| # instance gets launched from a volume. |
| # |
| # This config option will enable directly modifying the instance disk |
| # and does |
| # not affect what cloud-init may do using data from config_drive |
| # option or the |
| # metadata service. |
| # |
| # Related options: |
| # |
| # * ``inject_partition``: That option will decide about the discovery |
| # and usage |
| # of the file system. It also can disable the injection at all. |
| # (boolean value) |
| #inject_key = false |
| |
| # |
| # Determines the way how the file system is chosen to inject data into |
| # it. |
| # |
| # *libguestfs* will be used a first solution to inject data. If that's |
| # not |
| # available on the host, the image will be locally mounted on the host |
| # as a |
| # fallback solution. If libguestfs is not able to determine the root |
| # partition |
| # (because there are more or less than one root partition) or cannot |
| # mount the |
| # file system it will result in an error and the instance won't be |
| # boot. |
| # |
| # Possible values: |
| # |
| # * -2 => disable the injection of data. |
| # * -1 => find the root partition with the file system to mount with |
| # libguestfs |
| # * 0 => The image is not partitioned |
| # * >0 => The number of the partition to use for the injection |
| # |
| # Related options: |
| # |
| # * ``inject_key``: If this option allows the injection of a SSH key |
| # it depends |
| # on value greater or equal to -1 for ``inject_partition``. |
| # * ``inject_password``: If this option allows the injection of an |
| # admin password |
| # it depends on value greater or equal to -1 for |
| # ``inject_partition``. |
| # * ``guestfs`` You can enable the debug log level of libguestfs with |
| # this |
| # config option. A more verbose output will help in debugging |
| # issues. |
| # * ``virt_type``: If you use ``lxc`` as virt_type it will be treated |
| # as a |
| # single partition image |
| # (integer value) |
| # Minimum value: -2 |
| #inject_partition = -2 |
| |
| # DEPRECATED: |
| # Enable a mouse cursor within a graphical VNC or SPICE sessions. |
| # |
| # This will only be taken into account if the VM is fully virtualized |
| # and VNC |
| # and/or SPICE is enabled. If the node doesn't support a graphical |
| # framebuffer, |
| # then it is valid to set this to False. |
| # |
| # Related options: |
| # * ``[vnc]enabled``: If VNC is enabled, ``use_usb_tablet`` will have |
| # an effect. |
| # * ``[spice]enabled`` + ``[spice].agent_enabled``: If SPICE is |
| # enabled and the |
| # spice agent is disabled, the config value of ``use_usb_tablet`` |
| # will have |
| # an effect. |
| # (boolean value) |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: This option is being replaced by the 'pointer_model' option. |
| #use_usb_tablet = true |
| |
| # |
| # The IP address or hostname to be used as the target for live |
| # migration traffic. |
| # |
| # If this option is set to None, the hostname of the migration target |
| # compute |
| # node will be used. |
| # |
| # This option is useful in environments where the live-migration |
| # traffic can |
| # impact the network plane significantly. A separate network for live- |
| # migration |
| # traffic can then use this config option and avoids the impact on the |
| # management network. |
| # |
| # Possible values: |
| # |
| # * A valid IP address or hostname, else None. |
| # |
| # Related options: |
| # |
| # * ``live_migration_tunnelled``: The live_migration_inbound_addr |
| # value is |
| # ignored if tunneling is enabled. |
| # (string value) |
| #live_migration_inbound_addr = <None> |
| {%- if compute.libvirt.migration_inbound_addr is defined %} |
| live_migration_inbound_addr = {{ compute.libvirt.migration_inbound_addr }} |
| {%- endif %} |
| |
| # DEPRECATED: |
| # Live migration target URI to use. |
| # |
| # Override the default libvirt live migration target URI (which is |
| # dependent |
| # on virt_type). Any included "%s" is replaced with the migration |
| # target |
| # hostname. |
| # |
| # If this option is set to None (which is the default), Nova will |
| # automatically |
| # generate the `live_migration_uri` value based on only 4 supported |
| # `virt_type` |
| # in following list: |
| # |
| # * 'kvm': 'qemu+tcp://%s/system' |
| # * 'qemu': 'qemu+tcp://%s/system' |
| # * 'xen': 'xenmigr://%s/system' |
| # * 'parallels': 'parallels+tcp://%s/system' |
| # |
| # Related options: |
| # |
| # * ``live_migration_inbound_addr``: If |
| # ``live_migration_inbound_addr`` value |
| # is not None and ``live_migration_tunnelled`` is False, the |
| # ip/hostname |
| # address of target compute node is used instead of |
| # ``live_migration_uri`` as |
| # the uri for live migration. |
| # * ``live_migration_scheme``: If ``live_migration_uri`` is not set, |
| # the scheme |
| # used for live migration is taken from ``live_migration_scheme`` |
| # instead. |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # live_migration_uri is deprecated for removal in favor of two other |
| # options that |
| # allow to change live migration scheme and target URI: |
| # ``live_migration_scheme`` |
| # and ``live_migration_inbound_addr`` respectively. |
| #live_migration_uri = <None> |
| |
| # |
| # URI scheme used for live migration. |
| # |
| # Override the default libvirt live migration scheme (which is |
| # dependent on |
| # virt_type). If this option is set to None, nova will automatically |
| # choose a |
| # sensible default based on the hypervisor. It is not recommended that |
| # you change |
| # this unless you are very sure that hypervisor supports a particular |
| # scheme. |
| # |
| # Related options: |
| # |
| # * ``virt_type``: This option is meaningful only when ``virt_type`` |
| # is set to |
| # `kvm` or `qemu`. |
| # * ``live_migration_uri``: If ``live_migration_uri`` value is not |
| # None, the |
| # scheme used for live migration is taken from |
| # ``live_migration_uri`` instead. |
| # (string value) |
| #live_migration_scheme = <None> |
| |
| {%- if compute.libvirt.tls.get('enabled', False) %} |
| live_migration_scheme="tls" |
| {%- endif %} |
| # |
| # Enable tunnelled migration. |
| # |
| # This option enables the tunnelled migration feature, where migration |
| # data is |
| # transported over the libvirtd connection. If enabled, we use the |
| # VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure |
| # the network to allow direct hypervisor to hypervisor communication. |
| # If False, use the native transport. If not set, Nova will choose a |
| # sensible default based on, for example the availability of native |
| # encryption support in the hypervisor. Enabling this option will |
| # definitely |
| # impact performance massively. |
| # |
| # Note that this option is NOT compatible with use of block migration. |
| # |
| # Related options: |
| # |
| # * ``live_migration_inbound_addr``: The live_migration_inbound_addr |
| # value is |
| # ignored if tunneling is enabled. |
| # (boolean value) |
| #live_migration_tunnelled = false |
| {%- if compute.libvirt.live_migration_tunnelled is defined %} |
| live_migration_tunnelled = {{ compute.libvirt.live_migration_tunnelled }} |
| {%- endif %} |
| |
| # |
| # Maximum bandwidth(in MiB/s) to be used during migration. |
| # |
| # If set to 0, the hypervisor will choose a suitable default. Some |
| # hypervisors |
| # do not support this feature and will return an error if bandwidth is |
| # not 0. |
| # Please refer to the libvirt documentation for further details. |
| # (integer value) |
| #live_migration_bandwidth = 0 |
| |
| # |
| # Maximum permitted downtime, in milliseconds, for live migration |
| # switchover. |
| # |
| # Will be rounded up to a minimum of 100ms. You can increase this |
| # value |
| # if you want to allow live-migrations to complete faster, or avoid |
| # live-migration timeout errors by allowing the guest to be paused for |
| # longer during the live-migration switch over. |
| # |
| # Related options: |
| # |
| # * live_migration_completion_timeout |
| # (integer value) |
| # Minimum value: 100 |
| #live_migration_downtime = 500 |
| |
| # |
| # Number of incremental steps to reach max downtime value. |
| # |
| # Will be rounded up to a minimum of 3 steps. |
| # (integer value) |
| # Minimum value: 3 |
| #live_migration_downtime_steps = 10 |
| |
| # |
| # Time to wait, in seconds, between each step increase of the |
| # migration |
| # downtime. |
| # |
| # Minimum delay is 3 seconds. Value is per GiB of guest RAM + disk to |
| # be |
| # transferred, with lower bound of a minimum of 2 GiB per device. |
| # (integer value) |
| # Minimum value: 3 |
| #live_migration_downtime_delay = 75 |
| |
| # |
| # Time to wait, in seconds, for migration to successfully complete |
| # transferring |
| # data before aborting the operation. |
| # |
| # Value is per GiB of guest RAM + disk to be transferred, with lower |
| # bound of |
| # a minimum of 2 GiB. Should usually be larger than downtime delay * |
| # downtime |
| # steps. Set to 0 to disable timeouts. |
| # |
| # Related options: |
| # |
| # * live_migration_downtime |
| # * live_migration_downtime_steps |
| # * live_migration_downtime_delay |
| # (integer value) |
| # Note: This option can be changed without restarting. |
| #live_migration_completion_timeout = 800 |
| |
| # DEPRECATED: |
| # Time to wait, in seconds, for migration to make forward progress in |
| # transferring data before aborting the operation. |
| # |
| # Set to 0 to disable timeouts. |
| # |
| # This is deprecated, and now disabled by default because we have |
| # found serious |
| # bugs in this feature that caused false live-migration timeout |
| # failures. This |
| # feature will be removed or replaced in a future release. |
| # (integer value) |
| # Note: This option can be changed without restarting. |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Serious bugs found in this feature. |
| #live_migration_progress_timeout = 0 |
| |
| # |
| # This option allows nova to switch an on-going live migration to |
| # post-copy |
| # mode, i.e., switch the active VM to the one on the destination node |
| # before the |
| # migration is complete, therefore ensuring an upper bound on the |
| # memory that |
| # needs to be transferred. Post-copy requires libvirt>=1.3.3 and |
| # QEMU>=2.5.0. |
| # |
| # When permitted, post-copy mode will be automatically activated if a |
| # live-migration memory copy iteration does not make percentage |
| # increase of at |
| # least 10% over the last iteration. |
| # |
| # The live-migration force complete API also uses post-copy when |
| # permitted. If |
| # post-copy mode is not available, force complete falls back to |
| # pausing the VM |
| # to ensure the live-migration operation will complete. |
| # |
| # When using post-copy mode, if the source and destination hosts loose |
| # network |
| # connectivity, the VM being live-migrated will need to be rebooted. |
| # For more |
| # details, please see the Administration guide. |
| # |
| # Related options: |
| # |
| # * live_migration_permit_auto_converge |
| # (boolean value) |
| #live_migration_permit_post_copy = false |
| |
| # |
| # This option allows nova to start live migration with auto converge |
| # on. |
| # |
| # Auto converge throttles down CPU if a progress of on-going live |
| # migration |
| # is slow. Auto converge will only be used if this flag is set to True |
| # and |
| # post copy is not permitted or post copy is unavailable due to the |
| # version |
| # of libvirt and QEMU in use. |
| # |
| # Related options: |
| # |
| # * live_migration_permit_post_copy |
| # (boolean value) |
| #live_migration_permit_auto_converge = false |
| {%- if compute.libvirt.live_migration_permit_auto_converge is defined %} |
| live_migration_permit_auto_converge={{ compute.libvirt.live_migration_permit_auto_converge|lower }} |
| {%- endif %} |
| |
| # |
| # Determine the snapshot image format when sending to the image |
| # service. |
| # |
| # If set, this decides what format is used when sending the snapshot |
| # to the |
| # image service. |
| # If not set, defaults to same type as source image. |
| # |
| # Possible values: |
| # |
| # * ``raw``: RAW disk format |
| # * ``qcow2``: KVM default disk format |
| # * ``vmdk``: VMWare default disk format |
| # * ``vdi``: VirtualBox default disk format |
| # * If not set, defaults to same type as source image. |
| # (string value) |
| # Possible values: |
| # raw - <No description provided> |
| # qcow2 - <No description provided> |
| # vmdk - <No description provided> |
| # vdi - <No description provided> |
| #snapshot_image_format = <None> |
| |
| # |
| # Override the default disk prefix for the devices attached to an |
| # instance. |
| # |
| # If set, this is used to identify a free disk device name for a bus. |
| # |
| # Possible values: |
| # |
| # * Any prefix which will result in a valid disk device name like |
| # 'sda' or 'hda' |
| # for example. This is only necessary if the device names differ to |
| # the |
| # commonly known device name prefixes for a virtualization type such |
| # as: sd, |
| # xvd, uvd, vd. |
| # |
| # Related options: |
| # |
| # * ``virt_type``: Influences which device type is used, which |
| # determines |
| # the default disk prefix. |
| # (string value) |
| #disk_prefix = <None> |
| |
| # Number of seconds to wait for instance to shut down after soft |
| # reboot request is made. We fall back to hard reboot if instance does |
| # not shutdown within this window. (integer value) |
| #wait_soft_reboot_seconds = 120 |
| |
| # |
| # Is used to set the CPU mode an instance should have. |
| # |
| # If virt_type="kvm|qemu", it will default to "host-model", otherwise |
| # it will |
| # default to "none". |
| # |
| # Possible values: |
| # |
| # * ``host-model``: Clones the host CPU feature flags |
| # * ``host-passthrough``: Use the host CPU model exactly |
| # * ``custom``: Use a named CPU model |
| # * ``none``: Don't set a specific CPU model. For instances with |
| # ``virt_type`` as KVM/QEMU, the default CPU model from QEMU will be |
| # used, |
| # which provides a basic set of CPU features that are compatible with |
| # most |
| # hosts. |
| # |
| # Related options: |
| # |
| # * ``cpu_model``: This should be set ONLY when ``cpu_mode`` is set to |
| # ``custom``. Otherwise, it would result in an error and the instance |
| # launch will fail. |
| # |
| # (string value) |
| # Possible values: |
| # host-model - <No description provided> |
| # host-passthrough - <No description provided> |
| # custom - <No description provided> |
| # none - <No description provided> |
| #cpu_mode = <None> |
| cpu_mode = {{ compute.cpu_mode }} |
| |
| # |
| # Set the name of the libvirt CPU model the instance should use. |
| # |
| # Possible values: |
| # |
| # * The named CPU models listed in ``/usr/share/libvirt/cpu_map.xml`` |
| # |
| # Related options: |
| # |
| # * ``cpu_mode``: This should be set to ``custom`` ONLY when you want |
| # to |
| # configure (via ``cpu_model``) a specific named CPU model. |
| # Otherwise, it |
| # would result in an error and the instance launch will fail. |
| # |
| # * ``virt_type``: Only the virtualization types ``kvm`` and ``qemu`` |
| # use this. |
| # (string value) |
| #cpu_model = <None> |
| {%- if compute.get('libvirt', {}).cpu_model is defined and compute.cpu_mode == 'custom' %} |
| cpu_model = {{ compute.libvirt.cpu_model }} |
| {%- endif %} |
| |
| # |
| # This allows specifying granular CPU feature flags when specifying |
| # CPU |
| # models. For example, to explicitly specify the ``pcid`` |
| # (Process-Context ID, an Intel processor feature) flag to the |
| # "IvyBridge" |
| # virtual CPU model:: |
| # |
| # [libvirt] |
| # cpu_mode = custom |
| # cpu_model = IvyBridge |
| # cpu_model_extra_flags = pcid |
| # |
| # Currently, the choice is restricted to only one option: ``pcid`` |
| # (the |
| # option is case-insensitive, so ``PCID`` is also valid). This flag |
| # is |
| # now required to address the guest performance degradation as a |
| # result of |
| # applying the "Meltdown" CVE fixes on certain Intel CPU models. |
| # |
| # Note that when using this config attribute to set the 'PCID' CPU |
| # flag, |
| # not all virtual (i.e. libvirt / QEMU) CPU models need it: |
| # |
| # * The only virtual CPU models that include the 'PCID' capability are |
| # Intel "Haswell", "Broadwell", and "Skylake" variants. |
| # |
| # * The libvirt / QEMU CPU models "Nehalem", "Westmere", |
| # "SandyBridge", |
| # and "IvyBridge" will _not_ expose the 'PCID' capability by |
| # default, |
| # even if the host CPUs by the same name include it. I.e. 'PCID' |
| # needs |
| # to be explicitly specified when using the said virtual CPU models. |
| # |
| # For now, the ``cpu_model_extra_flags`` config attribute is valid |
| # only in |
| # combination with ``cpu_mode`` + ``cpu_model`` options. |
| # |
| # Besides ``custom``, the libvirt driver has two other CPU modes: The |
| # default, ``host-model``, tells it to do the right thing with respect |
| # to |
| # handling 'PCID' CPU flag for the guest -- *assuming* you are running |
| # updated processor microcode, host and guest kernel, libvirt, and |
| # QEMU. |
| # The other mode, ``host-passthrough``, checks if 'PCID' is available |
| # in |
| # the hardware, and if so directly passes it through to the Nova |
| # guests. |
| # Thus, in context of 'PCID', with either of these CPU modes |
| # (``host-model`` or ``host-passthrough``), there is no need to use |
| # the |
| # ``cpu_model_extra_flags``. |
| # |
| # Related options: |
| # |
| # * cpu_mode |
| # * cpu_model |
| # (list value) |
| #cpu_model_extra_flags = |
| |
| # Location where libvirt driver will store snapshots before uploading |
| # them to image service (string value) |
| #snapshots_directory = $instances_path/snapshots |
| |
| # Location where the Xen hvmloader is kept (string value) |
| #xen_hvmloader_path = /usr/lib/xen/boot/hvmloader |
| |
| # |
| # Specific cache modes to use for different disk types. |
| # |
| # For example: file=directsync,block=none,network=writeback |
| # |
| # For local or direct-attached storage, it is recommended that you use |
| # writethrough (default) mode, as it ensures data integrity and has |
| # acceptable |
| # I/O performance for applications running in the guest, especially |
| # for read |
| # operations. However, caching mode none is recommended for remote NFS |
| # storage, |
| # because direct I/O operations (O_DIRECT) perform better than |
| # synchronous I/O |
| # operations (with O_SYNC). Caching mode none effectively turns all |
| # guest I/O |
| # operations into direct I/O operations on the host, which is the NFS |
| # client in |
| # this environment. |
| # |
| # Possible cache modes: |
| # |
| # * default: Same as writethrough. |
| # * none: With caching mode set to none, the host page cache is |
| # disabled, but |
| # the disk write cache is enabled for the guest. In this mode, the |
| # write |
| # performance in the guest is optimal because write operations |
| # bypass the host |
| # page cache and go directly to the disk write cache. If the disk |
| # write cache |
| # is battery-backed, or if the applications or storage stack in the |
| # guest |
| # transfer data properly (either through fsync operations or file |
| # system |
| # barriers), then data integrity can be ensured. However, because |
| # the host |
| # page cache is disabled, the read performance in the guest would |
| # not be as |
| # good as in the modes where the host page cache is enabled, such as |
| # writethrough mode. Shareable disk devices, like for a multi- |
| # attachable block |
| # storage volume, will have their cache mode set to 'none' |
| # regardless of |
| # configuration. |
| # * writethrough: writethrough mode is the default caching mode. With |
| # caching set to writethrough mode, the host page cache is enabled, |
| # but the |
| # disk write cache is disabled for the guest. Consequently, this |
| # caching mode |
| # ensures data integrity even if the applications and storage stack |
| # in the |
| # guest do not transfer data to permanent storage properly (either |
| # through |
| # fsync operations or file system barriers). Because the host page |
| # cache is |
| # enabled in this mode, the read performance for applications |
| # running in the |
| # guest is generally better. However, the write performance might be |
| # reduced |
| # because the disk write cache is disabled. |
| # * writeback: With caching set to writeback mode, both the host page |
| # cache |
| # and the disk write cache are enabled for the guest. Because of |
| # this, the |
| # I/O performance for applications running in the guest is good, but |
| # the data |
| # is not protected in a power failure. As a result, this caching |
| # mode is |
| # recommended only for temporary data where potential data loss is |
| # not a |
| # concern. |
| # * directsync: Like "writethrough", but it bypasses the host page |
| # cache. |
| # * unsafe: Caching mode of unsafe ignores cache transfer operations |
| # completely. As its name implies, this caching mode should be used |
| # only for |
| # temporary data where data loss is not a concern. This mode can be |
| # useful for |
| # speeding up guest installations, but you should switch to another |
| # caching |
| # mode in production environments. |
| # (list value) |
| #disk_cachemodes = |
| |
| # A path to a device that will be used as source of entropy on the |
| # host. Permitted options are: /dev/random or /dev/hwrng (string |
| # value) |
| #rng_dev_path = <None> |
| |
| # For qemu or KVM guests, set this option to specify a default machine |
| # type per host architecture. You can find a list of supported machine |
| # types in your environment by checking the output of the "virsh |
| # capabilities"command. The format of the value for this config option |
| # is host-arch=machine-type. For example: |
| # x86_64=machinetype1,armv7l=machinetype2 (list value) |
| #hw_machine_type = <None> |
| |
| # The data source used to the populate the host "serial" UUID exposed |
| # to guest in the virtual BIOS. (string value) |
| # Possible values: |
| # none - <No description provided> |
| # os - <No description provided> |
| # hardware - <No description provided> |
| # auto - <No description provided> |
| #sysinfo_serial = auto |
| |
| # A number of seconds to memory usage statistics period. Zero or |
| # negative value mean to disable memory usage statistics. (integer |
| # value) |
| #mem_stats_period_seconds = 10 |
| |
| # List of uid targets and ranges.Syntax is guest-uid:host- |
| # uid:countMaximum of 5 allowed. (list value) |
| #uid_maps = |
| |
| # List of guid targets and ranges.Syntax is guest-gid:host- |
| # gid:countMaximum of 5 allowed. (list value) |
| #gid_maps = |
| |
| # In a realtime host context vCPUs for guest will run in that |
| # scheduling priority. Priority depends on the host kernel (usually |
| # 1-99) (integer value) |
| #realtime_scheduler_priority = 1 |
| |
| # |
| # This is a performance event list which could be used as monitor. |
| # These events |
| # will be passed to libvirt domain xml while creating a new instances. |
| # Then event statistics data can be collected from libvirt. The |
| # minimum |
| # libvirt version is 2.0.0. For more information about `Performance |
| # monitoring |
| # events`, refer https://libvirt.org/formatdomain.html#elementsPerf . |
| # |
| # Possible values: |
| # * A string list. For example: ``enabled_perf_events = cmt, mbml, |
| # mbmt`` |
| # The supported events list can be found in |
| # https://libvirt.org/html/libvirt-libvirt-domain.html , |
| # which you may need to search key words ``VIR_PERF_PARAM_*`` |
| # (list value) |
| #enabled_perf_events = |
| |
| # |
| # VM Images format. |
| # |
| # If default is specified, then use_cow_images flag is used instead of |
| # this |
| # one. |
| # |
| # Related options: |
| # |
| # * virt.use_cow_images |
| # * images_volume_group |
| # (string value) |
| # Possible values: |
| # raw - <No description provided> |
| # flat - <No description provided> |
| # qcow2 - <No description provided> |
| # lvm - <No description provided> |
| # rbd - <No description provided> |
| # ploop - <No description provided> |
| # default - <No description provided> |
| #images_type = default |
| |
| # |
| # LVM Volume Group that is used for VM images, when you specify |
| # images_type=lvm |
| # |
| # Related options: |
| # |
| # * images_type |
| # (string value) |
| #images_volume_group = <None> |
| |
| # |
| # Create sparse logical volumes (with virtualsize) if this flag is set |
| # to True. |
| # (boolean value) |
| #sparse_logical_volumes = false |
| |
| # The RADOS pool in which rbd volumes are stored (string value) |
| #images_rbd_pool = rbd |
| |
| # Path to the ceph configuration file to use (string value) |
| #images_rbd_ceph_conf = |
| |
| # |
| # Discard option for nova managed disks. |
| # |
| # Requires: |
| # |
| # * Libvirt >= 1.0.6 |
| # * Qemu >= 1.5 (raw format) |
| # * Qemu >= 1.6 (qcow2 format) |
| # (string value) |
| # Possible values: |
| # ignore - <No description provided> |
| # unmap - <No description provided> |
| #hw_disk_discard = <None> |
| {%- if compute.libvirt.hw_disk_discard is defined %} |
| hw_disk_discard={{ compute.libvirt.hw_disk_discard }} |
| {%- endif %} |
| |
| # DEPRECATED: Allows image information files to be stored in non- |
| # standard locations (string value) |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Image info files are no longer used by the image cache |
| #image_info_filename_pattern = $instances_path/$image_cache_subdirectory_name/%(image)s.info |
| |
| # Unused resized base images younger than this will not be removed |
| # (integer value) |
| #remove_unused_resized_minimum_age_seconds = 3600 |
| |
| # DEPRECATED: Write a checksum for files in _base to disk (boolean |
| # value) |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: The image cache no longer periodically calculates checksums |
| # of stored images. Data integrity can be checked at the block or |
| # filesystem level. |
| #checksum_base_images = false |
| |
| # DEPRECATED: How frequently to checksum base images (integer value) |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: The image cache no longer periodically calculates checksums |
| # of stored images. Data integrity can be checked at the block or |
| # filesystem level. |
| #checksum_interval_seconds = 3600 |
| |
| # |
| # Method used to wipe ephemeral disks when they are deleted. Only |
| # takes effect |
| # if LVM is set as backing storage. |
| # |
| # Possible values: |
| # |
| # * none - do not wipe deleted volumes |
| # * zero - overwrite volumes with zeroes |
| # * shred - overwrite volume repeatedly |
| # |
| # Related options: |
| # |
| # * images_type - must be set to ``lvm`` |
| # * volume_clear_size |
| # (string value) |
| # Possible values: |
| # none - <No description provided> |
| # zero - <No description provided> |
| # shred - <No description provided> |
| #volume_clear = zero |
| |
| # |
| # Size of area in MiB, counting from the beginning of the allocated |
| # volume, |
| # that will be cleared using method set in ``volume_clear`` option. |
| # |
| # Possible values: |
| # |
| # * 0 - clear whole volume |
| # * >0 - clear specified amount of MiB |
| # |
| # Related options: |
| # |
| # * images_type - must be set to ``lvm`` |
| # * volume_clear - must be set and the value must be different than |
| # ``none`` |
| # for this option to have any impact |
| # (integer value) |
| # Minimum value: 0 |
| #volume_clear_size = 0 |
| |
| # |
| # Enable snapshot compression for ``qcow2`` images. |
| # |
| # Note: you can set ``snapshot_image_format`` to ``qcow2`` to force |
| # all |
| # snapshots to be in ``qcow2`` format, independently from their |
| # original image |
| # type. |
| # |
| # Related options: |
| # |
| # * snapshot_image_format |
| # (boolean value) |
| #snapshot_compression = false |
| |
| # Use virtio for bridge interfaces with KVM/QEMU (boolean value) |
| #use_virtio_for_bridges = true |
| |
| # |
| # Use multipath connection of the iSCSI or FC volume |
| # |
| # Volumes can be connected in the LibVirt as multipath devices. This |
| # will |
| # provide high availability and fault tolerance. |
| # (boolean value) |
| # Deprecated group/name - [libvirt]/iscsi_use_multipath |
| #volume_use_multipath = false |
| {%- if compute.libvirt.volume_use_multipath is defined %} |
| volume_use_multipath={{ compute.libvirt.volume_use_multipath }} |
| {%- endif %} |
| |
| # |
| # Number of times to scan given storage protocol to find volume. |
| # (integer value) |
| # Deprecated group/name - [libvirt]/num_iscsi_scan_tries |
| #num_volume_scan_tries = 5 |
| |
| # |
| # Number of times to rediscover AoE target to find volume. |
| # |
| # Nova provides support for block storage attaching to hosts via AOE |
| # (ATA over |
| # Ethernet). This option allows the user to specify the maximum number |
| # of retry |
| # attempts that can be made to discover the AoE device. |
| # (integer value) |
| #num_aoe_discover_tries = 3 |
| |
| # |
| # The iSCSI transport iface to use to connect to target in case |
| # offload support |
| # is desired. |
| # |
| # Default format is of the form <transport_name>.<hwaddress> where |
| # <transport_name> is one of (be2iscsi, bnx2i, cxgb3i, cxgb4i, |
| # qla4xxx, ocs) and |
| # <hwaddress> is the MAC address of the interface and can be generated |
| # via the |
| # iscsiadm -m iface command. Do not confuse the iscsi_iface parameter |
| # to be |
| # provided here with the actual transport name. |
| # (string value) |
| # Deprecated group/name - [libvirt]/iscsi_transport |
| #iscsi_iface = <None> |
| |
| # |
| # Number of times to scan iSER target to find volume. |
| # |
| # iSER is a server network protocol that extends iSCSI protocol to use |
| # Remote |
| # Direct Memory Access (RDMA). This option allows the user to specify |
| # the maximum |
| # number of scan attempts that can be made to find iSER volume. |
| # (integer value) |
| #num_iser_scan_tries = 5 |
| |
| # |
| # Use multipath connection of the iSER volume. |
| # |
| # iSER volumes can be connected as multipath devices. This will |
| # provide high |
| # availability and fault tolerance. |
| # (boolean value) |
| #iser_use_multipath = false |
| |
| # |
| # The RADOS client name for accessing rbd(RADOS Block Devices) |
| # volumes. |
| # |
| # Libvirt will refer to this user when connecting and authenticating |
| # with |
| # the Ceph RBD server. |
| # (string value) |
| #rbd_user = <None> |
| |
| # |
| # The libvirt UUID of the secret for the rbd_user volumes. |
| # (string value) |
| #rbd_secret_uuid = <None> |
| |
| # |
| # Directory where the NFS volume is mounted on the compute node. |
| # The default is 'mnt' directory of the location where nova's Python |
| # module |
| # is installed. |
| # |
| # NFS provides shared storage for the OpenStack Block Storage service. |
| # |
| # Possible values: |
| # |
| # * A string representing absolute path of mount point. |
| # (string value) |
| #nfs_mount_point_base = $state_path/mnt |
| |
| # |
| # Mount options passed to the NFS client. See section of the nfs man |
| # page |
| # for details. |
| # |
| # Mount options controls the way the filesystem is mounted and how the |
| # NFS client behaves when accessing files on this mount point. |
| # |
| # Possible values: |
| # |
| # * Any string representing mount options separated by commas. |
| # * Example string: vers=3,lookupcache=pos |
| # (string value) |
| {%- if compute.nfs_mount_options is defined %} |
| nfs_mount_options="{{ compute.nfs_mount_options }}" |
| {%- endif %} |
| |
| # |
| # Directory where the Quobyte volume is mounted on the compute node. |
| # |
| # Nova supports Quobyte volume driver that enables storing Block |
| # Storage |
| # service volumes on a Quobyte storage back end. This Option specifies |
| # the |
| # path of the directory where Quobyte volume is mounted. |
| # |
| # Possible values: |
| # |
| # * A string representing absolute path of mount point. |
| # (string value) |
| #quobyte_mount_point_base = $state_path/mnt |
| |
| # Path to a Quobyte Client configuration file. (string value) |
| #quobyte_client_cfg = <None> |
| |
| # |
| # Directory where the SMBFS shares are mounted on the compute node. |
| # (string value) |
| #smbfs_mount_point_base = $state_path/mnt |
| |
| # |
| # Mount options passed to the SMBFS client. |
| # |
| # Provide SMBFS options as a single string containing all parameters. |
| # See mount.cifs man page for details. Note that the libvirt-qemu |
| # ``uid`` |
| # and ``gid`` must be specified. |
| # (string value) |
| #smbfs_mount_options = |
| |
| # |
| # libvirt's transport method for remote file operations. |
| # |
| # Because libvirt cannot use RPC to copy files over network to/from |
| # other |
| # compute nodes, other method must be used for: |
| # |
| # * creating directory on remote host |
| # * creating file on remote host |
| # * removing file from remote host |
| # * copying file to remote host |
| # (string value) |
| # Possible values: |
| # ssh - <No description provided> |
| # rsync - <No description provided> |
| #remote_filesystem_transport = ssh |
| |
| # |
| # Directory where the Virtuozzo Storage clusters are mounted on the |
| # compute |
| # node. |
| # |
| # This option defines non-standard mountpoint for Vzstorage cluster. |
| # |
| # Related options: |
| # |
| # * vzstorage_mount_* group of parameters |
| # (string value) |
| #vzstorage_mount_point_base = $state_path/mnt |
| |
| # |
| # Mount owner user name. |
| # |
| # This option defines the owner user of Vzstorage cluster mountpoint. |
| # |
| # Related options: |
| # |
| # * vzstorage_mount_* group of parameters |
| # (string value) |
| #vzstorage_mount_user = stack |
| |
| # |
| # Mount owner group name. |
| # |
| # This option defines the owner group of Vzstorage cluster mountpoint. |
| # |
| # Related options: |
| # |
| # * vzstorage_mount_* group of parameters |
| # (string value) |
| #vzstorage_mount_group = qemu |
| |
| # |
| # Mount access mode. |
| # |
| # This option defines the access bits of Vzstorage cluster mountpoint, |
| # in the format similar to one of chmod(1) utility, like this: 0770. |
| # It consists of one to four digits ranging from 0 to 7, with missing |
| # lead digits assumed to be 0's. |
| # |
| # Related options: |
| # |
| # * vzstorage_mount_* group of parameters |
| # (string value) |
| #vzstorage_mount_perms = 0770 |
| |
| # |
| # Path to vzstorage client log. |
| # |
| # This option defines the log of cluster operations, |
| # it should include "%(cluster_name)s" template to separate |
| # logs from multiple shares. |
| # |
| # Related options: |
| # |
| # * vzstorage_mount_opts may include more detailed logging options. |
| # (string value) |
| #vzstorage_log_path = /var/log/vstorage/%(cluster_name)s/nova.log.gz |
| |
| # |
| # Path to the SSD cache file. |
| # |
| # You can attach an SSD drive to a client and configure the drive to |
| # store |
| # a local cache of frequently accessed data. By having a local cache |
| # on a |
| # client's SSD drive, you can increase the overall cluster performance |
| # by |
| # up to 10 and more times. |
| # WARNING! There is a lot of SSD models which are not server grade and |
| # may loose arbitrary set of data changes on power loss. |
| # Such SSDs should not be used in Vstorage and are dangerous as may |
| # lead |
| # to data corruptions and inconsistencies. Please consult with the |
| # manual |
| # on which SSD models are known to be safe or verify it using |
| # vstorage-hwflush-check(1) utility. |
| # |
| # This option defines the path which should include "%(cluster_name)s" |
| # template to separate caches from multiple shares. |
| # |
| # Related options: |
| # |
| # * vzstorage_mount_opts may include more detailed cache options. |
| # (string value) |
| #vzstorage_cache_path = <None> |
| |
| # |
| # Extra mount options for pstorage-mount |
| # |
| # For full description of them, see |
| # https://static.openvz.org/vz-man/man1/pstorage-mount.1.gz.html |
| # Format is a python string representation of arguments list, like: |
| # "['-v', '-R', '500']" |
| # Shouldn't include -c, -l, -C, -u, -g and -m as those have |
| # explicit vzstorage_* options. |
| # |
| # Related options: |
| # |
| # * All other vzstorage_* options |
| # (list value) |
| #vzstorage_mount_opts = |
| |
| |
| [metrics] |
| # |
| # Configuration options for metrics |
| # |
| # Options under this group allow to adjust how values assigned to |
| # metrics are |
| # calculated. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # When using metrics to weight the suitability of a host, you can use |
| # this option |
| # to change how the calculated weight influences the weight assigned |
| # to a host as |
| # follows: |
| # |
| # * >1.0: increases the effect of the metric on overall weight |
| # * 1.0: no change to the calculated weight |
| # * >0.0,<1.0: reduces the effect of the metric on overall weight |
| # * 0.0: the metric value is ignored, and the value of the |
| # 'weight_of_unavailable' option is returned instead |
| # * >-1.0,<0.0: the effect is reduced and reversed |
| # * -1.0: the effect is reversed |
| # * <-1.0: the effect is increased proportionally and reversed |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * An integer or float value, where the value corresponds to the |
| # multipler |
| # ratio for this weigher. |
| # |
| # Related options: |
| # |
| # * weight_of_unavailable |
| # (floating point value) |
| #weight_multiplier = 1.0 |
| |
| # |
| # This setting specifies the metrics to be weighed and the relative |
| # ratios for |
| # each metric. This should be a single string value, consisting of a |
| # series of |
| # one or more 'name=ratio' pairs, separated by commas, where 'name' is |
| # the name |
| # of the metric to be weighed, and 'ratio' is the relative weight for |
| # that |
| # metric. |
| # |
| # Note that if the ratio is set to 0, the metric value is ignored, and |
| # instead |
| # the weight will be set to the value of the 'weight_of_unavailable' |
| # option. |
| # |
| # As an example, let's consider the case where this option is set to: |
| # |
| # ``name1=1.0, name2=-1.3`` |
| # |
| # The final weight will be: |
| # |
| # ``(name1.value * 1.0) + (name2.value * -1.3)`` |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * A list of zero or more key/value pairs separated by commas, where |
| # the key is |
| # a string representing the name of a metric and the value is a |
| # numeric weight |
| # for that metric. If any value is set to 0, the value is ignored |
| # and the |
| # weight will be set to the value of the 'weight_of_unavailable' |
| # option. |
| # |
| # Related options: |
| # |
| # * weight_of_unavailable |
| # (list value) |
| #weight_setting = |
| |
| # |
| # This setting determines how any unavailable metrics are treated. If |
| # this option |
| # is set to True, any hosts for which a metric is unavailable will |
| # raise an |
| # exception, so it is recommended to also use the MetricFilter to |
| # filter out |
| # those hosts before weighing. |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * True or False, where False ensures any metric being unavailable |
| # for a host |
| # will set the host weight to 'weight_of_unavailable'. |
| # |
| # Related options: |
| # |
| # * weight_of_unavailable |
| # (boolean value) |
| #required = true |
| |
| # |
| # When any of the following conditions are met, this value will be |
| # used in place |
| # of any actual metric value: |
| # |
| # * One of the metrics named in 'weight_setting' is not available for |
| # a host, |
| # and the value of 'required' is False |
| # * The ratio specified for a metric in 'weight_setting' is 0 |
| # * The 'weight_multiplier' option is set to 0 |
| # |
| # This option is only used by the FilterScheduler and its subclasses; |
| # if you use |
| # a different scheduler, this option has no effect. |
| # |
| # Possible values: |
| # |
| # * An integer or float value, where the value corresponds to the |
| # multipler |
| # ratio for this weigher. |
| # |
| # Related options: |
| # |
| # * weight_setting |
| # * required |
| # * weight_multiplier |
| # (floating point value) |
| #weight_of_unavailable = -10000.0 |
| |
| |
| [mks] |
| # |
| # Nova compute node uses WebMKS, a desktop sharing protocol to provide |
| # instance console access to VM's created by VMware hypervisors. |
| # |
| # Related options: |
| # Following options must be set to provide console access. |
| # * mksproxy_base_url |
| # * enabled |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Location of MKS web console proxy |
| # |
| # The URL in the response points to a WebMKS proxy which |
| # starts proxying between client and corresponding vCenter |
| # server where instance runs. In order to use the web based |
| # console access, WebMKS proxy should be installed and configured |
| # |
| # Possible values: |
| # |
| # * Must be a valid URL of the form:``http://host:port/`` or |
| # ``https://host:port/`` |
| # (uri value) |
| #mksproxy_base_url = http://127.0.0.1:6090/ |
| |
| # |
| # Enables graphical console access for virtual machines. |
| # (boolean value) |
| #enabled = false |
| |
| |
| [neutron] |
| # |
| # Configuration options for neutron (network connectivity as a |
| # service). |
| |
| # |
| # From nova.conf |
| # |
| |
| # DEPRECATED: |
| # This option specifies the URL for connecting to Neutron. |
| # |
| # Possible values: |
| # |
| # * Any valid URL that points to the Neutron API service is |
| # appropriate here. |
| # This typically matches the URL returned for the 'network' service |
| # type |
| # from the Keystone service catalog. |
| # (uri value) |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Endpoint lookup uses the service catalog via common |
| # keystoneauth1 Adapter configuration options. In the current release, |
| # "url" will override this behavior, but will be ignored and/or |
| # removed in a future release. To achieve the same result, use the |
| # endpoint_override option instead. |
| #url = http://127.0.0.1:9696 |
| |
| # |
| # Default name for the Open vSwitch integration bridge. |
| # |
| # Specifies the name of an integration bridge interface used by |
| # OpenvSwitch. |
| # This option is only used if Neutron does not specify the OVS bridge |
| # name in |
| # port binding responses. |
| # (string value) |
| #ovs_bridge = br-int |
| |
| # |
| # Default name for the floating IP pool. |
| # |
| # Specifies the name of floating IP pool used for allocating floating |
| # IPs. This |
| # option is only used if Neutron does not specify the floating IP pool |
| # name in |
| # port binding reponses. |
| # (string value) |
| #default_floating_pool = nova |
| |
| # |
| # Integer value representing the number of seconds to wait before |
| # querying |
| # Neutron for extensions. After this number of seconds the next time |
| # Nova |
| # needs to create a resource in Neutron it will requery Neutron for |
| # the |
| # extensions that it has loaded. Setting value to 0 will refresh the |
| # extensions with no wait. |
| # (integer value) |
| # Minimum value: 0 |
| #extension_sync_interval = 600 |
| extension_sync_interval={{ compute.network.get('extension_sync_interval', '600') }} |
| |
| # |
| # When set to True, this option indicates that Neutron will be used to |
| # proxy |
| # metadata requests and resolve instance ids. Otherwise, the instance |
| # ID must be |
| # passed to the metadata request in the 'X-Instance-ID' header. |
| # |
| # Related options: |
| # |
| # * metadata_proxy_shared_secret |
| # (boolean value) |
| #service_metadata_proxy = false |
| |
| # |
| # This option holds the shared secret string used to validate proxy |
| # requests to |
| # Neutron metadata requests. In order to be used, the |
| # 'X-Metadata-Provider-Signature' header must be supplied in the |
| # request. |
| # |
| # Related options: |
| # |
| # * service_metadata_proxy |
| # (string value) |
| #metadata_proxy_shared_secret = |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs |
| # connections. (string value) |
| #cafile = <None> |
| {%- if compute.network.get('protocol', 'http') == 'https' %} |
| cafile={{ compute.network.get('cacert_file', compute.cacert_file) }} |
| {%- endif %} |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| timeout=300 |
| |
| # Authentication type to load (string value) |
| # Deprecated group/name - [neutron]/auth_plugin |
| #auth_type = <None> |
| auth_type = v3password |
| |
| # Config Section from which to load plugin specific options (string |
| # value) |
| #auth_section = <None> |
| |
| # Authentication URL (string value) |
| #auth_url = <None> |
| auth_url = {{ compute.identity.get('protocol', 'http') }}://{{ compute.identity.host }}:{{ compute.identity.port }}/v3 |
| |
| # Scope for system operations (string value) |
| #system_scope = <None> |
| |
| # Domain ID to scope to (string value) |
| #domain_id = <None> |
| |
| # Domain name to scope to (string value) |
| #domain_name = <None> |
| |
| # Project ID to scope to (string value) |
| #project_id = <None> |
| |
| # Project name to scope to (string value) |
| #project_name = <None> |
| project_name={{ compute.identity.tenant }} |
| |
| # Domain ID containing project (string value) |
| #project_domain_id = <None> |
| |
| # Domain name containing project (string value) |
| #project_domain_name = <None> |
| project_domain_name = {{ compute.get('project_domain_name', 'Default') }} |
| |
| # Trust ID (string value) |
| #trust_id = <None> |
| |
| # Optional domain ID to use with v3 and v2 parameters. It will be used |
| # for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_id = <None> |
| |
| # Optional domain name to use with v3 API and v2 parameters. It will |
| # be used for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_name = <None> |
| |
| # User ID (string value) |
| #user_id = <None> |
| |
| # Username (string value) |
| # Deprecated group/name - [neutron]/user_name |
| #username = <None> |
| username={{ compute.network.user }} |
| |
| # User's domain id (string value) |
| #user_domain_id = <None> |
| |
| # User's domain name (string value) |
| #user_domain_name = <None> |
| user_domain_name = {{ compute.get('user_domain_name', 'Default') }} |
| |
| # User's password (string value) |
| #password = <None> |
| password={{ compute.network.password }} |
| |
| # Tenant ID (string value) |
| #tenant_id = <None> |
| |
| # Tenant Name (string value) |
| #tenant_name = <None> |
| |
| # The default service_type for endpoint URL discovery. (string value) |
| #service_type = network |
| |
| # The default service_name for endpoint URL discovery. (string value) |
| #service_name = <None> |
| |
| # List of interfaces, in order of preference, for endpoint URL. (list |
| # value) |
| #valid_interfaces = internal,public |
| |
| # The default region_name for endpoint URL discovery. (string value) |
| #region_name = <None> |
| region_name= {{ compute.network.region }} |
| |
| # Always use this endpoint URL for requests for this client. NOTE: The |
| # unversioned endpoint should be specified here; to request a |
| # particular API version, use the `version`, `min-version`, and/or |
| # `max-version` options. (string value) |
| #endpoint_override = <None> |
| |
| |
| [notifications] |
| # |
| # Most of the actions in Nova which manipulate the system state |
| # generate |
| # notifications which are posted to the messaging component (e.g. |
| # RabbitMQ) and |
| # can be consumed by any service outside the OpenStack. More technical |
| # details |
| # at |
| # https://docs.openstack.org/nova/latest/reference/notifications.html |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # If set, send compute.instance.update notifications on |
| # instance state changes. |
| # |
| # Please refer to |
| # https://docs.openstack.org/nova/latest/reference/notifications.html |
| # for |
| # additional information on notifications. |
| # |
| # Possible values: |
| # |
| # * None - no notifications |
| # * "vm_state" - notifications are sent with VM state transition |
| # information in |
| # the ``old_state`` and ``state`` fields. The ``old_task_state`` and |
| # ``new_task_state`` fields will be set to the current task_state of |
| # the |
| # instance. |
| # * "vm_and_task_state" - notifications are sent with VM and task |
| # state |
| # transition information. |
| # (string value) |
| # Possible values: |
| # <None> - <No description provided> |
| # vm_state - <No description provided> |
| # vm_and_task_state - <No description provided> |
| #notify_on_state_change = <None> |
| {%- if compute.get('notification', {}).notify_on is defined %} |
| {%- for key, value in compute.notification.notify_on.iteritems() %} |
| notify_on_{{ key }} = {{ value }} |
| {%- endfor %} |
| {%- elif pillar.ceilometer is defined %} |
| notify_on_state_change = vm_and_task_state |
| {%- endif %} |
| |
| # Default notification level for outgoing notifications. (string |
| # value) |
| # Possible values: |
| # DEBUG - <No description provided> |
| # INFO - <No description provided> |
| # WARN - <No description provided> |
| # ERROR - <No description provided> |
| # CRITICAL - <No description provided> |
| # Deprecated group/name - [DEFAULT]/default_notification_level |
| #default_level = INFO |
| |
| # DEPRECATED: |
| # Default publisher_id for outgoing notifications. If you consider |
| # routing |
| # notifications using different publisher, change this value |
| # accordingly. |
| # |
| # Possible values: |
| # |
| # * Defaults to the current hostname of this host, but it can be any |
| # valid |
| # oslo.messaging publisher_id |
| # |
| # Related options: |
| # |
| # * host - Hostname, FQDN or IP address of this host. |
| # (string value) |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # This option is only used when ``monkey_patch=True`` and |
| # ``monkey_patch_modules`` is configured to specify the legacy |
| # notify_decorator. |
| # Since the monkey_patch and monkey_patch_modules options are |
| # deprecated, this |
| # option is also deprecated. |
| #default_publisher_id = $host |
| |
| # |
| # Specifies which notification format shall be used by nova. |
| # |
| # The default value is fine for most deployments and rarely needs to |
| # be changed. |
| # This value can be set to 'versioned' once the infrastructure moves |
| # closer to |
| # consuming the newer format of notifications. After this occurs, this |
| # option |
| # will be removed. |
| # |
| # Note that notifications can be completely disabled by setting |
| # ``driver=noop`` |
| # in the ``[oslo_messaging_notifications]`` group. |
| # |
| # Possible values: |
| # * unversioned: Only the legacy unversioned notifications are |
| # emitted. |
| # * versioned: Only the new versioned notifications are emitted. |
| # * both: Both the legacy unversioned and the new versioned |
| # notifications are |
| # emitted. (Default) |
| # |
| # The list of versioned notifications is visible in |
| # https://docs.openstack.org/nova/latest/reference/notifications.html |
| # (string value) |
| # Possible values: |
| # unversioned - <No description provided> |
| # versioned - <No description provided> |
| # both - <No description provided> |
| #notification_format = both |
| |
| # |
| # Specifies the topics for the versioned notifications issued by nova. |
| # |
| # The default value is fine for most deployments and rarely needs to |
| # be changed. |
| # However, if you have a third-party service that consumes versioned |
| # notifications, it might be worth getting a topic for that service. |
| # Nova will send a message containing a versioned notification payload |
| # to each |
| # topic queue in this list. |
| # |
| # The list of versioned notifications is visible in |
| # https://docs.openstack.org/nova/latest/reference/notifications.html |
| # (list value) |
| #versioned_notifications_topics = versioned_notifications |
| |
| # |
| # If enabled, include block device information in the versioned |
| # notification |
| # payload. Sending block device information is disabled by default as |
| # providing |
| # that information can incur some overhead on the system since the |
| # information |
| # may need to be loaded from the database. |
| # (boolean value) |
| #bdms_in_notifications = false |
| |
| |
| [osapi_v21] |
| |
| # |
| # From nova.conf |
| # |
| |
| # DEPRECATED: |
| # This option is a string representing a regular expression (regex) |
| # that matches |
| # the project_id as contained in URLs. If not set, it will match |
| # normal UUIDs |
| # created by keystone. |
| # |
| # Possible values: |
| # |
| # * A string representing any legal regular expression |
| # (string value) |
| # This option is deprecated for removal since 13.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # Recent versions of nova constrain project IDs to hexadecimal |
| # characters and |
| # dashes. If your installation uses IDs outside of this range, you |
| # should use |
| # this option to provide your own regex and give you time to migrate |
| # offending |
| # projects to valid IDs before the next release. |
| #project_id_regex = <None> |
| |
| |
| [pci] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # An alias for a PCI passthrough device requirement. |
| # |
| # This allows users to specify the alias in the extra specs for a |
| # flavor, without |
| # needing to repeat all the PCI property requirements. |
| # |
| # Possible Values: |
| # |
| # * A list of JSON values which describe the aliases. For example:: |
| # |
| # alias = { |
| # "name": "QuickAssist", |
| # "product_id": "0443", |
| # "vendor_id": "8086", |
| # "device_type": "type-PCI", |
| # "numa_policy": "required" |
| # } |
| # |
| # This defines an alias for the Intel QuickAssist card. (multi |
| # valued). Valid |
| # key values are : |
| # |
| # ``name`` |
| # Name of the PCI alias. |
| # |
| # ``product_id`` |
| # Product ID of the device in hexadecimal. |
| # |
| # ``vendor_id`` |
| # Vendor ID of the device in hexadecimal. |
| # |
| # ``device_type`` |
| # Type of PCI device. Valid values are: ``type-PCI``, ``type-PF`` |
| # and |
| # ``type-VF``. |
| # |
| # ``numa_policy`` |
| # Required NUMA affinity of device. Valid values are: ``legacy``, |
| # ``preferred`` and ``required``. |
| # (multi valued) |
| # Deprecated group/name - [DEFAULT]/pci_alias |
| #alias = |
| {%- if compute.get('pci', {}).get('alias', false) %} |
| {%- for alias_name, alias in compute.pci.alias.iteritems() %} |
| alias = {{ alias | json }} |
| {%- endfor %} |
| {%- endif %} |
| |
| # |
| # White list of PCI devices available to VMs. |
| # |
| # Possible values: |
| # |
| # * A JSON dictionary which describe a whitelisted PCI device. It |
| # should take |
| # the following format: |
| # |
| # ["vendor_id": "<id>",] ["product_id": "<id>",] |
| # ["address": "[[[[<domain>]:]<bus>]:][<slot>][.[<function>]]" | |
| # "devname": "<name>",] |
| # {"<tag>": "<tag_value>",} |
| # |
| # Where '[' indicates zero or one occurrences, '{' indicates zero or |
| # multiple |
| # occurrences, and '|' mutually exclusive options. Note that any |
| # missing |
| # fields are automatically wildcarded. |
| # |
| # Valid key values are : |
| # |
| # * "vendor_id": Vendor ID of the device in hexadecimal. |
| # * "product_id": Product ID of the device in hexadecimal. |
| # * "address": PCI address of the device. |
| # * "devname": Device name of the device (for e.g. interface name). |
| # Not all |
| # PCI devices have a name. |
| # * "<tag>": Additional <tag> and <tag_value> used for matching PCI |
| # devices. |
| # Supported <tag>: "physical_network". |
| # |
| # The address key supports traditional glob style and regular |
| # expression |
| # syntax. Valid examples are: |
| # |
| # passthrough_whitelist = {"devname":"eth0", |
| # "physical_network":"physnet"} |
| # passthrough_whitelist = {"address":"*:0a:00.*"} |
| # passthrough_whitelist = {"address":":0a:00.", |
| # "physical_network":"physnet1"} |
| # passthrough_whitelist = {"vendor_id":"1137", |
| # "product_id":"0071"} |
| # passthrough_whitelist = {"vendor_id":"1137", |
| # "product_id":"0071", |
| # "address": "0000:0a:00.1", |
| # "physical_network":"physnet1"} |
| # passthrough_whitelist = {"address":{"domain": ".*", |
| # "bus": "02", "slot": "01", |
| # "function": "[2-7]"}, |
| # "physical_network":"physnet1"} |
| # passthrough_whitelist = {"address":{"domain": ".*", |
| # "bus": "02", "slot": |
| # "0[1-2]", |
| # "function": ".*"}, |
| # "physical_network":"physnet1"} |
| # |
| # The following are invalid, as they specify mutually exclusive |
| # options: |
| # |
| # passthrough_whitelist = {"devname":"eth0", |
| # "physical_network":"physnet", |
| # "address":"*:0a:00.*"} |
| # |
| # * A JSON list of JSON dictionaries corresponding to the above |
| # format. For |
| # example: |
| # |
| # passthrough_whitelist = [{"product_id":"0001", |
| # "vendor_id":"8086"}, |
| # {"product_id":"0002", |
| # "vendor_id":"8086"}] |
| # (multi valued) |
| # Deprecated group/name - [DEFAULT]/pci_passthrough_whitelist |
| #passthrough_whitelist = |
| {%- if compute.get('sriov', false) %} |
| {%- for nic_name, sriov in compute.sriov.iteritems() %} |
| passthrough_whitelist = {{ sriov | json }} |
| {%- endfor %} |
| {%- endif %} |
| |
| {%- if compute.get('pci', {}).get('passthrough_whitelist', false) %} |
| {%- for item in compute.pci.passthrough_whitelist %} |
| passthrough_whitelist = {{ item | json }} |
| {%- endfor %} |
| {%- endif %} |
| |
| |
| [placement] |
| |
| # |
| # From nova.conf |
| # |
| |
| # DEPRECATED: |
| # Region name of this node. This is used when picking the URL in the |
| # service |
| # catalog. |
| # |
| # Possible values: |
| # |
| # * Any string representing region name |
| # (string value) |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Endpoint lookup uses the service catalog via common |
| # keystoneauth1 Adapter configuration options. Use the region_name |
| # option instead. |
| os_region_name = {{ compute.identity.region }} |
| |
| # DEPRECATED: |
| # Endpoint interface for this node. This is used when picking the URL |
| # in the |
| # service catalog. |
| # (string value) |
| # This option is deprecated for removal since 17.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: Endpoint lookup uses the service catalog via common |
| # keystoneauth1 Adapter configuration options. Use the |
| # valid_interfaces option instead. |
| #os_interface = <None> |
| |
| # |
| # If True, when limiting allocation candidate results, the results |
| # will be |
| # a random sampling of the full result set. If False, allocation |
| # candidates |
| # are returned in a deterministic but undefined order. That is, all |
| # things |
| # being equal, two requests for allocation candidates will return the |
| # same |
| # results in the same order; but no guarantees are made as to how that |
| # order |
| # is determined. |
| # (boolean value) |
| #randomize_allocation_candidates = false |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs |
| # connections. (string value) |
| #cafile = <None> |
| {%- if compute.identity.get('protocol', 'http') == 'https' %} |
| cafile={{ compute.identity.get('cacert_file', compute.cacert_file) }} |
| {%- endif %} |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # Authentication type to load (string value) |
| # Deprecated group/name - [placement]/auth_plugin |
| auth_type = password |
| |
| # Config Section from which to load plugin specific options (string |
| # value) |
| #auth_section = <None> |
| |
| # Authentication URL (string value) |
| #auth_url = <None> |
| auth_url={{ compute.identity.get('protocol', 'http') }}://{{ compute.identity.host }}:35357/v3 |
| |
| # Scope for system operations (string value) |
| #system_scope = <None> |
| |
| # Domain ID to scope to (string value) |
| #domain_id = <None> |
| |
| # Domain name to scope to (string value) |
| #domain_name = <None> |
| |
| # Project ID to scope to (string value) |
| #project_id = <None> |
| |
| # Project name to scope to (string value) |
| project_name = {{ compute.identity.tenant }} |
| |
| # Domain ID containing project (string value) |
| project_domain_id = {{ compute.identity.get('domain', 'default') }} |
| |
| # Domain name containing project (string value) |
| #project_domain_name = <None> |
| |
| # Trust ID (string value) |
| #trust_id = <None> |
| |
| # Optional domain ID to use with v3 and v2 parameters. It will be used |
| # for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_id = <None> |
| |
| # Optional domain name to use with v3 API and v2 parameters. It will |
| # be used for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_name = <None> |
| |
| # User ID (string value) |
| #user_id = <None> |
| |
| # Username (string value) |
| # Deprecated group/name - [placement]/user_name |
| username = {{ compute.identity.user }} |
| |
| # User's domain id (string value) |
| user_domain_id = {{ compute.identity.get('domain', 'default') }} |
| |
| # User's domain name (string value) |
| #user_domain_name = <None> |
| |
| # User's password (string value) |
| password = {{ compute.identity.password }} |
| |
| # Tenant ID (string value) |
| #tenant_id = <None> |
| |
| # Tenant Name (string value) |
| #tenant_name = <None> |
| |
| # The default service_type for endpoint URL discovery. (string value) |
| #service_type = placement |
| |
| # The default service_name for endpoint URL discovery. (string value) |
| #service_name = <None> |
| |
| # List of interfaces, in order of preference, for endpoint URL. (list |
| # value) |
| # Deprecated group/name - [placement]/os_interface |
| valid_interfaces = internal |
| |
| # The default region_name for endpoint URL discovery. (string value) |
| # Deprecated group/name - [placement]/os_region_name |
| #region_name = <None> |
| |
| # Always use this endpoint URL for requests for this client. NOTE: The |
| # unversioned endpoint should be specified here; to request a |
| # particular API version, use the `version`, `min-version`, and/or |
| # `max-version` options. (string value) |
| #endpoint_override = <None> |
| |
| |
| [quota] |
| # |
| # Quota options allow to manage quotas in openstack deployment. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # The number of instances allowed per project. |
| # |
| # Possible Values |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_instances |
| #instances = 10 |
| |
| # |
| # The number of instance cores or vCPUs allowed per project. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_cores |
| #cores = 20 |
| |
| # |
| # The number of megabytes of instance RAM allowed per project. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_ram |
| #ram = 51200 |
| |
| # DEPRECATED: |
| # The number of floating IPs allowed per project. |
| # |
| # Floating IPs are not allocated to instances by default. Users need |
| # to select |
| # them from the pool configured by the OpenStack administrator to |
| # attach to their |
| # instances. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_floating_ips |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #floating_ips = 10 |
| |
| # DEPRECATED: |
| # The number of fixed IPs allowed per project. |
| # |
| # Unlike floating IPs, fixed IPs are allocated dynamically by the |
| # network |
| # component when instances boot up. This quota value should be at |
| # least the |
| # number of instances allowed |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_fixed_ips |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #fixed_ips = -1 |
| |
| # |
| # The number of metadata items allowed per instance. |
| # |
| # Users can associate metadata with an instance during instance |
| # creation. This |
| # metadata takes the form of key-value pairs. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_metadata_items |
| #metadata_items = 128 |
| |
| # |
| # The number of injected files allowed. |
| # |
| # File injection allows users to customize the personality of an |
| # instance by |
| # injecting data into it upon boot. Only text file injection is |
| # permitted: binary |
| # or ZIP files are not accepted. During file injection, any existing |
| # files that |
| # match specified files are renamed to include ``.bak`` extension |
| # appended with a |
| # timestamp. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_injected_files |
| #injected_files = 5 |
| |
| # |
| # The number of bytes allowed per injected file. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_injected_file_content_bytes |
| #injected_file_content_bytes = 10240 |
| |
| # |
| # The maximum allowed injected file path length. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_injected_file_path_length |
| #injected_file_path_length = 255 |
| |
| # DEPRECATED: |
| # The number of security groups per project. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_security_groups |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #security_groups = 10 |
| |
| # DEPRECATED: |
| # The number of security rules per security group. |
| # |
| # The associated rules in each security group control the traffic to |
| # instances in |
| # the group. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_security_group_rules |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # nova-network is deprecated, as are any related configuration |
| # options. |
| #security_group_rules = 20 |
| |
| # |
| # The maximum number of key pairs allowed per user. |
| # |
| # Users can create at least one key pair for each project and use the |
| # key pair |
| # for multiple instances that belong to that project. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_key_pairs |
| #key_pairs = 100 |
| |
| # |
| # The maxiumum number of server groups per project. |
| # |
| # Server groups are used to control the affinity and anti-affinity |
| # scheduling |
| # policy for a group of servers or instances. Reducing the quota will |
| # not affect |
| # any existing group, but new servers will not be allowed into groups |
| # that have |
| # become over quota. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_server_groups |
| #server_groups = 10 |
| |
| # |
| # The maximum number of servers per server group. |
| # |
| # Possible values: |
| # |
| # * A positive integer or 0. |
| # * -1 to disable the quota. |
| # (integer value) |
| # Minimum value: -1 |
| # Deprecated group/name - [DEFAULT]/quota_server_group_members |
| #server_group_members = 10 |
| |
| # |
| # The number of seconds until a reservation expires. |
| # |
| # This quota represents the time period for invalidating quota |
| # reservations. |
| # (integer value) |
| #reservation_expire = 86400 |
| |
| # |
| # The count of reservations until usage is refreshed. |
| # |
| # This defaults to 0 (off) to avoid additional load but it is useful |
| # to turn on |
| # to help keep quota usage up-to-date and reduce the impact of out of |
| # sync usage |
| # issues. |
| # (integer value) |
| # Minimum value: 0 |
| #until_refresh = 0 |
| |
| # |
| # The number of seconds between subsequent usage refreshes. |
| # |
| # This defaults to 0 (off) to avoid additional load but it is useful |
| # to turn on |
| # to help keep quota usage up-to-date and reduce the impact of out of |
| # sync usage |
| # issues. Note that quotas are not updated on a periodic task, they |
| # will update |
| # on a new reservation if max_age has passed since the last |
| # reservation. |
| # (integer value) |
| # Minimum value: 0 |
| #max_age = 0 |
| |
| # DEPRECATED: |
| # The quota enforcer driver. |
| # |
| # Provides abstraction for quota checks. Users can configure a |
| # specific |
| # driver to use for quota checks. |
| # |
| # Possible values: |
| # |
| # * nova.quota.DbQuotaDriver (default) or any string representing |
| # fully |
| # qualified class name. |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/quota_driver |
| # This option is deprecated for removal since 14.0.0. |
| # Its value may be silently ignored in the future. |
| #driver = nova.quota.DbQuotaDriver |
| |
| # |
| # Recheck quota after resource creation to prevent allowing quota to |
| # be exceeded. |
| # |
| # This defaults to True (recheck quota after resource creation) but |
| # can be set to |
| # False to avoid additional load if allowing quota to be exceeded |
| # because of |
| # racing requests is considered acceptable. For example, when set to |
| # False, if a |
| # user makes highly parallel REST API requests to create servers, it |
| # will be |
| # possible for them to create more servers than their allowed quota |
| # during the |
| # race. If their quota is 10 servers, they might be able to create 50 |
| # during the |
| # burst. After the burst, they will not be able to create any more |
| # servers but |
| # they will be able to keep their 50 servers until they delete them. |
| # |
| # The initial quota check is done before resources are created, so if |
| # multiple |
| # parallel requests arrive at the same time, all could pass the quota |
| # check and |
| # create resources, potentially exceeding quota. When recheck_quota is |
| # True, |
| # quota will be checked a second time after resources have been |
| # created and if |
| # the resource is over quota, it will be deleted and OverQuota will be |
| # raised, |
| # usually resulting in a 403 response to the REST API user. This makes |
| # it |
| # impossible for a user to exceed their quota with the caveat that it |
| # will, |
| # however, be possible for a REST API user to be rejected with a 403 |
| # response in |
| # the event of a collision close to reaching their quota limit, even |
| # if the user |
| # has enough quota available when they made the request. |
| # (boolean value) |
| #recheck_quota = true |
| |
| |
| [rdp] |
| # |
| # Options under this group enable and configure Remote Desktop |
| # Protocol ( |
| # RDP) related features. |
| # |
| # This group is only relevant to Hyper-V users. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Enable Remote Desktop Protocol (RDP) related features. |
| # |
| # Hyper-V, unlike the majority of the hypervisors employed on Nova |
| # compute |
| # nodes, uses RDP instead of VNC and SPICE as a desktop sharing |
| # protocol to |
| # provide instance console access. This option enables RDP for |
| # graphical |
| # console access for virtual machines created by Hyper-V. |
| # |
| # **Note:** RDP should only be enabled on compute nodes that support |
| # the Hyper-V |
| # virtualization platform. |
| # |
| # Related options: |
| # |
| # * ``compute_driver``: Must be hyperv. |
| # |
| # (boolean value) |
| #enabled = false |
| |
| # |
| # The URL an end user would use to connect to the RDP HTML5 console |
| # proxy. |
| # The console proxy service is called with this token-embedded URL and |
| # establishes the connection to the proper instance. |
| # |
| # An RDP HTML5 console proxy service will need to be configured to |
| # listen on the |
| # address configured here. Typically the console proxy service would |
| # be run on a |
| # controller node. The localhost address used as default would only |
| # work in a |
| # single node environment i.e. devstack. |
| # |
| # An RDP HTML5 proxy allows a user to access via the web the text or |
| # graphical |
| # console of any Windows server or workstation using RDP. RDP HTML5 |
| # console |
| # proxy services include FreeRDP, wsgate. |
| # See https://github.com/FreeRDP/FreeRDP-WebConnect |
| # |
| # Possible values: |
| # |
| # * <scheme>://<ip-address>:<port-number>/ |
| # |
| # The scheme must be identical to the scheme configured for the RDP |
| # HTML5 |
| # console proxy service. It is ``http`` or ``https``. |
| # |
| # The IP address must be identical to the address on which the RDP |
| # HTML5 |
| # console proxy service is listening. |
| # |
| # The port must be identical to the port on which the RDP HTML5 |
| # console proxy |
| # service is listening. |
| # |
| # Related options: |
| # |
| # * ``rdp.enabled``: Must be set to ``True`` for |
| # ``html5_proxy_base_url`` to be |
| # effective. |
| # (uri value) |
| #html5_proxy_base_url = http://127.0.0.1:6083/ |
| |
| |
| [remote_debug] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Debug host (IP or name) to connect to. This command line parameter |
| # is used when |
| # you want to connect to a nova service via a debugger running on a |
| # different |
| # host. |
| # |
| # Note that using the remote debug option changes how Nova uses the |
| # eventlet |
| # library to support async IO. This could result in failures that do |
| # not occur |
| # under normal operation. Use at your own risk. |
| # |
| # Possible Values: |
| # |
| # * IP address of a remote host as a command line parameter |
| # to a nova service. For Example: |
| # |
| # /usr/local/bin/nova-compute --config-file /etc/nova/nova.conf |
| # --remote_debug-host <IP address where the debugger is running> |
| # (unknown value) |
| #host = <None> |
| |
| # |
| # Debug port to connect to. This command line parameter allows you to |
| # specify |
| # the port you want to use to connect to a nova service via a debugger |
| # running |
| # on different host. |
| # |
| # Note that using the remote debug option changes how Nova uses the |
| # eventlet |
| # library to support async IO. This could result in failures that do |
| # not occur |
| # under normal operation. Use at your own risk. |
| # |
| # Possible Values: |
| # |
| # * Port number you want to use as a command line parameter |
| # to a nova service. For Example: |
| # |
| # /usr/local/bin/nova-compute --config-file /etc/nova/nova.conf |
| # --remote_debug-host <IP address where the debugger is running> |
| # --remote_debug-port <port> it's listening on>. |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #port = <None> |
| |
| |
| [scheduler] |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # The scheduler host manager to use. |
| # |
| # The host manager manages the in-memory picture of the hosts that the |
| # scheduler |
| # uses. The options values are chosen from the entry points under the |
| # namespace |
| # 'nova.scheduler.host_manager' in 'setup.cfg'. |
| # |
| # NOTE: The "ironic_host_manager" option is deprecated as of the |
| # 17.0.0 Queens |
| # release. |
| # (string value) |
| # Possible values: |
| # host_manager - <No description provided> |
| # ironic_host_manager - <No description provided> |
| # Deprecated group/name - [DEFAULT]/scheduler_host_manager |
| #host_manager = host_manager |
| |
| # |
| # The class of the driver used by the scheduler. This should be chosen |
| # from one |
| # of the entrypoints under the namespace 'nova.scheduler.driver' of |
| # file |
| # 'setup.cfg'. If nothing is specified in this option, the |
| # 'filter_scheduler' is |
| # used. |
| # |
| # Other options are: |
| # |
| # * 'caching_scheduler' which aggressively caches the system state for |
| # better |
| # individual scheduler performance at the risk of more retries when |
| # running |
| # multiple schedulers. [DEPRECATED] |
| # * 'chance_scheduler' which simply picks a host at random. |
| # [DEPRECATED] |
| # * 'fake_scheduler' which is used for testing. |
| # |
| # Possible values: |
| # |
| # * Any of the drivers included in Nova: |
| # ** filter_scheduler |
| # ** caching_scheduler |
| # ** chance_scheduler |
| # ** fake_scheduler |
| # * You may also set this to the entry point name of a custom |
| # scheduler driver, |
| # but you will be responsible for creating and maintaining it in |
| # your setup.cfg |
| # file. |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/scheduler_driver |
| #driver = filter_scheduler |
| |
| # |
| # Periodic task interval. |
| # |
| # This value controls how often (in seconds) to run periodic tasks in |
| # the |
| # scheduler. The specific tasks that are run for each period are |
| # determined by |
| # the particular scheduler being used. |
| # |
| # If this is larger than the nova-service 'service_down_time' setting, |
| # Nova may |
| # report the scheduler service as down. This is because the scheduler |
| # driver is |
| # responsible for sending a heartbeat and it will only do that as |
| # often as this |
| # option allows. As each scheduler can work a little differently than |
| # the others, |
| # be sure to test this with your selected scheduler. |
| # |
| # Possible values: |
| # |
| # * An integer, where the integer corresponds to periodic task |
| # interval in |
| # seconds. 0 uses the default interval (60 seconds). A negative |
| # value disables |
| # periodic tasks. |
| # |
| # Related options: |
| # |
| # * ``nova-service service_down_time`` |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/scheduler_driver_task_period |
| #periodic_task_interval = 60 |
| |
| # |
| # This is the maximum number of attempts that will be made for a given |
| # instance |
| # build/move operation. It limits the number of alternate hosts |
| # returned by the |
| # scheduler. When that list of hosts is exhausted, a |
| # MaxRetriesExceeded |
| # exception is raised and the instance is set to an error state. |
| # |
| # Possible values: |
| # |
| # * A positive integer, where the integer corresponds to the max |
| # number of |
| # attempts that can be made when building or moving an instance. |
| # (integer value) |
| # Minimum value: 1 |
| # Deprecated group/name - [DEFAULT]/scheduler_max_attempts |
| #max_attempts = 3 |
| |
| # |
| # Periodic task interval. |
| # |
| # This value controls how often (in seconds) the scheduler should |
| # attempt |
| # to discover new hosts that have been added to cells. If negative |
| # (the |
| # default), no automatic discovery will occur. |
| # |
| # Deployments where compute nodes come and go frequently may want this |
| # enabled, where others may prefer to manually discover hosts when one |
| # is added to avoid any overhead from constantly checking. If enabled, |
| # every time this runs, we will select any unmapped hosts out of each |
| # cell database on every run. |
| # (integer value) |
| # Minimum value: -1 |
| #discover_hosts_in_cells_interval = -1 |
| |
| # |
| # This setting determines the maximum limit on results received from |
| # the |
| # placement service during a scheduling operation. It effectively |
| # limits |
| # the number of hosts that may be considered for scheduling requests |
| # that |
| # match a large number of candidates. |
| # |
| # A value of 1 (the minimum) will effectively defer scheduling to the |
| # placement |
| # service strictly on "will it fit" grounds. A higher value will put |
| # an upper |
| # cap on the number of results the scheduler will consider during the |
| # filtering |
| # and weighing process. Large deployments may need to set this lower |
| # than the |
| # total number of hosts available to limit memory consumption, network |
| # traffic, |
| # etc. of the scheduler. |
| # |
| # This option is only used by the FilterScheduler; if you use a |
| # different |
| # scheduler, this option has no effect. |
| # (integer value) |
| # Minimum value: 1 |
| #max_placement_results = 1000 |
| |
| |
| [serial_console] |
| # |
| # The serial console feature allows you to connect to a guest in case |
| # a |
| # graphical console like VNC, RDP or SPICE is not available. This is |
| # only |
| # currently supported for the libvirt, Ironic and hyper-v drivers. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Enable the serial console feature. |
| # |
| # In order to use this feature, the service ``nova-serialproxy`` needs |
| # to run. |
| # This service is typically executed on the controller node. |
| # (boolean value) |
| #enabled = false |
| |
| # |
| # A range of TCP ports a guest can use for its backend. |
| # |
| # Each instance which gets created will use one port out of this |
| # range. If the |
| # range is not big enough to provide another port for an new instance, |
| # this |
| # instance won't get launched. |
| # |
| # Possible values: |
| # |
| # * Each string which passes the regex ``\d+:\d+`` For example |
| # ``10000:20000``. |
| # Be sure that the first port number is lower than the second port |
| # number |
| # and that both are in range from 0 to 65535. |
| # (string value) |
| #port_range = 10000:20000 |
| |
| # |
| # The URL an end user would use to connect to the ``nova-serialproxy`` |
| # service. |
| # |
| # The ``nova-serialproxy`` service is called with this token enriched |
| # URL |
| # and establishes the connection to the proper instance. |
| # |
| # Related options: |
| # |
| # * The IP address must be identical to the address to which the |
| # ``nova-serialproxy`` service is listening (see option |
| # ``serialproxy_host`` |
| # in this section). |
| # * The port must be the same as in the option ``serialproxy_port`` of |
| # this |
| # section. |
| # * If you choose to use a secured websocket connection, then start |
| # this option |
| # with ``wss://`` instead of the unsecured ``ws://``. The options |
| # ``cert`` |
| # and ``key`` in the ``[DEFAULT]`` section have to be set for that. |
| # (uri value) |
| #base_url = ws://127.0.0.1:6083/ |
| |
| # |
| # The IP address to which proxy clients (like ``nova-serialproxy``) |
| # should |
| # connect to get the serial console of an instance. |
| # |
| # This is typically the IP address of the host of a ``nova-compute`` |
| # service. |
| # (string value) |
| #proxyclient_address = 127.0.0.1 |
| |
| # |
| # The IP address which is used by the ``nova-serialproxy`` service to |
| # listen |
| # for incoming requests. |
| # |
| # The ``nova-serialproxy`` service listens on this IP address for |
| # incoming |
| # connection requests to instances which expose serial console. |
| # |
| # Related options: |
| # |
| # * Ensure that this is the same IP address which is defined in the |
| # option |
| # ``base_url`` of this section or use ``0.0.0.0`` to listen on all |
| # addresses. |
| # (string value) |
| #serialproxy_host = 0.0.0.0 |
| |
| # |
| # The port number which is used by the ``nova-serialproxy`` service to |
| # listen |
| # for incoming requests. |
| # |
| # The ``nova-serialproxy`` service listens on this port number for |
| # incoming |
| # connection requests to instances which expose serial console. |
| # |
| # Related options: |
| # |
| # * Ensure that this is the same port number which is defined in the |
| # option |
| # ``base_url`` of this section. |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #serialproxy_port = 6083 |
| |
| |
| [service_user] |
| # |
| # Configuration options for service to service authentication using a |
| # service |
| # token. These options allow sending a service token along with the |
| # user's token |
| # when contacting external REST APIs. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # When True, if sending a user token to a REST API, also send a |
| # service token. |
| # |
| # Nova often reuses the user token provided to the nova-api to talk to |
| # other REST |
| # APIs, such as Cinder, Glance and Neutron. It is possible that while |
| # the user |
| # token was valid when the request was made to Nova, the token may |
| # expire before |
| # it reaches the other service. To avoid any failures, and to make it |
| # clear it is |
| # Nova calling the service on the user's behalf, we include a service |
| # token along |
| # with the user token. Should the user's token have expired, a valid |
| # service |
| # token ensures the REST API request will still be accepted by the |
| # keystone |
| # middleware. |
| # (boolean value) |
| #send_service_user_token = false |
| {%- if compute.get('service_user', {}).get('enabled', True) %} |
| send_service_user_token = True |
| {%- set _data = {} %} |
| {%- do _data.update(compute.get('identity', {})) %} |
| {%- do _data.update(compute.get('service_user', {})) %} |
| {%- if not _data.port == '5000' %}{% do _data.update({'port': '5000'}) %}{% endif %} |
| {%- if 'cacert_file' not in _data.keys() %}{% do _data.update({'cacert_file': compute.cacert_file}) %}{% endif %} |
| {%- include "oslo_templates/files/queens/keystoneauth/_type_"+ _data.get('auth_type','password') +".conf" %} |
| {%- else %} |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs |
| # connections. (string value) |
| #cafile = <None> |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # Authentication type to load (string value) |
| # Deprecated group/name - [service_user]/auth_plugin |
| #auth_type = <None> |
| |
| # Config Section from which to load plugin specific options (string |
| # value) |
| #auth_section = <None> |
| |
| # Authentication URL (string value) |
| #auth_url = <None> |
| |
| # Scope for system operations (string value) |
| #system_scope = <None> |
| |
| # Domain ID to scope to (string value) |
| #domain_id = <None> |
| |
| # Domain name to scope to (string value) |
| #domain_name = <None> |
| |
| # Project ID to scope to (string value) |
| #project_id = <None> |
| |
| # Project name to scope to (string value) |
| #project_name = <None> |
| |
| # Domain ID containing project (string value) |
| #project_domain_id = <None> |
| |
| # Domain name containing project (string value) |
| #project_domain_name = <None> |
| |
| # Trust ID (string value) |
| #trust_id = <None> |
| |
| # Optional domain ID to use with v3 and v2 parameters. It will be used |
| # for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_id = <None> |
| |
| # Optional domain name to use with v3 API and v2 parameters. It will |
| # be used for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_name = <None> |
| |
| # User ID (string value) |
| #user_id = <None> |
| |
| # Username (string value) |
| # Deprecated group/name - [service_user]/user_name |
| #username = <None> |
| |
| # User's domain id (string value) |
| #user_domain_id = <None> |
| |
| # User's domain name (string value) |
| #user_domain_name = <None> |
| |
| # User's password (string value) |
| #password = <None> |
| |
| # Tenant ID (string value) |
| #tenant_id = <None> |
| |
| # Tenant Name (string value) |
| #tenant_name = <None> |
| {%- endif %} |
| |
| |
| [spice] |
| # |
| # SPICE console feature allows you to connect to a guest virtual |
| # machine. |
| # SPICE is a replacement for fairly limited VNC protocol. |
| # |
| # Following requirements must be met in order to use SPICE: |
| # |
| # * Virtualization driver must be libvirt |
| # * spice.enabled set to True |
| # * vnc.enabled set to False |
| # * update html5proxy_base_url |
| # * update server_proxyclient_address |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Enable SPICE related features. |
| # |
| # Related options: |
| # |
| # * VNC must be explicitly disabled to get access to the SPICE |
| # console. Set the |
| # enabled option to False in the [vnc] section to disable the VNC |
| # console. |
| # (boolean value) |
| #enabled = false |
| enabled = false |
| # |
| # Enable the SPICE guest agent support on the instances. |
| # |
| # The Spice agent works with the Spice protocol to offer a better |
| # guest console |
| # experience. However, the Spice console can still be used without the |
| # Spice |
| # Agent. With the Spice agent installed the following features are |
| # enabled: |
| # |
| # * Copy & Paste of text and images between the guest and client |
| # machine |
| # * Automatic adjustment of resolution when the client screen changes |
| # - e.g. |
| # if you make the Spice console full screen the guest resolution |
| # will adjust to |
| # match it rather than letterboxing. |
| # * Better mouse integration - The mouse can be captured and released |
| # without |
| # needing to click inside the console or press keys to release it. |
| # The |
| # performance of mouse movement is also improved. |
| # (boolean value) |
| #agent_enabled = true |
| |
| # |
| # Location of the SPICE HTML5 console proxy. |
| # |
| # End user would use this URL to connect to the `nova- |
| # spicehtml5proxy`` |
| # service. This service will forward request to the console of an |
| # instance. |
| # |
| # In order to use SPICE console, the service ``nova-spicehtml5proxy`` |
| # should be |
| # running. This service is typically launched on the controller node. |
| # |
| # Possible values: |
| # |
| # * Must be a valid URL of the form: |
| # ``http://host:port/spice_auto.html`` |
| # where host is the node running ``nova-spicehtml5proxy`` and the |
| # port is |
| # typically 6082. Consider not using default value as it is not well |
| # defined |
| # for any real deployment. |
| # |
| # Related options: |
| # |
| # * This option depends on ``html5proxy_host`` and ``html5proxy_port`` |
| # options. |
| # The access URL returned by the compute node must have the host |
| # and port where the ``nova-spicehtml5proxy`` service is listening. |
| # (uri value) |
| #html5proxy_base_url = http://127.0.0.1:6082/spice_auto.html |
| {%- if compute.vncproxy_url is defined %} |
| html5proxy_base_url = {{ compute.vncproxy_url }}/spice_auto.html |
| {%- endif %} |
| |
| # |
| # The address where the SPICE server running on the instances should |
| # listen. |
| # |
| # Typically, the ``nova-spicehtml5proxy`` proxy client runs on the |
| # controller |
| # node and connects over the private network to this address on the |
| # compute |
| # node(s). |
| # |
| # Possible values: |
| # |
| # * IP address to listen on. |
| # (string value) |
| #server_listen = 127.0.0.1 |
| |
| # |
| # The address used by ``nova-spicehtml5proxy`` client to connect to |
| # instance |
| # console. |
| # |
| # Typically, the ``nova-spicehtml5proxy`` proxy client runs on the |
| # controller node and connects over the private network to this |
| # address on the |
| # compute node(s). |
| # |
| # Possible values: |
| # |
| # * Any valid IP address on the compute node. |
| # |
| # Related options: |
| # |
| # * This option depends on the ``server_listen`` option. |
| # The proxy client must be able to access the address specified in |
| # ``server_listen`` using the value of this option. |
| # (string value) |
| #server_proxyclient_address = 127.0.0.1 |
| |
| # |
| # A keyboard layout which is supported by the underlying hypervisor on |
| # this |
| # node. |
| # |
| # Possible values: |
| # * This is usually an 'IETF language tag' (default is 'en-us'). If |
| # you |
| # use QEMU as hypervisor, you should find the list of supported |
| # keyboard |
| # layouts at /usr/share/qemu/keymaps. |
| # (string value) |
| #keymap = en-us |
| |
| # |
| # IP address or a hostname on which the ``nova-spicehtml5proxy`` |
| # service |
| # listens for incoming requests. |
| # |
| # Related options: |
| # |
| # * This option depends on the ``html5proxy_base_url`` option. |
| # The ``nova-spicehtml5proxy`` service must be listening on a host |
| # that is |
| # accessible from the HTML5 client. |
| # (unknown value) |
| #html5proxy_host = 0.0.0.0 |
| |
| # |
| # Port on which the ``nova-spicehtml5proxy`` service listens for |
| # incoming |
| # requests. |
| # |
| # Related options: |
| # |
| # * This option depends on the ``html5proxy_base_url`` option. |
| # The ``nova-spicehtml5proxy`` service must be listening on a port |
| # that is |
| # accessible from the HTML5 client. |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #html5proxy_port = 6082 |
| |
| |
| [upgrade_levels] |
| |
| {%- if compute.upgrade_levels is defined %} |
| {%- for key, value in compute.upgrade_levels.iteritems() %} |
| {{ key }}={{ value }} |
| {%- endfor %} |
| {%- endif %} |
| # |
| # upgrade_levels options are used to set version cap for RPC |
| # messages sent between different nova services. |
| # |
| # By default all services send messages using the latest version |
| # they know about. |
| # |
| # The compute upgrade level is an important part of rolling upgrades |
| # where old and new nova-compute services run side by side. |
| # |
| # The other options can largely be ignored, and are only kept to |
| # help with a possible future backport issue. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Compute RPC API version cap. |
| # |
| # By default, we always send messages using the most recent version |
| # the client knows about. |
| # |
| # Where you have old and new compute services running, you should set |
| # this to the lowest deployed version. This is to guarantee that all |
| # services never send messages that one of the compute nodes can't |
| # understand. Note that we only support upgrading from release N to |
| # release N+1. |
| # |
| # Set this option to "auto" if you want to let the compute RPC module |
| # automatically determine what version to use based on the service |
| # versions in the deployment. |
| # |
| # Possible values: |
| # |
| # * By default send the latest version the client knows about |
| # * 'auto': Automatically determines what version to use based on |
| # the service versions in the deployment. |
| # * A string representing a version number in the format 'N.N'; |
| # for example, possible values might be '1.12' or '2.0'. |
| # * An OpenStack release name, in lower case, such as 'mitaka' or |
| # 'liberty'. |
| # (string value) |
| #compute = <None> |
| |
| # Cells RPC API version cap (string value) |
| #cells = <None> |
| |
| # Intercell RPC API version cap (string value) |
| #intercell = <None> |
| |
| # Cert RPC API version cap (string value) |
| #cert = <None> |
| |
| # Scheduler RPC API version cap (string value) |
| #scheduler = <None> |
| |
| # Conductor RPC API version cap (string value) |
| #conductor = <None> |
| |
| # Console RPC API version cap (string value) |
| #console = <None> |
| |
| # Consoleauth RPC API version cap (string value) |
| #consoleauth = <None> |
| |
| # Network RPC API version cap (string value) |
| #network = <None> |
| |
| # Base API RPC API version cap (string value) |
| #baseapi = <None> |
| |
| |
| [vault] |
| |
| # |
| # From nova.conf |
| # |
| |
| # root token for vault (string value) |
| #root_token_id = <None> |
| |
| # Use this endpoint to connect to Vault, for example: |
| # "http://127.0.0.1:8200" (string value) |
| #vault_url = http://127.0.0.1:8200 |
| |
| # Absolute path to ca cert file (string value) |
| #ssl_ca_crt_file = <None> |
| |
| # SSL Enabled/Disabled (boolean value) |
| #use_ssl = false |
| |
| |
| [vendordata_dynamic_auth] |
| # |
| # Options within this group control the authentication of the |
| # vendordata |
| # subsystem of the metadata API server (and config drive) with |
| # external systems. |
| |
| # |
| # From nova.conf |
| # |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs |
| # connections. (string value) |
| #cafile = <None> |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # Authentication type to load (string value) |
| # Deprecated group/name - [vendordata_dynamic_auth]/auth_plugin |
| #auth_type = <None> |
| |
| # Config Section from which to load plugin specific options (string |
| # value) |
| #auth_section = <None> |
| |
| # Authentication URL (string value) |
| #auth_url = <None> |
| |
| # Scope for system operations (string value) |
| #system_scope = <None> |
| |
| # Domain ID to scope to (string value) |
| #domain_id = <None> |
| |
| # Domain name to scope to (string value) |
| #domain_name = <None> |
| |
| # Project ID to scope to (string value) |
| #project_id = <None> |
| |
| # Project name to scope to (string value) |
| #project_name = <None> |
| |
| # Domain ID containing project (string value) |
| #project_domain_id = <None> |
| |
| # Domain name containing project (string value) |
| #project_domain_name = <None> |
| |
| # Trust ID (string value) |
| #trust_id = <None> |
| |
| # Optional domain ID to use with v3 and v2 parameters. It will be used |
| # for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_id = <None> |
| |
| # Optional domain name to use with v3 API and v2 parameters. It will |
| # be used for both the user and project domain in v3 and ignored in v2 |
| # authentication. (string value) |
| #default_domain_name = <None> |
| |
| # User ID (string value) |
| #user_id = <None> |
| |
| # Username (string value) |
| # Deprecated group/name - [vendordata_dynamic_auth]/user_name |
| #username = <None> |
| |
| # User's domain id (string value) |
| #user_domain_id = <None> |
| |
| # User's domain name (string value) |
| #user_domain_name = <None> |
| |
| # User's password (string value) |
| #password = <None> |
| |
| # Tenant ID (string value) |
| #tenant_id = <None> |
| |
| # Tenant Name (string value) |
| #tenant_name = <None> |
| |
| {%- set compute_driver = compute.get('compute_driver', 'libvirt.LibvirtDriver') %} |
| {%- if compute_driver in compute_driver_mapping.keys() %} |
| {%- set _data = compute.get(compute_driver_mapping[compute_driver]) %} |
| {%- include "nova/files/queens/compute/_" + compute_driver_mapping[compute_driver] + ".conf" %} |
| {%- endif %} |
| |
| [vnc] |
| # |
| # Virtual Network Computer (VNC) can be used to provide remote desktop |
| # console access to instances for tenants and/or administrators. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Enable VNC related features. |
| # |
| # Guests will get created with graphical devices to support this. |
| # Clients |
| # (for example Horizon) can then establish a VNC connection to the |
| # guest. |
| # (boolean value) |
| # Deprecated group/name - [DEFAULT]/vnc_enabled |
| enabled = true |
| |
| {%- if compute.vncproxy_url is defined %} |
| novncproxy_base_url={{ compute.vncproxy_url }}/vnc_auto.html |
| {%- endif %} |
| {%- if compute.bind is defined and compute.bind.vnc_port is defined %} |
| novncproxy_port={{ compute.bind.vnc_port }} |
| {%- endif %} |
| {%- if compute.bind is defined %} |
| {%- if compute.bind.vnc_address is defined %} |
| vncserver_listen={{ compute.bind.vnc_address }} |
| vncserver_proxyclient_address={{ compute.bind.vnc_address }} |
| {%- else %} |
| vncserver_listen=0.0.0.0 |
| {%- endif %} |
| {%- endif %} |
| |
| # |
| # Keymap for VNC. |
| # |
| # The keyboard mapping (keymap) determines which keyboard layout a VNC |
| # session should use by default. |
| # |
| # Possible values: |
| # |
| # * A keyboard layout which is supported by the underlying hypervisor |
| # on |
| # this node. This is usually an 'IETF language tag' (for example |
| # 'en-us'). If you use QEMU as hypervisor, you should find the |
| # list |
| # of supported keyboard layouts at ``/usr/share/qemu/keymaps``. |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/vnc_keymap |
| keymap = {{ compute.get('vnc_keymap', 'en-us') }} |
| |
| # |
| # The IP address or hostname on which an instance should listen to for |
| # incoming VNC connection requests on this node. |
| # (unknown value) |
| # Deprecated group/name - [DEFAULT]/vncserver_listen |
| # Deprecated group/name - [vnc]/vncserver_listen |
| #server_listen = 127.0.0.1 |
| |
| # |
| # Private, internal IP address or hostname of VNC console proxy. |
| # |
| # The VNC proxy is an OpenStack component that enables compute service |
| # users to access their instances through VNC clients. |
| # |
| # This option sets the private address to which proxy clients, such as |
| # ``nova-xvpvncproxy``, should connect to. |
| # (unknown value) |
| # Deprecated group/name - [DEFAULT]/vncserver_proxyclient_address |
| # Deprecated group/name - [vnc]/vncserver_proxyclient_address |
| #server_proxyclient_address = 127.0.0.1 |
| |
| # |
| # Public address of noVNC VNC console proxy. |
| # |
| # The VNC proxy is an OpenStack component that enables compute service |
| # users to access their instances through VNC clients. noVNC provides |
| # VNC support through a websocket-based client. |
| # |
| # This option sets the public base URL to which client systems will |
| # connect. noVNC clients can use this address to connect to the noVNC |
| # instance and, by extension, the VNC sessions. |
| # |
| # Related options: |
| # |
| # * novncproxy_host |
| # * novncproxy_port |
| # (uri value) |
| #novncproxy_base_url = http://127.0.0.1:6080/vnc_auto.html |
| |
| # |
| # IP address or hostname that the XVP VNC console proxy should bind |
| # to. |
| # |
| # The VNC proxy is an OpenStack component that enables compute service |
| # users to access their instances through VNC clients. Xen provides |
| # the Xenserver VNC Proxy, or XVP, as an alternative to the |
| # websocket-based noVNC proxy used by Libvirt. In contrast to noVNC, |
| # XVP clients are Java-based. |
| # |
| # This option sets the private address to which the XVP VNC console |
| # proxy |
| # service should bind to. |
| # |
| # Related options: |
| # |
| # * xvpvncproxy_port |
| # * xvpvncproxy_base_url |
| # (unknown value) |
| #xvpvncproxy_host = 0.0.0.0 |
| |
| # |
| # Port that the XVP VNC console proxy should bind to. |
| # |
| # The VNC proxy is an OpenStack component that enables compute service |
| # users to access their instances through VNC clients. Xen provides |
| # the Xenserver VNC Proxy, or XVP, as an alternative to the |
| # websocket-based noVNC proxy used by Libvirt. In contrast to noVNC, |
| # XVP clients are Java-based. |
| # |
| # This option sets the private port to which the XVP VNC console proxy |
| # service should bind to. |
| # |
| # Related options: |
| # |
| # * xvpvncproxy_host |
| # * xvpvncproxy_base_url |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #xvpvncproxy_port = 6081 |
| |
| # |
| # Public URL address of XVP VNC console proxy. |
| # |
| # The VNC proxy is an OpenStack component that enables compute service |
| # users to access their instances through VNC clients. Xen provides |
| # the Xenserver VNC Proxy, or XVP, as an alternative to the |
| # websocket-based noVNC proxy used by Libvirt. In contrast to noVNC, |
| # XVP clients are Java-based. |
| # |
| # This option sets the public base URL to which client systems will |
| # connect. XVP clients can use this address to connect to the XVP |
| # instance and, by extension, the VNC sessions. |
| # |
| # Related options: |
| # |
| # * xvpvncproxy_host |
| # * xvpvncproxy_port |
| # (uri value) |
| #xvpvncproxy_base_url = http://127.0.0.1:6081/console |
| |
| # |
| # IP address that the noVNC console proxy should bind to. |
| # |
| # The VNC proxy is an OpenStack component that enables compute service |
| # users to access their instances through VNC clients. noVNC provides |
| # VNC support through a websocket-based client. |
| # |
| # This option sets the private address to which the noVNC console |
| # proxy |
| # service should bind to. |
| # |
| # Related options: |
| # |
| # * novncproxy_port |
| # * novncproxy_base_url |
| # (string value) |
| #novncproxy_host = 0.0.0.0 |
| |
| # |
| # Port that the noVNC console proxy should bind to. |
| # |
| # The VNC proxy is an OpenStack component that enables compute service |
| # users to access their instances through VNC clients. noVNC provides |
| # VNC support through a websocket-based client. |
| # |
| # This option sets the private port to which the noVNC console proxy |
| # service should bind to. |
| # |
| # Related options: |
| # |
| # * novncproxy_host |
| # * novncproxy_base_url |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #novncproxy_port = 6080 |
| |
| # |
| # The authentication schemes to use with the compute node. |
| # |
| # Control what RFB authentication schemes are permitted for |
| # connections between |
| # the proxy and the compute host. If multiple schemes are enabled, the |
| # first |
| # matching scheme will be used, thus the strongest schemes should be |
| # listed |
| # first. |
| # |
| # Possible values: |
| # |
| # * ``none``: allow connection without authentication |
| # * ``vencrypt``: use VeNCrypt authentication scheme |
| # |
| # Related options: |
| # |
| # * ``[vnc]vencrypt_client_key``, ``[vnc]vencrypt_client_cert``: must |
| # also be set |
| # (list value) |
| #auth_schemes = none |
| |
| # The path to the client certificate PEM file (for x509) |
| # |
| # The fully qualified path to a PEM file containing the private key |
| # which the VNC |
| # proxy server presents to the compute node during VNC authentication. |
| # |
| # Related options: |
| # |
| # * ``vnc.auth_schemes``: must include ``vencrypt`` |
| # * ``vnc.vencrypt_client_cert``: must also be set |
| # (string value) |
| #vencrypt_client_key = <None> |
| |
| # The path to the client key file (for x509) |
| # |
| # The fully qualified path to a PEM file containing the x509 |
| # certificate which |
| # the VNC proxy server presents to the compute node during VNC |
| # authentication. |
| # |
| # Realted options: |
| # |
| # * ``vnc.auth_schemes``: must include ``vencrypt`` |
| # * ``vnc.vencrypt_client_key``: must also be set |
| # (string value) |
| #vencrypt_client_cert = <None> |
| |
| # The path to the CA certificate PEM file |
| # |
| # The fully qualified path to a PEM file containing one or more x509 |
| # certificates |
| # for the certificate authorities used by the compute node VNC server. |
| # |
| # Related options: |
| # |
| # * ``vnc.auth_schemes``: must include ``vencrypt`` |
| # (string value) |
| #vencrypt_ca_certs = <None> |
| |
| |
| [workarounds] |
| # |
| # A collection of workarounds used to mitigate bugs or issues found in |
| # system |
| # tools (e.g. Libvirt or QEMU) or Nova itself under certain |
| # conditions. These |
| # should only be enabled in exceptional circumstances. All options are |
| # linked |
| # against bug IDs, where more information on the issue can be found. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Use sudo instead of rootwrap. |
| # |
| # Allow fallback to sudo for performance reasons. |
| # |
| # For more information, refer to the bug report: |
| # |
| # https://bugs.launchpad.net/nova/+bug/1415106 |
| # |
| # Possible values: |
| # |
| # * True: Use sudo instead of rootwrap |
| # * False: Use rootwrap as usual |
| # |
| # Interdependencies to other options: |
| # |
| # * Any options that affect 'rootwrap' will be ignored. |
| # (boolean value) |
| #disable_rootwrap = false |
| |
| # |
| # Disable live snapshots when using the libvirt driver. |
| # |
| # Live snapshots allow the snapshot of the disk to happen without an |
| # interruption to the guest, using coordination with a guest agent to |
| # quiesce the filesystem. |
| # |
| # When using libvirt 1.2.2 live snapshots fail intermittently under |
| # load |
| # (likely related to concurrent libvirt/qemu operations). This config |
| # option provides a mechanism to disable live snapshot, in favor of |
| # cold |
| # snapshot, while this is resolved. Cold snapshot causes an instance |
| # outage while the guest is going through the snapshotting process. |
| # |
| # For more information, refer to the bug report: |
| # |
| # https://bugs.launchpad.net/nova/+bug/1334398 |
| # |
| # Possible values: |
| # |
| # * True: Live snapshot is disabled when using libvirt |
| # * False: Live snapshots are always used when snapshotting (as long |
| # as |
| # there is a new enough libvirt and the backend storage supports it) |
| # (boolean value) |
| #disable_libvirt_livesnapshot = false |
| disable_libvirt_livesnapshot = {{ compute.get('workaround', {}).get('disable_libvirt_livesnapshot', True)|lower }} |
| |
| # |
| # Enable handling of events emitted from compute drivers. |
| # |
| # Many compute drivers emit lifecycle events, which are events that |
| # occur when, |
| # for example, an instance is starting or stopping. If the instance is |
| # going |
| # through task state changes due to an API operation, like resize, the |
| # events |
| # are ignored. |
| # |
| # This is an advanced feature which allows the hypervisor to signal to |
| # the |
| # compute service that an unexpected state change has occurred in an |
| # instance |
| # and that the instance can be shutdown automatically. Unfortunately, |
| # this can |
| # race in some conditions, for example in reboot operations or when |
| # the compute |
| # service or when host is rebooted (planned or due to an outage). If |
| # such races |
| # are common, then it is advisable to disable this feature. |
| # |
| # Care should be taken when this feature is disabled and |
| # 'sync_power_state_interval' is set to a negative value. In this |
| # case, any |
| # instances that get out of sync between the hypervisor and the Nova |
| # database |
| # will have to be synchronized manually. |
| # |
| # For more information, refer to the bug report: |
| # |
| # https://bugs.launchpad.net/bugs/1444630 |
| # |
| # Interdependencies to other options: |
| # |
| # * If ``sync_power_state_interval`` is negative and this feature is |
| # disabled, |
| # then instances that get out of sync between the hypervisor and the |
| # Nova |
| # database will have to be synchronized manually. |
| # (boolean value) |
| #handle_virt_lifecycle_events = true |
| |
| # |
| # Disable the server group policy check upcall in compute. |
| # |
| # In order to detect races with server group affinity policy, the |
| # compute |
| # service attempts to validate that the policy was not violated by the |
| # scheduler. It does this by making an upcall to the API database to |
| # list |
| # the instances in the server group for one that it is booting, which |
| # violates |
| # our api/cell isolation goals. Eventually this will be solved by |
| # proper affinity |
| # guarantees in the scheduler and placement service, but until then, |
| # this late |
| # check is needed to ensure proper affinity policy. |
| # |
| # Operators that desire api/cell isolation over this check should |
| # enable this flag, which will avoid making that upcall from compute. |
| # |
| # Related options: |
| # |
| # * [filter_scheduler]/track_instance_changes also relies on upcalls |
| # from the |
| # compute service to the scheduler service. |
| # (boolean value) |
| #disable_group_policy_check_upcall = false |
| |
| |
| [wsgi] |
| # |
| # Options under this group are used to configure WSGI (Web Server |
| # Gateway |
| # Interface). WSGI is used to serve API requests. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # This option represents a file name for the paste.deploy config for |
| # nova-api. |
| # |
| # Possible values: |
| # |
| # * A string representing file name for the paste.deploy config. |
| # (string value) |
| api_paste_config = /etc/nova/api-paste.ini |
| |
| # DEPRECATED: |
| # It represents a python format string that is used as the template to |
| # generate |
| # log lines. The following values can be formatted into it: client_ip, |
| # date_time, request_line, status_code, body_length, wall_seconds. |
| # |
| # This option is used for building custom request loglines when |
| # running |
| # nova-api under eventlet. If used under uwsgi or apache, this option |
| # has no effect. |
| # |
| # Possible values: |
| # |
| # * '%(client_ip)s "%(request_line)s" status: %(status_code)s' |
| # 'len: %(body_length)s time: %(wall_seconds).7f' (default) |
| # * Any formatted string formed by specific values. |
| # (string value) |
| # This option is deprecated for removal since 16.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # This option only works when running nova-api under eventlet, and |
| # encodes very eventlet specific pieces of information. Starting in |
| # Pike |
| # the preferred model for running nova-api is under uwsgi or apache |
| # mod_wsgi. |
| #wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f |
| |
| # |
| # This option specifies the HTTP header used to determine the protocol |
| # scheme |
| # for the original request, even if it was removed by a SSL |
| # terminating proxy. |
| # |
| # Possible values: |
| # |
| # * None (default) - the request scheme is not influenced by any HTTP |
| # headers |
| # * Valid HTTP header, like HTTP_X_FORWARDED_PROTO |
| # |
| # WARNING: Do not set this unless you know what you are doing. |
| # |
| # Make sure ALL of the following are true before setting this |
| # (assuming the |
| # values from the example above): |
| # * Your API is behind a proxy. |
| # * Your proxy strips the X-Forwarded-Proto header from all incoming |
| # requests. |
| # In other words, if end users include that header in their |
| # requests, the proxy |
| # will discard it. |
| # * Your proxy sets the X-Forwarded-Proto header and sends it to API, |
| # but only |
| # for requests that originally come in via HTTPS. |
| # |
| # If any of those are not true, you should keep this setting set to |
| # None. |
| # |
| # (string value) |
| #secure_proxy_ssl_header = <None> |
| |
| # |
| # This option allows setting path to the CA certificate file that |
| # should be used |
| # to verify connecting clients. |
| # |
| # Possible values: |
| # |
| # * String representing path to the CA certificate file. |
| # |
| # Related options: |
| # |
| # * enabled_ssl_apis |
| # (string value) |
| #ssl_ca_file = <None> |
| |
| # |
| # This option allows setting path to the SSL certificate of API |
| # server. |
| # |
| # Possible values: |
| # |
| # * String representing path to the SSL certificate. |
| # |
| # Related options: |
| # |
| # * enabled_ssl_apis |
| # (string value) |
| #ssl_cert_file = <None> |
| |
| # |
| # This option specifies the path to the file where SSL private key of |
| # API |
| # server is stored when SSL is in effect. |
| # |
| # Possible values: |
| # |
| # * String representing path to the SSL private key. |
| # |
| # Related options: |
| # |
| # * enabled_ssl_apis |
| # (string value) |
| #ssl_key_file = <None> |
| |
| # |
| # This option sets the value of TCP_KEEPIDLE in seconds for each |
| # server socket. |
| # It specifies the duration of time to keep connection active. TCP |
| # generates a |
| # KEEPALIVE transmission for an application that requests to keep |
| # connection |
| # active. Not supported on OS X. |
| # |
| # Related options: |
| # |
| # * keep_alive |
| # (integer value) |
| # Minimum value: 0 |
| #tcp_keepidle = 600 |
| |
| # |
| # This option specifies the size of the pool of greenthreads used by |
| # wsgi. |
| # It is possible to limit the number of concurrent connections using |
| # this |
| # option. |
| # (integer value) |
| # Minimum value: 0 |
| # Deprecated group/name - [DEFAULT]/wsgi_default_pool_size |
| #default_pool_size = 1000 |
| |
| # |
| # This option specifies the maximum line size of message headers to be |
| # accepted. |
| # max_header_line may need to be increased when using large tokens |
| # (typically |
| # those generated by the Keystone v3 API with big service catalogs). |
| # |
| # Since TCP is a stream based protocol, in order to reuse a |
| # connection, the HTTP |
| # has to have a way to indicate the end of the previous response and |
| # beginning |
| # of the next. Hence, in a keep_alive case, all messages must have a |
| # self-defined message length. |
| # (integer value) |
| # Minimum value: 0 |
| #max_header_line = 16384 |
| |
| # |
| # This option allows using the same TCP connection to send and receive |
| # multiple |
| # HTTP requests/responses, as opposed to opening a new one for every |
| # single |
| # request/response pair. HTTP keep-alive indicates HTTP connection |
| # reuse. |
| # |
| # Possible values: |
| # |
| # * True : reuse HTTP connection. |
| # * False : closes the client socket connection explicitly. |
| # |
| # Related options: |
| # |
| # * tcp_keepidle |
| # (boolean value) |
| # Deprecated group/name - [DEFAULT]/wsgi_keep_alive |
| #keep_alive = true |
| |
| # |
| # This option specifies the timeout for client connections' socket |
| # operations. |
| # If an incoming connection is idle for this number of seconds it will |
| # be |
| # closed. It indicates timeout on individual read/writes on the socket |
| # connection. To wait forever set to 0. |
| # (integer value) |
| # Minimum value: 0 |
| #client_socket_timeout = 900 |
| |
| |
| [xenserver] |
| # |
| # XenServer options are used when the compute_driver is set to use |
| # XenServer (compute_driver=xenapi.XenAPIDriver). |
| # |
| # Must specify connection_url, connection_password and |
| # ovs_integration_bridge to |
| # use compute_driver=xenapi.XenAPIDriver. |
| |
| # |
| # From nova.conf |
| # |
| |
| # |
| # Number of seconds to wait for agent's reply to a request. |
| # |
| # Nova configures/performs certain administrative actions on a server |
| # with the |
| # help of an agent that's installed on the server. The communication |
| # between |
| # Nova and the agent is achieved via sharing messages, called records, |
| # over |
| # xenstore, a shared storage across all the domains on a Xenserver |
| # host. |
| # Operations performed by the agent on behalf of nova are: 'version',' |
| # key_init', |
| # 'password','resetnetwork','inject_file', and 'agentupdate'. |
| # |
| # To perform one of the above operations, the xapi 'agent' plugin |
| # writes the |
| # command and its associated parameters to a certain location known to |
| # the domain |
| # and awaits response. On being notified of the message, the agent |
| # performs |
| # appropriate actions on the server and writes the result back to |
| # xenstore. This |
| # result is then read by the xapi 'agent' plugin to determine the |
| # success/failure |
| # of the operation. |
| # |
| # This config option determines how long the xapi 'agent' plugin shall |
| # wait to |
| # read the response off of xenstore for a given request/command. If |
| # the agent on |
| # the instance fails to write the result in this time period, the |
| # operation is |
| # considered to have timed out. |
| # |
| # Related options: |
| # |
| # * ``agent_version_timeout`` |
| # * ``agent_resetnetwork_timeout`` |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #agent_timeout = 30 |
| |
| # |
| # Number of seconds to wait for agent't reply to version request. |
| # |
| # This indicates the amount of time xapi 'agent' plugin waits for the |
| # agent to |
| # respond to the 'version' request specifically. The generic timeout |
| # for agent |
| # communication ``agent_timeout`` is ignored in this case. |
| # |
| # During the build process the 'version' request is used to determine |
| # if the |
| # agent is available/operational to perform other requests such as |
| # 'resetnetwork', 'password', 'key_init' and 'inject_file'. If the |
| # 'version' call |
| # fails, the other configuration is skipped. So, this configuration |
| # option can |
| # also be interpreted as time in which agent is expected to be fully |
| # operational. |
| # (integer value) |
| # Minimum value: 0 |
| #agent_version_timeout = 300 |
| |
| # |
| # Number of seconds to wait for agent's reply to resetnetwork |
| # request. |
| # |
| # This indicates the amount of time xapi 'agent' plugin waits for the |
| # agent to |
| # respond to the 'resetnetwork' request specifically. The generic |
| # timeout for |
| # agent communication ``agent_timeout`` is ignored in this case. |
| # (integer value) |
| # Minimum value: 0 |
| #agent_resetnetwork_timeout = 60 |
| |
| # |
| # Path to locate guest agent on the server. |
| # |
| # 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. |
| # |
| # Related options: |
| # |
| # For this option to have an effect: |
| # * ``flat_injected`` should be set to ``True`` |
| # * ``compute_driver`` should be set to ``xenapi.XenAPIDriver`` |
| # |
| # (string value) |
| #agent_path = usr/sbin/xe-update-networking |
| |
| # |
| # Disables the use of XenAPI agent. |
| # |
| # This configuration option suggests whether the use of agent should |
| # be enabled |
| # or not regardless of what image properties are present. Image |
| # properties have |
| # an effect only when this is set to ``True``. Read description of |
| # config option |
| # ``use_agent_default`` for more information. |
| # |
| # Related options: |
| # |
| # * ``use_agent_default`` |
| # |
| # (boolean value) |
| #disable_agent = false |
| |
| # |
| # Whether or not to use the agent by default when its usage is enabled |
| # but not |
| # indicated by the image. |
| # |
| # The use of XenAPI agent can be disabled altogether using the |
| # configuration |
| # option ``disable_agent``. However, if it is not disabled, the use of |
| # an agent |
| # can still be controlled by the image in use through one of its |
| # properties, |
| # ``xenapi_use_agent``. If this property is either not present or |
| # specified |
| # incorrectly on the image, the use of agent is determined by this |
| # configuration |
| # option. |
| # |
| # Note that if this configuration is set to ``True`` when the agent is |
| # not |
| # present, the boot times will increase significantly. |
| # |
| # Related options: |
| # |
| # * ``disable_agent`` |
| # |
| # (boolean value) |
| #use_agent_default = false |
| |
| # Timeout in seconds for XenAPI login. (integer value) |
| # Minimum value: 0 |
| #login_timeout = 10 |
| |
| # |
| # Maximum number of concurrent XenAPI connections. |
| # |
| # In nova, multiple XenAPI requests can happen at a time. |
| # Configuring this option will parallelize access to the XenAPI |
| # session, which allows you to make concurrent XenAPI connections. |
| # (integer value) |
| # Minimum value: 1 |
| #connection_concurrent = 5 |
| |
| # |
| # Cache glance images locally. |
| # |
| # The value for this option must be chosen from the choices listed |
| # here. Configuring a value other than these will default to 'all'. |
| # |
| # Note: There is nothing that deletes these images. |
| # |
| # Possible values: |
| # |
| # * `all`: will cache all images. |
| # * `some`: will only cache images that have the |
| # image_property `cache_in_nova=True`. |
| # * `none`: turns off caching entirely. |
| # (string value) |
| # Possible values: |
| # all - <No description provided> |
| # some - <No description provided> |
| # none - <No description provided> |
| #cache_images = all |
| |
| # |
| # Compression level for images. |
| # |
| # By setting this option we can configure the gzip compression level. |
| # This option sets GZIP environment variable before spawning tar -cz |
| # to force the compression level. It defaults to none, which means the |
| # GZIP environment variable is not set and the default (usually -6) |
| # is used. |
| # |
| # Possible values: |
| # |
| # * Range is 1-9, e.g., 9 for gzip -9, 9 being most |
| # compressed but most CPU intensive on dom0. |
| # * Any values out of this range will default to None. |
| # (integer value) |
| # Minimum value: 1 |
| # Maximum value: 9 |
| #image_compression_level = <None> |
| |
| # Default OS type used when uploading an image to glance (string |
| # value) |
| #default_os_type = linux |
| |
| # Time in secs to wait for a block device to be created (integer |
| # value) |
| # Minimum value: 1 |
| #block_device_creation_timeout = 10 |
| {%- if compute.block_device_creation_timeout is defined %} |
| block_device_creation_timeout = {{ compute.block_device_creation_timeout }} |
| {%- endif %} |
| |
| # |
| # Maximum size in bytes of kernel or ramdisk images. |
| # |
| # Specifying the maximum size of kernel or ramdisk will avoid copying |
| # large files to dom0 and fill up /boot/guest. |
| # (integer value) |
| #max_kernel_ramdisk_size = 16777216 |
| |
| # |
| # Filter for finding the SR to be used to install guest instances on. |
| # |
| # Possible values: |
| # |
| # * 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. |
| # * To fall back on the Default SR, as displayed by XenCenter, |
| # set this flag to: default-sr:true. |
| # (string value) |
| #sr_matching_filter = default-sr:true |
| |
| # |
| # 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) |
| #sparse_copy = true |
| |
| # |
| # Maximum number of retries to unplug VBD. |
| # If set to 0, should try once, no retries. |
| # (integer value) |
| # Minimum value: 0 |
| #num_vbd_unplug_retries = 10 |
| |
| # |
| # Name of network to use for booting iPXE ISOs. |
| # |
| # An iPXE ISO is a specially crafted ISO which supports iPXE booting. |
| # This feature gives a means to roll your own image. |
| # |
| # By default this option is not set. Enable this option to |
| # boot an iPXE ISO. |
| # |
| # Related Options: |
| # |
| # * `ipxe_boot_menu_url` |
| # * `ipxe_mkisofs_cmd` |
| # (string value) |
| #ipxe_network_name = <None> |
| |
| # |
| # URL to the iPXE boot menu. |
| # |
| # An iPXE ISO is a specially crafted ISO which supports iPXE booting. |
| # This feature gives a means to roll your own image. |
| # |
| # By default this option is not set. Enable this option to |
| # boot an iPXE ISO. |
| # |
| # Related Options: |
| # |
| # * `ipxe_network_name` |
| # * `ipxe_mkisofs_cmd` |
| # (string value) |
| #ipxe_boot_menu_url = <None> |
| |
| # |
| # Name and optionally path of the tool used for ISO image creation. |
| # |
| # An iPXE ISO is a specially crafted ISO which supports iPXE booting. |
| # This feature gives a means to roll your own image. |
| # |
| # Note: By default `mkisofs` is not present in the Dom0, so the |
| # package can either be manually added to Dom0 or include the |
| # `mkisofs` binary in the image itself. |
| # |
| # Related Options: |
| # |
| # * `ipxe_network_name` |
| # * `ipxe_boot_menu_url` |
| # (string value) |
| #ipxe_mkisofs_cmd = mkisofs |
| |
| # |
| # URL for connection to XenServer/Xen Cloud Platform. A special value |
| # of unix://local can be used to connect to the local unix socket. |
| # |
| # Possible values: |
| # |
| # * Any string that represents a URL. The connection_url is |
| # generally the management network IP address of the XenServer. |
| # * This option must be set if you chose the XenServer driver. |
| # (string value) |
| #connection_url = <None> |
| |
| # Username for connection to XenServer/Xen Cloud Platform (string |
| # value) |
| #connection_username = root |
| |
| # Password for connection to XenServer/Xen Cloud Platform (string |
| # value) |
| #connection_password = <None> |
| |
| # |
| # The interval used for polling of coalescing vhds. |
| # |
| # This is the interval after which the task of coalesce VHD is |
| # performed, until it reaches the max attempts that is set by |
| # vhd_coalesce_max_attempts. |
| # |
| # Related options: |
| # |
| # * `vhd_coalesce_max_attempts` |
| # (floating point value) |
| # Minimum value: 0 |
| #vhd_coalesce_poll_interval = 5.0 |
| |
| # |
| # Ensure compute service is running on host XenAPI connects to. |
| # This option must be set to false if the 'independent_compute' |
| # option is set to true. |
| # |
| # Possible values: |
| # |
| # * Setting this option to true will make sure that compute service |
| # is running on the same host that is specified by connection_url. |
| # * Setting this option to false, doesn't perform the check. |
| # |
| # Related options: |
| # |
| # * `independent_compute` |
| # (boolean value) |
| #check_host = true |
| |
| # |
| # Max number of times to poll for VHD to coalesce. |
| # |
| # This option determines the maximum number of attempts that can be |
| # made for coalescing the VHD before giving up. |
| # |
| # Related opitons: |
| # |
| # * `vhd_coalesce_poll_interval` |
| # (integer value) |
| # Minimum value: 0 |
| #vhd_coalesce_max_attempts = 20 |
| |
| # Base path to the storage repository on the XenServer host. (string |
| # value) |
| #sr_base_path = /var/run/sr-mount |
| |
| # |
| # The iSCSI Target Host. |
| # |
| # This option represents the hostname or ip of the iSCSI Target. |
| # If the target host is not present in the connection information from |
| # the volume provider then the value from this option is taken. |
| # |
| # Possible values: |
| # |
| # * Any string that represents hostname/ip of Target. |
| # (unknown value) |
| #target_host = <None> |
| |
| # |
| # The iSCSI Target Port. |
| # |
| # This option represents the port of the iSCSI Target. If the |
| # target port is not present in the connection information from the |
| # volume provider then the value from this option is taken. |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #target_port = 3260 |
| |
| # |
| # Used to prevent attempts to attach VBDs locally, so Nova can |
| # be run in a VM on a different host. |
| # |
| # Related options: |
| # |
| # * ``CONF.flat_injected`` (Must be False) |
| # * ``CONF.xenserver.check_host`` (Must be False) |
| # * ``CONF.default_ephemeral_format`` (Must be unset or 'ext3') |
| # * Joining host aggregates (will error if attempted) |
| # * Swap disks for Windows VMs (will error if attempted) |
| # * Nova-based auto_configure_disk (will error if attempted) |
| # (boolean value) |
| #independent_compute = false |
| |
| # |
| # Wait time for instances to go to running state. |
| # |
| # Provide an integer value representing time in seconds to set the |
| # wait time for an instance to go to running state. |
| # |
| # When a request to create an instance is received by nova-api and |
| # communicated to nova-compute, the creation of the instance occurs |
| # through interaction with Xen via XenAPI in the compute node. Once |
| # the node on which the instance(s) are to be launched is decided by |
| # nova-schedule and the launch is triggered, a certain amount of wait |
| # time is involved until the instance(s) can become available and |
| # 'running'. This wait time is defined by running_timeout. If the |
| # instances do not go to running state within this specified wait |
| # time, the launch expires and the instance(s) are set to 'error' |
| # state. |
| # (integer value) |
| # Minimum value: 0 |
| #running_timeout = 60 |
| |
| # DEPRECATED: |
| # The XenAPI VIF driver using XenServer Network APIs. |
| # |
| # Provide a string value representing the VIF XenAPI vif driver to use |
| # for |
| # plugging virtual network interfaces. |
| # |
| # Xen configuration uses bridging within the backend domain to allow |
| # all VMs to appear on the network as individual hosts. Bridge |
| # interfaces are used to create a XenServer VLAN network in which |
| # the VIFs for the VM instances are plugged. If no VIF bridge driver |
| # is plugged, the bridge is not made available. This configuration |
| # option takes in a value for the VIF driver. |
| # |
| # Possible values: |
| # |
| # * nova.virt.xenapi.vif.XenAPIOpenVswitchDriver (default) |
| # * nova.virt.xenapi.vif.XenAPIBridgeDriver (deprecated) |
| # |
| # Related options: |
| # |
| # * ``vlan_interface`` |
| # * ``ovs_integration_bridge`` |
| # (string value) |
| # This option is deprecated for removal since 15.0.0. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # There are only two in-tree vif drivers for XenServer. |
| # XenAPIBridgeDriver is for |
| # nova-network which is deprecated and XenAPIOpenVswitchDriver is for |
| # Neutron |
| # which is the default configuration for Nova since the 15.0.0 Ocata |
| # release. In |
| # the future the "use_neutron" configuration option will be used to |
| # determine |
| # which vif driver to use. |
| #vif_driver = nova.virt.xenapi.vif.XenAPIOpenVswitchDriver |
| |
| # |
| # Dom0 plugin driver used to handle image uploads. |
| # |
| # Provide a string value representing a plugin driver required to |
| # handle the image uploading to GlanceStore. |
| # |
| # Images, and snapshots from XenServer need to be uploaded to the data |
| # store for use. image_upload_handler takes in a value for the Dom0 |
| # plugin driver. This driver is then called to uplaod images to the |
| # GlanceStore. |
| # (string value) |
| #image_upload_handler = nova.virt.xenapi.image.glance.GlanceStore |
| |
| # |
| # Number of seconds to wait for SR to settle if the VDI |
| # does not exist when first introduced. |
| # |
| # Some SRs, particularly iSCSI connections are slow to see the VDIs |
| # right after they got introduced. Setting this option to a |
| # time interval will make the SR to wait for that time period |
| # before raising VDI not found exception. |
| # (integer value) |
| # Minimum value: 0 |
| #introduce_vdi_retry_wait = 20 |
| |
| # |
| # The name of the integration Bridge that is used with xenapi |
| # when connecting with Open vSwitch. |
| # |
| # Note: The value of this config option is dependent on the |
| # environment, therefore this configuration value must be set |
| # accordingly if you are using XenAPI. |
| # |
| # Possible values: |
| # |
| # * Any string that represents a bridge name. |
| # (string value) |
| #ovs_integration_bridge = <None> |
| |
| # |
| # When adding new host to a pool, this will append a --force flag to |
| # the |
| # command, forcing hosts to join a pool, even if they have different |
| # CPUs. |
| # |
| # Since XenServer version 5.6 it is possible to create a pool of hosts |
| # that have |
| # different CPU capabilities. To accommodate CPU differences, |
| # XenServer limited |
| # features it uses to determine CPU compatibility to only the ones |
| # that are |
| # exposed by CPU and support for CPU masking was added. |
| # Despite this effort to level differences between CPUs, it is still |
| # possible |
| # that adding new host will fail, thus option to force join was |
| # introduced. |
| # (boolean value) |
| #use_join_force = true |
| |
| # |
| # Publicly visible name for this console host. |
| # |
| # Possible values: |
| # |
| # * Current hostname (default) or any string representing hostname. |
| # (string value) |
| #console_public_hostname = <current_hostname> |
| |
| |
| [xvp] |
| # |
| # Configuration options for XVP. |
| # |
| # xvp (Xen VNC Proxy) is a proxy server providing password-protected |
| # VNC-based |
| # access to the consoles of virtual machines hosted on Citrix |
| # XenServer. |
| |
| # |
| # From nova.conf |
| # |
| |
| # XVP conf template (string value) |
| #console_xvp_conf_template = $pybasedir/nova/console/xvp.conf.template |
| |
| # Generated XVP conf file (string value) |
| #console_xvp_conf = /etc/xvp.conf |
| |
| # XVP master process pid file (string value) |
| #console_xvp_pid = /var/run/xvp.pid |
| |
| # XVP log file (string value) |
| #console_xvp_log = /var/log/xvp.log |
| |
| # Port for XVP to multiplex VNC connections on (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #console_xvp_multiplex_port = 5900 |
| |
| [matchmaker_redis] |
| {#- include "oslo_templates/oslo/_matchmaker_redis.conf" #} |
| |
| [oslo_messaging_notifications] |
| {%- set _data = compute.notification %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_notifications.conf" %} |
| |
| {%- if compute.message_queue is defined %} |
| {%- set _data = compute.message_queue %} |
| {%- if _data.engine == 'rabbitmq' %} |
| {%- set messaging_engine = 'rabbit' %} |
| {%- else %} |
| {%- set messaging_engine = _data.engine %} |
| {%- endif %} |
| [oslo_messaging_{{ messaging_engine }}] |
| {%- if _data.ssl is defined and 'cacert_file' not in _data.get('ssl', {}).keys() %}{% do _data['ssl'].update({'cacert_file': compute.cacert_file}) %}{% endif %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_" + messaging_engine + ".conf" %} |
| {%- endif %} |
| |
| [oslo_policy] |
| {%- if compute.policy is defined %} |
| {%- set _data = compute.policy %} |
| {%- include "oslo_templates/files/queens/oslo/_policy.conf" %} |
| {%- endif %} |
| |
| [database] |
| {%- set _data = compute.database %} |
| {%- if _data.ssl is defined and 'cacert_file' not in _data.get('ssl', {}).keys() %}{% do _data['ssl'].update({'cacert_file': compute.cacert_file}) %}{% endif %} |
| {%- include "oslo_templates/files/queens/oslo/_database.conf" %} |
| |
| [oslo_middleware] |
| {%- set _data = compute %} |
| {%- include "oslo_templates/files/queens/oslo/_middleware.conf" %} |
| |
| [keystone_authtoken] |
| {%- set _data = compute.identity %} |
| {%- if 'cacert_file' not in _data.keys() %}{% do _data.update({'cacert_file': compute.cacert_file}) %}{% endif %} |
| {%- set auth_type = _data.get('auth_type', 'password') %} |
| {%- if compute.get('cache',{}).members is defined and 'cache' not in _data.keys() %} |
| {% do _data.update({'cache': compute.cache}) %} |
| {%- endif %} |
| {%- include "oslo_templates/files/queens/keystonemiddleware/_auth_token.conf" %} |
| {%- include "oslo_templates/files/queens/keystoneauth/_type_" + auth_type + ".conf" %} |
| |