* Modify instance model to container a version number for the node
* Update that version number during the heartbeat
* If during a heartbeat any of the nodes are of a newer version then
shutdown the current node.
The idea behind this is that if all nodes were upgraded at the same
time then at the moment of the healthcheck they should all be at the
newer version. Otherwise we put the system in a state where it can
receive the upgrade but stay down until that happens. During setup
playbook run the services will be fully restarted.
* We should not modify the original env because it's what is going to be
passed to the Ansible process. This will contain all of the passwords,
unobscured. The safe env is what will get saved into the model.
* Support "name" if given, else use a more reasonable file name for
the playbook file
* Fix an issue where we wouldn't populate the playbooks correctly in
the database
* Force downloading the playbooks every time since we can't tell when
the file might change
* Extend scm credential type to support username and password for
redhat portal accounts
* Update project update playbook to work with remote insights server
* Associate the celery_id with the job at the earliest point possible.
This ensures that a waiting job has a celery id. Thus, we are free to
fail waiting jobs that don't have a celery id.
We need to not remove the source tree on project update run which
happens in the context of the job run to prevent the directory from
being deleted out from under the job runners. Since those will
inherently not block each other as the project update would
This works in tandem with the on-demand stdout file generator and
decouples stdout locally from the persistent database representation
ob the job itself
Carat seems to only want to match newlines or the beginning of the
string, since we seem to get CR+LF this seems to keep the carat from
matching so here we're expanding the regex matches.
This also extends support for DZDO where it was only originally added
on ad-hoc commands inadvertantly.
Remove PMRUN support since that was never merged into core
event emitter now caches to memcache where it is eventually picked up
by the stdout event emitter. This obviates event reassembly in the
callback receiver.