aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py126
1 files changed, 126 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py
new file mode 100644
index 0000000000..98adafaf2f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py
@@ -0,0 +1,126 @@
+#!/usr/local/bin/python2.7
+"""
+This script is a combination of the AddComponentScript and the OnBoardingStatus
+scripts. Depending on the arguments given, it will either post an
+"addMachineCommand" or an "logOnBoardingInfo" request.
+"""
+import argparse
+import json
+import netifaces
+import requests
+from socket import getfqdn
+import sys
+from time import time
+
+
+parser = argparse.ArgumentParser()
+parser.add_argument("scribe_ip", type=str,
+ help="The IP where the Scribe can be reached.")
+parser.add_argument("--component-type", type=str,
+ help="The component type.", required=False)
+parser.add_argument("--component-version", type=str,
+ help="The component version.", required=False)
+parser.add_argument("--stage", type=str, required=False)
+parser.add_argument("--status", required=False,
+ choices=["WARNING", "INFO", "ERROR", "OK", "FAILURE"])
+parser.add_argument("--description", type=str, required=False)
+args = parser.parse_args()
+
+add_machine_ip = "http://{0}:8084/MaveriQManager/api/Inventory/addComponent".format(args.scribe_ip)
+log_onboarding_info_ip = "http://{0}:8084/MaveriQManager/api/Inventory/logOnBoardingInfo".format(args.scribe_ip)
+user = 'omniq'
+password = 'radcom'
+
+REGION = ""
+TENANT = ""
+CLUSTER_NAME = ""
+VERSION_NUMBER = ""
+PROBE_ID = ""
+OAM_DIRECT_IP = ""
+MACHINE_TYPE = args.component_type
+MACHINE_NAME = getfqdn()
+HEALTH_STATUS = {}
+ADD_COMPONENT_BODY = {}
+
+
+def read_metadata():
+ """Read the instance metadata"""
+ global REGION
+ global TENANT
+ global CLUSTER_NAME
+ global VERSION_NUMBER
+ global PROBE_ID
+ global OAM_DIRECT_IP
+ with open('/meta.js', 'r') as json_file:
+ json_data = json.loads(json_file.read())
+ TENANT = json_data["tenant"]
+ REGION = json_data["region"]
+ CLUSTER_NAME = json_data["cluster_name"]
+ VERSION_NUMBER = json_data["version_number"]
+ OAM_DIRECT_IP = json_data["oam_private_network_ip"]
+ if MACHINE_TYPE == 'vProbe':
+ PROBE_ID = json_data["probe_id"]
+
+
+def build_health_json():
+ """Builds the actual health status"""
+ HEALTH_STATUS["Region"] = REGION
+ HEALTH_STATUS["Tenant"] = TENANT
+ HEALTH_STATUS["MachineType"] = args.component_type
+ HEALTH_STATUS["MachineName"] = getfqdn()
+ HEALTH_STATUS["MachineIP"] = OAM_DIRECT_IP
+ HEALTH_STATUS["Time"] = long(time())
+ HEALTH_STATUS["Description"] = args.description
+ HEALTH_STATUS["Status"] = args.status
+ HEALTH_STATUS["Stage"] = args.stage
+ return HEALTH_STATUS
+
+
+def build_add_json():
+ """Builds the actual health status"""
+ ADD_COMPONENT_BODY["region"] = REGION
+ ADD_COMPONENT_BODY["tenant"] = TENANT
+ ADD_COMPONENT_BODY["componentType"] = args.component_type
+ ADD_COMPONENT_BODY["clusterName"] = CLUSTER_NAME
+ ADD_COMPONENT_BODY["componentVersionNumber"] = VERSION_NUMBER
+ ADD_COMPONENT_BODY["machineName"] = MACHINE_NAME
+ ADD_COMPONENT_BODY["machineNetworkInterfaces"] = []
+ ADD_COMPONENT_BODY["OAM_IP"] = OAM_DIRECT_IP
+
+ for interface in netifaces.interfaces():
+ ADD_COMPONENT_BODY["machineNetworkInterfaces"].append({"name": interface, "value": netifaces.ifaddresses(interface)[2][0]['addr']})
+
+ if PROBE_ID is not "":
+ ADD_COMPONENT_BODY["machineID"] = REGION + '_' + TENANT + '_' +\
+ CLUSTER_NAME + '_' + MACHINE_NAME + '_' + PROBE_ID
+ else:
+ ADD_COMPONENT_BODY["machineID"] = REGION + '_' + TENANT + '_' +\
+ CLUSTER_NAME + '_' + MACHINE_NAME
+ return ADD_COMPONENT_BODY
+
+
+def send_postage(p_url, p_url_user, p_url_password, p_json_data):
+ json_header = {'Content-type': 'application/json'}
+ request = requests.post(p_url, json.dumps(p_json_data), json_header, auth=requests.auth.HTTPBasicAuth(p_url_user, p_url_password))
+ print request.status_code
+ if (request.status_code != 200):
+ sys.exit(1)
+ return request.status_code
+
+
+def post_health():
+ read_metadata()
+ return send_postage(log_onboarding_info_ip, user, password,
+ build_health_json())
+
+
+def post_add_machine():
+ read_metadata()
+ return send_postage(add_machine_ip, user, password, build_add_json())
+
+if args.stage is None and args.status is None and args.description is None:
+ print "adding machine"
+ print post_add_machine()
+else:
+ print "logging health"
+ print post_health()