Commit Graph

609 Commits

Author SHA1 Message Date
Aaron Tan cfb633e8a6 Dependency Updates
* Dynamic Inventory Source
Template against ansible 2.3 dynamic inventory sources.
The major change is removal of `rax.py`. Most upstream scripts except
`foreman.py` has quite trivial coding style changes, or minor functional
extensions  that does not affect Tower inventory update runs.
`foreman.py`, on the other hand, went through quite a major refactoring,
but functionalities stay the same.

Major python dependency updates include apache-libcloud (1.3.0 -->
2.0.0), boto (2.45.0 --> 2.46.1) and shade (1.19.0 --> 1.20.0). Minor
python dependency updates include indirect updates via `pip-compile`,
which are determined by base dependencies.

Some minor `task.py` extensions:
 - `.ini` file for ec2 has one more field `stack_filter=False`, which
   reveals changes in `ec2.py`.
 - `.ini` file for cloudforms will catch these four options from
   `source_vars_dict` of inventory update: `'version', 'purge_actions',
   'clean_group_keys', 'nest_tags'`. These four options have always been
   available in `cloudforms.py` but `cloudforms.ini.example` has not
   mentioned them until the latest version. For consistency with upstream
   docs, we should make these fields available for tower user to customize.
 - YAML file of openstack will catch ansible options `use_hostnames`,
   `expand_hostvars` and `fail_on_errors` from `source_vars_dict` of
   inventory update as a response to issue #6075.

* Remove Rackspace support
Supports of Rackspace as both a dynamic inventory source and a cloud
credential are fully removed. Data migrations have been added to support
arbitrary credential types feature and delete rackspace inventory
sources.

Note also requirement `jsonschema` has been moved from
`requirements.txt` to `requirements.in` as a primary dependency to
reflect it's usage in `/main/fields.py`.

Connected issue: #6080.

* `pexpect` major update
`pexpect` stands at the very core of our task system and underwent a
major update from 3.1 to 4.2.1. Although verified during devel, please
still be mindful of any suspicious issues on celery side even after this
PR gets merged.

* Miscellaneous
 - requests now explicitly declared in `requirements.in` at version 2.11.1
   in response to upstream issue
 - celery: 3.1.17 -> 3.1.25
 - django-extensions: 1.7.4 -> 1.7.8
 - django-polymorphic: 0.7.2 -> 1.2
 - django-split-settings: 0.2.2 -> 0.2.5
 - django-taggit: 0.21.3 -> 0.22.1
 - irc: 15.0.4 -> 15.1.1
 - pygerduty: 0.35.1 -> 0.35.2
 - pyOpenSSL: 16.2.0 -> 17.0.0
 - python-saml: 2.2.0 -> 2.2.1
 - redbaron: 0.6.2 -> 0.6.3
 - slackclient: 1.0.2 -> 1.0.5
 - tacacs_plus: 0.1 -> 0.2
 - xmltodict: 0.10.2 -> 0.11.0
 - pip: 8.1.2 -> 9.0.1
 - setuptools: 23.0.0 -> 35.0.2
 - (requirements_ansible.in only)kombu: 3.0.35 -> 3.0.37
2017-05-08 12:03:02 -04:00
Matthew Jones e1e83598e9 Merge branch 'release_3.1.3' into devel
* release_3.1.3: (52 commits)
  ack fact scan messages
  making ldap user/group search fields into codemirror instances
  removing UI parsing for LDAP User and Group Search fields
  Allow exception view to accept all valid HTTP methods.
  Restore ability of parsing extra_vars string for provisioning callback.
  Fix up backup/restore role broken in f7a8e45809758322d9ee41c5305850dd70ed5faf
  Stop / start ansible-tower-service during restores
  value_to_python should encode lookup fields as ascii
  fix brace interpolation on standard out pane
  Adjust some hardcoded usages of 'awx' to use 'aw_user' and 'aw_group'.
  Pull Spanish updates from Zanata
  Temporarily grant awx user createdb role
  Stop giving ownership of backups to postgres
  don't display chunked lines'
  Add dropdown li truncation with ellipsis
  CTiT -> adhoc modules should allow the user to add new modules
  Remove task that was replacing the supervisor systemd tmp file
  Fix failing supervisorctl commands on RH-based distros
  Give ownership of the supervisor socket to awx
  Setting for external log emissions cert verification
  ...
