fcb01e9e699821d464e47aff14055d9686573eb8
[nonrtric.git] / test / simulator-group / ric / prepareConsul.py
1 #  ============LICENSE_START===============================================
2 #  Copyright (C) 2020 Nordix Foundation. All rights reserved.
3 #  ========================================================================
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15 #  ============LICENSE_END=================================================
16 #
17
18 import json
19 import subprocess
20 import os
21
22 print(" Update fresh ric configuration in Consul configuration file")
23
24 p = os.path.abspath('..')
25 consul_config = p + '/consul_cbs' + '/config.json'
26
27
28 def write_json(data, filename=consul_config):
29     with open(filename, 'w') as f:
30         json.dump(data, f, indent=4)
31
32
33 def bash_command(cmd):
34     result = []
35     sp = subprocess.Popen(['/bin/bash', '-c', cmd], stdout=subprocess.PIPE)
36     for line in sp.stdout.readlines():
37         result.append(line.decode().strip())
38     return result
39
40
41 command = "docker ps | grep simulator | awk '{print $NF}'"
42
43 ric_list = bash_command(command)
44
45 with open(consul_config) as json_file:
46     data = json.load(json_file)
47     temp = data['ric']
48     for ric in ric_list:
49         y = {"name": ric,
50              "baseUrl": "http://" + ric + ":8085/",
51              "managedElementIds": [
52                  "kista_" + ric,
53                  "stockholm_" + ric
54              ]
55              }
56         temp.append(y)
57
58
59 write_json(data)
60 print(" Update Consul config file with fresh ric configuration,  done")