openstack-ansible/playbooks/repo-build.yml
Kevin Carter 6832d5dd41 Updated the repo scripts
The playbook `playbooks/repo-clone-mirror.yml` was not cloning the repo
from the upstream mirror correctly it was specifically not respecting
symlinks and in some situations, if the user was using xattrs, hard
links, or acls the clone operation would cause other issues.

The `openstack-branch-grabber.py` was removed as the entire process of
looping through all of the branches and tags and rebuilding all of the
wheels is no longer relevant. As such this process was removed in favor
of forcing the build process to specify a release.

The `openstack-wheel-builder.py` script was updated to enforce the
updating/cloning of the git sources.

Closes-Bug: 1441812

Change-Id: Ibdac88607ffea57ab380f539f3f52346f15792ca
2015-04-11 17:44:59 -05:00

90 lines
3.6 KiB
YAML

---
# Copyright 2014, Rackspace US, 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.
# The purpose here is to allow for the environment to update/build the
# python wheel files from the CURRENT release, as set in the openstack_release
# variable.
- name: Build new repo packages for a given release
hosts: repo_all[0]
max_fail_percentage: 20
gather_facts: false
user: root
tasks:
- name: Create a build report for all known packages within a release
shell: |
yaprt --quiet \
create-report \
--report-file {{ repo_service_home_folder }}/repo/reports/release-{{ openstack_release }}-report.json \
--git-install-repos {{ item['remote_packages'] }} \
--packages {{ item['packages'] }}
with_py_pkgs: ../
sudo: yes
sudo_user: "{{ repo_service_user_name }}"
tags:
- repo-create-report
- name: Build all known python packages requirements
shell: |
yaprt --quiet \
build-wheels \
--report-file {{ repo_service_home_folder }}/repo/reports/release-{{ openstack_release }}-report.json \
--storage-pool "{{ repo_service_home_folder }}/repo/pools" \
--link-dir "{{ repo_service_home_folder }}/repo/os-releases/{{ openstack_release }}" \
--pip-extra-link-dirs "{{ repo_service_home_folder }}/repo/links" \
--pip-index "{{ repo_pip_default_index }}" \
--pip-extra-index "https://pypi.python.org/simple/" \
--pip-bulk-operation \
--build-output "{{ repo_build_output }}" \
--build-dir "{{ repo_build_dir }}" \
--build-requirements \
--force-clean
sudo: yes
sudo_user: "{{ repo_service_user_name }}"
tags:
- repo-build-requirements
- name: Build all known python packages git sources
shell: |
yaprt --quiet \
build-wheels \
--report-file {{ repo_service_home_folder }}/repo/reports/release-{{ openstack_release }}-report.json \
--storage-pool "{{ repo_service_home_folder }}/repo/pools" \
--link-dir "{{ repo_service_home_folder }}/repo/os-releases/{{ openstack_release }}" \
--pip-extra-link-dirs "{{ repo_service_home_folder }}/repo/links" \
--pip-no-deps \
--build-output "{{ repo_build_output }}" \
--build-dir "{{ repo_build_dir }}" \
--build-branches \
--build-releases \
--force-clean
sudo: yes
sudo_user: "{{ repo_service_user_name }}"
tags:
- repo-build-git-sources
- name: Create html indexes
shell: |
yaprt --quiet \
create-html-indexes \
--repo-dir "{{ repo_service_home_folder }}/repo" \
--dir-exclude "{{ repo_service_home_folder }}/repo/openstackgit"
sudo: yes
sudo_user: "{{ repo_service_user_name }}"
tags:
- repo-html-indexes
vars:
repo_build_dir: "/tmp/openstack-builder"
repo_build_output: "/tmp/openstack-wheel-output"