| Upload logs to Google Cloud Storage |
| |
| Before using this role, create at least one bucket and set up |
| appropriate access controls or lifecycle events. This role will not |
| automatically create buckets (though it will configure CORS policies). |
| |
| This role requires the ``google-cloud-storage`` Python package to be |
| installed in the Ansible environment on the Zuul executor. It uses |
| Google Cloud Application Default Credentials. |
| |
| **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 bucket name, so that |
| logs for different changes are distributed across a large number of |
| buckets. |
| |
| .. zuul:rolevar:: zuul_log_container |
| |
| This role *will not* create buckets which do not already exist. If |
| partitioning is not enabled, this is the name of the bucket which |
| will be used. If partitioning is enabled, then this will be used |
| as the prefix for the bucket name which will be separated from the |
| partition name by an underscore. For example, "logs_42" would be |
| the bucket name for partition 42. |
| |
| Note that you will want to set this to a value that uniquely |
| identifies your Zuul installation. |
| |
| .. 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-gcs 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`. |