diff --git a/freenas_network_unlock.py b/freenas_network_unlock.py index 49f3575..d5754df 100644 --- a/freenas_network_unlock.py +++ b/freenas_network_unlock.py @@ -1,7 +1,7 @@ import requests # For the api calls import platform # For getting the operating system name import subprocess # For executing a shell command -import config # configuration file +import config # configuration file import logging # You must initialize logging, otherwise you'll not see debug output. @@ -12,36 +12,36 @@ logging.basicConfig(level=logging.INFO,format='%(asctime)s - [%(levelname)s] %(m #requests_log.propagate = True def ping(host): - """ - Returns True if host (str) responds to a ping request. - Remember that a host may not respond to a ping (ICMP) request even if the host name is valid. - """ + """ + Returns True if host (str) responds to a ping request. + Remember that a host may not respond to a ping (ICMP) request even if the host name is valid. + """ - # Option for the number of packets as a function of - param = '-n' if platform.system().lower()=='windows' else '-c' + # Option for the number of packets as a function of + param = '-n' if platform.system().lower()=='windows' else '-c' - # Building the command. Ex: "ping -c 1 google.com" - command = ['ping', param, '1', host] + # Building the command. Ex: "ping -c 1 google.com" + command = ['ping', param, '1', host] - return subprocess.call(command) == 0 - + return subprocess.call(command) == 0 + #if ping(config.HOSTNAME): VOLUMES = requests.get( - 'https://{}/api/v1.0/storage/volume/'.format(config.HOSTNAME), - auth=('root', '{}'.format(config.ROOT_PASSWORD)), - verify='{}'.format(config.CA_CERT_PATH), + 'https://{}/api/v1.0/storage/volume/'.format(config.HOSTNAME), + auth=('root', '{}'.format(config.ROOT_PASSWORD)), + verify='{}'.format(config.CA_CERT_PATH), ) for volume in VOLUMES.json(): - if volume['is_decrypted'] == False: - logging.info('Pool {} is locked'.format(volume['name'])) - response = requests.post( - 'https://{}/api/v1.0/storage/volume/{}/unlock/'.format(config.HOSTNAME,volume['name']), - json={'passphrase': '{}'.format(config.POOLS[volume['name']])}, - auth=('root', '{}'.format(config.ROOT_PASSWORD)), - verify='{}'.format(config.CA_CERT_PATH), - ) - print(response.status_code) - print(response.text) + if volume['is_decrypted'] == False: + logging.info('Pool {} is locked'.format(volume['name'])) + response = requests.post( + 'https://{}/api/v1.0/storage/volume/{}/unlock/'.format(config.HOSTNAME,volume['name']), + json={'passphrase': '{}'.format(config.POOLS[volume['name']])}, + auth=('root', '{}'.format(config.ROOT_PASSWORD)), + verify='{}'.format(config.CA_CERT_PATH), + ) + print(response.status_code) + print(response.text) #else: - #print("Host,{}, is not online".format(config.HOSTNAME)) \ No newline at end of file + #print("Host,{}, is not online".format(config.HOSTNAME)) \ No newline at end of file