Jan Kundrát c31cd37164 upload-logs-swift: option for disabling the indexer
Our company-internal Swift setup apparently has troubles with
user-provided index files. Given that Swift can be configured to create
indexes on its own, we can skip creating these files altogether and save
some negligible storage space in the process.

One can enable Swift's native indexes by something like:

 openstack container set $container --property web-listings=true

This feature does not play well with containers auto-created by Zuul
because Zuul doesn't know (and cannot know) how to configure them. But
given that the code already supports this feature and that it's just a
matter of propagating an Ansible option, and because it fixes a real
issue in my Zuul deployment, I think that it makes sense to support
this.

Change-Id: I952cb2d4a263b07396bc5af60a9753394af3e42b
2019-06-05 17:08:59 +02:00

63 lines
2.1 KiB
ReStructuredText

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.
.. 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.