correctly sort tasks and plays

adds an explicit sort key to the database to ensure that we can
appropriately sort tasks and plays

Closes: #44
This commit is contained in:
Lars Kellogg-Stedman
2016-05-18 15:55:47 -04:00
parent 513164b6b6
commit 4cdaf2ce33
4 changed files with 11 additions and 3 deletions

View File

@@ -16,6 +16,7 @@ from __future__ import (absolute_import, division, print_function)
import logging
import os
import itertools
from datetime import datetime
from decorator import decorator
@@ -86,6 +87,9 @@ class CallbackModule(CallbackBase):
self.playbook = None
self.stats = None
self.play_counter = itertools.count()
self.task_counter = itertools.count()
def get_or_create_host(self, hostname):
try:
host = models.Host.query.filter_by(name=hostname).one()
@@ -197,6 +201,7 @@ class CallbackModule(CallbackBase):
self.task = models.Task(
name=task.name,
sortkey=next(self.task_counter),
action=task.action,
play=self.play,
playbook=self.playbook,
@@ -229,6 +234,7 @@ class CallbackModule(CallbackBase):
self.play = models.Play(
name=play.name,
sortkey=next(self.play_counter),
playbook=self.playbook
)