Role apt_package_pinning for OpenStack-Ansible
Go to file
Jesse Pretorius ddeb15e7da Update tox configuration
In order to prepare for implementing requirements management by the
OpenStack requirements management process, and to improve the
reliability and effectiveness of test execution, this patch implements
some changes to the tox configuration:

- The minimum tox version is increased in order to be able to use
  constraints for the python packages.
- The OpenStack upper-constraints are used when preparing the test
  venv for the linters checks.
- Any proxy environment variables set on the test host are passed
  into the venv to enable testing from behind a proxy.
- The environment variables used by Ansible tests are moved into
  a new venv called 'ansible' and this environment is inherited
  by all Ansible-related tests.
- The docs test will clean-up an existing build directory before
  executing the docs build.
- The releasenotes build cannot use upper-constraints at this point,
  so it doesn't.
- The Ansible role download will no longer ignore errors so that any
  problems discovered will result in a failed test.
- The human readable logging callback plugin is implemented for
  functional testing.
- The ansible test requirements are moved into tox.ini to ensure
  compliance for requirements.txt/test-requirements.txt for the
  global-requirements management contract.
- The ~/.ansible directory as a whole is not deleted. Instead only
  the plugins and roles folders are deleted to ensure that zuul's
  Ansible artifacts are left in-place.
- The ansible-lint version is updated to support execution against a
  folder, and the test now executes against the entire role to ensure
  that it captures all applicable files for lint testing.

This is a combined port of the following:
- https://review.openstack.org/323507
- https://review.openstack.org/338193
- https://review.openstack.org/332443
- https://review.openstack.org/338193
- https://review.openstack.org/339493

Change-Id: I9e00ddebe0cdb9526e61e9a2b98cd50e6cee8c95
(cherry picked from commit 08fcc0f076)
2016-07-08 16:51:02 +01:00
defaults IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
doc IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
meta IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
releasenotes Remove Liberty releasenote index 2016-04-20 22:53:09 +00:00
tasks IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
templates IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
tests Update tox config and add bashate E006, E040 exceptions 2016-02-12 11:26:59 +00:00
.gitignore Add reno scaffolding for release notes management 2016-04-14 13:03:01 +00:00
.gitreview Update .gitreview for stable/mitaka 2016-04-02 14:45:09 -04:00
LICENSE IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
README.rst IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
other-requirements.txt Add dependencies for paramiko 2.0 2016-05-03 14:03:15 +00:00
run_tests.sh Add dependencies for paramiko 2.0 2016-05-03 14:03:15 +00:00
setup.cfg IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
setup.py IRR for apt_package_pinning 2015-11-02 21:34:23 -06:00
test-requirements.txt Update tox configuration 2016-07-08 16:51:02 +01:00
tox.ini Update tox configuration 2016-07-08 16:51:02 +01:00

README.rst

Pin apt packages

tags

openstack, apt, pinning, cloud, ansible

category

*nix

Ansible role for pinning apt packages.

Example Ansible play

- name: Pin packages on all "hosts"
  hosts: hosts
  user: root
  roles:
    - role: "apt_package_pinning"
      apt_package_pinning_file_name: "test.pref"
      apt_pinned_packages:
        - { package: "test-package-version", version: "9.9.9-version" }
        - { package: "test-package-origin", origin: "test-origin.org" }
        - { package: "test-package-release.*", release: "TestRelease" }