Commit Graph

24 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
8553b8eda6 Ignore hipchat certificate verification 2017-02-14 14:21:51 -05:00
sundeep-co-in
d7b3b90f4d update strings 2016-10-25 16:12:41 +05:30
Wayne Witzel III
a0c563e831 flake8 fixups 2016-07-26 14:50:48 -04:00
Matthew Jones
60e012f75b Force requests to emit application/json
When sending webhook notifications
2016-07-25 12:46:12 -04:00
Matthew Jones
2a4fa0ed9d Increment sent messages for pagerduty backend 2016-06-22 12:09:04 -04:00
Matthew Jones
c812e85f65 Change email notification formatting.
Instead of pretty printing the datastructure we'll now dump out the
result in json format with indent=4 for pretty viewing.
2016-06-22 11:52:49 -04:00
Matthew Jones
9ba98d9cac Rename channels to rooms for hipchat notifications 2016-05-17 15:33:22 -04:00
Matthew Jones
76728fcba7 Set a user agent for the webhook if not provided 2016-05-12 10:54:00 -04:00
Matthew Jones
256487a963 Strip hash marks from slack channels at send time 2016-04-25 09:49:36 -04:00
Matthew Jones
f286dc7486 Fix an issue with the email notifier
Incorrect body format assumptions in the email notifier
2016-03-21 15:40:41 -04:00
Matthew Jones
0ee12901fe Fix some notifications issues and write some tests
* Fixes some notifier merging issues
* Fixes some more unicode problems
* Implements unit tests
2016-02-29 12:30:00 -05:00
Matthew Jones
41d5393af0 Clean up flake8 related issues 2016-02-23 15:30:07 -05:00
Matthew Jones
4b1493f456 Fixing up some unicode issues 2016-02-23 15:26:29 -05:00
Matthew Jones
39c942e98b Adding migration and base notification type 2016-02-23 11:20:08 -05:00
Matthew Jones
4928badd3f Add a periodic administrative notification 2016-02-23 10:59:08 -05:00
Matthew Jones
ab3669efa9 Refactor message generator
* Job object can now control the output and generate K:V output for
  notification types that can support it
* Notifications store the body as json/dict now to encode more
  information
* Notification Type can further compose the message based on what is
  sensible for the notification type
* This will also allow customizing the message template in the future
* All notification types use sane defaults for the level of detail now
2016-02-22 17:09:36 -05:00
Matthew Jones
dde70dafec Refactor NotificationTemplate to Notifier 2016-02-17 15:18:18 +00:00
Matthew Jones
9d6739045a Implement irc notification backend 2016-02-11 15:34:27 -05:00
Matthew Jones
7abcb6e306 Add webhook notification backend 2016-02-10 17:03:57 -05:00
Matthew Jones
34ebe0a848 Pagerduty and Hipchat backends plus some cleanup 2016-02-10 15:17:11 -05:00
Matthew Jones
8db2f60405 Notification serializers, views, and tasks
* Implement concrete Notification model for notification runs
* Implement NotificationTemplate and Notification serializers and views
* Implement ancillary views
* Implement NotificationTemplate trigger m2m fields on all job templates
  via a fields mixin
* Link NotificationTemplates with an org
* Link notifications with the activity stream
* Implement Notification celery tasks
* Extend Backend field parameters to identify sender and receiver as
  parameters needed by the message and not the backend itself
* Updates to backends to better fit the django email backend model as it
  relates to Messages
* Implement success job chain task + notifications
* Implement notifications in error job chain task
2016-02-09 23:12:55 -05:00
Matthew Jones
172207cd4b Notification endpoints and url expositions
Also some changes to the footprint of the notification handler classes
2016-02-04 15:52:23 -05:00
Matthew Jones
7385efef35 Adding some early Notifications stubs
* A basic NotificationTemplate model class with early notification type
  definitions
* Initial implementations of the Email, Slack, and Twilio Notification
  backends using the Django email backend system
* Some dependencies thereof
2016-02-04 15:52:23 -05:00