awx/requirements
AlanCoding cd7e358b73
Inventory plugins transition dev finishing work
Bump keystone auth to resolve problem with openstack script

Clarify code path, routing to template vs. managed injector
  behavior is also now reflected in test data files

Refactor test data layout for inventory injector logic

Add developer docs for inventory plugins transition

Memoize only get_ansible_version with no parameters

Make inventory plugin injector enablement a separate
  concept from the initial_version
  switch tests to look for plugin_name as well

Add plugin injectors for tower and foreman.

Add jinja2 native types compat feature

move tower source license compare logic to management command

introduce inventory source compat mode

pin jinja2 for native Ansible types

Add parent group keys, and additional translations

manual dash sanitization for un-region-like ec2 groups

nest zones under regions using Ansible core feature just merged
  implement conditionally only with BOTH group_by options

Make compat mode default be true
  in API models, UI add and edit controllers

Add several additional hostvars to translation
Add Azure tags null case translation

Make Azure group_by key off source_vars
  to be consistent with the script

support top-level ec2 boto_profile setting
2019-03-26 10:29:39 -04:00
..

The requirements.txt and requirements_ansible.txt files are generated from requirements.in and requirements_ansible.in, respectively, using pip-tools pip-compile. The following commands should do this if ran inside the tower_tools container.

NOTE: before running pip-compile, please copy-paste contents in requirements/requirements_git.txt to the top of requirements/requirements.in and prepend each copied line with -e . Later after requirements.txt is generated, don't forget to remove all git+https://github.com...-like lines from both requirements.txt and requirements.in (repeat for requirements_ansible_git.txt and requirements_ansible.in)

At the end of requirements/requirements.in, pip and setuptools need to have their versions pinned.

python3 -m venvpip install pip-tools /buildit
source /buildit/bin/activate
pip install pip-tools
pip install pip --upgrade

pip-compile requirements/requirements.in > requirements/requirements.txt
pip-compile requirements/requirements_ansible.in > requirements/requirements_ansible.txt

Known Issues

  • Remove the -e from packages of the form -e git+https://github.com... in the generated .txt. Failure to do so will result in a "bad" RPM and DEB due to the pip install laying down a symbolic link with an absolute path from the virtualenv to the git repository that will differ from when the RPM and DEB are build to when the RPM and DEB are installed on a machine. By removing the -e the symbolic egg link will not be created and all is well.

  • As of pip-tools 1.8.1 pip-compile does not resolve packages specified using a git url. Thus, dependencies for things like dm.xmlsec.binding do not get resolved and output to requirements.txt. This means that:

    • can't use pip install --no-deps because other deps WILL be sucked in
    • all dependencies are NOT captured in our .txt files. This means you can't rely on the .txt when gathering licenses.