* Instead of using a fanout for project updates initial project
updates will sync the latest commit hash
* Prior to a node running a job it will ensure that the latest project
is synced
* Add a local node queue to execute targeted jobs
* Add a setting for active cluster node id (per-node)
* Base the heartbeat time on the `modified` time on the Instance table
* Add periodic task that calls save() on the instance to update the
heartbeat time if services are up
* Purge/update any ha/instance management commands
* Fix up CELERY_ROUTES settings data structure
* ha_installer:
Fixing up some minor nits with ha setup playbook
Update postgres yum/apt repo locations
Add note about when to use short/long name
Setup playbook modifications for HA/Ramparts
* Purge remaining zeromq settings
* Make sure we have CALLBACK_QUEUE defined where needed
* Update setup playbook to not be tied to old ha primary/secondary concept
* 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
...
* 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
* Meant to be a starting point to more efficiently manage work routing
and to balance work across all tower nodes
* Integrate flower as a dev tool that starts alongside other nodes.
Helpful for observing and monitoring the queues/exchanges
* For the moment, force the task manager to only run on one node (not
sure if this is needed)
* Define queues and routes for all task work
* Bump celery version to 3.1.23
* Expose flower through haproxy
* Gut the HA middleware
* Purge concept of primary and secondary.
* UUID is not the primary host identifier, now it's based mostly on the
username. Some work probably still left to do to make sure this is
legit. Also removed unique constraint from the uuid field. This
might become the cluster ident now... or it may just deprecate
* No more secondary -> primary redirection
* Initial revision of /api/v1/ping
* Revise and gut tower-manage register_instance
* Rename awx/main/socket.py to awx/main/socket_queue.py to prevent
conflict with the "socket" module from python base
* Revist/gut the Instance manager... not sure if this manager is really
needed anymore
* ramparts_and_ha:
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
Integrate packaging for qpid/memcached
* 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: (150 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
...
* Documentation of the developer variety
* Defaulting the COMPOSE_TAG to develop, can be overridden
* Automatic docker login assuming gcr login
* Including a manual build step as an alternative to gcr
* Make qpid container shut the f**k up when it's running
This will be branch-relative. If you are ont he `devel` branch then it
will pull that tag, it will try to pull the branch you are on and can be
overridden with the COMPOSE_TAG environment variable
* Switch base tower devel image from u14.04 to c7
* Switch container image to build python dependencies into itself
instead of forcing it to be built on startup
* Upgrade venv pip to 8.1.2
* Neuter queue.py which was heavily tied to redis and was basically
orphaned code
* Alter local_settings to override default cache settings and use
memcached
* Alter local settings to refer to qpid instead of redis for celery
broker
* Purge redis python dependencies and add qpid and memcached
* Update docker-compose to purge redis and add qpid and memcached
* 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
...
Sometimes the job host summaries can land a little later after the job
has finished so sometimes events are still filtering in when the
notifications are triggered
* ui_release_3.0.1: (54 commits)
Returning btn-primary to blue
Fixed adhoc relaunch logic to match normal adhoc launch logic
Breadcrumb appears correctly on first run
Fixed display of non-breaking names
Continuing audit work
remove aws ask at runtime prompt from cred form config, resolves#3055 (#3058)
fix missing URI encoding in event summary serch, kickback on #2980 (#3050)
Switch base class for StateConflict
Fixed password show/hide on enter for survey maker password type previews
Fixed password show/hide on enter for survey taker survey questions where type is password
Prevent populate_user from being registered multiple times.
Fixing iterator used when jobs list refreshes
Explicit super user check for JT can_delete
Fix for populating teams for LDAP user.
Update hubspot template for marketting
Fix up flake8
Rolled back the onExit solution previously implemented to handle the backspace navigation on the job launch modal. New solution listens for state changes within the directive and cleans itself up.
Switch disallowed object delete to 409
Password enter show/hide fix
add test for CustomInventoryScript serializer
...
* api_release_3.0.1:
add code to HostAccess can_add so the browsable API will work
update unit tetsts
use get_object_or_400 to fetch Role
refactor to unit tests
restrict User.admin_role membership changes through RoleUsersList
fix test
do not allow membership changes to User.admin_role
RoleTeam and TeamRole sublist NotFound exception handling and test update
add system job templates to the unified JT list
Reorganize activity stream around org admin/auditors
Allow instant cancel for new jobs
orphan project protection in job delete access
pass context into Job and JobList serializer classes
pass context to unified job template subclasses
Allow auditors to see same /api/v1/config information as admins
* stable: (30 commits)
Remove ansible-tower.repo during packer cleanup
Update package changelogs
Enable SE boolean httpd_execmem
Check that venv is activated before loading wsgi app (#3148)
also limit creation of system auditors to superusers
Make check for idle session more specific
Use foreman.id instead
flake8 fixups
fixing tests for new team role assignment restrictions
driveby cleanup
do not allow assignment of system roles or user.admin_role to teams
Add copyright back with utf-8 encoding
Complete Sat6 integration
Force requests to emit application/json
fix issue with rbac_migrations logger
Enable software collections repo on RHEL 6 + RHSM
Fixed credential migration issue involving null inventory fields in job templates
Allow instant cancel for new jobs
Show new jobs in UI Jobs tab
use existing logging infrastructure
...
* stable:
Update 3.0 changelogs
Spacing in sh script on merge conflict
Update setup for bundled ansible-2 dependencies
fix ansible2.0 bundle deps bootstrap
Use yum's compare_providers() function instead of just pulling the latest alphabetically.
* release_3.0.0: (22 commits)
remove aws ask at runtime prompt from cred form config, resolves#3055 (#3058)
fix missing URI encoding in event summary serch, kickback on #2980 (#3050)
Switch base class for StateConflict
Fixed password show/hide on enter for survey maker password type previews
Fixed password show/hide on enter for survey taker survey questions where type is password
Prevent populate_user from being registered multiple times.
Fixing iterator used when jobs list refreshes
Explicit super user check for JT can_delete
Fix for populating teams for LDAP user.
Update hubspot template for marketting
Fix up flake8
Rolled back the onExit solution previously implemented to handle the backspace navigation on the job launch modal. New solution listens for state changes within the directive and cleans itself up.
Switch disallowed object delete to 409
Password enter show/hide fix
add test for CustomInventoryScript serializer
Fixed bug where hitting enter in a password field in the job launch/survey maker modal would toggle the show/hide.
Setting the local var CredentialList to the deep clone seems to be problematic. Moving this out so that the original object itself is overwritten which is how it's done in other places. (#3017)
Jobs list page size (#3019)
resolves kickback on #2980 (#3008)
add read_role to organization select_related
...
* release_3.0.0: (2364 commits)
remove aws ask at runtime prompt from cred form config, resolves#3055 (#3058)
fix missing URI encoding in event summary serch, kickback on #2980 (#3050)
Switch base class for StateConflict
Fixed password show/hide on enter for survey maker password type previews
Fixed password show/hide on enter for survey taker survey questions where type is password
Prevent populate_user from being registered multiple times.
Fixing iterator used when jobs list refreshes
Explicit super user check for JT can_delete
Fix for populating teams for LDAP user.
Update hubspot template for marketting
Fix up flake8
Rolled back the onExit solution previously implemented to handle the backspace navigation on the job launch modal. New solution listens for state changes within the directive and cleans itself up.
Switch disallowed object delete to 409
Password enter show/hide fix
add test for CustomInventoryScript serializer
Fixed bug where hitting enter in a password field in the job launch/survey maker modal would toggle the show/hide.
Setting the local var CredentialList to the deep clone seems to be problematic. Moving this out so that the original object itself is overwritten which is how it's done in other places. (#3017)
Jobs list page size (#3019)
resolves kickback on #2980 (#3008)
Use the correct yum attribute name
...
* release_3.0.0: (129 commits)
Use the correct yum attribute name
Fix NaN / invalid end date value in schedule edit forms (#3007)
resolves kickback on #2976 (#3009)
Additional UI/JS licenses (#2974)
Install at when configuring on-book AMI conf
Added patch tests for updating project organizations
Make development environment use ATOMIC_REQUESTS
Team organization field made non-null
Don't let normal users create orgless projects
Fix up some flake8 issues
Add delete protection from certain objects
Cascade delete teams when their organization is deleted
Updated tests to reflect credential access after migrations
Changed conditonal to repair console error and page loade error
Remove socket binding when the scope is destroyed so that we don't make errant GET requests in future instances of this controller.
updated EULA text from rnalen
Fix team credential role access in rbac migration
Orphan handling in _old_access.py
Normalized CustomInventoryScriptAccess.can_admin
Use simplified epel-release links
...
This reverts the validation of a required Organization on the
Notification Template. After discussion with jlaska and jladd, I think
this can behave fine in this situation. It's more like a Credential
then where without an Organization the NT only becomes available to
Super Users and the creator of the NT.
or how I learned to stop worrying and use SIGKILL.
Ansible has a bug that could potentially leave tower's jobs hanging
around indefinitely requiring manual shell intervention. I'm going to
put this here and until Ansible can get to the bottom of it.
In some scenarios the activity stream associate could be invoked where
obj2 doesn't exist... the .get() will fail and tank the caller
preventing the save. This guards that and blocks the activity stream
event, saving the save (whew!)
* release_3.0.0: (638 commits)
Disallow deleting job templates when there are jobs running
M2M fix for project activity stream
flake8
Made it so org auditors can see all users if ORG_ADMINS_CAN_SEE_ALL_USERS is true
made lebel delete find all associated labels by recursively getting the labels
Fix up organization default exposed by unit test
Fix flake8 'not in'
remove unnecessary fixture from org_credential
fix label dropdown population on edit of JT
Allow anyone who can read an inventory to see adhoc command run against said inventory
Added role visibility tests
Typo
remove duplicate playbook variable
specify database on local restore
do not log postgres restore
add sudo true when sudoing to a user
ansible 1.9 support
filter_visible_roles performance enhancement
fix order_by parameter not being applied to page 2+ of list results (#2786)
Needed to bind removeSchedulesRefresh to the scope so that we could clear the listener properly
...