Batch restart Cloud service for CUBE
This commit is contained in:
@@ -30,7 +30,7 @@ def authenticate(base_url):
|
|||||||
"params": (None, json.dumps(auth_params), "application/json"),
|
"params": (None, json.dumps(auth_params), "application/json"),
|
||||||
"certificate": ("certificate.pem", certificate, "application/octet-stream")
|
"certificate": ("certificate.pem", certificate, "application/octet-stream")
|
||||||
}
|
}
|
||||||
|
print(f"Authenticating against {auth_url} with {username} {password} {certificate}")
|
||||||
try:
|
try:
|
||||||
response = requests.post(auth_url, files=files, verify=False, timeout=10)
|
response = requests.post(auth_url, files=files, verify=False, timeout=10)
|
||||||
response.raise_for_status() # Raise exception for 4XX/5XX responses
|
response.raise_for_status() # Raise exception for 4XX/5XX responses
|
||||||
@@ -93,6 +93,7 @@ def activate_ssh(ip_address):
|
|||||||
if not url.endswith(":9080"):
|
if not url.endswith(":9080"):
|
||||||
url = url + ":9080"
|
url = url + ":9080"
|
||||||
|
|
||||||
|
print(f"Target address: {url}")
|
||||||
verify_ssl = False
|
verify_ssl = False
|
||||||
if not verify_ssl:
|
if not verify_ssl:
|
||||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
import csv
|
import csv
|
||||||
import paramiko
|
import paramiko
|
||||||
import time
|
|
||||||
from cube_activate_ssh import activate_ssh
|
from cube_activate_ssh import activate_ssh
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from azure.iot.hub import IoTHubRegistryManager
|
|
||||||
from azure.iot.hub.models import Twin, TwinProperties
|
|
||||||
|
|
||||||
load_dotenv(override=True)
|
load_dotenv(override=True)
|
||||||
|
|
||||||
@@ -14,11 +11,9 @@ ip_address_prefix = "10.162.48."
|
|||||||
ssh_command = "hostname"
|
ssh_command = "hostname"
|
||||||
|
|
||||||
csv_filename = "lacabana01.csv"
|
csv_filename = "lacabana01.csv"
|
||||||
SITE_NAME = "LACABANA"
|
|
||||||
|
|
||||||
ssh_username = os.getenv("DEFAULT_CUBE_LINUX_ADMIN_USER")
|
ssh_username = os.getenv("DEFAULT_CUBE_LINUX_ADMIN_USER")
|
||||||
ssh_password = os.getenv("DEFAULT_CUBE_LINUX_ADMIN_PASSWORD")
|
ssh_password = os.getenv("DEFAULT_CUBE_LINUX_ADMIN_PASSWORD")
|
||||||
CONNECTION_STRING = str(os.getenv("CONNECTION_STRING_INOX_PROD"))
|
|
||||||
|
|
||||||
def execute_ssh_command(ip, command):
|
def execute_ssh_command(ip, command):
|
||||||
client = paramiko.SSHClient()
|
client = paramiko.SSHClient()
|
||||||
@@ -78,10 +73,6 @@ def main():
|
|||||||
writer = csv.writer(file)
|
writer = csv.writer(file)
|
||||||
writer.writerow(["Number", "IP address", "Cube ID", "Environment", "Correct configuration"])
|
writer.writerow(["Number", "IP address", "Cube ID", "Environment", "Correct configuration"])
|
||||||
|
|
||||||
registry_manager = IoTHubRegistryManager.from_connection_string(CONNECTION_STRING)
|
|
||||||
|
|
||||||
results = []
|
|
||||||
|
|
||||||
numbers = range(133, 157) #133 to 156
|
numbers = range(133, 157) #133 to 156
|
||||||
for i in numbers:
|
for i in numbers:
|
||||||
ip_address = f"{ip_address_prefix}{i}"
|
ip_address = f"{ip_address_prefix}{i}"
|
||||||
@@ -90,7 +81,7 @@ def main():
|
|||||||
try:
|
try:
|
||||||
activate_ssh(ip_address)
|
activate_ssh(ip_address)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("Failed!")
|
print(f"Failed! {e}")
|
||||||
writer.writerow([i, ip_address, "UNREACHABLE", "NA", "NA"])
|
writer.writerow([i, ip_address, "UNREACHABLE", "NA", "NA"])
|
||||||
file.flush()
|
file.flush()
|
||||||
continue
|
continue
|
||||||
@@ -101,7 +92,7 @@ def main():
|
|||||||
try:
|
try:
|
||||||
cube_id = execute_ssh_command(ip_address, ssh_command)
|
cube_id = execute_ssh_command(ip_address, ssh_command)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("Failed!")
|
print(f"Failed! {e}")
|
||||||
writer.writerow([i, ip_address, "UNREACHABLE", "NA", "NA"])
|
writer.writerow([i, ip_address, "UNREACHABLE", "NA", "NA"])
|
||||||
file.flush()
|
file.flush()
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user