Add zuul legacy vars filter
Change-Id: I087bd0de3356a8606fe40d4762e620e4d465a719
This commit is contained in:
parent
d6d9144a0e
commit
a6a4555896
|
@ -24,6 +24,12 @@
|
|||
- zuul.project.canonical_name == 'review.example.com/org/project'
|
||||
- zuul.project.src_dir == 'src/review.example.com/org/project'
|
||||
|
||||
- name: Assert legacy zuul vars are valid
|
||||
assert:
|
||||
that:
|
||||
- zuul.project.name == '{{ (zuul | zuul_legacy_vars).ZUUL_PROJECT }}'
|
||||
- zuul.branch == '{{ (zuul | zuul_legacy_vars).ZUUL_BRANCH }}'
|
||||
|
||||
- debug:
|
||||
msg: "vartest secret {{ vartest_secret }}"
|
||||
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
# Copyright 2017 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
|
||||
def zuul_legacy_vars(zuul):
|
||||
# omitted:
|
||||
# ZUUL_URL
|
||||
# ZUUL_REF
|
||||
# ZUUL_COMMIT
|
||||
|
||||
short_name = zuul['project']['name'].split('/')[-1]
|
||||
params = dict(ZUUL_UUID=zuul['build'],
|
||||
ZUUL_PROJECT=zuul['project']['name'],
|
||||
ZUUL_SHORT_PROJECT_NAME=short_name,
|
||||
ZUUL_PIPELINE=zuul['pipeline'],
|
||||
ZUUL_VOTING=zuul['voting'],
|
||||
WORKSPACE='/home/zuul')
|
||||
if 'branch' in zuul:
|
||||
params['ZUUL_BRANCH'] = zuul['branch']
|
||||
|
||||
if 'change' in zuul:
|
||||
changes_str = '^'.join(
|
||||
['%s:%s:refs/changes/%s/%s/%s' % (
|
||||
i['project']['name'],
|
||||
i['branch'],
|
||||
str(i['change'])[:-2:],
|
||||
i['change'],
|
||||
i['patchset'])
|
||||
for i in zuul['items']])
|
||||
params['ZUUL_CHANGES'] = changes_str
|
||||
|
||||
change_ids = ' '.join(['%s,%s' % (i['change'], i['patchset'])
|
||||
for i in zuul['items']])
|
||||
params['ZUUL_CHANGE_IDS'] = change_ids
|
||||
params['ZUUL_CHANGE'] = str(zuul['change'])
|
||||
params['ZUUL_PATCHSET'] = str(zuul['patchset'])
|
||||
|
||||
if 'newrev' in zuul or 'oldrev' in zuul:
|
||||
params['ZUUL_REFNAME'] = zuul['ref']
|
||||
params['ZUUL_OLDREV'] = zuul.get('oldrev', '0' * 40)
|
||||
params['ZUUL_NEWREV'] = zuul.get('newrev', '0' * 40)
|
||||
|
||||
params['TOX_TESTENV_PASSENV'] = ' '.join(params.keys())
|
||||
return params
|
||||
|
||||
|
||||
class FilterModule(object):
|
||||
|
||||
def filters(self):
|
||||
return {
|
||||
'zuul_legacy_vars': zuul_legacy_vars,
|
||||
}
|
|
@ -567,6 +567,7 @@ class ExecutorServer(object):
|
|||
self.action_dir = os.path.join(plugin_dir, 'action')
|
||||
self.callback_dir = os.path.join(plugin_dir, 'callback')
|
||||
self.lookup_dir = os.path.join(plugin_dir, 'lookup')
|
||||
self.filter_dir = os.path.join(plugin_dir, 'filter')
|
||||
|
||||
_copy_ansible_files(zuul.ansible, plugin_dir)
|
||||
|
||||
|
@ -1446,6 +1447,8 @@ class AnsibleJob(object):
|
|||
config.write('command_warnings = False\n')
|
||||
config.write('callback_plugins = %s\n' % callback_path)
|
||||
config.write('stdout_callback = zuul_stream\n')
|
||||
config.write('filter_plugins = %s\n'
|
||||
% self.executor_server.filter_dir)
|
||||
# bump the timeout because busy nodes may take more than
|
||||
# 10s to respond
|
||||
config.write('timeout = 30\n')
|
||||
|
|
Loading…
Reference in New Issue