* 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
* 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
Linking in a success callback that will be invoked by our UnifiedJobs in
the case they terminate normally. This is where we'll hook in the
success notification type.
* Add dependencies for pystatsd and django-statsd-mozilla
* Default turned off except for development environment
* Modify docker-compose to install statsd/graphite host
2.4.0 level of rax.py introduces a default cache timeout of 600s, this
fixes that and includes a new rax.py inventory module that has been
submitted upstream.
Originally we were looking at the underlying project/inventory update
but we are now populating the name of project updates and inventory
updates a lot better so we'll just take their names
If the extra var PEXPECT_SLEEP is given to a job then it will
artificially delay the job run by that number of seconds allowing QA to
hook in and cancel the job
psutil will fail to import on el6 due to not being able to access a
pseudo terminal. This issues a SIGKILL to the proot process in order to
force the stop
* Cleanup old code related to stdout download using temporary files
* Remove copy-into-database code
* Modify stdout download code to reference stdout file