bifrost/playbooks/roles/bifrost-openstack-ci-prep
Julia Kreger b241bc9b93 Split GIT downloads and OpenStack CI logic out
Separate logic to handle OpenStack CI, and initial git clones out
from the main logic pathways in order to make them capable of being
more modular.

Change-Id: I9367f2333849b3947c715b046c488695706ef783
2015-06-29 10:10:27 -04:00
..
defaults Split GIT downloads and OpenStack CI logic out 2015-06-29 10:10:27 -04:00
files Split GIT downloads and OpenStack CI logic out 2015-06-29 10:10:27 -04:00
meta Split GIT downloads and OpenStack CI logic out 2015-06-29 10:10:27 -04:00
tasks Split GIT downloads and OpenStack CI logic out 2015-06-29 10:10:27 -04:00
vars Split GIT downloads and OpenStack CI logic out 2015-06-29 10:10:27 -04:00
README.md Split GIT downloads and OpenStack CI logic out 2015-06-29 10:10:27 -04: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 seccessfully.

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