blob: ade07e013530cc8b74fe1f788f65ee01fffc522d [file] [log] [blame]
Matteo Scandolof6337eb2018-04-05 15:58:37 -07001# Copyright 2017-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15class Helpers():
16 @staticmethod
17 def format_url(url):
18 if 'http' in url:
19 return url
20 else:
21 return 'http://%s' % url
22
23 @staticmethod
24 def get_voltha_info(olt_service):
25 return {
26 'url': Helpers.format_url(olt_service.voltha_url),
Luca Preteca974c82018-05-01 18:06:16 -070027 'port': olt_service.voltha_port,
Matteo Scandolof6337eb2018-04-05 15:58:37 -070028 'user': olt_service.voltha_user,
29 'pass': olt_service.voltha_pass
30 }
31
32 @staticmethod
Luca Preteca974c82018-05-01 18:06:16 -070033 def get_onos_voltha_info(olt_service):
Matteo Scandolo0d756f22019-06-10 14:55:55 -070034
35 # get the onos_fabric service
36 onos = [s.leaf_model for s in olt_service.provider_services if "onos" in s.name.lower()]
37
38 if len(onos) == 0:
39 raise Exception('Cannot find ONOS service in provider_services of vOLTService')
40
41 onos = onos[0]
42
Matteo Scandolof6337eb2018-04-05 15:58:37 -070043 return {
Matteo Scandolo0d756f22019-06-10 14:55:55 -070044 'url': Helpers.format_url(onos.rest_hostname),
45 'port': onos.rest_port,
46 'user': onos.rest_username,
47 'pass': onos.rest_password
Matteo Scandolof6337eb2018-04-05 15:58:37 -070048 }
49
50 @staticmethod
51 def datapath_id_to_hex(id):
52 if isinstance(id, basestring):
53 id = int(id)
54 return "{0:0{1}x}".format(id, 16)