Added built venvs to the release manifest

This change adds the release venvs to the built manifest.in file. This
change will allow a deployer to sync the constructed venv archive into
deployments from an external source.

Change-Id: Idaaae0ac5ab2e7cec94fa4aa3a008ec04acc684c
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Kevin Carter 2017-02-13 10:05:01 -06:00
parent 30cce97c7d
commit dfa5388c8e
No known key found for this signature in database
GPG Key ID: 69FEFFC5E2D9273F
4 changed files with 64 additions and 32 deletions

View File

@ -37,5 +37,9 @@
tags:
- repo-build-venvs
- include: repo_index.yml
tags:
- repo-build-index
- include: repo_package_sync.yml
when: inventory_hostname != groups['repo_all'][0]

57
tasks/repo_index.yml Normal file
View File

@ -0,0 +1,57 @@
---
# Copyright 2017, 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.
- name: Index all manifest wheels
shell: "ls -1 *.whl"
args:
chdir: "{{ repo_build_release_path }}/{{ repo_build_release_tag }}"
changed_when: false
register: manifest_wheels
tags:
- repo-index-links
- repo-create-release-manifest
# don't trigger ANSIBLE0013 as shell is indeed required here
- skip_ansible_lint
- name: Index all manifest venvs
shell: "ls -1"
args:
chdir: "{{ repo_build_venv_dir }}/{{ repo_build_release_tag }}/{{ ansible_distribution | lower }}"
register: manifest_venvs
tags:
- repo-index-links
- repo-create-release-manifest
# don't trigger ANSIBLE0013 as shell is indeed required here
- skip_ansible_lint
- name: Create release manifest
template:
src: "manifest.in.j2"
dest: "{{ repo_build_release_path }}/{{ repo_build_release_tag }}/MANIFEST.in"
tags:
- repo-create-release-manifest
- name: Create absolute requirements
template:
src: "requirements_absolute_requirements.txt.j2"
dest: "{{ repo_build_release_path }}/{{ repo_build_release_tag }}/requirements_absolute_requirements.txt"
tags:
- repo-create-absolute-requirements
# TODO(odyssey4me): Remove this in Pike
- name: Remove global links index file
file:
path: "{{ repo_build_global_links_path }}/index.html"
state: absent

View File

@ -47,35 +47,3 @@
remote_src: yes
tags:
- repo-copy-pip
- name: Index all manifest wheels
shell: "ls -1 *.whl"
args:
chdir: "{{ repo_build_release_path }}/{{ repo_build_release_tag }}"
changed_when: false
register: manifest_wheels
tags:
- repo-index-links
- repo-create-release-manifest
# don't trigger ANSIBLE0013 as shell is indeed required here
- skip_ansible_lint
- name: Create release manifest
template:
src: "manifest.in.j2"
dest: "{{ repo_build_release_path }}/{{ repo_build_release_tag }}/MANIFEST.in"
tags:
- repo-create-release-manifest
- name: Create absolute requirements
template:
src: "requirements_absolute_requirements.txt.j2"
dest: "{{ repo_build_release_path }}/{{ repo_build_release_tag }}/requirements_absolute_requirements.txt"
tags:
- repo-create-absolute-requirements
# TODO(odyssey4me): Remove this in Pike
- name: Remove global links index file
file:
path: "{{ repo_build_global_links_path }}/index.html"
state: absent

View File

@ -5,3 +5,6 @@
{% for clone_item in local_packages.results.0.item.remote_package_parts -%}
{{ repo_build_git_dir | basename }}/{{ clone_item['name'] }}
{% endfor %}
{% for item in manifest_venvs.stdout_lines %}
{{ repo_build_venv_dir | basename }}/{{ repo_build_release_tag }}/{{ ansible_distribution | lower }}/{{ item }}
{% endfor %}