Local modifications to ClusterLabs/Anvil by Alteeve
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2543 lines
70 KiB

<!-- start create-menu -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" class="title">
#!string!striker_0203!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<a href="?anvil=true&task=fences"><img src="#!data!skin::url!#/images/fence.png" class="top_icon" ></a>
</td>
<td class="main_option">
<a href="?anvil=true&task=fences">#!string!striker_0208!#</a>
</td>
</tr>
<tr>
<td class="main_option_icon">
<a href="?anvil=true&task=upses"><img src="#!data!skin::url!#/images/ups.png" class="top_icon" ></a>
</td>
<td class="main_option">
<a href="?anvil=true&task=upses">#!string!striker_0231!# #!string!striker_0237!#</a>
</td>
</tr>
<tr>
<td class="main_option_icon">
<a href="?anvil=true&task=manifests&manifest_uuid=new&step=1"><img src="#!data!skin::url!#/images/manifest.png" class="top_icon" ></a>
</td>
<td class="main_option">
<a href="?anvil=true&task=manifests&manifest=new">#!string!striker_0204!#</a>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
&nbsp;
</td>
<td>
#!string!striker_0205!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td class="main_option" col>
<table>
<div id="existing_manifests">
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
#!string!striker_0207!#
</td>
<td class="column_header">
#!string!striker_0206!#
</td>
<td class="column_header">
#!string!header_0022!#
</td>
</tr>
#!variable!existing_manifests!#
</div>
</table>
</td>
</tr>
</table>
<!-- end create-menu -->
<!-- start run-manifest -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="title">
#!string!header_0028!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="description">
#!string!striker_0268!#
</td>
</tr>
<tr>
<td>
<!-- Notes -->
#!string!striker_0269!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
<form name="run_manifest" action="" method="post">
<table align="center" class="anvil_main_menu">
<tr>
<td>
&nbsp;
</td>
<td class="column_header">
<!-- Node 1 -->
#!string!striker_0255!#
</td>
<td>
&nbsp;
</td>
<td class="column_header">
<!-- Node 2 -->
#!string!striker_0256!#
</td>
<td>
&nbsp;
</td>
<td class="column_header">
<!-- DR Host -->
#!string!striker_0257!#
</td>
</tr>
<tr>
<td class="column_header">
<!-- Machine -->
#!string!header_0029!#:
</td>
<td>
#!variable!select_node1!#
</td>
<td>
&nbsp;
</td>
<td>
#!variable!select_node2!#
</td>
<td>
&nbsp;
</td>
<td>
#!variable!select_dr1!#
</td>
</tr>
<tr>
<td colspan="6">
&nbsp;
</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button">
</td>
<td colspan="3" style="text-align: right;">
<input type="submit" name="confirm" id="confirm" value="#!string!striker_0206!#" class="button">
</td>
<input type="hidden" name="run" id="run" value="true">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="manifests">
<input type="hidden" name="manifest_uuid" id="manifest_uuid" value="#!data!cgi::manifest_uuid::value!#">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Prefix -->
#!string!striker_0228!# &nbsp;
</td>
<td>
#!string!striker_0246!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Domain -->
#!string!striker_0007!# &nbsp;
</td>
<td>
#!string!striker_0247!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Sequence -->
#!string!striker_0229!# &nbsp;
</td>
<td>
#!string!striker_0244!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- IFN Count -->
#!string!striker_0230!#
</td>
<td>
#!string!striker_0245!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Password note -->
#!string!striker_0051!#
</td>
<td>
#!string!striker_0259!#
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- end run-manifest -->
<!-- start create-menu-existing-manifest-entry -->
<tr style="border: 1px dotted #7f7f7f;">
<td>
<a href="?anvil=true&task=manifests&manifest_uuid=#!variable!manifest_uuid!#&step=1" class="fixed_link_highlight">#!variable!manifest_name!#</a> &nbsp;
</td>
<td style="text-align: center;">
<a href="?anvil=true&task=manifests&run=true&manifest_uuid=#!variable!manifest_uuid!#"><img src="#!data!skin::url!#/images/run.png" alt="#!string!striker_0206!#" style="height: .8em;"></a>
</td>
<td style="text-align: center;">
<a href="?anvil=true&task=manifests&delete=true&manifest_uuid=#!variable!manifest_uuid!#"><img src="#!data!skin::url!#/images/delete.png" alt="#!string!striker_0068!#" style="height: .8em;"></a>
</td>
</tr>
<!-- end create-menu-existing-manifest-entry -->
<!-- start manifest-step1 -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="title">
#!variable!title!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="description">
#!string!striker_0227!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
<form name="manifest_step1" action="" method="post">
<table align="center" class="anvil_main_menu">
<tr>
<td class="column_header">
<!-- prefix -->
#!string!striker_0228!#
</td>
<td>
<input type="text" name="prefix" id="prefix" value="#!variable!prefix!#" placeholder="xx" class="#!variable!prefix_class!#"/>
</td>
</tr>
<tr>
<td class="column_header">
<!-- domain -->
#!string!striker_0007!#
</td>
<td>
<input type="text" name="domain" id="domain" value="#!variable!domain!#" placeholder="example.com" class="#!variable!domain_class!#"/>
</td>
</tr>
<tr>
<td class="column_header">
<!-- Sequence -->
#!string!striker_0229!#
</td>
<td>
<input type="number" name="sequence" id="sequence" value="#!variable!sequence!#" placeholder="1" class="#!variable!sequence_class!#"/>
</td>
</tr>
<tr>
<td class="column_header">
<!-- IFN Count -->
#!string!striker_0230!#
</td>
<td>
<input type="number" name="ifn_count" id="ifn_count" value="#!variable!ifn_count!#" placeholder="1" class="#!variable!ifn_count_class!#"/>
<!-- Note: Currently, the user can't choose the number of BCN and SNs. However, this may change later, so we already setup for it. -->
<input type="hidden" name="sn_count" id="sn_count" value="#!variable!sn_count!#" />
<input type="hidden" name="bcn_count" id="bcn_count" value="#!variable!bcn_count!#" />
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td>
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button">
</td>
<td style="text-align: right;">
<input type="submit" name="next" id="next" value="#!string!striker_0013!#" class="button">
</td>
<input type="hidden" name="step" id="step" value="2">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="manifests">
<input type="hidden" name="manifest_uuid" id="manifest_uuid" value="#!data!cgi::manifest_uuid::value!#">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Prefix -->
#!string!striker_0228!# &nbsp;
</td>
<td>
#!string!striker_0246!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Domain -->
#!string!striker_0007!# &nbsp;
</td>
<td>
#!string!striker_0247!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Sequence -->
#!string!striker_0229!# &nbsp;
</td>
<td>
#!string!striker_0244!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- IFN Count -->
#!string!striker_0230!#
</td>
<td>
#!string!striker_0245!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Password note -->
#!string!striker_0051!#
</td>
<td>
#!string!striker_0259!#
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- end manifest-step1 -->
<!-- start manifest-step2-network-entry -->
<tr>
<td class="column_header">
<!-- Network Name -->
#!variable!network!#: &nbsp;
</td>
<td class="fixed_width_no_wrap">
<input type="text" name="#!variable!network_name!#" id="#!variable!network_name!#" value="#!variable!network_value!#" width="15" style="width: 15em;" class="#!variable!network_class!#" />
</td>
<td class="fixed_width_no_wrap">
&nbsp; #!variable!subnet!# &nbsp;
</td>
<td class="fixed_width_no_wrap">
&nbsp;
</td>
</tr>
<!-- end manifest-step2-network-entry -->
<!-- start manifest-step2-network-entry-gateway -->
<tr>
<td class="column_header">
<!-- Network Name -->
#!variable!network!#: &nbsp;
</td>
<td class="fixed_width_no_wrap">
<input type="text" name="#!variable!network_name!#" id="#!variable!network_name!#" value="#!variable!network_value!#" width="15" style="width: 15em;" class="#!variable!network_class!#" />
</td>
<td class="fixed_width_no_wrap">
&nbsp; #!variable!subnet!# &nbsp;
</td>
<td class="fixed_width_no_wrap">
<input type="text" name="#!variable!gateway_name!#" id="#!variable!gateway_name!#" value="#!variable!gateway_value!#" width="15" style="width: 15em;" class="#!variable!gateway_class!#" />
</td>
</tr>
<!-- end manifest-step2-network-entry-gateway -->
<!-- start manifest-step2 -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="title">
#!variable!title!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="description">
#!string!striker_0248!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
<form name="manifest_step2" action="" method="post">
<table align="center" class="anvil_main_menu">
<tr>
<td class="column_header">
<!-- Network Name -->
&nbsp;
</td>
<td class="column_header">
<!-- Network -->
#!string!striker_0149!#
</td>
<td class="column_header">
<!-- Subnet Mask -->
#!string!striker_0025!#
</td>
<td class="column_header">
<!-- Gateway -->
#!string!striker_0026!#
</td>
</tr>
#!variable!networks!#
<tr>
<td colspan="4">
&nbsp;
</td>
</tr>
<tr>
<td class="column_header">
<!-- DNS -->
#!string!striker_0037!#
</td>
<td colspan="3">
<input type="text" name="dns" id="dns" value="#!variable!dns!#" style="width: 30em;" class="#!variable!dns_class!#" />
</td>
</tr>
<tr>
<td class="column_header">
<!-- NTP -->
#!string!striker_0251!#
</td>
<td colspan="3">
<input type="text" name="ntp" id="ntp" value="#!variable!ntp!#" style="width: 30em;" class="#!variable!ntp_class!#" />
</td>
</tr>
<tr>
<td class="column_header">
<!-- MTU -->
#!string!striker_0253!#
</td>
<td colspan="3">
<input type="number" name="mtu" id="mtu" value="#!variable!mtu!#" style="width: 30em;" class="#!variable!mtu_class!#" />
</td>
</tr>
<tr>
<td colspan="4">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button">
</td>
<td colspan="2" style="text-align: right;">
<input type="submit" name="next" id="next" value="#!string!striker_0013!#" class="button">
</td>
<input type="hidden" name="prefix" id="prefix" value="#!data!cgi::prefix::value!#">
<input type="hidden" name="domain" id="domain" value="#!data!cgi::domain::value!#">
<input type="hidden" name="sequence" id="sequence" value="#!data!cgi::sequence::value!#">
<input type="hidden" name="bcn_count" id="bcn_count" value="#!data!cgi::bcn_count::value!#">
<input type="hidden" name="sn_count" id="sn_count" value="#!data!cgi::bcn_count::value!#">
<input type="hidden" name="ifn_count" id="ifn_count" value="#!data!cgi::ifn_count::value!#">
<input type="hidden" name="step" id="step" value="3">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="manifests">
<input type="hidden" name="manifest_uuid" id="manifest_uuid" value="#!data!cgi::manifest_uuid::value!#">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Network -->
#!string!striker_0149!#
</td>
<td>
#!string!message_0163!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Subnet Mask -->
#!string!striker_0025!#
</td>
<td>
#!string!message_0164!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Gateway -->
#!string!striker_0026!#
</td>
<td>
#!string!message_0165!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- DNS -->
#!string!striker_0037!#
</td>
<td>
#!string!striker_0038!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- NTP -->
#!string!striker_0251!#
</td>
<td>
#!string!striker_0252!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- MTU -->
#!string!striker_0253!#
</td>
<td>
#!string!striker_0254!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- BCN -->
#!string!message_0160!# &nbsp;
</td>
<td>
#!string!message_0131!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- SN -->
#!string!message_0161!# &nbsp;
</td>
<td>
#!string!message_0132!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- IFN -->
#!string!message_0162!# &nbsp;
</td>
<td>
#!string!message_0133!#
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- end manifest-step2 -->
<!-- start manifest-step3-network-entry -->
<tr>
<td class="column_header">
<!-- Network Name -->
#!variable!network!#: &nbsp;
<input type="hidden" name="#!variable!network_name!#" id="#!variable!network_name!#" value="#!variable!network_value!#" />
<input type="hidden" name="#!variable!subnet_name!#" id="#!variable!subnet_name!#" value="#!variable!subnet_value!#" />
<input type="hidden" name="#!variable!gateway_name!#" id="#!variable!gateway_name!#" value="#!variable!gateway_value!#" />
</td>
<td class="fixed_width_no_wrap">
<input type="text" name="#!variable!node1_ip_name!#" id="#!variable!node1_ip_name!#" value="#!variable!node1_ip_value!#" width="15" style="width: 15em;" class="#!variable!node1_ip_class!#" /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
&nbsp; <input type="text" name="#!variable!node2_ip_name!#" id="#!variable!node2_ip_name!#" value="#!variable!node2_ip_value!#" width="15" style="width: 15em;" class="#!variable!node2_ip_class!#" /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
&nbsp; <input type="text" name="#!variable!dr1_ip_name!#" id="#!variable!dr1_ip_name!#" value="#!variable!dr1_ip_value!#" width="15" style="width: 15em;" class="#!variable!dr1_ip_class!#" />
</td>
</tr>
<!-- end manifest-step3-network-entry -->
<!-- start manifest-step3-ipmi-entry -->
<tr>
<td class="column_header">
<!-- Network Name -->
#!string!striker_0258!#: &nbsp;
</td>
<td class="fixed_width_no_wrap">
<input type="text" name="node1_ipmi_ip" id="node1_ipmi_ip" value="#!variable!node1_value!#" width="15" style="width: 15em;" class="#!variable!node1_class!#" /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
&nbsp; <input type="text" name="node2_ipmi_ip" id="node2_ipmi_ip" value="#!variable!node2_value!#" width="15" style="width: 15em;" class="#!variable!node2_class!#" /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
&nbsp; <input type="text" name="dr1_ipmi_ip" id="dr1_ipmi_ip" value="#!variable!dr1_value!#" width="15" style="width: 15em;" class="#!variable!dr1_class!#" />
</td>
</tr>
<!-- end manifest-step3-ipmi-entry -->
<!-- start manifest-step3-fence-entry -->
<tr>
<td class="column_header">
<!-- Fence Name -->
#!variable!name!#: &nbsp;
<input type="hidden" name="#!variable!fence_uuid_name!#" id="#!variable!fence_uuid_name!#" value="#!variable!fence_uuid_value!#" />
</td>
<td class="fixed_width_no_wrap">
<input type="text" name="#!variable!node1_fence_name!#" id="#!variable!node1_fence_name!#" value="#!variable!node1_fence_value!#" style="width: 15em;" class="#!variable!node1_fence_class!#" /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
&nbsp; <input type="text" name="#!variable!node2_fence_name!#" id="#!variable!node2_fence_name!#" value="#!variable!node2_fence_value!#" style="width: 15em;" class="#!variable!node2_fence_class!#" /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
<!-- For now, we don't care about DR fencing, Maybe this will change later -->
<!-- &nbsp; <input type="text" name="#!variable!dr1_fence_name!#" id="#!variable!dr1_fence_name!#" value="#!variable!dr1_fence_value!#" style="width: 15em;" class="#!variable!dr1_fence_class!#" /> -->
&nbsp;
</td>
</tr>
<!-- end manifest-step3-fence-entry -->
<!-- start manifest-step3-ups-entry -->
<tr>
<td class="column_header">
<!-- UPS Name -->
#!variable!name!#: &nbsp;
<input type="hidden" name="#!variable!ups_uuid_name!#" id="#!variable!ups_uuid_name!#" value="#!variable!ups_uuid_value!#" />
</td>
<td class="fixed_width_no_wrap">
<input type="checkbox" name="#!variable!node1_ups_name!#" id="#!variable!node1_ups_name!#" #!variable!node1_ups_checked!# /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
<input type="checkbox" name="#!variable!node2_ups_name!#" id="#!variable!node2_ups_name!#" #!variable!node2_ups_checked!# /> &nbsp;
</td>
<td class="fixed_width_no_wrap">
<!-- For now, we don't care about DR's UPSes, Maybe this will change later -->
<!-- <input type="checkbox" name="#!variable!dr1_ups_name!#" id="#!variable!dr1_ups_name!#" #!variable!dr1_ups_checked!# /> &nbsp; -->
&nbsp;
</td>
</tr>
<!-- end manifest-step3-ups-entry -->
<!-- start manifest-step3 -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="title">
#!variable!title!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="description">
#!string!striker_0250!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
<form name="manifest_step3" action="" method="post">
<table align="center" class="anvil_main_menu">
<!-- IPs -->
<tr>
<td class="column_header">
<!-- Variable -->
&nbsp;
</td>
<td class="column_header">
<!-- Node 1 -->
#!string!striker_0255!#
</td>
<td class="column_header">
<!-- Node 2 -->
&nbsp; &nbsp; #!string!striker_0256!#
</td>
<td class="column_header">
<!-- DR Host -->
&nbsp; &nbsp; #!string!striker_0257!#
</td>
</tr>
#!variable!networks!#
<!-- Fences -->
<tr>
<td class="column_header">
<!-- Fence Name -->
&nbsp;
</td>
<td class="column_header">
<!-- Node 1 -->
#!string!striker_0262!#
</td>
<td class="column_header">
<!-- Node 2 -->
&nbsp; &nbsp; #!string!striker_0262!#
</td>
<td class="column_header">
<!-- DR Host -->
<!-- For now, we don't care about DR fencing, Maybe this will change later -->
<!-- &nbsp; &nbsp; #!string!striker_0262!# -->
&nbsp;
</td>
</tr>
#!variable!fences!#
<!-- UPSes -->
<tr>
<td class="column_header">
<!-- UPS Name -->
&nbsp;
</td>
<td class="column_header">
<!-- Node 1 -->
#!string!striker_0264!#
</td>
<td class="column_header">
<!-- Node 2 -->
&nbsp; &nbsp; #!string!striker_0264!#
</td>
<td class="column_header">
<!-- DR Host -->
<!-- For now, we don't care about DR fencing, Maybe this will change later -->
<!-- &nbsp; &nbsp; #!string!striker_0264!# -->
&nbsp;
</td>
</tr>
#!variable!upses!#
<tr>
<td colspan="4">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button">
</td>
<td colspan="2" style="text-align: right;">
<input type="submit" name="next" id="next" value="#!string!striker_0013!#" class="button">
</td>
<input type="hidden" name="prefix" id="prefix" value="#!data!cgi::prefix::value!#">
<input type="hidden" name="domain" id="domain" value="#!data!cgi::domain::value!#">
<input type="hidden" name="sequence" id="sequence" value="#!data!cgi::sequence::value!#">
<input type="hidden" name="bcn_count" id="bcn_count" value="#!data!cgi::bcn_count::value!#">
<input type="hidden" name="sn_count" id="sn_count" value="#!data!cgi::sn_count::value!#">
<input type="hidden" name="ifn_count" id="ifn_count" value="#!data!cgi::ifn_count::value!#">
<input type="hidden" name="dns" id="dns" value="#!data!cgi::dns::value!#" />
<input type="hidden" name="ntp" id="ntp" value="#!data!cgi::ntp::value!#" />
<input type="hidden" name="mtu" id="mtu" value="#!data!cgi::mtu::value!#" />
<input type="hidden" name="step" id="step" value="4">
<input type="hidden" name="reload" id="reload" value="true">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="manifests">
<input type="hidden" name="manifest_uuid" id="manifest_uuid" value="#!data!cgi::manifest_uuid::value!#">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- IPMI IP -->
#!string!striker_0258!# &nbsp;
</td>
<td>
#!string!striker_0261!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- IPMI Note -->
#!string!striker_0260!# &nbsp;
</td>
<td>
#!string!striker_0266!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Fence Note -->
#!string!striker_0262!# &nbsp;
</td>
<td>
#!string!striker_0263!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- UPS Note -->
#!string!striker_0264!# &nbsp;
</td>
<td>
#!string!striker_0265!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
#!variable!network_note!#
</table>
</td>
</tr>
</table>
<!-- end manifest-step3 -->
<!-- start manifest-step3-network-note-entry -->
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
#!variable!name!# &nbsp;
</td>
<td>
#!variable!message!#
</td>
</tr>
<!-- end manifest-step3-network-note-entry -->
<!-- start fence-agent-configuration -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/fence.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0215!#
</td>
</tr>
<tr>
<td class="main_option_icon">
&nbsp;
</td>
<td class="subtle_text">
#!variable!note!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td class="description">
#!variable!description!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" class="subtle_text" style="text-align: right;">
<span class="say_required">#!string!striker_0219!#</span>
</td>
</tr>
<tr>
<td colspan="2">
<form name="fence_configuration" action="" method="post">
<table class="centered">
#!variable!options!#
<tr>
<td colspan="3">
<input type="submit" name="save" id="save" value="#!string!striker_0067!#" class="button">
<input type="hidden" name="fence_agent" id="fence_agent" value="#!data!cgi::fence_agent::value!#">
<input type="hidden" name="fence_count" id="fence_count" value="#!data!cgi::fence_count::value!#">
<input type="hidden" name="add" id="add" value="true">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="fences">
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
</table>
<!-- end fence-agent-configuration -->
<!-- start ups-option-menu -->
<tr style="border: 1px dotted #7f7f7f;">
<td>
#!variable!device!# &nbsp;
</td>
<td class="column_row_centered_input">
<input type="text" name="#!variable!name_key!#" id="#!variable!name_key!#" placeholder="#!string!striker_0016!#" value="#!variable!name!#" />
</td>
<td class="column_row_centered_input">
<input type="text" name="#!variable!ip_address_key!#" id="#!variable!ip_address_key!#" placeholder="#!string!striker_0024!#" value="#!variable!ip_address!#" />
</td>
<td>
#!variable!agent!#
</td>
</tr>
<input type="hidden" name="#!variable!fence_uuid_key!#" id="#!variable!fence_uuid_key!#" value="#!variable!fence_uuid!#" />
<!-- end ups-option-menu -->
<!-- start ups-option-menu-confirm -->
<tr style="border: 1px dotted #7f7f7f;">
<td>
#!variable!device!# &nbsp;
</td>
<td class="column_row_centered_input">
&nbsp; #!variable!name!# &nbsp;
<input type="hidden" name="#!variable!name_key!#" id="#!variable!name_key!#" value="#!variable!name!#" />
</td>
<td class="column_row_centered_input">
&nbsp; #!variable!ip_address!# &nbsp;
<input type="hidden" name="#!variable!ip_address_key!#" id="#!variable!ip_address_key!#" value="#!variable!ip_address!#" />
</td>
<td>
&nbsp; #!variable!say_agent!#
<input type="hidden" name="#!variable!agent_key!#" id="#!variable!agent_key!#" value="#!variable!agent!#" />
</td>
</tr>
<input type="hidden" name="#!variable!fence_uuid_key!#" id="#!variable!fence_uuid_key!#" value="#!variable!fence_uuid!#" />
<!-- end ups-option-menu-confirm -->
<!-- start ups-configuration -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/ups.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0240!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td class="description">
#!variable!description!#
</td>
</tr>
<tr>
<td colspan="2">
<form name="ups_configuration" action="" method="post">
<table class="centered">
<tr>
<td class="column_header">
&nbsp;
</td>
<td class="column_header">
<!-- Name -->
#!string!header_0026!#
</td>
<td class="column_header">
<!-- IP Address -->
#!string!header_0025!#
</td>
<td class="column_header">
<!-- Brand (agent) -->
#!string!header_0027!#
</td>
</tr>
#!variable!upses!#
<tr>
<td colspan="4" class="button_cell">
<input type="submit" name="save" id="save" value="#!string!striker_0067!#" class="button">
<input type="hidden" name="ups_agent" id="ups_agent" value="#!data!cgi::ups_agent::value!#">
<input type="hidden" name="ups_count" id="ups_count" value="#!data!cgi::ups_count::value!#">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="upses">
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Name -->
#!string!header_0026!# &nbsp;
</td>
<td>
#!string!striker_0235!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- IP Address -->
#!string!header_0025!# &nbsp;
</td>
<td>
#!string!striker_0241!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td class="column_header">
<!-- Brand (agent) -->
#!string!header_0027!# &nbsp;
</td>
<td>
#!string!striker_0242!#
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- end ups-configuration -->
<!-- start ups-configuration-confirm -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/ups.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0243!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td class="description">
#!variable!confirm!#
</td>
</tr>
<tr>
<td colspan="2">
<form name="ups_configuration" action="" method="post">
<table class="centered">
<tr>
<td class="column_header">
&nbsp;
</td>
<td class="column_header">
<!-- Name -->
#!string!header_0026!#
</td>
<td class="column_header">
<!-- IP Address -->
#!string!header_0025!#
</td>
<td class="column_header">
<!-- Brand (agent) -->
#!string!header_0027!#
</td>
</tr>
#!variable!upses!#
<tr>
<td colspan="4" class="button_cell">
<input type="submit" name="confirm" id="confirm" value="#!string!striker_0082!#" class="button">
<input type="hidden" name="ups_count" id="ups_count" value="#!data!cgi::ups_count::value!#">
<input type="hidden" name="save" id="save" value="true">
<input type="hidden" name="confirm" id="confirm" value="true">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="upses">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<!-- end ups-configuration-confirm -->
<!-- start fence-agent-row -->
<tr>
#!variable!columns!#
</tr>
<!-- end fence-agent-row -->
<!-- start fence-agent-column -->
<td class="column_row_value_centered_border">
<span class="#!variable!class!#">#!variable!value!#</span>
</td>
<!-- end fence-agent-column -->
<!-- start fence-agent-column-hidden-value -->
<td class="column_row_value_centered_border">
<span class="#!variable!class!#">#!variable!say_value!#</span>
<input type="hidden" name="#!variable!name!#" id="#!variable!name!#" value="#!variable!value!#" />
</td>
<!-- end fence-agent-column-hidden-value -->
<!-- start ups-column -->
<td class="column_row_value_centered_border">
<span class="#!variable!class!#">#!variable!value!#</span>
</td>
<!-- end ups-column -->
<!-- start ups-column-hidden-value -->
<td class="column_row_value_centered_border">
<span class="#!variable!class!#">#!variable!say_value!#</span>
<input type="hidden" name="#!variable!name!#" id="#!variable!name!#" value="#!variable!value!#" />
</td>
<!-- end ups-column-hidden-value -->
<!-- start fence-agent-confirm -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/fence.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0215!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
#!variable!confirm_string!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<form name="fence_configuration" action="" method="post">
<table class="centered">
#!variable!table!#
<tr>
<td class="close_top">
&nbsp;<br />
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button">
</td>
<td class="close_top" style="text-align: right;" colspan="#!variable!span_count!#">
&nbsp;<br />
<input type="submit" name="save" id="save" value="#!string!striker_0067!#" class="button">
</td>
<input type="hidden" name="fence_agent" id="fence_agent" value="#!data!cgi::fence_agent::value!#">
<input type="hidden" name="fence_count" id="fence_count" value="#!data!cgi::fence_count::value!#">
<input type="hidden" name="add" id="add" value="true">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="fences">
<input type="hidden" name="confirm" id="confirm" value="true">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
</table>
<!-- end fence-agent-confirm -->
<!-- start ups-delete-confirm -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/ups.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0225!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<form name="ups_configuration" action="" method="post">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td colspan="2" class="column_header">
#!string!header_0024!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td colspan="2" class="fixed_width">
#!variable!say_device!#
<input type="hidden" name="delete_ups_uuid" id="delete_ups_uuid" value="#!data!cgi::delete_ups_uuid::value!#">
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="close_top">
&nbsp;<br />
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button">
</td>
<td class="close_top" style="text-align: right;">
&nbsp;<br />
<input type="submit" name="confirm" id="confirm" value="#!string!striker_0082!#" class="button">
</td>
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="upses">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
</table>
<!-- end ups-delete-confirm -->
<!-- start manifest-delete-confirm -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/manifest.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0225!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<form name="manifest_delete" action="" method="post">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td colspan="2" class="column_header">
#!string!header_0028!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td colspan="2" class="column_row_value">
#!variable!say_manifest!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td>
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button"> &nbsp;
</td>
<td style="text-align: right;">
&nbsp; <input type="submit" name="confirm" id="confirm" value="#!string!striker_0082!#" class="button">
</td>
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="manifests">
<input type="hidden" name="delete" id="delete" value="true">
<input type="hidden" name="manifest_uuid" id="manifest_uuid" value="#!data!cgi::manifest_uuid::value!#">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
</table>
<!-- end manifest-delete-confirm -->
<!-- start fence-agent-delete-confirm -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/fence.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0225!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
#!variable!confirm_string!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<form name="fence_configuration" action="" method="post">
<table class="centered">
<tr style="border: 1px dotted #7f7f7f;">
<td colspan="2" class="column_header">
#!string!header_0023!#
</td>
</tr>
<tr style="border: 1px dotted #7f7f7f;">
<td colspan="2" class="fixed_width">
#!variable!say_device!#
<input type="hidden" name="delete_fence_uuid" id="delete_fence_uuid" value="#!data!cgi::delete_fence_uuid::value!#">
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="close_top">
&nbsp;<br />
<input type="submit" name="back" id="back" value="#!string!striker_0098!#" class="button">
</td>
<td class="close_top" style="text-align: right;">
&nbsp;<br />
<input type="submit" name="confirm" id="confirm" value="#!string!striker_0082!#" class="button">
</td>
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="fences">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
</table>
<!-- end fence-agent-delete-confirm -->
<!-- start fence-agent-option-menu -->
<tr>
<td colspan="3" class="menu_title">
#!variable!device_name!#
</td>
</tr>
#!variable!device_options!#
<input type="hidden" name="#!variable!fence_uuid_key!#" id="#!variable!fence_uuid_key!#" value="#!variable!fence_uuid!#" />
<!-- end fence-agent-option-menu -->
<!-- start fence-agent-option-entry -->
<tr>
<td class="#!variable!name_class!#">
#!variable!name!# &nbsp;
</td>
<td>
#!variable!option!#
</td>
<td>
&nbsp; #!variable!description!#
</td>
</tr>
<!-- end fence-agent-option-entry -->
<!-- start fence-agent-checkbox-entry -->
<tr>
<td class="#!variable!name_class!#">
#!variable!name!# &nbsp;
</td>
<td>
<input type="checkbox" id="#!variable!checkbox_name!#" name="#!variable!checkbox_name!#" #!variable!checkbox_checked!# />
</td>
<td>
&nbsp; #!variable!description!#
</td>
</tr>
<!-- end fence-agent-checkbox-entry -->
<!-- start fence-agent-input-entry -->
<tr>
<td class="#!variable!name_class!#">
#!variable!name!# &nbsp;
</td>
<td>
<input type="text" name="#!variable!key!#" id="#!variable!key!#" value="#!variable!value!#" placeholder="#!variable!default!#" class="#!variable!input_class!#">
</td>
<td>
&nbsp; #!variable!description!#
</td>
</tr>
<!-- end fence-agent-input-entry -->
<!-- start existing-fence-devices -->
<tr>
<td>
&nbsp;
</td>
<td>
#!string!striker_0224!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<table>
<div id="existing_fence_devices">
<tr style="border: 1px dotted #7f7f7f;">
<!-- Device name -->
<td class="column_header">
#!string!header_0003!#:
</td>
<td>
&nbsp;
</td>
<!-- Delete -->
<td class="column_header">
#!string!header_0022!#
</td>
<td>
&nbsp;
</td>
<!-- agent and arguments -->
<td class="column_header">
#!string!header_0021!#
</td>
</tr>
#!variable!devices!#
</div>
</table>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<!-- end existing-fence-devices -->
<!-- start existing-upses -->
<tr>
<td>
&nbsp;
</td>
<td>
#!string!striker_0236!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<table>
<div id="existing_ups_devices">
<tr style="border: 1px dotted #7f7f7f;">
<!-- Device name -->
<td class="column_header">
#!string!header_0003!#:
</td>
<td>
&nbsp;
</td>
<!-- Delete -->
<td class="column_header">
#!string!header_0022!#
</td>
<td>
&nbsp;
</td>
<!-- agent and arguments -->
<td class="column_header">
#!string!header_0025!#
</td>
</tr>
#!variable!upses!#
</div>
</table>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<!-- end existing-upses -->
<!-- start existing-fence-device-entry -->
<tr style="border: 1px dotted #7f7f7f;">
<td>
<a href="?anvil=true&task=fences&fence_agent=#!variable!fence_agent!#&fence_count=1&fence_uuid_1=#!variable!fence_uuid!#" class="fixed_link_highlight">#!variable!name!#</a>
</td>
<td>
&nbsp;
</td>
<td style="text-align: center;">
<a href="?anvil=true&task=fences&delete_fence_uuid=#!variable!fence_uuid!#" class="fixed_link_highlight"><img src="#!data!skin::url!#/images/delete.png" alt="#!string!striker_0068!#" style="height: .8em;"></a>
</td>
<td>
&nbsp;
</td>
<td class="fixed_width">
#!variable!arguments!#
</td>
</tr>
<!-- end existing-fence-device-entry -->
<!-- start existing-ups-entry -->
<tr style="border: 1px dotted #7f7f7f;">
<td>
<a href="?anvil=true&task=upses&ups_agent=#!variable!ups_agent!#&ups_count=1&ups_uuid_1=#!variable!ups_uuid!#" class="fixed_link_highlight">#!variable!name!#</a>
</td>
<td>
&nbsp;
</td>
<td style="text-align: center;">
<a href="?anvil=true&task=upses&delete_ups_uuid=#!variable!ups_uuid!#" class="fixed_link_highlight"><img src="#!data!skin::url!#/images/delete.png" alt="#!string!striker_0068!#" style="height: .8em;"></a>
</td>
<td>
&nbsp;
</td>
<td class="fixed_width">
#!variable!ip_address!#
</td>
</tr>
<!-- end existing-ups-entry -->
<!-- start fence-agent-menu -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/fence.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0209!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td class="description">
#!string!striker_0210!#<br /><br />
#!string!striker_0211!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
#!variable!existing_devices!#
<tr>
<td>
&nbsp;
</td>
<td>
#!string!striker_0213!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<table>
<div id="new_fences">
<form name="new_fences" action="" method="post">
<tr>
<td>
#!string!striker_0070!#:
</td>
<td>
&nbsp;
</td>
<td>
#!variable!fence_select!#
</td>
</tr>
<tr>
<td>
#!string!striker_0212!#:
</td>
<td>
&nbsp;
</td>
<td>
#!variable!fence_count!#
</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td colspan="3" class="no_border_right">
<input type="submit" name="add" id="add" class="button" value="#!string!striker_0070!#">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="fences">
</td>
</tr>
</form>
</div>
</table>
</td>
</tr>
<div id="fence_agent_list">
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
#!string!striker_0214!#
</td>
</tr>
<tr>
<td colspan="2">
<table>
#!variable!descriptions!#
</table>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
</div>
</table>
<!-- end fence-agent-menu -->
<!-- start ups-agent-menu -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<img src="#!data!skin::url!#/images/ups.png" class="top_icon" >
</td>
<td class="title">
#!string!striker_0231!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td class="description">
#!string!striker_0237!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
#!variable!existing_upses!#
<tr>
<td>
&nbsp;
</td>
<td>
#!string!striker_0231!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<table>
<div id="new_upses">
<form name="new_upses" action="" method="post">
<tr>
<td>
#!string!striker_0070!#:
</td>
<td>
&nbsp;
</td>
<td>
#!variable!ups_select!#
</td>
</tr>
<tr>
<td>
#!string!striker_0212!#:
</td>
<td>
&nbsp;
</td>
<td>
#!variable!ups_count!#
</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td colspan="3" class="no_border_right">
<input type="submit" name="add" id="add" class="button" value="#!string!striker_0070!#">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="upses">
</td>
</tr>
</form>
</div>
</table>
</td>
</tr>
<div id="ups_agent_list">
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
#!string!striker_0238!#
</td>
</tr>
<tr>
<td colspan="2">
<table>
#!variable!descriptions!#
</table>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
</div>
</table>
<!-- end ups-agent-menu -->
<!-- start fence-agent-description -->
<tr style="border: 1px dotted #7f7f7f;">
<td>
<span class="column_row_value_fixed">#!variable!name!#</a>
</td>
<td>
#!variable!description!#
</td>
</tr>
<!-- end fence-agent-description -->
<!-- start ups-agent-description -->
<tr style="border: 1px dotted #7f7f7f;">
<td>
<span class="column_row_value_fixed">#!variable!name!#</a> &nbsp;
</td>
<td>
&nbsp; #!variable!description!#
</td>
</tr>
<!-- end ups-agent-description -->
<!-- start main-menu -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" class="title">
#!string!striker_0113!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td class="main_option_icon">
<a href="?anvil=true&task=prep-host"><img src="#!data!skin::url!#/images/prep-host_icon.png" class="top_icon" ></a>
</td>
<td class="main_option">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<a href="?anvil=true&task=prep-host">#!string!striker_0116!#</a>
</td>
</tr>
<tr>
<td rowspan="2" class="main_option_icon" style="cursor: pointer;">
<span id="toggle_unconfigured_icon"><img src="#!data!skin::url!#/images/configure-network.png" class="top_icon" ></span>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</td>
<td class="main_option">
<span id="toggle_unconfigured_text" style="cursor: pointer;">#!string!striker_0130!#</spam>
</td>
</tr>
<tr>
<td class="main_option_list">
<!-- See anvil.js for the in-JS generated HTML table that gets inserted here -->
<div id="unconfigured_hosts" style="display: none;"
data-none="#!string!unit_0003!#"
data-yes="#!string!unit_0001!#"
data-no="#!string!unit_0002!#"
data-configured="#!string!header_0018!#"
data-unconfigured="#!string!header_0016!#"
data-accessible="#!string!header_0017!#"
data-at-ip="#!string!header_0020!#"
data-type="#!string!header_0019!#"
/>
</td>
</tr>
<tr>
<td class="main_option_icon">
<a href="?anvil=true&task=create"><img src="#!data!skin::url!#/images/build-anvil_icon.png" class="top_icon" ></a>
</td>
<td class="main_option">
<a href="?anvil=true&task=create">#!string!striker_0114!#</a>
</td>
</tr>
</table>
<!-- end main-menu -->
<!-- start network_interface_form -->
<table>
<tr>
<td colspan="5" class="form_group_header1">
#!variable!field!#:
<input type="hidden" name="#!variable!network_name!#_create_bridge" id="#!variable!network_name!#_create_bridge" value="#!variable!create_bridge!#">
</td>
</tr>
<tr>
<td colspan="5" class="form_group_header2">
#!variable!description!#<br />
<span class="notice">#!string!prefix_0006!#</span>: #!string!striker_0145!#
</td>
</tr>
<tr>
<td>
#!string!striker_0024!#
</td>
<td>
<input type="text" name="#!variable!ip_key!#" id="#!variable!ip_key!#" value="#!variable!ip_value!#" placeholder="#!string!striker_0024!#" class="#!variable!ip_class!#">
</td>
<td>
&nbsp;
</td>
<td>
#!string!striker_0029!#
</td>
<td>
#!variable!iface1_select!#
</td>
</tr>
<tr>
<td>
#!string!striker_0025!#
</td>
<td>
<input type="text" name="#!variable!subnet_mask_key!#" id="#!variable!subnet_mask_key!#" value="#!variable!subnet_mask_value!#" placeholder="#!string!striker_0025!#" class="#!variable!subnet_mask_class!#">
</td>
<td>
&nbsp;
</td>
<td>
#!string!striker_0030!#
</td>
<td>
#!variable!iface2_select!#
</td>
</tr>
</table>
<!-- end network_interface_form -->
<!-- start network_job_recorded -->
<table>
<tr>
<td>
<span class="config_header2">#!string!striker_0044!#</span><br />
<span class="config_header3">#!string!striker_0161!#</span>
<br />
<hr />
<a href="/cgi-bin/striker?anvil=true" class="button">#!string!striker_0162!#</a>
</td>
</tr>
</table>
<!-- end network_job_recorded -->
<!-- start config-network-main -->
<table align="center" class="anvil_main_menu">
<script type="text/javascript" src="/skins/alteeve/anvil.js"></script>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" class="title">
#!string!striker_0141!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
#!string!striker_0142!#
</td>
</tr>
<form name="host_setup" action="" method="post">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
<table width="100%">
<div id="network_config">
<form name="network_config_form" action="" method="post">
<tr>
<td width="75%" style="vertical-align: top;">
<table>
<tr>
<td>
#!variable!host_name_form!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
#!variable!interface_form!#
</td>
</tr>
<tr>
<td>
#!variable!gateway_form!#
</td>
</tr>
<tr>
<td>
#!variable!dns_form!#
</td>
</tr>
</table>
</td>
<td width="25%" style="padding-left: 1em; vertical-align: top;">
<div id="network_interface_table"
data-host-name="#!variable!host_name!#"
data-title="#!string!header_0001!#"
data-mac-address="#!string!header_0002!#"
data-name="#!string!header_0003!#"
data-state="#!string!header_0004!#"
data-speed="#!string!header_0005!#"
data-up-order="#!string!header_0006!#"
data-up="#!string!unit_0013!#"
data-down="#!string!unit_0014!#"
/>
</td>
</tr>
<tr>
<td colspan="2" class="column_row_value_right">
<input type="submit" name="next" id="next" class="button" value="#!string!striker_0013!#">
</td>
</tr>
<input type="hidden" name="host_uuid" id="host_uuid" value="#!variable!host_uuid!#">
<input type="hidden" name="bcn_count" id="bcn_count" value="#!variable!bcn_count!#">
<input type="hidden" name="sn_count" id="sn_count" value="#!variable!sn_count!#">
<input type="hidden" name="ifn_count" id="ifn_count" value="#!variable!ifn_count!#">
<input type="hidden" name="save" id="save" value="true">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="prep-network">
</form>
</div>
</table>
</td>
</tr>
</form>
</table>
<!-- end config-network-main -->
<!-- start config-network-confirm -->
<table align="center" width="75%">
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" class="title">
#!string!striker_0146!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
#!string!striker_0147!#
</td>
</tr>
<form name="host_setup" action="" method="post">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td colspan="2">
<table class="centered">
<form name="network_config_confirm" action="" method="post">
<div id="network_plan">
<tr>
<td colspan="2">
<!-- Network Plan -->
#!string!striker_0148!#
</td>
</tr>
<tr>
<td colspan="2" style="vertical-align: top;">
<table class="data_table_nowrap">
<tr>
<td class="column_header">
<!-- Network Name -->
#!string!striker_0149!# &nbsp;
</td>
<td class="column_header">
<!-- Primary Interface -->
&nbsp; #!string!striker_0029!# &nbsp;
</td>
<td class="column_header">
<!-- Secondary Interface -->
&nbsp; #!string!striker_0030!# &nbsp;
</td>
<td class="column_header">
<!-- Primary IP Address/Subnet (or DHCP) -->
&nbsp; #!string!striker_0150!# &nbsp;
</td>
<td class="column_header">
<!-- Bridge? -->
&nbsp; #!string!striker_0151!#
</td>
</tr>
#!variable!interfaces!#
<tr>
<td class="column_header">
#!string!striker_0016!#:
</td>
<td colspan="4" class="column_row_value_fixed">
&nbsp; #!variable!host_name!#
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="column_row_value">
<br />
<input type="submit" name="back" id="back" class="button" value="#!string!striker_0098!#">
</td>
<td class="column_row_value_right">
<br />
<input type="submit" name="confirm" id="confirm" class="button" value="#!string!striker_0082!#">
</td>
</tr>
<input type="hidden" name="host_uuid" id="host_uuid" value="#!variable!host_uuid!#">
<input type="hidden" name="bcn_count" id="bcn_count" value="#!variable!bcn_count!#">
<input type="hidden" name="sn_count" id="sn_count" value="#!variable!sn_count!#">
<input type="hidden" name="ifn_count" id="ifn_count" value="#!variable!ifn_count!#">
<input type="hidden" name="dns" id="dns" value="#!variable!dns!#">
<input type="hidden" name="gateway" id="gateway" value="#!variable!gateway!#">
<input type="hidden" name="gateway_interface" id="gateway_interface" value="#!variable!gateway_interface!#">
<input type="hidden" name="save" id="save" value="true">
<input type="hidden" name="anvil" id="anvil" value="true">
<input type="hidden" name="task" id="task" value="prep-network">
</form>
</div>
</table>
</td>
</tr>
</table>
<!-- end config-network-confirm -->
<!-- start interface-entry -->
<tr>
<td class="column_row_value">
<!-- Network Name -->
#!variable!network!# &nbsp;
</td>
<td class="column_row_value_fixed">
<!-- Primary Interface -->
&nbsp; #!variable!primary!# &nbsp;
<input type="hidden" name="#!variable!link1_key!#" id="#!variable!link1_key!#" value="#!variable!link1_value!#" />
</td>
<td class="column_row_value_fixed">
<!-- Secondary Interface -->
&nbsp; #!variable!secondary!# &nbsp;
<input type="hidden" name="#!variable!link2_key!#" id="#!variable!link2_key!#" value="#!variable!link2_value!#" />
</td>
<td class="column_row_value_fixed">
<!-- Primary IP Address/Subnet (or DHCP) -->
&nbsp; #!variable!say_ip!# &nbsp;
<input type="hidden" name="#!variable!ip_key!#" id="#!variable!ip_key!#" value="#!variable!ip_address!#" />
<input type="hidden" name="#!variable!subnet_key!#" id="#!variable!subnet_key!#" value="#!variable!subnet_mask!#" />
</td>
<td class="column_row_value">
<!-- Bridge? -->
&nbsp; #!variable!bridge!#
<input type="hidden" name="#!variable!bridge_key!#" id="#!variable!bridge_key!#" value="#!variable!bridge_value!#" />
</td>
</tr>
<!-- end interface-entry -->
<!-- start prep-host-main -->
<table align="center" class="anvil_main_menu">
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" class="title">
#!string!striker_0121!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2">
#!string!striker_0122!#
</td>
</tr>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<form name="host_setup" action="" method="post">
<tr>
<td colspan="2">
#!variable!form!#
</td>
</tr>
<input type="hidden" name="anvil" id="anvil" value="1">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<input type="hidden" name="task" id="task" value="prep-host">
</form>
</table>
<!-- end prep-host-main -->
<!-- start host-setup-menu1 -->
<table align="center" class="anvil_main_menu">
<div id="host-setup">
<tr>
<td colspan="3">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
#!string!message_0146!#
</td>
</tr>
<tr>
<td colspan="3">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<input type="radio" name="type" value="node" id="node" class="radio" #!variable!node_checked!#> #!string!message_0116!# <br />
<input type="radio" name="type" value="dr" id="dr" class="radio" #!variable!dr_checked!#> #!string!message_0117!#
</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td colspan="3">
#!string!message_0150!#
</td>
</tr>
<tr>
<td colspan="3">
<input type="text" name="host_name" id="host_name" value="#!variable!host_name!#" placeholder="#!string!striker_0016!#" />
<input type="hidden" name="default_host_name" id="default_host_name" value="#!variable!default_host_name!#" />
</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td colspan="3">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
#!string!message_0147!#
</td>
</tr>
<tr>
<td>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<input type="text" name="host_ip_address" id="host_ip_address" value="#!variable!host_ip_address!#" placeholder="#!string!striker_0024!#" />
</td>
<td>
&nbsp;
</td>
<td>
<!--
This combination of input type text, disk characters and autocomplete=off prevents browsers from pre-filling password and offering to save passwords.
-->
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<input type="text" name="host_password" id="host_password" value="#!variable!password!#" style="text-security:disc; -webkit-text-security:disc;" autocomplete="off" placeholder="#!string!striker_0123!#" />
</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td colspan="3">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<input type="submit" name="connect" id="connect" class="button" value="#!string!striker_0049!#">
</td>
</tr>
</div>
</table>
<!-- end host-setup-menu1 -->
<!-- start confirm-initialize-host -->
<table align="center">
<form name="confirm-new-peer" action="" method="post">
<tr>
<td class="menu_title">
#!string!striker_0078!#
</td>
</tr>
<tr>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<td class="menu_details">
#!string!striker_0124!#
</td>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</tr>
<tr>
<td>
&nbsp;
</td>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</tr>
#!variable!redhat_message!#
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<tr>
<td>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<table align="center" class="data_table">
<div id="confirm-new-peer">
<tr>
<td class="top_padded_cell">
#!string!striker_0125!#:
</td>
<td class="top_padded_cell">
<span class="fixed_width">#!variable!access!#</span>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</td>
</tr>
<tr>
<td class="padded_cell">
#!string!striker_0126!#:
</td>
<td class="padded_cell">
<span class="fixed_width">#!variable!current_host_name!#</span>
</td>
</tr>
<tr>
<td class="padded_cell">
#!string!striker_0138!#:
</td>
<td class="padded_cell">
<span class="fixed_width">#!variable!new_host_name!#</span>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</td>
</tr>
<tr>
<td class="padded_cell">
#!string!striker_0127!#:
</td>
<td class="padded_cell">
<span class="fixed_width">#!variable!host_uuid!#</span>
<input type="hidden" name="host_uuid" id="host_uuid" value="#!variable!host_uuid!#">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</td>
</tr>
#!variable!redhat_form!#
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<tr>
<td class="button_cell" style="text-align: left;">
<a href="/cgi-bin/striker?anvil=true&task=prep-host&host_ip_address=#!data!cgi::host_ip_address::value!#" class="button">#!string!striker_0098!#</a>
</td>
<td class="button_cell" style="text-align: right;">
<input type="submit" name="confirm" id="confirm" class="button" value="#!string!striker_0128!#">
</td>
</tr>
<input type="hidden" name="anvil" id="anvil" value="#!data!cgi::anvil::value!#">
<input type="hidden" name="connect" id="connect" value="#!data!cgi::connect::value!#">
<input type="hidden" name="host_ip_address" id="host_ip_address" value="#!data!cgi::host_ip_address::value!#">
<input type="hidden" name="host_password" id="host_password" value="#!data!cgi::host_password::value!#">
<input type="hidden" name="type" id="type" value="#!data!cgi::type::value!#">
<input type="hidden" name="task" id="task" value="#!data!cgi::task::value!#">
<input type="hidden" name="host_name" id="host_name" value="#!data!cgi::host_name::value!#">
<input type="hidden" name="default_host_name" id="default_host_name" value="#!data!cgi::default_host_name::value!#">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</div>
</table>
</td>
</tr>
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</form>
</table>
<!-- end confirm-initialize-host -->
<!-- start host-setup-redhat-message -->
<tr>
<td class="menu_details">
#!variable!message!#
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<!-- end host-setup-redhat-message -->
<!-- start host-setup-redhat-form -->
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<tr>
<td class="padded_cell">
#!string!message_0144!#:
</td>
<td class="padded_cell">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<input type="text" name="rh_user" id="rh_user" value="#!variable!rh_user!#" placeholder="#!string!message_0144!#" />
</td>
</tr>
<tr>
<td class="padded_cell">
#!string!message_0145!#:
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
</td>
<td class="padded_cell">
* Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. * Updated striker to no longer try to SSH to a remote machine. To enable this, we'd have to give apache a shell and an SSH key, which is dumb and dangerous when considered. * Created tools/striker-get-peer-data which is meant to be invoked as the 'admin' user (via a setuid c-wrapper). It collects basic data about a target machine and reports what it finds on STDOUT. It gets the password for the target via the database. * Updated anvil-daemon to check/create/update setuid c-wrapper(s), which for now is limited to call_striker-initialize-host. * Created Anvil/Tools/Striker.pm to store Striker web-specific methods, including get_peer_data() which calls tools/striker-initialize-host via the setuid admin call_striker-initialize-host c-wrapper. * In order to allow striker via apache to read a peer's anvil.version, which it can no longer do over SSH, any connection to a peer where the anvil.version is read is cached as /etc/anvil/anvil.<peer>.version. When Get->anvil_version is called as 'apache', this file is read instead. * Updated Database->resync_databases() and ->_find_behind_databases() to ignore the 'states' table. * Created tools/striker-initialize-host which will be called as a job to initialize a node/dr host. Signed-off-by: Digimer <digimer@alteeve.ca>
5 years ago
<input type="text" name="rh_password" id="rh_password" value="#!variable!rh_password!#" style="text-security:disc; -webkit-text-security:disc;" autocomplete="off" placeholder="#!string!message_0145!#" />
</td>
</tr>
<!-- end host-setup-redhat-form -->