X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=juju%2Funit.py;h=7a6378a2ba206661dbfb3bc2e6b17487d268dd79;hb=1a3cee44420e79fda92943edf636eaddb393145e;hp=ab9d1d02b9cce4fc201212cf3e16bfd7c007f7dc;hpb=41ba4699c6b3f636fb75eb27322e2dfa81f3313e;p=osm%2FN2VC.git diff --git a/juju/unit.py b/juju/unit.py index ab9d1d0..7a6378a 100644 --- a/juju/unit.py +++ b/juju/unit.py @@ -63,20 +63,19 @@ class Unit(model.ModelEntity): form 'POOL,COUNT,SIZE' """ - pass + raise NotImplementedError() def collect_metrics(self): """Collect metrics on this unit. """ - pass + raise NotImplementedError() async def destroy(self): """Destroy this unit. """ - app_facade = client.ApplicationFacade() - app_facade.connect(self.connection) + app_facade = client.ApplicationFacade.from_connection(self.connection) log.debug( 'Destroying %s', self.name) @@ -91,7 +90,7 @@ class Unit(model.ModelEntity): unit """ - pass + raise NotImplementedError() def resolved(self, retry=False): """Mark unit errors resolved. @@ -99,20 +98,17 @@ class Unit(model.ModelEntity): :param bool retry: Re-execute failed hooks """ - pass + raise NotImplementedError() async def run(self, command, timeout=None): """Run command on this unit. :param str command: The command to run :param int timeout: Time to wait before command is considered failed - - Returns a tuple containing the stdout, stderr, and return code - from the command. + :returns: A :class:`juju.action.Action` instance. """ - action = client.ActionFacade() - action.connect(self.connection) + action = client.ActionFacade.from_connection(self.connection) log.debug( 'Running `%s` on %s', command, self.name) @@ -131,14 +127,14 @@ class Unit(model.ModelEntity): :param str action_name: Name of action to run :param \*\*params: Action parameters - :returns: An `juju.action.Action` instance. + :returns: A :class:`juju.action.Action` instance. Note that this only enqueues the action. You will need to call ``action.wait()`` on the resulting `Action` instance if you wish to block until the action is complete. + """ - action_facade = client.ActionFacade() - action_facade.connect(self.connection) + action_facade = client.ActionFacade.from_connection(self.connection) log.debug('Starting action `%s` on %s', action_name, self.name) @@ -173,13 +169,13 @@ class Unit(model.ModelEntity): :param str scp_opts: Additional options to the `scp` command """ - pass + raise NotImplementedError() def set_meter_status(self): """Set the meter status on this unit. """ - pass + raise NotImplementedError() def ssh( self, command, user=None, proxy=False, ssh_opts=None): @@ -191,7 +187,7 @@ class Unit(model.ModelEntity): :param str ssh_opts: Additional options to the `ssh` command """ - pass + raise NotImplementedError() def status_history(self, num=20, utc=False): """Get status history for this unit. @@ -200,7 +196,7 @@ class Unit(model.ModelEntity): :param bool utc: Display time as UTC in RFC3339 format """ - pass + raise NotImplementedError() async def is_leader_from_status(self): """ @@ -217,8 +213,7 @@ class Unit(model.ModelEntity): """ app = self.name.split("/")[0] - c = client.ClientFacade() - c.connect(self.model.connection) + c = client.ClientFacade.from_connection(self.connection) status = await c.FullStatus(None) @@ -241,5 +236,10 @@ class Unit(model.ModelEntity): False) async def get_metrics(self): + """Get metrics for the unit. + + :return: Dictionary of metrics for this unit. + + """ metrics = await self.model.get_metrics(self.tag) return metrics[self.name]