zuul-jobs/roles/test-upload-logs-swift/README.rst
Ian Wienand ddc0da55a1 upload-logs-swift: test bulk download script change
This implements the production change
I98c80f657f38c5e1ed5f28e5d36988a3429ad1f8 in the test role.  Review
comments should be left there; we can merge this and then parent a job
to base-test to test it.

Change-Id: Id91350ff1c531fd7266f3bf76681a8415941481f
2019-10-31 06:26:49 +00:00

95 lines
3.3 KiB
ReStructuredText

THIS IS FOR TESTING ONLY
Upload logs to a swift container
This uploads logs to an OpenStack Object Store (Swift) container.
**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_cloud_config
Complex argument which contains the cloud configuration in
os-cloud-config (clouds.yaml) format. It is expected that this
argument comes from a `Secret`.
.. 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
:default: logs
This role will create containers which do not already exist. 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.
Note that you will want to set this to a value that uniquely
identifies your Zuul installation if using shared object stores that
require globally unique container names. For example if using a
public cloud whose Swift API is provided by Ceph.
.. 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_delete_after
:default: 15552000
Number of seconds to delete objects after upload. Default is 6 months
(15552000 seconds) and if set to 0 X-Delete-After will not be set.
.. 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. If set
to false, Swift containers can be marked with a `Web-Listings=true`
property to activate Swift's own directory indexing.
.. zuul:rolevar:: zuul_log_path_shard_build
:default: False
This var is consumed by set-zuul-log-path-fact which upload-logs-swift
calls into. If you set this you will get log paths prefixed with the
first three characters of the build uuid. This will improve log file
sharding.
More details can be found at
:zuul:rolevar:`set-zuul-log-path-fact.zuul_log_path_shard_build`.
.. zuul:rolevar:: zuul_log_include_download_script
:default: False
Generate a script from ``zuul_log_download_template`` in the root
directory of the uploaded logs to facilitate easy bulk download.
.. zuul:rolevar:: zuul_log_download_template
:default: templates/download-logs.sh.j2
Path to template file if ``zuul_log_include_download_script`` is
set. See the sample file for parameters available to the template.
The file will be placed in the root of the uploaded logs (with
``.j2`` suffix removed).