Add docker files
[sdc/dcae-d/dt-be-main.git] / docker / docker_be / chef-solo / cookbooks / Deploy-DCAE / templates / default / consumers.py.erb
1 #!/usr/bin/python
2 import sys
3 import subprocess
4 #from time import sleep
5 import time
6 from datetime import datetime
7
8 class bcolors:
9     HEADER    = '\033[95m'
10     OKBLUE    = '\033[94m'
11     OKGREEN   = '\033[92m'
12     WARNING   = '\033[93m'
13     FAIL      = '\033[91m'
14     ENDC      = '\033[0m'
15     BOLD      = '\033[1m'
16     UNDERLINE = '\033[4m'
17
18
19 ##############################
20 #    Functions
21 ##############################
22 def checkBackend():
23     command="curl -s -o /dev/null -I -w \"%{http_code}\" -i <%= @protocol %>://<%= @catalog_ip %>:<%= @catalog_port %>/sdc2/rest/v1/user/jh0003"
24
25     proc = subprocess.Popen( command , shell=True , stdout=subprocess.PIPE )
26     (out, err) = proc.communicate()
27     result = out.strip()
28     return result
29
30
31 def checkConsumer(consumerName):
32     command="curl -s -o /dev/null -I -w \"%{http_code}\" -i -H \"Accept: application/json; charset=UTF-8\" -H \"Content-Type: application/json\" -H \"USER_ID: jh0003\"   <%= @protocol %>://<%= @catalog_ip %>:<%= @catalog_port %>/sdc2/rest/v1/consumers/" + consumerName
33
34     proc = subprocess.Popen( command , shell=True , stdout=subprocess.PIPE )
35     (out, err) = proc.communicate()
36     result = out.strip()
37     return result
38
39
40 def createConsumer( consumerName, consumerSalt, consumerPass ):
41     print '[INFO] ' + consumerName
42     command="curl -s -o /dev/null -w \"%{http_code}\" -X POST -i -H \"Accept: application/json; charset=UTF-8\" -H \"Content-Type: application/json\" -H \"USER_ID: jh0003\" <%= @protocol %>://<%= @catalog_ip %>:<%= @catalog_port %>/sdc2/rest/v1/consumers/ -d '{\"consumerName\": '" + consumerName + "', \"consumerSalt\": '" + consumerSalt + "',\"consumerPassword\": '" + consumerPass + "'}'"
43
44     proc = subprocess.Popen( command , shell=True , stdout=subprocess.PIPE)
45
46     (out, err) = proc.communicate()
47     result = out.strip()
48     return result
49
50
51
52
53 ##############################
54 #    Definitions
55 ##############################
56 consumersList = [ "<%= @consumerName %>" ]
57 salt = "67fbde1c142bb25c7d6086252d6ab08d"
58 password = "d6e61a6859456cf4ded84f641ae59301ebf19d56cd5fc8a8f15b7cc54d3b6429"
59 beStat=0
60
61
62 ##############################
63 #    Main
64 ##############################
65
66 for i in range(1,10):
67     myResult = checkBackend()
68     if myResult == '200':
69         print '[INFO]: SDC Backend is up and running'
70         beStat=1
71         break
72     else:
73         currentTime = datetime.now()
74         print '[ERROR]: ' + currentTime.strftime('%Y/%m/%d %H:%M:%S') + bcolors.FAIL + ' SDC Backend not responding, try #' + str(i) + bcolors.ENDC
75         time.sleep(10)
76
77 if beStat == 0:
78     print '[ERROR]: ' + time.strftime('%Y/%m/%d %H:%M:%S') + bcolors.FAIL + 'SDC Backend is DOWN :-(' + bcolors.ENDC
79     sys.exit(0)
80
81 for consumer in consumersList:
82     myResult = checkConsumer(consumer)
83     if myResult == '200':
84         print '[INFO]: ' + consumer + ' already exists'
85     else:
86         myResult = createConsumer( consumer, salt, password )
87         if myResult == '201':
88             print '[INFO]: ' + consumer + ' created, result: [' + myResult + ']'
89         else:
90             print '[ERROR]: ' + bcolors.FAIL + consumer + bcolors.ENDC + ' error creating , result: [' + myResult + ']'