Prepare compatibility with OSC

This change prepares a compatibility layer to
be able to use the Aodh cli command with OSC cli.

Change-Id: Ic04af30567d1d8e371d46bb966d7c2ef220b4197
Signed-off-by: liusheng <liusheng@huawei.com>
This commit is contained in:
liusheng
2016-05-04 15:50:45 +08:00
parent fc502cd83a
commit ffabd07d0f
4 changed files with 26 additions and 13 deletions

View File

@@ -173,3 +173,13 @@ def cli_to_array(cli_query):
raise ValueError(err) raise ValueError(err)
opts.append(opt) opts.append(opt)
return opts return opts
def get_client(obj):
if hasattr(obj.app, 'client_manager'):
# NOTE(liusheng): cliff objects loaded by OSC
return obj.app.client_manager.alarming
else:
# TODO(liusheng): Remove this when OSC is able
# to install the aodh client binary itself
return obj.app.client

View File

@@ -68,7 +68,8 @@ class CliAlarmList(lister.Lister):
else: else:
query = None query = None
filters = dict(parsed_args.filter) if parsed_args.filter else None filters = dict(parsed_args.filter) if parsed_args.filter else None
alarms = self.app.client.alarm.list(query=query, filters=filters) alarms = utils.get_client(self).alarm.list(query=query,
filters=filters)
return utils.list2cols(ALARM_LIST_COLS, alarms) return utils.list2cols(ALARM_LIST_COLS, alarms)
@@ -137,9 +138,9 @@ class CliAlarmShow(show.ShowOne):
def take_action(self, parsed_args): def take_action(self, parsed_args):
_check_name_and_id(parsed_args, 'query') _check_name_and_id(parsed_args, 'query')
if parsed_args.id: if parsed_args.id:
alarm = self.app.client.alarm.get(alarm_id=parsed_args.id) alarm = utils.get_client(self).alarm.get(alarm_id=parsed_args.id)
else: else:
alarm = _find_alarm_by_name(self.app.client.alarm, alarm = _find_alarm_by_name(utils.get_client(self).alarm,
parsed_args.alarm_name) parsed_args.alarm_name)
return self.dict2columns(_format_alarm(alarm)) return self.dict2columns(_format_alarm(alarm))
@@ -377,7 +378,7 @@ class CliAlarmCreate(show.ShowOne):
return alarm return alarm
def take_action(self, parsed_args): def take_action(self, parsed_args):
alarm = self.app.client.alarm.create( alarm = utils.get_client(self).alarm.create(
alarm=self._alarm_from_args(parsed_args)) alarm=self._alarm_from_args(parsed_args))
return self.dict2columns(_format_alarm(alarm)) return self.dict2columns(_format_alarm(alarm))
@@ -395,13 +396,13 @@ class CliAlarmUpdate(CliAlarmCreate):
_check_name_and_id(parsed_args, 'update') _check_name_and_id(parsed_args, 'update')
attributes = self._alarm_from_args(parsed_args) attributes = self._alarm_from_args(parsed_args)
if parsed_args.id: if parsed_args.id:
updated_alarm = self.app.client.alarm.update( updated_alarm = utils.get_client(self).alarm.update(
alarm_id=parsed_args.id, alarm_update=attributes) alarm_id=parsed_args.id, alarm_update=attributes)
else: else:
alarm_id = _find_alarm_by_name(self.app.client.alarm, alarm_id = _find_alarm_by_name(utils.get_client(self).alarm,
parsed_args.alarm_name, parsed_args.alarm_name,
return_id=True) return_id=True)
updated_alarm = self.app.client.alarm.update( updated_alarm = utils.get_client(self).alarm.update(
alarm_id=alarm_id, alarm_update=attributes) alarm_id=alarm_id, alarm_update=attributes)
return self.dict2columns(_format_alarm(updated_alarm)) return self.dict2columns(_format_alarm(updated_alarm))
@@ -416,9 +417,9 @@ class CliAlarmDelete(command.Command):
def take_action(self, parsed_args): def take_action(self, parsed_args):
_check_name_and_id(parsed_args, 'delete') _check_name_and_id(parsed_args, 'delete')
if parsed_args.id: if parsed_args.id:
self.app.client.alarm.delete(parsed_args.id) utils.get_client(self).alarm.delete(parsed_args.id)
else: else:
alarm_id = _find_alarm_by_name(self.app.client.alarm, alarm_id = _find_alarm_by_name(utils.get_client(self).alarm,
parsed_args.alarm_name, parsed_args.alarm_name,
return_id=True) return_id=True)
self.app.client.alarm.delete(alarm_id) utils.get_client(self).alarm.delete(alarm_id)

View File

@@ -34,7 +34,7 @@ class CliAlarmHistorySearch(lister.Lister):
if parsed_args.query: if parsed_args.query:
query = jsonutils.dumps( query = jsonutils.dumps(
utils.search_query_builder(parsed_args.query)) utils.search_query_builder(parsed_args.query))
history = self.app.client.alarm_history.search(query=query) history = utils.get_client(self).alarm_history.search(query=query)
return utils.list2cols(self.COLS, history) return utils.list2cols(self.COLS, history)
@@ -49,6 +49,6 @@ class CliAlarmHistoryShow(lister.Lister):
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):
history = self.app.client.alarm_history.get( history = utils.get_client(self).alarm_history.get(
alarm_id=parsed_args.alarm_id) alarm_id=parsed_args.alarm_id)
return utils.list2cols(self.COLS, history) return utils.list2cols(self.COLS, history)

View File

@@ -13,10 +13,12 @@
from cliff import show from cliff import show
from aodhclient import utils
class CliCapabilitiesList(show.ShowOne): class CliCapabilitiesList(show.ShowOne):
"""List capabilities""" """List capabilities"""
def take_action(self, parsed_args): def take_action(self, parsed_args):
caps = self.app.client.capabilities.list() caps = utils.get_client(self).capabilities.list()
return self.dict2columns(caps) return self.dict2columns(caps)