bifrost/playbooks/roles/bifrost-openstack-ci-prep
Julia Kreger 9909e00ede Removed integrated ZUUL reference patcher
Bifrost intiially had support for parsing ZUUL_CHANGES, however
due to changes in it's gate CI jobs, these steps are no longer
necessary.

As a result of this change, we also need to support copying
files directly and not forcibly resetting the git status since
the repositories are provided to us in the way they are needed
without additional work.  As a result, added logic to the
preparation and git download role to support local file copies
instead of git downloads.

Also changed default source location for CI testing repos to
leverage the WORKSPACE environment variable.

Change-Id: I23e902c8637e142fba23d71467225d48ee265253
Depends-On: I01c16990dc66988fab29c41ec4b4e6094213b2ca
2015-10-01 08:20:20 -04:00
..
defaults Clean up text in playbooks, roles, and associated files 2015-09-11 14:23:54 -07:00
files Removed integrated ZUUL reference patcher 2015-10-01 08:20:20 -04:00
meta Cleanup role meta definitions 2015-08-25 19:41:29 -04:00
tasks Removed integrated ZUUL reference patcher 2015-10-01 08:20:20 -04:00
vars Split GIT downloads and OpenStack CI logic out 2015-06-29 10:10:27 -04:00
README.md Cleanups on role README files 2015-09-14 13:51:48 -07:00

bifrost-openstack-ci-prep

This role is intended to be utilized in order to set the installation environment and various job settings that are specific to OpenStack CI such that the bifrost CI job is able to complete successfully.

Requirements

This role requires:

  • Ansible 1.9

Role Variables

ssh_public_key_path: The path to where the SSH public key can be located. If missing, it is created.

ironic_git_folder: The folder where the ironic codebase has been cloned to.

ironicclient_git_folder: The folder where the python-ironicclient code base has been cloned to.

shade_git_folder: The folder where the shade code base has been cloned to.

ansible_env.ZUUL_CHANGES: The list of changes from Zuul that need to be applied to the cloned repositories before testing can proceed.

Dependencies

None at this time.

Example Playbook

In this example below, specific facts based on environment variables are utilized to engage the role, which first calls bifrost-prep-for-install which clones the repositories and resets their state to a known state.

The ci_testing_zuul fact is set in the pre_tasks below to allow for activation of the logic to properly handle an OpenStack CI environment node.

  • hosts: localhost connection: local name: "Prepare for installation" sudo: no gather_facts: yes pre_tasks:
    • name: "Set ci_testing_zuul if it appears we are running in upstream OpenStack CI" set_fact: ci_testing: true ci_testing_zuul: true ironic_git_url: /opt/git/openstack/ironic ironicclient_git_url: /opt/git/openstack/python-ironicclient shade_git_url: /opt/git/openstack-infra/shade when: lookup('env', 'ZUUL_BRANCH') != ""
    • name: "Set ci_testing_zuul_changes if ZUUL_CHANGES is set" set_fact: ci_testing_zuul_changes: true when: lookup('env', 'ZUUL_CHANGES') != "" roles:
    • { role: bifrost-prep-for-install, when: skip_install is not defined }
    • { role: bifrost-openstack-ci-prep, when: ci_testing_zuul is defined }

License

Copyright (c) 2015 Hewlett-Packard Development Company, L.P.

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.

Author Information

Ironic Developers