From bccd5c73a2f02a768612c7aec318c910fceda299 Mon Sep 17 00:00:00 2001 From: Tim Van Steenburgh Date: Tue, 1 Nov 2016 18:39:40 -0400 Subject: [PATCH] Implement Application.run() --- juju/application.py | 17 +++++++++++++++-- juju/unit.py | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/juju/application.py b/juju/application.py index 272268d..4a98622 100644 --- a/juju/application.py +++ b/juju/application.py @@ -213,14 +213,27 @@ class Application(model.ModelEntity): """ pass - def run(self, command, timeout=None): + async def run(self, command, timeout=None): """Run command on all units for this application. :param str command: The command to run :param int timeout: Time to wait before command is considered failed """ - pass + action = client.ActionFacade() + action.connect(self.connection) + + log.debug( + 'Running `%s` on all units of %s', command, self.name) + + # TODO this should return a list of Actions + return await action.Run( + [self.name], + command, + [], + timeout, + [], + ) async def set_annotations(self, annotations): """Set annotations on this application. diff --git a/juju/unit.py b/juju/unit.py index 4b24331..d0bbd32 100644 --- a/juju/unit.py +++ b/juju/unit.py @@ -115,6 +115,7 @@ class Unit(model.ModelEntity): log.debug( 'Running `%s` on %s', command, self.name) + # TODO this should return an Action return await action.Run( [], command, -- 2.25.1