def web_node_status(name=None):
'''name will never have a leading / but now always needs one.'''
name = '/' + name
try:
node = BP.nodes[name][0]
ESPURL = None # testable value in Jinja2
ESPsizeMB = 0
installsh = installlog = None
status = get_node_status(name)
if status is not None:
if status['status'] == 'ready':
ESPpath = '%s/%s/%s.ESP' % (
BP.config['TFTP_IMAGES'], node.hostname, node.hostname)
if os.path.isfile(ESPpath):
prefix = request.url.split(_ERS_element)[0]
ESPURL = '%s%s/ESP/%s' % (
prefix, _ERS_element, node.hostname)
ESPsizeMB = os.stat(ESPpath).st_size >> 20
if status['status'] in ('building', 'ready'):
installpath = '%s/%s/untar/root' % (
BP.config['FILESYSTEM_IMAGES'], node.hostname)
try:
with open(installpath + '/install.sh') as f:
installsh = f.read()
with open(installpath + '/install.log') as f:
installlog = f.read()
except Exception as e:
installsh = installlog = None
pass
# all manifests' names with namespace
manifests = sorted(BP.blueprints['manifest'].get_all())
return render_template(
_ERS_element + '.tpl',
label=__doc__,
node=node,
manifests=manifests,
status=status,
base_url=request.url.split(name)[0],
ESPURL=ESPURL,
ESPsizeMB=ESPsizeMB,
installsh=installsh,
installlog=installlog
)
except Exception as e:
return make_response('Kaboom: %s' % str(e), 404)
评论列表
文章目录