Capture sigterm and mark the compose as DOOMED
Merges: https://pagure.io/pungi/pull-request/946 Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
This commit is contained in:
		
							parent
							
								
									057751381a
								
							
						
					
					
						commit
						ab2faa85b3
					
				| @ -11,6 +11,8 @@ import locale | ||||
| import datetime | ||||
| import getpass | ||||
| import socket | ||||
| import signal | ||||
| import traceback | ||||
| from six.moves import shlex_quote | ||||
| import json | ||||
| 
 | ||||
| @ -453,7 +455,23 @@ def run_compose(compose, create_latest_link=True, latest_link_status=None): | ||||
|     compose.log_info("Compose finished: %s" % compose.topdir) | ||||
| 
 | ||||
| 
 | ||||
| def sigterm_handler(signum, frame): | ||||
|     if COMPOSE: | ||||
|         COMPOSE.log_error("Compose run failed: signal %s" % signum) | ||||
|         COMPOSE.log_error("Traceback:\n%s" | ||||
|                           % '\n'.join(traceback.format_stack(frame))) | ||||
|         COMPOSE.log_critical("Compose failed: %s" % COMPOSE.topdir) | ||||
|         COMPOSE.write_status("TERMINATED") | ||||
|     else: | ||||
|         print("Signal %s captured" % signum) | ||||
|     sys.stdout.flush() | ||||
|     sys.stderr.flush() | ||||
|     sys.exit(1) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     signal.signal(signal.SIGTERM, sigterm_handler) | ||||
| 
 | ||||
|     try: | ||||
|         main() | ||||
|     except (Exception, KeyboardInterrupt) as ex: | ||||
|  | ||||
| @ -275,7 +275,7 @@ class Compose(kobo.log.LoggingBase): | ||||
|                       f, indent=4) | ||||
| 
 | ||||
|     def write_status(self, stat_msg): | ||||
|         if stat_msg not in ("STARTED", "FINISHED", "DOOMED"): | ||||
|         if stat_msg not in ("STARTED", "FINISHED", "DOOMED", "TERMINATED"): | ||||
|             self.log_warning("Writing nonstandard compose status: %s" % stat_msg) | ||||
|         old_status = self.get_status() | ||||
|         if stat_msg == old_status: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user