Write timestamps when important events happen during the compose (#409).

Right now, this is when the compose is queued up, when it is started by
anaconda, and when it is finished (whether that's success or not).

(cherry picked from commit 3ba9d53b8b)
This commit is contained in:
Chris Lumens 2018-08-02 16:05:31 -04:00 committed by Brian C. Lane
parent e42b797295
commit 495dcd13ec
2 changed files with 6 additions and 1 deletions

View File

@ -49,6 +49,7 @@ from pykickstart.version import makeVersion
from pylorax.api.projects import projects_depsolve, projects_depsolve_with_size, dep_nevra from pylorax.api.projects import projects_depsolve, projects_depsolve_with_size, dep_nevra
from pylorax.api.projects import ProjectsError from pylorax.api.projects import ProjectsError
from pylorax.api.recipes import read_recipe_and_id from pylorax.api.recipes import read_recipe_and_id
from pylorax.api.timestamp import write_timestamp
from pylorax.imgutils import default_image_name from pylorax.imgutils import default_image_name
from pylorax.sysutils import joinpaths from pylorax.sysutils import joinpaths
@ -378,6 +379,7 @@ def start_build(cfg, dnflock, gitlock, branch, recipe_name, compose_type, test_m
if test_mode > 0: if test_mode > 0:
open(joinpaths(results_dir, "TEST"), "w").write("%s" % test_mode) open(joinpaths(results_dir, "TEST"), "w").write("%s" % test_mode)
write_timestamp(results_dir, "created")
log.info("Adding %s (%s %s) to compose queue", build_id, recipe["name"], compose_type) log.info("Adding %s (%s %s) to compose queue", build_id, recipe["name"], compose_type)
os.symlink(results_dir, joinpaths(lib_dir, "queue/new/", build_id)) os.symlink(results_dir, joinpaths(lib_dir, "queue/new/", build_id))

View File

@ -31,7 +31,7 @@ import time
from pylorax import find_templates from pylorax import find_templates
from pylorax.api.compose import move_compose_results from pylorax.api.compose import move_compose_results
from pylorax.api.recipes import recipe_from_file from pylorax.api.recipes import recipe_from_file
from pylorax.api.timestamp import timestamp_dict from pylorax.api.timestamp import write_timestamp, timestamp_dict
from pylorax.base import DataHolder from pylorax.base import DataHolder
from pylorax.creator import run_creator from pylorax.creator import run_creator
from pylorax.sysutils import joinpaths from pylorax.sysutils import joinpaths
@ -108,6 +108,7 @@ def monitor(cfg):
make_compose(cfg, os.path.realpath(dst)) make_compose(cfg, os.path.realpath(dst))
log.info("Finished building %s, results are in %s", dst, os.path.realpath(dst)) log.info("Finished building %s, results are in %s", dst, os.path.realpath(dst))
open(joinpaths(dst, "STATUS"), "w").write("FINISHED\n") open(joinpaths(dst, "STATUS"), "w").write("FINISHED\n")
write_timestamp(dst, "finished")
except Exception: except Exception:
import traceback import traceback
log.error("traceback: %s", traceback.format_exc()) log.error("traceback: %s", traceback.format_exc())
@ -115,6 +116,7 @@ def monitor(cfg):
# TODO - Write the error message to an ERROR-LOG file to include with the status # TODO - Write the error message to an ERROR-LOG file to include with the status
# log.error("Error running compose: %s", e) # log.error("Error running compose: %s", e)
open(joinpaths(dst, "STATUS"), "w").write("FAILED\n") open(joinpaths(dst, "STATUS"), "w").write("FAILED\n")
write_timestamp(dst, "finished")
os.unlink(dst) os.unlink(dst)
@ -195,6 +197,7 @@ def make_compose(cfg, results_dir):
log.debug("cfg = %s", install_cfg) log.debug("cfg = %s", install_cfg)
try: try:
test_path = joinpaths(results_dir, "TEST") test_path = joinpaths(results_dir, "TEST")
write_timestamp(results_dir, "started")
if os.path.exists(test_path): if os.path.exists(test_path):
# Pretend to run the compose # Pretend to run the compose
time.sleep(5) time.sleep(5)