1
0
mirror of https://github.com/ansible/awx.git synced 2024-10-27 09:25:10 +03:00
Commit Graph

432 Commits

Author SHA1 Message Date
Ryan Petrello
3000f52a92 install a randomized RSA key for controller -> isolated rampart auth
see: #6507
2017-06-27 10:53:44 -04:00
AlanCoding
3cedcf22a9 add instance groups and queues to cluster tooling 2017-06-22 10:40:58 -04:00
Chris Meyers
fee16fe391 Merge pull request #6588 from chrismeyersfsu/feature-fact_cache
initial tower fact cache implementation
2017-06-22 09:58:28 -04:00
Ryan Petrello
45bdd9f747 improve readability of the honcho console logs in the dev environment
* colorize uwsgi and celery logs; DEBUG lines are green, WARN lines
  are yellow, ERROR lines (and tracebacks) are red
* pretty-print fact callback receiver JSON
* simplify the uwsgi log format so it's more legible
2017-06-22 09:19:32 -04:00
Chris Meyers
ec2e537f63 remove fache cache receiver 2017-06-21 13:45:27 -04:00
Alan Rominger
2c92f623d8 Merge pull request #6617 from ansible/isolated_setup
setup playbook and heartbeat for isolated deployments
2017-06-20 17:20:53 -04:00
Ryan Petrello
2ba9e56033 Include the Tower venv in the isolated bubblewrapped arguments.
This moves the container-based code location and venvs.
The goal here is that the paths of Tower source for isolated
vs normal nodes matches (both in prod and local development) so that we
don't have to add a bunch of additional bwrap argument logic for
<location-of-isolated-tower-venv>.
2017-06-19 15:52:54 -04:00
AlanCoding
dd1a261bc3 setup playbook and heartbeat for isolated deployments
* Allow isolated_group_ use in setup playbook
* Tweaks to host/queue registration commands complementing setup
* Create isolated heartbeat task and check capacity
* Add content about isolated instances to acceptance docs
2017-06-19 12:13:36 -04:00
Ryan Petrello
422950f45d Support for executing job and adhoc commands on isolated Tower nodes (#6524) 2017-06-14 11:47:30 -04:00
Matthew Jones
a539a820a7 Updating celery autoscale and prefetch behavior
* Increase total number of celery jobs to match what we are currently
  supporting in production with very large instances
* Make sure celery in the development environment also uses fair
  scheduling without prefetching
2017-05-17 14:33:22 -04:00
Matthew Jones
575a7dd165 Use proper print syntax for Makefile in-line python statements 2017-05-16 10:58:28 -04:00
Shane McDonald
066d2e87e3 Fix DEB builds
I was upgrading virtualenv for good measure in 4545fc1da1488bb1623de82ad19f78702bd6df62, but didnt foresee it causing problems. I was wrong. Worked for everything except Trusty builds.
2017-05-15 11:02:04 -04:00
Shane McDonald
81d10dd7f3 Add awx/ui/client/languages/ to ui-clean target
These json files are generated at build time.
2017-05-15 11:01:07 -04:00
Matthew Jones
1a4a6273a4 Merge branch 'rampart_groups_setup_playbook' into devel
* rampart_groups_setup_playbook:
  Updating changelog for Instance Groups
  Fix an incorrect reference on instance group jobs list
  Purge remaining references to rampart groups
  Simplify can_access for instance groups on job templates
  Adding Instance Group permissions and tests
  Increase test coverage for task scheduler inventory updates
  Exit logic fixes for instance group tools
  View Fixes for instance groups
  new view to allow associations but no creations
  Updating acceptance documentation and system docs
  Updating unit tests for task manager refactoring
  Update views and serializers to support instance group (ramparts)
  Implementing models for instance groups, updating task manager
  Updating the setup playbook to support instance group installation
  Add nginx to server start and switch back to first tmux win
  Fix an issue where the local queue wouldn't use the rabbitmq name
2017-05-12 13:40:30 -04:00
Michael Abashian
070de2fe67 Fixed make docker-compose-test 2017-05-11 17:11:23 -04:00
Shane McDonald
dfdf59bcf5 Fix RPM builds
The version of setuptools bundled with virtualenv is broken. This fixes things for both online and offline pip installs.
2017-05-11 14:26:52 -04:00
Ryan Petrello
2a59e91d4c Merge pull request #6221 from ryanpetrello/rdb-tooling
add tooling to aid in remote debugging sessions
2017-05-10 15:27:30 -04:00
Matthew Jones
705f8af440 Update views and serializers to support instance group (ramparts)
* includes top level views for instances and instance groups and
  extending those views to be able to view running jobs
* Associative endpoints on Organizations, Inventories, and Job
  Templates
* Related and summary field entries where appropriate
* Adding job model references to executing instance group
* Fix up default queue properties for clustering from the settings file
* Update production and default settings for instance queues in settings
2017-05-10 12:33:03 -04:00
Matthew Jones
4ced911c00 Implementing models for instance groups, updating task manager
* New InstanceGroup model and associative relationship with Instances
* Associative instances between Organizations, Inventory, and Job
  Templates and InstanceGroups
* Migrations for adding fields and tables for Instance Groups
* Adding activity stream reference for instance groups
* Task Manager Refactoring:
** Simplifying task manager relationships and move away from the
   interstitial hash tables
** Simplify dependency determination logic
** Reduce task manager runtime complexity by removing the partial
   references and moving the logic into the task manager directly or
   relying on Job model logic for determinism
2017-05-10 12:32:54 -04:00
Matthew Jones
8db7e15ad0 Add nginx to server start and switch back to first tmux win 2017-05-10 10:57:42 -04:00
Aaron Tan
3099fd7a01 Merge pull request #6117 from jangsutsr/dynamic_inv_src_dependency_update
Dependency updates
2017-05-10 09:57:58 -04:00
Ryan Petrello
3126bfa1a2 add tooling to aid in remote debugging sessions 2017-05-09 15:36:13 -04:00
Shane McDonald
55c2f5a2d6 Install Twilio package from source.
Someone uploaded a broken wheel to pypi...
2017-05-09 08:41:57 -04:00
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