blob: 1c52a1abdb3837394523e91108e9fd507ea9ff9b [file] [log] [blame]
# Copyright 2017-present Open Networking Foundation
#
# 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.
class Helpers():
@staticmethod
def format_url(url):
if 'http' in url:
return url
else:
return 'http://%s' % url
@staticmethod
def get_voltha_info(olt_service):
return {
'url': Helpers.format_url(olt_service.voltha_url),
'port': olt_service.voltha_port,
'user': olt_service.voltha_user,
'pass': olt_service.voltha_pass
}
@staticmethod
def get_onos(olt_service):
# get the onos service
onos = [s.leaf_model for s in olt_service.provider_services if "onos" in s.name.lower()]
if len(onos) == 0:
raise Exception('Cannot find ONOS service in provider_services of vOLTService')
return onos[0]
@staticmethod
def get_onos_service_name(olt_service):
onos = Helpers.get_onos(olt_service)
return onos.name
@staticmethod
def get_onos_voltha_info(olt_service):
onos = Helpers.get_onos(olt_service)
return {
'url': Helpers.format_url(onos.rest_hostname),
'port': onos.rest_port,
'user': onos.rest_username,
'pass': onos.rest_password
}
@staticmethod
def datapath_id_to_hex(id):
if isinstance(id, basestring):
id = int(id)
return "{0:0{1}x}".format(id, 16)