Add command for healthcheck
Change-Id: I874809435b9afbb7282b7012a8b720c30b523a2a
This commit is contained in:
parent
5d3a9a6125
commit
c5804d89de
@ -5,12 +5,13 @@ _vitrage()
|
|||||||
_get_comp_words_by_ref -n : cur prev words
|
_get_comp_words_by_ref -n : cur prev words
|
||||||
|
|
||||||
# Command data:
|
# Command data:
|
||||||
cmds='alarm complete event help rca resource template topology'
|
cmds='alarm complete event healthcheck help rca resource template topology'
|
||||||
cmds_alarm='list'
|
cmds_alarm='list'
|
||||||
cmds_alarm_list='-h --help -f --format -c --column --max-width --print-empty --noindent --quote --all-tenants'
|
cmds_alarm_list='-h --help -f --format -c --column --max-width --print-empty --noindent --quote --all-tenants'
|
||||||
cmds_complete='-h --help --name --shell'
|
cmds_complete='-h --help --name --shell'
|
||||||
cmds_event='post'
|
cmds_event='post'
|
||||||
cmds_event_post='-h --help --type --time --details'
|
cmds_event_post='-h --help --type --time --details'
|
||||||
|
cmds_healthcheck='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix'
|
||||||
cmds_help='-h --help'
|
cmds_help='-h --help'
|
||||||
cmds_rca='show'
|
cmds_rca='show'
|
||||||
cmds_rca_show='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix --all-tenants'
|
cmds_rca_show='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix --all-tenants'
|
||||||
|
@ -34,6 +34,7 @@ from vitrageclient import client
|
|||||||
|
|
||||||
from vitrageclient.v1.cli import alarm
|
from vitrageclient.v1.cli import alarm
|
||||||
from vitrageclient.v1.cli import event
|
from vitrageclient.v1.cli import event
|
||||||
|
from vitrageclient.v1.cli import healthcheck
|
||||||
from vitrageclient.v1.cli import rca
|
from vitrageclient.v1.cli import rca
|
||||||
from vitrageclient.v1.cli import resource
|
from vitrageclient.v1.cli import resource
|
||||||
from vitrageclient.v1.cli import template
|
from vitrageclient.v1.cli import template
|
||||||
@ -51,6 +52,7 @@ class VitrageCommandManager(commandmanager.CommandManager):
|
|||||||
'template list': template.TemplateList,
|
'template list': template.TemplateList,
|
||||||
'template show': template.TemplateShow,
|
'template show': template.TemplateShow,
|
||||||
'event post': event.EventPost,
|
'event post': event.EventPost,
|
||||||
|
'healthcheck': healthcheck.HealthCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
def load_commands(self, namespace):
|
def load_commands(self, namespace):
|
||||||
|
23
vitrageclient/v1/cli/healthcheck.py
Normal file
23
vitrageclient/v1/cli/healthcheck.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 2017 - ZTE Corporation
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from cliff import show
|
||||||
|
|
||||||
|
|
||||||
|
# noinspection PyAbstractClass
|
||||||
|
class HealthCheck(show.ShowOne):
|
||||||
|
"""Check api health status"""
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
return self.dict2columns(self.app.client.healthcheck.get())
|
@ -14,6 +14,7 @@ from vitrageclient import client
|
|||||||
|
|
||||||
from vitrageclient.v1 import alarm
|
from vitrageclient.v1 import alarm
|
||||||
from vitrageclient.v1 import event
|
from vitrageclient.v1 import event
|
||||||
|
from vitrageclient.v1 import healthcheck
|
||||||
from vitrageclient.v1 import rca
|
from vitrageclient.v1 import rca
|
||||||
from vitrageclient.v1 import resource
|
from vitrageclient.v1 import resource
|
||||||
from vitrageclient.v1 import template
|
from vitrageclient.v1 import template
|
||||||
@ -31,3 +32,4 @@ class Client(object):
|
|||||||
self.rca = rca.Rca(self._api)
|
self.rca = rca.Rca(self._api)
|
||||||
self.template = template.Template(self._api)
|
self.template = template.Template(self._api)
|
||||||
self.event = event.Event(self._api)
|
self.event = event.Event(self._api)
|
||||||
|
self.healthcheck = healthcheck.HealthCheck(self._api)
|
||||||
|
36
vitrageclient/v1/healthcheck.py
Normal file
36
vitrageclient/v1/healthcheck.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Copyright 2017 - ZTE Corporation
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from vitrageclient.exc import ClientException
|
||||||
|
|
||||||
|
|
||||||
|
class HealthCheck(object):
|
||||||
|
URL = 'healthcheck/'
|
||||||
|
STATUS_CODE_OK = 200
|
||||||
|
|
||||||
|
def __init__(self, api):
|
||||||
|
self.api = api
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
"""Get healthcheck result"""
|
||||||
|
try:
|
||||||
|
resp = self.api.get(self.URL)
|
||||||
|
except ClientException as e:
|
||||||
|
return {"passed": False,
|
||||||
|
"message": e.message,
|
||||||
|
"url": e.url,
|
||||||
|
"status_code": e.code}
|
||||||
|
|
||||||
|
return {"passed": resp.status_code == self.STATUS_CODE_OK,
|
||||||
|
"status_code": resp.status_code}
|
Loading…
x
Reference in New Issue
Block a user