From 8625124549dd4ae1a5b347a51c95c3f1887fb9ea Mon Sep 17 00:00:00 2001 From: Lauren Perry Date: Mon, 11 May 2015 16:22:53 +0000 Subject: distbuild: Condense Initiator class to remove unnecessary duplication Create an InitiatorCommand class that accepts message_type and status_text parameters to be used by the distbuild-list-jobs, distbuild-status and distbuild-cancel commands to send request messages to the distbuild network Change-Id: Ib686dcd7c370d802b612e9aaa1e3df76f0275fae --- morphlib/plugins/distbuild_plugin.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'morphlib/plugins') diff --git a/morphlib/plugins/distbuild_plugin.py b/morphlib/plugins/distbuild_plugin.py index 2d6d932e..2da089f3 100644 --- a/morphlib/plugins/distbuild_plugin.py +++ b/morphlib/plugins/distbuild_plugin.py @@ -19,6 +19,7 @@ import cliapp import logging import re import sys +import uuid import morphlib import distbuild @@ -70,10 +71,12 @@ class DistbuildCancel(cliapp.Plugin): raise cliapp.AppException( 'usage: morph distbuild-cancel ') + args.append('build-cancel') + args.append('Sending cancel request for distbuild job.') addr = self.app.settings['controller-initiator-address'] port = self.app.settings['controller-initiator-port'] icm = distbuild.InitiatorConnectionMachine(self.app, addr, port, - distbuild.InitiatorCancel, + distbuild.InitiatorCommand, [self.app] + args, self.RECONNECT_INTERVAL, self.MAX_RETRIES) @@ -117,10 +120,12 @@ class DistbuildStatusPlugin(cliapp.Plugin): raise cliapp.AppException( 'usage: morph distbuild-status ') + args.append('build-status') + args.append('Requesting status of recent build requests.') addr = self.app.settings['controller-initiator-address'] port = self.app.settings['controller-initiator-port'] icm = distbuild.InitiatorConnectionMachine(self.app, addr, port, - distbuild.InitiatorStatus, + distbuild.InitiatorCommand, [self.app] + args, self.RECONNECT_INTERVAL, self.MAX_RETRIES) @@ -159,11 +164,18 @@ class DistbuildListJobsPlugin(cliapp.Plugin): ''' + if len(args) != 0: + raise cliapp.AppException( + 'distbuild-list-jobs takes zero arguments') + + args.append(uuid.uuid4().hex) + args.append('list-requests') + args.append('Requesting currently running distbuilds.') addr = self.app.settings['controller-initiator-address'] port = self.app.settings['controller-initiator-port'] icm = distbuild.InitiatorConnectionMachine(self.app, addr, port, - distbuild.InitiatorListJobs, - [self.app], + distbuild.InitiatorCommand, + [self.app] + args, self.RECONNECT_INTERVAL, self.MAX_RETRIES) loop = distbuild.MainLoop() -- cgit v1.2.1