Add nice startup banners to both daemons
Add nicer easy-to-find (yay ASCII art) banners for the startup printouts of both the node and API daemons. Also adds the safe loader to pvcnoded to prevent hassle messages and a version string in the API daemon file.
This commit is contained in:
parent
0db8fd9da6
commit
aba567d6c9
|
@ -26,10 +26,31 @@ import pvcapid.flaskapi as pvc_api
|
||||||
# Entrypoint
|
# Entrypoint
|
||||||
##########################################################
|
##########################################################
|
||||||
|
|
||||||
|
# Version string for startup output
|
||||||
|
version = '0.9.11'
|
||||||
|
|
||||||
if pvc_api.config['ssl_enabled']:
|
if pvc_api.config['ssl_enabled']:
|
||||||
context = (pvc_api.config['ssl_cert_file'], pvc_api.config['ssl_key_file'])
|
context = (pvc_api.config['ssl_cert_file'], pvc_api.config['ssl_key_file'])
|
||||||
else:
|
else:
|
||||||
context = None
|
context = None
|
||||||
|
|
||||||
print('Starting PVC API daemon at {}:{} with SSL={}, Authentication={}'.format(pvc_api.config['listen_address'], pvc_api.config['listen_port'], pvc_api.config['ssl_enabled'], pvc_api.config['auth_enabled']))
|
# Print our startup messages
|
||||||
|
print('')
|
||||||
|
print('|--------------------------------------------------|')
|
||||||
|
print('| ######## ## ## ###### |')
|
||||||
|
print('| ## ## ## ## ## ## |')
|
||||||
|
print('| ## ## ## ## ## |')
|
||||||
|
print('| ######## ## ## ## |')
|
||||||
|
print('| ## ## ## ## |')
|
||||||
|
print('| ## ## ## ## ## |')
|
||||||
|
print('| ## ### ###### |')
|
||||||
|
print('|--------------------------------------------------|')
|
||||||
|
print('| Parallel Virtual Cluster API daemon v{0: <11} |'.format(version))
|
||||||
|
print('| API version: v{0: <34} |'.format(pvc_api.API_VERSION))
|
||||||
|
print('| Listen: {0}:{1: <32} |'.format(pvc_api.config['listen_address'], pvc_api.config['listen_port']))
|
||||||
|
print('| SSL: {0: <43} |'.format(str(pvc_api.config['ssl_enabled'])))
|
||||||
|
print('| Authentication: {0: <32} |'.format(str(pvc_api.config['auth_enabled'])))
|
||||||
|
print('|--------------------------------------------------|')
|
||||||
|
print('')
|
||||||
|
|
||||||
pvc_api.app.run(pvc_api.config['listen_address'], pvc_api.config['listen_port'], threaded=True, ssl_context=context)
|
pvc_api.app.run(pvc_api.config['listen_address'], pvc_api.config['listen_port'], threaded=True, ssl_context=context)
|
||||||
|
|
|
@ -52,16 +52,16 @@ def strtobool(stringv):
|
||||||
|
|
||||||
# Parse the configuration file
|
# Parse the configuration file
|
||||||
try:
|
try:
|
||||||
pvc_config_file = os.environ['PVC_CONFIG_FILE']
|
pvcapid_config_file = os.environ['PVC_CONFIG_FILE']
|
||||||
except Exception:
|
except Exception:
|
||||||
print('Error: The "PVC_CONFIG_FILE" environment variable must be set before starting pvcapid.')
|
print('Error: The "PVC_CONFIG_FILE" environment variable must be set before starting pvcapid.')
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
print('Starting PVC API daemon')
|
print('Loading configuration from file "{}"'.format(pvcapid_config_file))
|
||||||
|
|
||||||
# Read in the config
|
# Read in the config
|
||||||
try:
|
try:
|
||||||
with open(pvc_config_file, 'r') as cfgfile:
|
with open(pvcapid_config_file, 'r') as cfgfile:
|
||||||
o_config = yaml.load(cfgfile, Loader=yaml.BaseLoader)
|
o_config = yaml.load(cfgfile, Loader=yaml.BaseLoader)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('ERROR: Failed to parse configuration file: {}'.format(e))
|
print('ERROR: Failed to parse configuration file: {}'.format(e))
|
||||||
|
|
|
@ -17,6 +17,7 @@ $EDITOR ${changelog_file}
|
||||||
changelog="$( cat ${changelog_file} | grep -v '^#' | sed 's/^*/ */' )"
|
changelog="$( cat ${changelog_file} | grep -v '^#' | sed 's/^*/ */' )"
|
||||||
|
|
||||||
sed -i "s,version = '${current_version}',version = '${new_version}'," node-daemon/pvcnoded/Daemon.py
|
sed -i "s,version = '${current_version}',version = '${new_version}'," node-daemon/pvcnoded/Daemon.py
|
||||||
|
sed -i "s,version = '${current_version}',version = '${new_version}'," api-daemon/pvcapid/Daemon.py
|
||||||
|
|
||||||
readme_tmpdir=$( mktemp -d )
|
readme_tmpdir=$( mktemp -d )
|
||||||
cp README.md ${readme_tmpdir}/
|
cp README.md ${readme_tmpdir}/
|
||||||
|
|
|
@ -134,7 +134,7 @@ def readConfig(pvcnoded_config_file, myhostname):
|
||||||
|
|
||||||
with open(pvcnoded_config_file, 'r') as cfgfile:
|
with open(pvcnoded_config_file, 'r') as cfgfile:
|
||||||
try:
|
try:
|
||||||
o_config = yaml.load(cfgfile)
|
o_config = yaml.load(cfgfile, Loader=yaml.SafeLoader)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('ERROR: Failed to parse configuration file: {}'.format(e))
|
print('ERROR: Failed to parse configuration file: {}'.format(e))
|
||||||
exit(1)
|
exit(1)
|
||||||
|
@ -331,16 +331,29 @@ if not os.path.exists(config['log_directory']):
|
||||||
logger = log.Logger(config)
|
logger = log.Logger(config)
|
||||||
|
|
||||||
# Print our startup messages
|
# Print our startup messages
|
||||||
logger.out('Parallel Virtual Cluster node daemon v{}'.format(version))
|
logger.out('')
|
||||||
logger.out('FQDN: {}'.format(myfqdn))
|
logger.out('|--------------------------------------------------|')
|
||||||
logger.out('Host: {}'.format(myhostname))
|
logger.out('| ######## ## ## ###### |')
|
||||||
logger.out('ID: {}'.format(mynodeid))
|
logger.out('| ## ## ## ## ## ## |')
|
||||||
logger.out('IPMI hostname: {}'.format(config['ipmi_hostname']))
|
logger.out('| ## ## ## ## ## |')
|
||||||
logger.out('Machine details:')
|
logger.out('| ######## ## ## ## |')
|
||||||
logger.out(' CPUs: {}'.format(staticdata[0]))
|
logger.out('| ## ## ## ## |')
|
||||||
logger.out(' Arch: {}'.format(staticdata[3]))
|
logger.out('| ## ## ## ## ## |')
|
||||||
logger.out(' OS: {}'.format(staticdata[2]))
|
logger.out('| ## ### ###### |')
|
||||||
logger.out(' Kernel: {}'.format(staticdata[1]))
|
logger.out('|--------------------------------------------------|')
|
||||||
|
logger.out('| Parallel Virtual Cluster node daemon v{0: <10} |'.format(version))
|
||||||
|
logger.out('| FQDN: {0: <42} |'.format(myfqdn))
|
||||||
|
logger.out('| Host: {0: <42} |'.format(myhostname))
|
||||||
|
logger.out('| ID: {0: <44} |'.format(mynodeid))
|
||||||
|
logger.out('| IPMI hostname: {0: <33} |'.format(config['ipmi_hostname']))
|
||||||
|
logger.out('| Machine details: |')
|
||||||
|
logger.out('| CPUs: {0: <40} |'.format(staticdata[0]))
|
||||||
|
logger.out('| Arch: {0: <40} |'.format(staticdata[3]))
|
||||||
|
logger.out('| OS: {0: <42} |'.format(staticdata[2]))
|
||||||
|
logger.out('| Kernel: {0: <38} |'.format(staticdata[1]))
|
||||||
|
logger.out('|--------------------------------------------------|')
|
||||||
|
logger.out('')
|
||||||
|
|
||||||
logger.out('Starting pvcnoded on host {}'.format(myfqdn), state='s')
|
logger.out('Starting pvcnoded on host {}'.format(myfqdn), state='s')
|
||||||
|
|
||||||
# Define some colours for future messages if applicable
|
# Define some colours for future messages if applicable
|
||||||
|
|
Loading…
Reference in New Issue