blob: 7ecfb8b1c4777449ea48f22c401e3fbd256c2959 [file] [log] [blame]
Mariusz Wagner5f108de2018-07-12 08:36:13 +02001import json
2
Mariusz Wagnercfd26b92018-06-13 14:30:27 +02003import docker
4
Mariusz Wagner5f108de2018-07-12 08:36:13 +02005
Mariusz Wagnercfd26b92018-06-13 14:30:27 +02006class PrhLibrary(object):
Mariusz Wagner60be36d2018-07-05 11:32:51 +02007
Mariusz Wagnercfd26b92018-06-13 14:30:27 +02008 def __init__(self):
9 pass
10
Mariusz Wagner58e716f2018-07-16 09:59:11 +020011 @staticmethod
12 def check_for_log(search_for):
Mariusz Wagnercfd26b92018-06-13 14:30:27 +020013 client = docker.from_env()
14 container = client.containers.get('prh')
15 for line in container.logs(stream=True):
Mariusz Wagnera2a6c982018-06-14 15:53:56 +020016 if search_for in line.strip():
Mariusz Wagnercfd26b92018-06-13 14:30:27 +020017 return True
18 else:
Mariusz Wagnera2a6c982018-06-14 15:53:56 +020019 return False
Mariusz Wagner5f108de2018-07-12 08:36:13 +020020
Mariusz Wagner58e716f2018-07-16 09:59:11 +020021 @staticmethod
22 def create_pnf_ready_notification(json_file):
23 json_to_python = json.loads(json_file)
24 ipv4 = json_to_python["event"]["otherFields"]["pnfOamIpv4Address"]
25 ipv6 = json_to_python["event"]["otherFields"]["pnfOamIpv6Address"]
26 pnf_name = _create_pnf_name(json_file)
27 str_json = '{"pnf-name":"' + pnf_name + '","ipaddress-v4-oam":"' + ipv4 + '","ipaddress-v6-oam":"' + ipv6 + '"}'
28 python_to_json = json.dumps(str_json)
29 return python_to_json.replace("\\", "")[1:-1]
Mariusz Wagner5f108de2018-07-12 08:36:13 +020030
Mariusz Wagner58e716f2018-07-16 09:59:11 +020031 @staticmethod
32 def create_pnf_name(json_file):
Mariusz Wagner5f108de2018-07-12 08:36:13 +020033 return _create_pnf_name(json_file)
34
Mariusz Wagner58e716f2018-07-16 09:59:11 +020035
Mariusz Wagner5f108de2018-07-12 08:36:13 +020036def _create_pnf_name(json_file):
Mariusz Wagner58e716f2018-07-16 09:59:11 +020037 json_to_python = json.loads(json_file)
38 vendor = json_to_python["event"]["otherFields"]["pnfVendorName"]
39 serial_number = json_to_python["event"]["otherFields"]["pnfSerialNumber"]
40 return vendor[:3].upper() + serial_number