* Add inisghts fact scan module
* Update fact scan playbook to call new insight fact scan module
* JT run w/ store_facts=True will save scanned facts. We "skim" the
machine_id fact from Insights fact scans and associate it with the host
that the fact scan came from.
* 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
This separates file parsing logic that was mixed
in with other important code inside of the
inventory import command.
The logic around MemObject data structures was
moved to utils, and the file parsing was moved
to a legacy module. As of this commit, that
module can operate within the Tower environment
but it will be removed.
Also refactor the loggers to fix old bug and
work inside of the different contexts - the
Loader classes, mem objects, and hopefully
the inventory modules eventually.
* release_3.0.3: (55 commits)
Revert "Revert "Add needed types for selinux change""
Revert "Add needed types for selinux change"
interpret backslash escapes when displaying url in welcome message
Bump the SELinux policy version
Add needed types for selinux change
Update SELinux policy to allow httpd_t to execute files in lib_t and var_lib_t
Bumping changelog for 3.0.3
Update rax.py inventory
Revert "filter internal User.admin_roles from the /roles API list view"
fix spelling of disassociated
Resolves 404 when assigning resources/users to organizations in card view. Sidesteps a bug in the Refresh() utility, where pagination calculations are not made against filtered results.
Sync azure changes to Tower virtual environment
Add regions here as well.
Also bump boto for new regions, per ryansb.
More regions!
Revert "bump shade version"
bump shade version
Hack copying of job_template.related.survey_spec into ui job copy flow, resolves#3737
Revert "bump shade version"
bump shade version
...
* New event types for stdout lines not associated with a callback event.
* New stdout, start_line, end_line and verbosity fields for job/ahc events.
* Callback plugins to wrap Ansible default/minimal stdout callbacks and embed callback event data using ANSI escape sequences.
* Callback plugin library to wrap ansible.display.Display class methods.
* Output filter to extract event data from stdout and create job/ahc events.
* Update stdout formats to strip new ANSI escape sequences.
* ramparts_and_ha: (21 commits)
Rename database migrations for devel integration
Integrate callback receiver refactoring
Fix an issue running jobs in the cluster
Implement a more dynamic celery queue system
Purge old munin monitors and tools
Refactor Tower HA Instance logic and models
Docker compose improvements
Initial Docker Compose workflow for Tower cluster
Add memcached role for setup playbook
Removing qpid from deb packaging
Refactor rabbitmq role
Integrate memcached into setup playbook
Remove mongodb shutdown task
Remove dependency on erlang_sd_notify
Add initial rabbitmq role
Initial rabbitmq setup playbook integration
Update development environment for rabbit
Replace qpid with rabbitmq
Remove redis role from setup playbook
Update qpid packaging, remove migrations
...
* Make callback workers tunable
* Disable callback worker recycling - doesn't appear to be needed
anymore
* Tweak pexpect behavior by limiting its read buffer size and search
window
* Use copy instead of deepcopy for job event callback emitter censor
* Drop ZMQ as the communication mechanism between job_event_callback and
callback_receiver
* Setup queue and exchange for callback broker communication
* Refactor event plugin and callback receiver to efficiently handle
message submission and processing
* Integrate django caching for parent processing
* stable: (24 commits)
Updating changelogs for 3.0.2 release
fixing deprecated_team.organization credential migration
Fix issue when installing bundled ansible on el6
fixed localed date stuff
update test to check org_auditor access
ensure team organizations are assigned to credentials
temporarily pin the pytest version until the ldap error can be fixed
fixed locale
fix date locale angular scheduler
Make sure org admins can see credential after migration, comment updates on related tests add clause in test to verify automatic setting of org of new team credential
Update team admin credential migration test to current state-of-knowledge
fix ng-toast rel, resolves#3197 (#3316)
allow users to edit their first and last name
Revert "Prevent ignored task from being displayed as failing."
Revert "Modify job event save behavior"
fixing old tests for new user creation permissions
Clean venv on 'make clean'
Resolve KeyError by coercing instance_id to a str
Update cloudforms dynamic inventory
Update foreman inventory script
...
* release_3.0.2: (126 commits)
Disable permissions tab in Credential > Edit form if Credential is private (#3288)
Tweaked the popover text for job and skip tags on JT add/edit
Workaround a cascade setnull polymorphic issue
flake8
Fixed old test expectations
Made it so the credential organization field can't be changed
Skip some unit tests
Fixed org auditor visibility of team credentials
Fix sosreport
fix credential kind options for list
interpret any code below 300 as success
bail when status code is over 300
Make CloudForms inventory_script work
Use no_log when handling passwords
Prevent ignored task from being displayed as failing.
making ec2 cred optional on group->edit
making ec2 credential optional for ec2 inventory
Revert "Fix to ensure org auditors can see team credentials"
Fixed team credential list to work with corrected permissions
Making the username and password fields optional
...
Various fixes to get sat-6 integration working.
* inventory_import.py - the inventory script is called foreman.py
* tasks.py - be sure to call `add_section()` before using it
* defaults.py - Add various SATELLITE6_* enablement variables
Relates #3119