Commit 7c7ccd6c authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Common - Tools - Context Queries:

- Added extra helper methods
parent b3ca7cbb
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -50,6 +50,10 @@ def get_existing_device_uuids(context_client : ContextClient) -> Set[str]:
    existing_device_uuids = {device_id.device_uuid.uuid for device_id in existing_device_ids.device_ids}
    return existing_device_uuids

def get_devices(context_client : ContextClient) -> List[Device]:
    devices = context_client.ListDevices(Empty())
    return [d for d in devices.devices]

def add_device_to_topology(
    context_client : ContextClient, context_id : ContextId, topology_uuid : str, device_uuid : str
) -> bool:
+4 −0
Original line number Diff line number Diff line
@@ -37,6 +37,10 @@ def get_existing_link_uuids(context_client : ContextClient) -> Set[str]:
    existing_link_uuids = {link_id.link_uuid.uuid for link_id in existing_link_ids.link_ids}
    return existing_link_uuids

def get_links(context_client : ContextClient) -> List[Link]:
    links = context_client.ListLinks(Empty())
    return [l for l in links.links]

def add_link_to_topology(
    context_client : ContextClient, context_id : ContextId, topology_uuid : str, link_uuid : str
) -> bool:
+10 −2
Original line number Diff line number Diff line
@@ -13,9 +13,9 @@
# limitations under the License.

import grpc, logging
from typing import Optional
from typing import List, Optional
from common.Constants import DEFAULT_CONTEXT_NAME
from common.proto.context_pb2 import Service, ServiceFilter, ServiceId
from common.proto.context_pb2 import ContextId, Service, ServiceFilter, ServiceId
from context.client.ContextClient import ContextClient

LOGGER = logging.getLogger(__name__)
@@ -55,3 +55,11 @@ def get_service_by_uuid(
    return get_service_by_id(
        context_client, service_id, rw_copy=rw_copy, include_endpoint_ids=include_endpoint_ids,
        include_constraints=include_constraints, include_config_rules=include_config_rules)

def get_services(
        context_client : ContextClient, context_uuid : str = DEFAULT_CONTEXT_NAME
    ) -> List[Service]:
    context_id = ContextId()
    context_id.context_uuid.uuid = context_uuid
    services = context_client.ListServices(context_id)
    return [s for s in services.services]
+8 −0
Original line number Diff line number Diff line
@@ -62,6 +62,14 @@ def get_topology(
        #LOGGER.exception('Unable to get topology({:s} / {:s})'.format(str(context_uuid), str(topology_uuid)))
        return None

def get_topologies(
        context_client : ContextClient, context_uuid : str = DEFAULT_CONTEXT_NAME
    ) -> List[Topology]:
    context_id = ContextId()
    context_id.context_uuid.uuid = context_uuid
    topologies = context_client.ListTopologies(context_id)
    return [t for t in topologies.topologies]

def get_topology_details(
        context_client : ContextClient, topology_uuid : str, context_uuid : str = DEFAULT_CONTEXT_NAME,
        rw_copy : bool = False