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:
@@ -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
|
||||||
|
@@ -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)
|
||||||
|
@@ -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)
|
||||||
|
@@ -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)
|
||||||
|
Reference in New Issue
Block a user