blob: 1c52a1abdb3837394523e91108e9fd507ea9ff9b [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
Matteo Scandolo82026252019-06-20 12:11:45 -070033 def get_onos(olt_service):
34 # get the onos service
Matteo Scandolo0d756f22019-06-10 14:55:55 -070035 onos = [s.leaf_model for s in olt_service.provider_services if "onos" in s.name.lower()]
36
37 if len(onos) == 0:
38 raise Exception('Cannot find ONOS service in provider_services of vOLTService')
39
Matteo Scandolo82026252019-06-20 12:11:45 -070040 return onos[0]
41
42 @staticmethod
43 def get_onos_service_name(olt_service):
44 onos = Helpers.get_onos(olt_service)
45
46 return onos.name
47
48 @staticmethod
49 def get_onos_voltha_info(olt_service):
50
51 onos = Helpers.get_onos(olt_service)
Matteo Scandolo0d756f22019-06-10 14:55:55 -070052
Matteo Scandolof6337eb2018-04-05 15:58:37 -070053 return {
Matteo Scandolo0d756f22019-06-10 14:55:55 -070054 'url': Helpers.format_url(onos.rest_hostname),
55 'port': onos.rest_port,
56 'user': onos.rest_username,
57 'pass': onos.rest_password
Matteo Scandolof6337eb2018-04-05 15:58:37 -070058 }
59
60 @staticmethod
61 def datapath_id_to_hex(id):
62 if isinstance(id, basestring):
63 id = int(id)
64 return "{0:0{1}x}".format(id, 16)