Azureο
Zuul can use Azure as a source for build nodes.
Before using the Azure driver, make sure you have created a service principal.
Two methods of authenticating the service principal are available: a shared secret or OIDC federation.
To use a shared secret: save the credential information in a JSON
file. Follow the instructions at Azure CLI and use the
--sdk-auth flag:
az ad sp create-for-rbac --name zuul --sdk-auth
There are two options for providing the information in this file to Zuul: place this file on the zuul-launcher and refer to it using <azure connection>.shared_credentials_file or extract the information in the file and provide it directly with the configuration options below.
To use OIDC federation, the JWT must be available in a file on the zuul-launcher (for example, by way of Kubernetes secret projection). Set the <azure connection>.subscription_id, <azure connection>.tenant_id, <azure connection>.client_id, and <azure connection>.federated_token_file fields.
You must also have created a network for Zuul to use. Be sure to enable IPv6 on the network if you plan to use it.
The Azure driver uses the βStandardβ SKU for all public IP addresses. Standard IP addresses block all incoming traffic by default, therefore the use of a Network Security Group is required in order to allow incoming traffic. You will need to create one, add any required rules, and attach it to the subnet created above.
You may also need to register the Microsoft.Compute resource provider with your subscription.
The azure driver adds the following options to the provider
and section configurations:
Connection Configurationο
The supported options in zuul.conf connections are:
-
<azure connection>ο
-
<azure connection>.driver (required)ο
- azureο
The connection must set
driver=azurefor Azure connections.
A path to JSON file with shared access credentials. If this is supplied, no other credential settings need to be present.
-
<azure connection>.federated_token_fileο
Path to the a file containing a JWT for use with OIDC federation.
-
<azure connection>.tenant_idο
The Microsoft Entra tenant ID for the account. Required unless <azure connection>.shared_credentials_file is set.
-
<azure connection>.client_idο
The Microsoft Entra client ID for the account. Required unless <azure connection>.shared_credentials_file is set.
-
<azure connection>.client_secretο
The shared secret for the principal. Required unless <azure connection>.shared_credentials_file or <azure connection>.federated_token_file are set.
-
<azure connection>.subscription_idο
The Azure subscription to use. Required unless <azure connection>.shared_credentials_file is set.
-
<azure connection>.rateο
Default:2 The API rate limit (in requests per second) to use when performing API calls with Azure.
-
<azure connection>.driver (required)ο
Provider Configurationο
The azure driver adds the following options to the provider
and section configurations:
-
provider[azure]ο
Type: dict The attributes available for configuring an Azure provider are below.
-
provider[azure].abstractο
Default:False
Type: bool Whether a section is intended to be inherited by another section or a provider. This setting is currently unused (but may be used in the future). If a section is used to provide common values to other sections, set this to true. Otherwise, the default of false indicates that the section should be referenced directly by providers.
-
provider[azure].connectionο
Type: str The name of the connection to use. This attribute is only used by section objects and may not be changed via inheritance.
-
provider[azure].flavor-defaultsο
Type: dict Attributes to be set as default values for any flavor used with this provider. Many attributes which may be set on an individual flavor may be set once in this section and used for all the flavors in this provider. Values set on individual flavors may still override the values set here.
-
provider[azure].flavor-defaults.ephemeral-diskο
Type: bool If set to
true, Azure will create an ephemeral OS disk instead of a managed disk.
-
provider[azure].flavor-defaults.finalο
Default:False Whether the configuration of the flavor may be updated by values in flavor-defaults or overidden with a new definition by sections or providers lower in the hierarchy than the point at which the final attribute is applied.
- Trueο
The flavor may not be updated or overidden.
- Falseο
The flavor may be updated or overidden.
- allow-overrideο
The flavor may not be updated by flavor-defaults but may be explicitly overidden by redefining it in a new βflavorβ entry.
-
provider[azure].flavor-defaults.generate-passwordο
Type: bool If booting a Windows image, an administrative password is required. If the password is not actually used (e.g., the image has key-based authentication enabled), a random password can be provided by enabling this option. The password is not stored anywhere and is not retrievable.
-
provider[azure].flavor-defaults.public-ipv4ο
Default:False
Type: bool Whether a public IPv4 address should be attached to nodes.
-
provider[azure].flavor-defaults.public-ipv6ο
Default:False
Type: bool Whether a public IPv6 address should be attached to nodes.
-
provider[azure].flavor-defaults.userdataο
Type: str A string of userdata for a node. Systems such as βcloud-initβ may use this to configure the node on boot.
-
provider[azure].flavor-defaults.volume-sizeο
Type: int The size of the operating system disk, in GiB.
-
provider[azure].flavor-defaults.ephemeral-diskο
-
provider[azure].flavorsο
Type: dict A list of flavors associated with this provider.
-
provider[azure].flavors.descriptionο
Type: str A textual description of the image for reference purposes.
-
provider[azure].flavors.ephemeral-diskο
Type: bool If set to
true, Azure will create an ephemeral OS disk instead of a managed disk.
-
provider[azure].flavors.finalο
Default:False Whether the configuration of the flavor may be updated by values in flavor-defaults or overidden with a new definition by sections or providers lower in the hierarchy than the point at which the final attribute is applied.
- Trueο
The flavor may not be updated or overidden.
- Falseο
The flavor may be updated or overidden.
- allow-overrideο
The flavor may not be updated by flavor-defaults but may be explicitly overidden by redefining it in a new βflavorβ entry.
-
provider[azure].flavors.generate-passwordο
Type: bool If booting a Windows image, an administrative password is required. If the password is not actually used (e.g., the image has key-based authentication enabled), a random password can be provided by enabling this option. The password is not stored anywhere and is not retrievable.
-
provider[azure].flavors.ipv4ο
Default:False
Type: bool Whether to enable IPv4 networking. Defaults to true unless IPv6 is enabled. Enabling this will attach a private IPv4 address.
-
provider[azure].flavors.ipv6ο
Default:False
Type: bool Whether to enable IPv6 networking. Enabling this will attach a private IPv6 address.
-
provider[azure].flavors.nameο
Type: str The name of the flavor. Used to refer to the flavor in Zuul configuration.
-
provider[azure].flavors.priorityο
Default:regular Whether to create regular or spot instances.
- regularο
A regular instance.
- spotο
A spot instance.
-
provider[azure].flavors.public-ipv4ο
Default:False
Type: bool Whether a public IPv4 address should be attached to nodes.
-
provider[azure].flavors.public-ipv6ο
Default:False
Type: bool Whether a public IPv6 address should be attached to nodes.
-
provider[azure].flavors.userdataο
Type: str A string of userdata for a node. Systems such as βcloud-initβ may use this to configure the node on boot.
-
provider[azure].flavors.vm-sizeο
Type: str Size of the VM to use in Azure. See the List of VM sizes for the list of sizes availabile in each region.
-
provider[azure].flavors.volume-sizeο
Type: int The size of the operating system disk, in GiB.
-
provider[azure].flavors.descriptionο
-
provider[azure].image-defaultsο
Type: dict Attributes to be set as default values for any image used with this provider. Many attributes which may be set on an individual image may be set once in this section and used for all the images in this provider. Values set on individual images may still override the values set here.
-
provider[azure].image-defaults.connection-portο
Type: int The port that Zuul should use when connecting to the node. For most nodes this is not necessary. This defaults to 22 when
connection-typeis βsshβ and 5986 when it is βwinrmβ.
-
provider[azure].image-defaults.connection-typeο
The connection type that a consumer should use when connecting to the node.
- winrmο
A winrm connection.
- sshο
An ssh connection.
-
provider[azure].image-defaults.ephemeral-diskο
Type: bool If set to
true, Azure will create an ephemeral OS disk instead of a managed disk.
-
provider[azure].image-defaults.finalο
Default:False Whether the configuration of the label may be updated by values in label-defaults or overidden with a new definition by sections or providers lower in the hierarchy than the point at which the final attribute is applied.
- Trueο
The label may not be updated or overidden.
- Falseο
The label may be updated or overidden.
- allow-overrideο
The label may not be updated by label-defaults but may be explicitly overidden by redefining it in a new βlabelβ entry.
-
provider[azure].image-defaults.generate-passwordο
Type: bool If booting a Windows image, an administrative password is required. If the password is not actually used (e.g., the image has key-based authentication enabled), a random password can be provided by enabling this option. The password is not stored anywhere and is not retrievable.
-
provider[azure].image-defaults.import-timeoutο
Default:300
Type: int The limit on the amount of time a successful image import can take.
-
provider[azure].image-defaults.max-retain-countο
Type: int A limit for how many images to keep available. This provides an upper limit for the retain-count attribute; any attempt to set retain-count higher than this value in any images, sections or providers that inherit this value will result in an error.
Once max-retain-count, sections and providers that inherit it may not set it to a larger value, but may further reduce it.
-
provider[azure].image-defaults.python-pathο
Type: str The path of the default python interpreter. Used by Zuul to set
ansible_python_interpreter. The special valueautowill direct Zuul to use inbuilt Ansible logic to select the interpreter.
-
provider[azure].image-defaults.retain-countο
Default:2
Type: int How many images to keep available. As new images are created, the most recent retain-count validated images will be kept available. Keeping more than one image available allows tenant admins to choose to fall-back on older images in case new images exhibit problems. The most recent (and therefore, in-use) image is included in the count. So a retain-count of 1 means to only keep the current in-use image; a count of 2 means to keep one extra image as a backup.
-
provider[azure].image-defaults.shell-typeο
Type: str The shell type of the nodeβs default shell executable. Used by Zuul to set
ansible_shell_type. This setting should only be usedFor a windows image with the experimental connection-type
sshin which casecmdorpowershellshould be set and reflect the nodeβsDefaultShellconfiguration.If the default shell is not Bourne compatible (sh), but instead e.g.
cshorfish, and the user is aware that there is a long-standing issue withansible_shell_typein combination withbecome.
-
provider[azure].image-defaults.tagsο
Type: dict A dictionary of tags to add to uploaded images, and to nodes created from them. Avoid the use of zuul_ as a key prefix since Zuul uses this for internal values.
-
provider[azure].image-defaults.upload-methodsο
Default:['copy', 'import', 'upload']
Type: list An ordered list of methods to use when creating an image in the provider.
- copyο
Copy the image from another provider if available.
- importο
Import the image directly from its storage location.
- uploadο
Download the image from its storage location and upload it to the provider.
-
provider[azure].image-defaults.userdataο
Type: str A string of userdata for a node. Systems such as βcloud-initβ may use this to configure the node on boot.
-
provider[azure].image-defaults.usernameο
Type: str The username Zuul should use when connecting to the node.
-
provider[azure].image-defaults.volume-sizeο
Type: int The size of the operating system disk, in GiB.
-
provider[azure].image-defaults.connection-portο
-
provider[azure].imagesο
Type: list A list of images associated with this provider.
-
provider[azure].images[cloud]ο
Type: dict These are the attributes available for a cloud image.
-
provider[azure].images[cloud].community-gallery-imageο
Type: dict Specifies a community gallery image to use. Either this field, provider[azure].images[cloud].shared-gallery-image, provider[azure].images[cloud].image-reference, provider[azure].images[cloud].image-id, or provider[azure].images[cloud].image-filter must be provided.
-
provider[azure].images[cloud].community-gallery-image.gallery-nameο
Type: str The image gallery name.
-
provider[azure].images[cloud].community-gallery-image.nameο
Type: str The image name.
-
provider[azure].images[cloud].community-gallery-image.versionο
Type: str The image version. Omit to use the latest version.
-
provider[azure].images[cloud].community-gallery-image.gallery-nameο
-
provider[azure].images[cloud].connection-portο
Type: int The port that Zuul should use when connecting to the node. For most nodes this is not necessary. This defaults to 22 when
connection-typeis βsshβ and 5986 when it is βwinrmβ.
-
provider[azure].images[cloud].connection-typeο
The connection type that a consumer should use when connecting to the node.
- winrmο
A winrm connection.
- sshο
An ssh connection.
-
provider[azure].images[cloud].descriptionο
Type: str A textual description of the image for reference purposes.
-
provider[azure].images[cloud].ephemeral-diskο
Type: bool If set to
true, Azure will create an ephemeral OS disk instead of a managed disk.
-
provider[azure].images[cloud].finalο
Default:False Whether the configuration of the label may be updated by values in label-defaults or overidden with a new definition by sections or providers lower in the hierarchy than the point at which the final attribute is applied.
- Trueο
The label may not be updated or overidden.
- Falseο
The label may be updated or overidden.
- allow-overrideο
The label may not be updated by label-defaults but may be explicitly overidden by redefining it in a new βlabelβ entry.
-
provider[azure].images[cloud].generate-passwordο
Type: bool If booting a Windows image, an administrative password is required. If the password is not actually used (e.g., the image has key-based authentication enabled), a random password can be provided by enabling this option. The password is not stored anywhere and is not retrievable.
-
provider[azure].images[cloud].image-filterο
Type: dict Specifies a private image to use via filters. Either this field, provider[azure].images[cloud].shared-gallery-image, provider[azure].images[cloud].community-gallery-image, provider[azure].images[cloud].image-reference, or provider[azure].images[cloud].image-id must be provided.
If a filter is provided, Zuul will list all of the images in the providerβs resource group and reduce the list using the supplied filter. All items specified in the filter must match in order for an image to match. If more than one image matches, the images are sorted by name and the last one matches.
The following filters are available:
-
provider[azure].images[cloud].image-filter.locationο
Type: str The image location.
-
provider[azure].images[cloud].image-filter.nameο
Type: str The image name.
-
provider[azure].images[cloud].image-filter.tagsο
Type: dict The image tags.
-
provider[azure].images[cloud].image-filter.locationο
-
provider[azure].images[cloud].image-idο
Type: str Specifies a private image to use by ID. Either this field, provider[azure].images[cloud].shared-gallery-image, provider[azure].images[cloud].community-gallery-image, provider[azure].images[cloud].image-reference, or provider[azure].images[cloud].image-filter must be provided.
-
provider[azure].images[cloud].image-referenceο
Type: dict Specifies a public image to use by reference. Either this field, provider[azure].images[cloud].shared-gallery-image, provider[azure].images[cloud].community-gallery-image, provider[azure].images[cloud].image-id, or provider[azure].images[cloud].image-filter must be provided.
-
provider[azure].images[cloud].image-reference.offerο
Type: str The image offer.
-
provider[azure].images[cloud].image-reference.publisherο
Type: str The image Publisher.
-
provider[azure].images[cloud].image-reference.skuο
Type: str The image SKU.
-
provider[azure].images[cloud].image-reference.versionο
Type: str The image version.
-
provider[azure].images[cloud].image-reference.offerο
-
provider[azure].images[cloud].import-timeoutο
Default:300
Type: int The limit on the amount of time a successful image import can take.
-
provider[azure].images[cloud].nameο
Type: str The name of the image. Used to refer to the image in Zuul configuration.
-
provider[azure].images[cloud].python-pathο
Type: str The path of the default python interpreter. Used by Zuul to set
ansible_python_interpreter. The special valueautowill direct Zuul to use inbuilt Ansible logic to select the interpreter.
Specifies a shared gallery image to use. Either this field, provider[azure].images[cloud].community-gallery-image, provider[azure].images[cloud].image-reference, provider[azure].images[cloud].image-id, or provider[azure].images[cloud].image-filter must be provided.
The image gallery name.
The image name.
The image version. Omit to use the latest version.
-
provider[azure].images[cloud].shell-typeο
Type: str The shell type of the nodeβs default shell executable. Used by Zuul to set
ansible_shell_type. This setting should only be usedFor a windows image with the experimental connection-type
sshin which casecmdorpowershellshould be set and reflect the nodeβsDefaultShellconfiguration.If the default shell is not Bourne compatible (sh), but instead e.g.
cshorfish, and the user is aware that there is a long-standing issue withansible_shell_typein combination withbecome.
-
provider[azure].images[cloud].typeο
The type of image.
- cloudο
An existing image available in the cloud.
-
provider[azure].images[cloud].userdataο
Type: str A string of userdata for a node. Systems such as βcloud-initβ may use this to configure the node on boot.
-
provider[azure].images[cloud].usernameο
Type: str The username Zuul should use when connecting to the node.
-
provider[azure].images[cloud].volume-sizeο
Type: int The size of the operating system disk, in GiB.
-
provider[azure].images[cloud].community-gallery-imageο
-
provider[azure].images[zuul]ο
Type: dict These are the attributes available for a Zuul image.
-
provider[azure].images[zuul].connection-portο
Type: int The port that Zuul should use when connecting to the node. For most nodes this is not necessary. This defaults to 22 when
connection-typeis βsshβ and 5986 when it is βwinrmβ.
-
provider[azure].images[zuul].connection-typeο
The connection type that a consumer should use when connecting to the node.
- winrmο
A winrm connection.
- sshο
An ssh connection.
-
provider[azure].images[zuul].descriptionο
Type: str A textual description of the image for reference purposes.
-
provider[azure].images[zuul].ephemeral-diskο
Type: bool If set to
true, Azure will create an ephemeral OS disk instead of a managed disk.
-
provider[azure].images[zuul].finalο
Default:False Whether the configuration of the label may be updated by values in label-defaults or overidden with a new definition by sections or providers lower in the hierarchy than the point at which the final attribute is applied.
- Trueο
The label may not be updated or overidden.
- Falseο
The label may be updated or overidden.
- allow-overrideο
The label may not be updated by label-defaults but may be explicitly overidden by redefining it in a new βlabelβ entry.
-
provider[azure].images[zuul].generate-passwordο
Type: bool If booting a Windows image, an administrative password is required. If the password is not actually used (e.g., the image has key-based authentication enabled), a random password can be provided by enabling this option. The password is not stored anywhere and is not retrievable.
-
provider[azure].images[zuul].import-timeoutο
Default:300
Type: int The limit on the amount of time a successful image import can take.
-
provider[azure].images[zuul].max-retain-countο
Type: int A limit for how many images to keep available. This provides an upper limit for the retain-count attribute; any attempt to set retain-count higher than this value in any images, sections or providers that inherit this value will result in an error.
Once max-retain-count, sections and providers that inherit it may not set it to a larger value, but may further reduce it.
-
provider[azure].images[zuul].nameο
Type: str The name of the image. Used to refer to the image in Zuul configuration.
-
provider[azure].images[zuul].python-pathο
Type: str The path of the default python interpreter. Used by Zuul to set
ansible_python_interpreter. The special valueautowill direct Zuul to use inbuilt Ansible logic to select the interpreter.
-
provider[azure].images[zuul].retain-countο
Default:2
Type: int How many images to keep available. As new images are created, the most recent retain-count validated images will be kept available. Keeping more than one image available allows tenant admins to choose to fall-back on older images in case new images exhibit problems. The most recent (and therefore, in-use) image is included in the count. So a retain-count of 1 means to only keep the current in-use image; a count of 2 means to keep one extra image as a backup.
-
provider[azure].images[zuul].shell-typeο
Type: str The shell type of the nodeβs default shell executable. Used by Zuul to set
ansible_shell_type. This setting should only be usedFor a windows image with the experimental connection-type
sshin which casecmdorpowershellshould be set and reflect the nodeβsDefaultShellconfiguration.If the default shell is not Bourne compatible (sh), but instead e.g.
cshorfish, and the user is aware that there is a long-standing issue withansible_shell_typein combination withbecome.
-
provider[azure].images[zuul].tagsο
Type: dict A dictionary of tags to add to uploaded images, and to nodes created from them. Avoid the use of zuul_ as a key prefix since Zuul uses this for internal values.
-
provider[azure].images[zuul].upload-methodsο
Default:['copy', 'import', 'upload']
Type: list An ordered list of methods to use when creating an image in the provider.
- copyο
Copy the image from another provider if available.
- importο
Import the image directly from its storage location.
- uploadο
Download the image from its storage location and upload it to the provider.
-
provider[azure].images[zuul].userdataο
Type: str A string of userdata for a node. Systems such as βcloud-initβ may use this to configure the node on boot.
-
provider[azure].images[zuul].usernameο
Type: str The username Zuul should use when connecting to the node.
-
provider[azure].images[zuul].volume-sizeο
Type: int The size of the operating system disk, in GiB.
-
provider[azure].images[zuul].connection-portο
-
provider[azure].label-defaultsο
Type: dict Attributes to be set as default values for any label used with this provider. Many attributes which may be set on an individual label may be set once in this section and used for all the labels in this provider. Values set on individual labels may still override the values set here.
-
provider[azure].label-defaults.aliasesο
Type: str A list of label aliases to associate with nodes created from this label. These labels may be used to request existing ready nodes that were previously created from this label, but none of their attributes will be used to define characteristics.
-
provider[azure].label-defaults.boot-timeoutο
Default:300
Type: int The time (in seconds) to wait for a node to boot.
-
provider[azure].label-defaults.ephemeral-diskο
Type: bool If set to
true, Azure will create an ephemeral OS disk instead of a managed disk.
-
provider[azure].label-defaults.executor-zoneο
Type: str Specify that a Zuul executor in the specified zone is used to run jobs with nodes from this label.
-
provider[azure].label-defaults.finalο
Default:False Whether the configuration of the label may be updated by values in label-defaults or overidden with a new definition by sections or providers lower in the hierarchy than the point at which the final attribute is applied.
- Trueο
The label may not be updated or overidden.
- Falseο
The label may be updated or overidden.
- allow-overrideο
The label may not be updated by label-defaults but may be explicitly overidden by redefining it in a new βlabelβ entry.
-
provider[azure].label-defaults.generate-passwordο
Type: bool If booting a Windows image, an administrative password is required. If the password is not actually used (e.g., the image has key-based authentication enabled), a random password can be provided by enabling this option. The password is not stored anywhere and is not retrievable.
-
provider[azure].label-defaults.host-key-checkingο
Default:True
Type: bool Whether to validate SSH host keys. When true, this helps ensure that nodes are ready to receive SSH connections before they are used. When set to false, Zuul will not attempt to ssh-keyscan nodes after they are booted. Disable this if the zuul-launcher and the nodes it launches are on different networks, where the launcher is unable to reach the nodes directly.
-
provider[azure].label-defaults.key-dataο
Type: str The SSH public key that should be installed on the node.
-
provider[azure].label-defaults.max-ageο
Default:0
Type: int The time (in seconds) since creation that a node may be available for use. Ready nodes older than this time will be deleted.
-
provider[azure].label-defaults.max-ready-ageο
Default:0
Type: int The time (in seconds) an unassigned node should stay in ready state.
-
provider[azure].label-defaults.min-retention-timeο
Default:0
Type: int The time (in seconds) since an instance was launched, during which a node will not be deleted. For node resources with minimum billing times, this can be used to ensure that the instance is retained for at least the minimum billing interval.
This setting takes precedence over max-[ready-]age.
-
provider[azure].label-defaults.reuseο
Default:False
Type: bool Should the node be reused (True) or deleted (False) after use.
-
provider[azure].label-defaults.slotsο
Default:1
Type: int How many jobs are permitted run on the same node simultaneously.
-
provider[azure].label-defaults.snapshot-expirationο
Default:604800
Type: int The time (in seconds) until a snapshot expires.
-
provider[azure].label-defaults.snapshot-timeoutο
Default:3600
Type: int The time (in seconds) to wait for a snapshot to complete.
-
provider[azure].label-defaults.subnet-idο
Type: str Specifies the subnet to use by ID.
-
provider[azure].label-defaults.subnet-referenceο
Type: dict Specifies the subnet to use by reference
-
provider[azure].label-defaults.subnet-reference.networkο
Type: str The name of the subnetβs network.
-
provider[azure].label-defaults.subnet-reference.resource-groupο
Type: str The resource group that contains the subnet.
-
provider[azure].label-defaults.subnet-reference.subnetο
Default:default
Type: str The name of the subnet.
-
provider[azure].label-defaults.subnet-reference.networkο
-
provider[azure].label-defaults.tagsο
Type: dict A dictionary of tags to add to nodes. Avoid the use of zuul_ as a key prefix since Zuul uses this for internal values.
-
provider[azure].label-defaults.user-assigned-identitiesο
Type: dict -
provider[azure].label-defaults.user-assigned-identities.nameο
Type: str The name of the identity.
-
provider[azure].label-defaults.user-assigned-identities.resource-groupο
Type: str The resource group that contains the identity.
-
provider[azure].label-defaults.user-assigned-identities.nameο
-
provider[azure].label-defaults.userdataο
Type: str A string of userdata for a node. Systems such as βcloud-initβ may use this to configure the node on boot.
-
provider[azure].label-defaults.volume-sizeο
Type: int The size of the operating system disk, in GiB.
-
provider[azure].label-defaults.aliasesο
-
provider[azure].labelsο
Type: dict A list of labels associated with this provider.
-
provider[azure].labels.aliasesο
Type: str A list of label aliases to associate with nodes created from this label. These labels may be used to request existing ready nodes that were previously created from this label, but none of their attributes will be used to define characteristics.
-
provider[azure].labels.boot-timeoutο
Default:300
Type: int The time (in seconds) to wait for a node to boot.
-
provider[azure].labels.descriptionο
Type: str A textual description of the label for reference purposes.
-
provider[azure].labels.ephemeral-diskο
Type: bool If set to
true, Azure will create an ephemeral OS disk instead of a managed disk.
-
provider[azure].labels.executor-zoneο
Type: str Specify that a Zuul executor in the specified zone is used to run jobs with nodes from this label.
-
provider[azure].labels.finalο
Default:False Whether the configuration of the label may be updated by values in label-defaults or overidden with a new definition by sections or providers lower in the hierarchy than the point at which the final attribute is applied.
- Trueο
The label may not be updated or overidden.
- Falseο
The label may be updated or overidden.
- allow-overrideο
The label may not be updated by label-defaults but may be explicitly overidden by redefining it in a new βlabelβ entry.
-
provider[azure].labels.flavorο
Type: str The flavor to use with this label.
-
provider[azure].labels.generate-passwordο
Type: bool If booting a Windows image, an administrative password is required. If the password is not actually used (e.g., the image has key-based authentication enabled), a random password can be provided by enabling this option. The password is not stored anywhere and is not retrievable.
-
provider[azure].labels.host-key-checkingο
Default:True
Type: bool Whether to validate SSH host keys. When true, this helps ensure that nodes are ready to receive SSH connections before they are used. When set to false, Zuul will not attempt to ssh-keyscan nodes after they are booted. Disable this if the zuul-launcher and the nodes it launches are on different networks, where the launcher is unable to reach the nodes directly.
-
provider[azure].labels.imageο
Type: str The image to use with this label.
-
provider[azure].labels.key-dataο
Type: str The SSH public key that should be installed on the node.
-
provider[azure].labels.max-ageο
Default:0
Type: int The time (in seconds) since creation that a node may be available for use. Ready nodes older than this time will be deleted.
-
provider[azure].labels.max-ready-ageο
Default:0
Type: int The time (in seconds) an unassigned node should stay in ready state.
-
provider[azure].labels.min-retention-timeο
Default:0
Type: int The time (in seconds) since an instance was launched, during which a node will not be deleted. For node resources with minimum billing times, this can be used to ensure that the instance is retained for at least the minimum billing interval.
This setting takes precedence over max-[ready-]age.
-
provider[azure].labels.nameο
Type: str The name of the label. Used to refer to the label in Zuul configuration.
-
provider[azure].labels.reuseο
Default:False
Type: bool Should the node be reused (True) or deleted (False) after use.
-
provider[azure].labels.slotsο
Default:1
Type: int How many jobs are permitted run on the same node simultaneously.
-
provider[azure].labels.snapshot-expirationο
Default:604800
Type: int The time (in seconds) until a snapshot expires.
-
provider[azure].labels.snapshot-timeoutο
Default:3600
Type: int The time (in seconds) to wait for a snapshot to complete.
-
provider[azure].labels.subnet-idο
Type: str Specifies the subnet to use by ID.
-
provider[azure].labels.subnet-referenceο
Type: dict Specifies the subnet to use by reference
-
provider[azure].labels.subnet-reference.networkο
Type: str The name of the subnetβs network.
-
provider[azure].labels.subnet-reference.resource-groupο
Type: str The resource group that contains the subnet.
-
provider[azure].labels.subnet-reference.subnetο
Default:default
Type: str The name of the subnet.
-
provider[azure].labels.subnet-reference.networkο
-
provider[azure].labels.tagsο
Type: dict A dictionary of tags to add to nodes. Avoid the use of zuul_ as a key prefix since Zuul uses this for internal values.
-
provider[azure].labels.user-assigned-identitiesο
Type: dict -
provider[azure].labels.user-assigned-identities.nameο
Type: str The name of the identity.
-
provider[azure].labels.user-assigned-identities.resource-groupο
Type: str The resource group that contains the identity.
-
provider[azure].labels.user-assigned-identities.nameο
-
provider[azure].labels.userdataο
Type: str A string of userdata for a node. Systems such as βcloud-initβ may use this to configure the node on boot.
-
provider[azure].labels.volume-sizeο
Type: int The size of the operating system disk, in GiB.
-
provider[azure].labels.aliasesο
-
provider[azure].launch-attemptsο
Default:3
Type: int The number of times to attempt launching a node before considering the request failed.
-
provider[azure].launch-timeoutο
Type: int The time to wait from issuing the command to create a new node until the node is reporting as running. If the timeout is exceeded, the node launch is aborted and the node deleted.
-
provider[azure].nameο
Type: str The name of the provider. Used to refer to the provider in Zuul configuration.
-
provider[azure].parentο
Type: str The name of the parent section from which to inherit. This attribute is only used by section objects. To indicate which section a provider should be attached to, use provider[azure].section
-
provider[azure].regionο
Type: str Name of the Azure region to use.
-
provider[azure].resource-groupο
Type: str Name of the resource group in which to place nodes.
-
provider[azure].resource-limitsο
Type: dict Resource limits for this provider. Configure these values to cause Zuul to attempt to limit the resource usage. This can be used to limit Zuulβs usage to a level below the cloud quota.
-
provider[azure].resource-limits.coresο
Type: int The number of cores used by regular instances.
-
provider[azure].resource-limits.instancesο
Type: int The number of instances.
-
provider[azure].resource-limits.lowPriorityCoresο
Type: int The number of low priority cores (including spot instances).
-
provider[azure].resource-limits.ramο
Type: int The amount of ram, in MiB.
-
provider[azure].resource-limits.coresο
-
provider[azure].abstractο