
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
40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
- name: Set zuul-log-path fact
|
|
include_role:
|
|
name: set-zuul-log-path-fact
|
|
when: zuul_log_path is not defined
|
|
|
|
# Always upload (true), never upload (false) or only on failure ('failure')
|
|
- when: zuul_site_upload_logs | default(true) | bool or
|
|
(zuul_site_upload_logs == 'failure' and not zuul_success | bool)
|
|
block:
|
|
# Use chmod instead of file because ansible 2.5 file with recurse and
|
|
# follow can't really handle symlinks to .
|
|
- name: Ensure logs are readable before uploading
|
|
delegate_to: localhost
|
|
command: "chmod -R u=rwX,g=rX,o=rX {{ zuul.executor.log_root }}/"
|
|
# ANSIBLE0007 chmod used in place of argument mode to file
|
|
tags:
|
|
- skip_ansible_lint
|
|
|
|
- name: Upload logs to swift
|
|
delegate_to: localhost
|
|
zuul_swift_upload:
|
|
cloud: "{{ zuul_log_cloud_config }}"
|
|
partition: "{{ zuul_log_partition }}"
|
|
container: "{{ zuul_log_container }}"
|
|
public: "{{ zuul_log_container_public }}"
|
|
prefix: "{{ zuul_log_path }}"
|
|
indexes: "{{ zuul_log_create_indexes }}"
|
|
files:
|
|
- "{{ zuul.executor.log_root }}/"
|
|
delete_after: "{{zuul_log_delete_after | default(omit) }}"
|
|
register: upload_results
|
|
|
|
- name: Return log URL to Zuul
|
|
delegate_to: localhost
|
|
zuul_return:
|
|
data:
|
|
zuul:
|
|
log_url: "{{ upload_results.url }}/"
|
|
when: upload_results is defined
|