Change-Id: Ibb645261bdc9af1a582ad4102c69340c49916d4e
This commit is contained in:
Kanagaraj Manickam 2016-03-22 20:11:37 +05:30
parent c17ee850d2
commit eca5fb1b5c
4 changed files with 150 additions and 2 deletions

View File

@ -106,6 +106,10 @@ class ConductorManager(object):
def infra_perspective_get(self, context):
return db_api.infra_perspective_get(context)
@request_context
def view_360(self, context):
return db_api.view_360(context)
@request_context
def config_get_by_name_for_service_worker(self,
context,
@ -117,6 +121,7 @@ class ConductorManager(object):
name,
only_configured)
class ServiceProcessor(object):
def __init__(self, registration_info):
self.registration_info = registration_info

View File

@ -96,6 +96,11 @@ class ConductorAPI(object):
return self.client.call(context,
'infra_perspective_get')
@wrapper_function
def view_360(self, context):
return self.client.call(context,
'view_360')
@wrapper_function
def config_get_by_name_for_service_worker(self,
context,
@ -128,10 +133,14 @@ if __name__ == '__main__':
def print_infra():
print (json.dumps(c.infra_perspective_get(context.RequestContext())))
def print_view_360():
print (json.dumps(c.view_360(context.RequestContext())))
def print_sample_conf():
for cf in c.config_get_by_name_for_service_worker(
context.RequestContext(),
service_worker_id='fc88fd41-7e9c-42c9-891d-3823efd4824e'):
service_worker_id='06e64e74-09b3-4721-8e5d-39ae40ed34f3'):
print ('%s %s' % (cf['name'], cf['value']))
print_sample_conf()
print_view_360()
# print_sample_conf()

View File

@ -367,3 +367,7 @@ def region_perspective_get(context, region_id,
def infra_perspective_get(context):
return IMPL.infra_perspective_get(context)
def view_360(context):
return IMPL.view_360(context)

View File

@ -772,6 +772,133 @@ def infra_perspective_get(context):
return infra_perspective
def view_360(context):
view = dict()
view['region'] = dict()
view['service_node'] = dict()
view['service_component'] = dict()
view['service'] = dict()
view['service_worker'] = dict()
view['device_driver'] = dict()
view['device_driver_class'] = dict()
view['device_endpoint'] = dict()
view['device'] = dict()
region_list = region_get_all(context)
for rg in region_list:
# region
view['region'][rg.id] = region_get(context, rg.id).to_dict()
view['region'][rg.id]['service_node'] = dict()
srv_nd_lst = _service_node_get_all_by(context,
region_id=rg.id)
for srv_nd in srv_nd_lst:
# service node
view['service_node'][srv_nd.id] = service_node_get(
context,
srv_nd.id
).to_dict()
view['region'][rg.id]['service_node'][srv_nd.id] = dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'] = dict()
srv_cmp_lst = service_component_get_all_by_node_for_service(
context,
srv_nd.id
)
for srv_cmp in srv_cmp_lst:
# service component
view['service_component'][
srv_cmp.id] = service_component_get(context,
srv_cmp.id).to_dict()
# service
srv_id = view['service_component'][srv_cmp.id]['service_id']
if srv_id not in view['service']:
view['service'][srv_id] = service_get(context,
srv_id).to_dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id] = dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id]['service'] = srv_id
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id][
'service_worker'] = dict()
srv_wkr_lst = service_worker_get_by_host_for_service_component(
context,
srv_cmp.id
)
for srv_wkr in srv_wkr_lst:
# service worker
view['service_worker'][
srv_wkr.id] = service_worker_get(context,
srv_wkr.id).to_dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id][
'service_worker'][srv_wkr.id] = dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id][
'service_worker'][srv_wkr.id]['device_driver'] = dict()
dvc_drv_list = _device_driver_get_all_by(
context,
service_worker_id=srv_wkr.id
)
for dvc_drv in dvc_drv_list:
# device driver
view['device_driver'][
dvc_drv.id] = device_driver_get(
context,
dvc_drv.id).to_dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id][
'service_worker'][srv_wkr.id]['device_driver'][
dvc_drv.id] = dict()
# device driver class
dvc_drv_cls_id = view['device_driver'][
dvc_drv.id]['device_driver_class_id']
if dvc_drv_cls_id not in view['device_driver_class']:
view['device_driver_class'][
dvc_drv_cls_id] = device_driver_class_get(
context,
dvc_drv_cls_id).to_dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id][
'service_worker'][srv_wkr.id]['device_driver'][
dvc_drv.id]['device_driver_class'] = dvc_drv_cls_id
# device endpoint
dvc_endp_id = view['device_driver'][
dvc_drv.id]['endpoint_id']
view['device_endpoint'][
dvc_endp_id] = device_endpoint_get(
context,
dvc_endp_id).to_dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id][
'service_worker'][srv_wkr.id]['device_driver'][
dvc_drv.id]['device_endpoint'] = dvc_endp_id
# device
dvc_id = view['device_driver'][
dvc_drv.id]['device_id']
if dvc_id not in view['device']:
view['device'][
dvc_id] = device_get(
context,
dvc_id).to_dict()
view['region'][rg.id]['service_node'][srv_nd.id][
'service_component'][srv_cmp.id][
'service_worker'][srv_wkr.id]['device_driver'][
dvc_drv.id]['device'] = dvc_id
return view
if __name__ == '__main__':
from namos.common import config
@ -796,3 +923,6 @@ if __name__ == '__main__':
# import json
# perp_json = json.dumps(persp, indent=4)
# print perp_json
import json
print (json.dumps(view_360(None)))