diff options
Diffstat (limited to 'docker/docker_be/chef-solo/cookbooks/Deploy-DCAE/templates/default/consumers.py.erb')
-rw-r--r-- | docker/docker_be/chef-solo/cookbooks/Deploy-DCAE/templates/default/consumers.py.erb | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/docker/docker_be/chef-solo/cookbooks/Deploy-DCAE/templates/default/consumers.py.erb b/docker/docker_be/chef-solo/cookbooks/Deploy-DCAE/templates/default/consumers.py.erb new file mode 100644 index 0000000..ca58bc6 --- /dev/null +++ b/docker/docker_be/chef-solo/cookbooks/Deploy-DCAE/templates/default/consumers.py.erb @@ -0,0 +1,90 @@ +#!/usr/bin/python +import sys +import subprocess +#from time import sleep +import time +from datetime import datetime + +class bcolors: + HEADER = '\033[95m' + OKBLUE = '\033[94m' + OKGREEN = '\033[92m' + WARNING = '\033[93m' + FAIL = '\033[91m' + ENDC = '\033[0m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + + +############################## +# Functions +############################## +def checkBackend(): + command="curl -s -o /dev/null -I -w \"%{http_code}\" -i <%= @protocol %>://<%= @catalog_ip %>:<%= @catalog_port %>/sdc2/rest/v1/user/jh0003" + + proc = subprocess.Popen( command , shell=True , stdout=subprocess.PIPE ) + (out, err) = proc.communicate() + result = out.strip() + return result + + +def checkConsumer(consumerName): + 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 + + proc = subprocess.Popen( command , shell=True , stdout=subprocess.PIPE ) + (out, err) = proc.communicate() + result = out.strip() + return result + + +def createConsumer( consumerName, consumerSalt, consumerPass ): + print '[INFO] ' + consumerName + 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 + "'}'" + + proc = subprocess.Popen( command , shell=True , stdout=subprocess.PIPE) + + (out, err) = proc.communicate() + result = out.strip() + return result + + + + +############################## +# Definitions +############################## +consumersList = [ "<%= @consumerName %>" ] +salt = "67fbde1c142bb25c7d6086252d6ab08d" +password = "d6e61a6859456cf4ded84f641ae59301ebf19d56cd5fc8a8f15b7cc54d3b6429" +beStat=0 + + +############################## +# Main +############################## + +for i in range(1,10): + myResult = checkBackend() + if myResult == '200': + print '[INFO]: SDC Backend is up and running' + beStat=1 + break + else: + currentTime = datetime.now() + print '[ERROR]: ' + currentTime.strftime('%Y/%m/%d %H:%M:%S') + bcolors.FAIL + ' SDC Backend not responding, try #' + str(i) + bcolors.ENDC + time.sleep(10) + +if beStat == 0: + print '[ERROR]: ' + time.strftime('%Y/%m/%d %H:%M:%S') + bcolors.FAIL + 'SDC Backend is DOWN :-(' + bcolors.ENDC + sys.exit(0) + +for consumer in consumersList: + myResult = checkConsumer(consumer) + if myResult == '200': + print '[INFO]: ' + consumer + ' already exists' + else: + myResult = createConsumer( consumer, salt, password ) + if myResult == '201': + print '[INFO]: ' + consumer + ' created, result: [' + myResult + ']' + else: + print '[ERROR]: ' + bcolors.FAIL + consumer + bcolors.ENDC + ' error creating , result: [' + myResult + ']' |