Tristan Cacqueray 2f7ffba18d Update the set-zuul-log-path-fact scheme to prevent huge url
This change simplifies the path creation logic to avoid processing
user defined variables such as job name and pipeline name, which
might cause the log url to exceed the database storage presently
fixed at 255 char.

Add warning in the job's header when the url is over 255 characters,
explaining that Zuul won't report the job properly in its database;
but the job can still run.

Change-Id: I34fb5662a2f958c55f60458ce107bad2a73b9c96
2025-03-19 18:34:58 +00:00

54 lines
1.8 KiB
ReStructuredText

Upload logs to Azure Storage
Before using this role, create a storage account in Azure and obtain
an `Access key` for the account. You may create a container within
the account, or allow this role to create the container (or
containers) for you.
**Role Variables**
.. zuul:rolevar:: zuul_site_upload_logs
:default: true
Controls when logs are uploaded. true, the default, means always
upload logs. false means never upload logs. 'failure' means to only
upload logs when the job has failed.
.. note:: Intended to be set by admins via site-variables.
.. zuul:rolevar:: zuul_log_partition
:default: false
If set to true, then the first component of the log path will be
removed from the object name and added to the container name, so
that logs for different changes are distributed across a large
number of containers.
.. zuul:rolevar:: zuul_log_container
If partitioning is not enabled, this is the name of the container
which will be used. If partitioning is enabled, then this will be
used as the prefix for the container name which will be separated
from the partition name by an underscore. For example, "logs_42"
would be the container name for partition 42.
.. zuul:rolevar:: zuul_log_container_public
:default: true
If the container is created, should it be created with global read
ACLs. If the container already exists, it will not be modified.
.. zuul:rolevar:: zuul_log_path
:default: Generated by the role `set-zuul-log-path-fact`
Prepend this path to the object names when uploading.
.. zuul:rolevar:: zuul_log_create_indexes
:default: true
Whether to create `index.html` files with directory indexes.
.. zuul:rolevar:: zuul_log_connection_string
The Access key connection string for the Azure storage account.