Add health check for gvnfmdriver 87/84287/1
authorfujinhua <fu.jinhua@zte.com.cn>
Fri, 5 Apr 2019 00:36:05 +0000 (08:36 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Fri, 5 Apr 2019 00:36:05 +0000 (08:36 +0800)
Change-Id: I8ad2122362d6a318dc40c10dfb25e3ce54080910
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
gvnfmadapter/driver/interfaces/tests.py
gvnfmadapter/driver/interfaces/urls.py
gvnfmadapter/driver/interfaces/views.py

index 4580680..427f872 100644 (file)
@@ -913,3 +913,9 @@ class InterfacesTest(TestCase):
         self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
         self.assertEqual(None, response.data)
         self.assertEqual("/vnf_lc_ops/NF-HEAL-12-2a3be946-b01d-11e8-9302-08002705b121", response['Location'])
+
+    def test_health_check(self):
+        response = self.client.get("/api/gvnfmdriver/v1/health_check")
+        self.assertEqual(status.HTTP_200_OK, response.status_code, response.content)
+        resp_data = json.loads(response.content)
+        self.assertEqual({"status": "active"}, resp_data)
index 9a36463..368ea8e 100644 (file)
@@ -16,6 +16,7 @@ from django.conf.urls import url
 from driver.interfaces.views import VnfInstInfo, VnfTermInfo, VnfQueryInfo, VnfOperInfo
 from driver.interfaces.views import Subscription
 from driver.interfaces.views import VnfPkgsInfo, VnfGrantInfo, VnfNotifyInfo, QuerySingleVnfLcmOpOcc, VnfOperateView, VnfHealView
+from driver.interfaces.views import HealthCheckView
 
 urlpatterns = [
     url(r'^api/(?P<vnfmtype>[0-9a-zA-Z\-\_]+)/v1/(?P<vnfmid>[0-9a-zA-Z\-\_]+)/vnfs$', VnfInstInfo.as_view()),
@@ -32,4 +33,5 @@ urlpatterns = [
         r'[0-9a-zA-Z\-\_]+)/operate$', VnfOperateView.as_view()),
     url(r'^api/(?P<vnfmtype>[0-9a-zA-Z\-\_]+)/v1/(?P<vnfmid>[0-9a-zA-Z\-\_]+)/vnfs/(?P<vnfInstanceId>'
         r'[0-9a-zA-Z\-\_]+)/heal$', VnfHealView.as_view()),
+    url(r'^api/gvnfmdriver/v1/health_check$', HealthCheckView.as_view()),
 ]
index 71ec408..f399ab9 100644 (file)
@@ -647,3 +647,12 @@ def do_subscription(data, vnfm_id):
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         raise GvnfmDriverException('Failed to subscribe.')
     return json.JSONDecoder().decode(ret[1])
+
+
+class HealthCheckView(APIView):
+    @swagger_auto_schema(
+        responses={
+            status.HTTP_200_OK: 'Active'})
+    def get(self, request, format=None):
+        logger.debug("HealthCheck")
+        return Response({"status": "active"})