X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=juju%2Funit.py;h=7a6378a2ba206661dbfb3bc2e6b17487d268dd79;hb=5c9254b2d5435762b76f8fbd0973855c66891f3a;hp=ea51345c19292ac5fb26f0a74c96e30149a9955d;hpb=8aca5190344dea43352b4d242291d729e3aa2328;p=osm%2FN2VC.git diff --git a/juju/unit.py b/juju/unit.py index ea51345..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,7 +98,7 @@ 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. @@ -108,12 +107,8 @@ class Unit(model.ModelEntity): :param int timeout: Time to wait before command is considered failed :returns: A :class:`juju.action.Action` instance. - Returns a tuple containing the stdout, stderr, and return code - from the command. - """ - action = client.ActionFacade() - action.connect(self.connection) + action = client.ActionFacade.from_connection(self.connection) log.debug( 'Running `%s` on %s', command, self.name) @@ -139,8 +134,7 @@ class Unit(model.ModelEntity): 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) @@ -175,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): @@ -193,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. @@ -202,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): """ @@ -219,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) @@ -243,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]