2017-04-28 13:57:04 -04:00
Shane McDonald 896460d32e Build psycopg2 from source
Fixes Ubuntu build errors where dh_strip was choking on a shared object file.
2017-04-20 11:15:21 -04:00
Chris Meyers 8c8ccba5a5 add mock to ansible dev env requirements 2017-04-18 12:31:05 -04:00
Matthew Jones 645c2dbbc6 Switch uwsgi to only listen on local interface
Previously it would listen systemwide on 0.0.0.0:8050
2017-04-11 10:55:20 -04:00
Shane McDonald d600706150 Use jinja template for populating version and release in spec file
These macros were intended to pull the version and release from a python file if they werent passed in with --define, but /usr/bin/python is not available at this point in the build process. I'm not sure when or if this ever worked. Perhaps before we were using mock.

This approach also works for our Brew builds, as we cannot specify a macro value at build time.
2017-04-03 10:32:46 -04:00
Shane McDonald f087dd40e2 Sign all rpms
:shame:
2017-03-31 15:57:16 -04:00
Shane McDonald 5d8e4d0419 Add back SRC_ONLY_PKGS
Ooops.
2017-03-30 13:08:48 -04:00
Shane McDonald 8c7947b1a8 Remove requirements/vendor on make clean. 2017-03-29 14:30:58 -04:00
Shane McDonald d9e65823ad Update brew-srpm target to generate local requirements files
This looks pretty hairy, but essentially it's just re-invoking `pip download` with `--no-deps` so that I can record the name of the local archives that are created.
2017-03-29 14:30:58 -04:00
Shane McDonald 93dda555f1 Get offline pip installs working
I had to pull the git urls out of the main requirements files because in order to install offline (--no-index), we need pip to install from local package archives rather than cloning repo.

The weird `cat` thing going on in the Makefile is because we need to install everything as part of a single `pip install` transaction. Without this, installing only requirements_git.txt will result in dependencies getting unintentionally updated.
2017-03-29 14:30:58 -04:00
Shane McDonald 83919682ea Add clean-dist target 2017-03-29 14:30:58 -04:00
Shane McDonald 0e2a2d61e2 Create a setup subpackage 2017-03-23 16:46:25 -04:00
Shane McDonald d76d55adaf Add brew-srpm target 2017-03-15 11:06:34 -04:00
Shane McDonald 7e1eeb994b Add make targets for vendoring python requirements 2017-03-15 11:04:54 -04:00
Shane McDonald c94f294d06 Use --ignore-installed when creating virtualenvs 2017-03-15 11:04:54 -04:00
Shane McDonald fbb6650ad0 Add PIP_OPTIONS
This will allow us to conditionally pass in things like --no-index and --find-links, which will be necessary for building in Brew.
2017-03-15 11:04:54 -04:00
Shane McDonald 092c0b739e Simplify requirements targets
AFAIK, there is never a situation where VENV is going to be unset.
2017-03-15 11:04:54 -04:00
Ryan Petrello ba9ce56c35 add callback plugin tests to CI 2017-03-14 14:07:56 -04:00
Ryan Petrello 1005782ee9 add tests for our custom ansible callback plugin 2017-03-14 12:56:40 -04:00
Shane McDonald 90e30d348f Revert "Dont ignore installed packages when installing requirements"
This reverts commit 4ffc1a41f454d511fc523aaf8d3ab65dbe45c80e.
2017-03-13 16:21:27 -04:00
Shane McDonald 4875d60b97 Dont ignore installed packages when installing requirements
This was causing some packages to get unexpectedly upgraded... probably not what we want.
2017-03-13 16:00:47 -04:00
Shane McDonald 388b0fdf04 Force reinstall of setuptools and pip
For some reason -I wasn't cutting it. Even though we were trying to install pip 8.1.2, this was happening:

Collecting pip==8.1.2
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-9.0.1

