summaryrefslogtreecommitdiff
path: root/morphlib/plugins
diff options
context:
space:
mode:
authorLauren Perry <lauren.perry@codethink.co.uk>2015-05-11 16:22:53 +0000
committerBaserock Gerrit <gerrit@baserock.org>2015-05-15 14:19:02 +0000
commit8625124549dd4ae1a5b347a51c95c3f1887fb9ea (patch)
tree1c933b04810f0092a34d259a712705e0547e10f9 /morphlib/plugins
parent2c2b11373d03d98787f5094a16fe41f05104e14a (diff)
downloadmorph-8625124549dd4ae1a5b347a51c95c3f1887fb9ea.tar.gz
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
Diffstat (limited to 'morphlib/plugins')
-rw-r--r--morphlib/plugins/distbuild_plugin.py20
1 files changed, 16 insertions, 4 deletions
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 <build-request id>')
+ 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 <build-request id>')
+ 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()