¯\_(ツ)_/¯
2017-03-11 19:06:28 -05:00
Shane McDonald 053ecd1093 Make sure ui deps are built for jshint 2017-03-09 19:15:46 -05:00
Shane McDonald 323e8ad8f0 Add awx/ui/coverage to clean target 2017-03-09 18:54:24 -05:00
Graham Mainwaring a33b5567e8 Fixes for Vagrant build 2017-03-08 16:01:29 -05:00
AlanCoding d1a71fb7be add supervisor option to development environment 2017-02-13 17:36:34 -05:00
Ryan Petrello f4d55659f0 enforce a sane default OPT_NETWORK_TIMEOUT for LDAP connections
see: #5208
2017-02-07 12:37:05 -05:00
Matthew Jones 5eff937f5c Fix location of the uwsgi fifo for dev environment 2017-02-06 16:22:38 -05:00
Matthew Jones a544e322fd Merge pull request #5080 from ansible/generate_stdout_files
Generate stdout files from job events
2017-01-31 14:46:30 -05:00
Matthew Jones 4a015da982 Purge old mongo Makefile targets, update psql target for new docker 2017-01-31 14:28:48 -05:00
Bill Nottingham b57f96d172 Merge pull request #4904 from wenottingham/lets-touch-selinux-what-could-go-wrong
Remove most SELinux policy.
2017-01-31 13:00:38 -05:00
Jake McDermott 374453391d update tower build url 2017-01-31 10:43:20 -05:00
Ryan Petrello 73cbcc2de0 add awx.conf tests to our various test run environments 2017-01-30 12:37:17 -05:00
Ryan Petrello 2568c86b71 Merge pull request #4955 from ryanpetrello/fix-4900
move the uwsgi master FIFO from /tmp/awxfifo to /var/lib/awx/awxfifo
2017-01-26 10:11:21 -05:00
Shane McDonald 35deb0be37 Simplify UI / Docker targets
- Renamed npm scripts to reflect what they are actually doing. Nothing is being built here!
- Not sure why the default django_host was 0.0.0.0…
- Removed unnecessary logic from build-docker-cid
2017-01-25 18:45:48 -05:00
Shane McDonald 790f30b3cd Prevent npm install from running every time make ui-docker* is invoked
awx/ui/package.json is a normal file in the repo, not created by Make.
2017-01-25 18:45:47 -05:00
Ryan Petrello f061505895 move the uwsgi master FIFO from /tmp/awxfifo to /var/lib/awx/awxfifo
Resolves #4900
2017-01-25 16:37:11 -05:00
Bill Nottingham c01eccca7e Remove most SELinux policy.
Add file contexts to policy instead of using semanage.
2017-01-24 01:50:34 -05:00
Shane McDonald b60b4b2bc1 Generate .mo files without django, enable API l10n at build time. 2017-01-23 12:25:56 -05:00
Shane McDonald cbf0c2704d Separate API and UI l10n make targets.
A couple reasons for this:

- The command for generating the API l10n files is currently broken, and I want to get the translation folks looking at the UI ASAP.
- These things require different environments:
  - Generating the UI files requires Grunt, which is only available *before* packaging. We generate the static files before invoking mock or pbuilder.
  - Generating the API files requires Django, which is only available inside the virtual environment. This will likely need to be invoked somewhere inside of the install playbooks.
2017-01-12 21:09:18 -05:00
AlanCoding cc4aa49556 pool restart with thread-based external log config
for CTiT enablement of celery task Tower logs
2017-01-04 14:53:49 -05:00
AlanCoding 67686f640b finish implementation of data generator presets, fix flake8 2017-01-03 09:23:27 -05:00
AlanCoding c3aaccc0d4 make it so that repeated runs do not cause problems 2016-12-22 13:53:19 -05:00
AlanCoding 1346f7b580 fixing some of most annoying problems with bulk data generator 2016-12-22 12:03:56 -05:00
Chris Meyers b533a9eb7b purge make requirements_jenkins 2016-12-14 10:30:28 -05:00
Chris Meyers 6348ed97dd uninstall certifi if installed in venv's 2016-12-14 09:53:24 -05:00
Shane McDonald 3597c34593 Rename .te filename to reflect selinux policy name
https://patchwork.kernel.org/patch/8784071/

While renaming the policy would have been a “cleaner” solution, this would create a scenario where our setup playbooks would need to check for the policy by it’s old name before installing the new one. Updating the filename to reflect the policy name is the least invasive and risky change.
2016-12-12 15:55:49 -05:00
Wayne Witzel III c6e1598b9c explicitly set long harakiri time to deal with very large inventory deletes 2016-12-12 12:44:05 -05:00
AlanCoding 431dcc6490 switch to smoother chain reloading 2016-12-09 15:38:38 -05:00