Browse files

Initial commit of HTML docs into source tree.

Still lots to fix..
  • Loading branch information...
1 parent 67dffb6 commit 4be8c85688e62a8b7fe001d800946eacbbcf71c5 @labisso labisso committed Dec 4, 2009
Showing with 19,068 additions and 0 deletions.
  1. 0 docs/html/.gitignore
  2. +837 −0 docs/m4/worksp.lib.m4
  3. +43 −0 docs/scripts/build-and-serve-locally.sh
  4. +127 −0 docs/scripts/local-serve.py
  5. +314 −0 docs/scripts/process_m4.py
  6. +147 −0 docs/scripts/push_to_mcs_web.sh
  7. BIN docs/src/DHCP-TP1.2.2-draft2.pdf
  8. +21 −0 docs/src/admin/gt4.0-counter-security-example.xml.txt
  9. +80 −0 docs/src/admin/index.html
  10. +111 −0 docs/src/admin/nimbus-build.txt
  11. +49 −0 docs/src/admin/overview.html
  12. +1,229 −0 docs/src/admin/quickstart.html
  13. +1,785 −0 docs/src/admin/reference.html
  14. +74 −0 docs/src/admin/sample-server-config.wsdd-supporting-ec2.xml
  15. +27 −0 docs/src/admin/test-create-output.txt
  16. +10 −0 docs/src/admin/test-create.sh
  17. +308 −0 docs/src/admin/troubleshooting.html
  18. +64 −0 docs/src/admin/upgrading.html
  19. +34 −0 docs/src/admin/workspace-client-help.txt
  20. +2,187 −0 docs/src/changelog.html
  21. +334 −0 docs/src/clouds/appendix.html
  22. +53 −0 docs/src/clouds/cloud.properties
  23. +438 −0 docs/src/clouds/cloudquickstart.html
  24. +231 −0 docs/src/clouds/cloudstyle.css
  25. +89 −0 docs/src/clouds/cluster-all-output.txt
  26. +453 −0 docs/src/clouds/clusters.html
  27. +627 −0 docs/src/clouds/clusters2.html
  28. BIN docs/src/clouds/img/1.png
  29. BIN docs/src/clouds/img/10.png
  30. BIN docs/src/clouds/img/11.png
  31. BIN docs/src/clouds/img/12.png
  32. BIN docs/src/clouds/img/13.png
  33. BIN docs/src/clouds/img/14.png
  34. BIN docs/src/clouds/img/15.png
  35. BIN docs/src/clouds/img/2.png
  36. BIN docs/src/clouds/img/3.png
  37. BIN docs/src/clouds/img/4.png
  38. BIN docs/src/clouds/img/5.png
  39. BIN docs/src/clouds/img/6.png
  40. BIN docs/src/clouds/img/7.png
  41. BIN docs/src/clouds/img/8.png
  42. BIN docs/src/clouds/img/9.png
  43. BIN docs/src/clouds/img/applications-internet-72.png
  44. BIN docs/src/clouds/img/applications-internet.png
  45. BIN docs/src/clouds/img/contact-new.png
  46. BIN docs/src/clouds/img/gnome-terminal.png
  47. BIN docs/src/clouds/img/network-receive-72.png
  48. BIN docs/src/clouds/img/network-receive.png
  49. BIN docs/src/clouds/img/note-original.png
  50. BIN docs/src/clouds/img/note.gif
  51. BIN docs/src/clouds/img/note.png
  52. BIN docs/src/clouds/img/preferences-system.png
  53. BIN docs/src/clouds/img/simonsays.png
  54. +643 −0 docs/src/clouds/img/simonsays.svg
  55. BIN docs/src/clouds/img/sm-terminal.png
  56. BIN docs/src/clouds/img/sm2-terminal.png
  57. BIN docs/src/clouds/img/star.gif
  58. BIN docs/src/clouds/img/weather-few-clouds.png
  59. +126 −0 docs/src/clouds/index.html
  60. +171 −0 docs/src/clouds/multicloud.html
  61. +113 −0 docs/src/clouds/nimbus.html
  62. +9 −0 docs/src/clouds/vpninstructions.html
  63. +20 −0 docs/src/deps.html
  64. +53 −0 docs/src/dev/apis.html
  65. +305 −0 docs/src/dev/docs.html
  66. +40 −0 docs/src/dev/index.html
  67. +44 −0 docs/src/dev/meta.html
  68. +369 −0 docs/src/dev/reference.html
  69. +112 −0 docs/src/dev/releases.html
  70. +43 −0 docs/src/dev/sccs.html
  71. +7 −0 docs/src/doc/admin-index.html
  72. +725 −0 docs/src/doc/cloud.html
  73. +7 −0 docs/src/doc/index.html
  74. +91 −0 docs/src/doc/metadata-quickstart.html
  75. +7 −0 docs/src/doc/user-index.html
  76. +184 −0 docs/src/elclients.html
  77. +46 −0 docs/src/examples/alien-0.4-metadata.xml
  78. +68 −0 docs/src/examples/base-cluster.xml
  79. +50 −0 docs/src/examples/cloud.properties
  80. +24 −0 docs/src/examples/compact/index.html
  81. +371 −0 docs/src/examples/compact/jsdl/jsdl.xsd
  82. +176 −0 docs/src/examples/compact/metadata/vw-definition.xsd
  83. +282 −0 docs/src/examples/compact/metadata/vw-logistics.xsd
  84. +60 −0 docs/src/examples/compact/metadata/vw.xsd
  85. +244 −0 docs/src/examples/compact/negotiable.xsd
  86. +252 −0 docs/src/examples/compact/workspace_ctx_port_type_compact.wsdl
  87. +148 −0 docs/src/examples/compact/workspace_ensemble_port_type_compact.wsdl
  88. +163 −0 docs/src/examples/compact/workspace_factory_port_type_compact.wsdl
  89. +154 −0 docs/src/examples/compact/workspace_group_port_type_compact.wsdl
  90. +201 −0 docs/src/examples/compact/workspace_port_type_compact.wsdl
  91. +191 −0 docs/src/examples/compact/workspace_status_port_type_compact.wsdl
  92. +538 −0 docs/src/examples/compact/workspace_types.xsd
  93. +46 −0 docs/src/examples/globus-002.xml
  94. +46 −0 docs/src/examples/hello-cloud.xml
  95. +46 −0 docs/src/examples/hello1.xml
  96. +19 −0 docs/src/examples/sample-deployment-request.xml
  97. +48 −0 docs/src/examples/sample-optional-staging.xml
  98. +57 −0 docs/src/examples/sample-workspace.xml
  99. +67 −0 docs/src/examples/uc.blast-cluster-002-masterslave.xml
  100. +69 −0 docs/src/examples/uc.hadoop-cluster-001-masterslave.xml
  101. +418 −0 docs/src/features.html
  102. BIN docs/src/img/1.png
  103. BIN docs/src/img/10.png
  104. BIN docs/src/img/11.png
  105. BIN docs/src/img/12.png
  106. BIN docs/src/img/13.png
  107. BIN docs/src/img/14.png
  108. BIN docs/src/img/15.png
  109. BIN docs/src/img/2.png
  110. BIN docs/src/img/3.png
  111. BIN docs/src/img/4.png
  112. BIN docs/src/img/5.png
  113. BIN docs/src/img/6.png
  114. BIN docs/src/img/7.png
  115. BIN docs/src/img/8.png
  116. BIN docs/src/img/9.png
  117. BIN docs/src/img/CreatedWorkspace.png
  118. BIN docs/src/img/VirtualWorkspace02.png
  119. BIN docs/src/img/WorkspaceDeployment.png
  120. BIN docs/src/img/WorkspaceReference.png
  121. BIN docs/src/img/authorization1.jpg
  122. BIN docs/src/img/authorization2.jpg
  123. BIN docs/src/img/authorization3.jpg
  124. BIN docs/src/img/cloud-client-layout.png
  125. BIN docs/src/img/cloud-overview-rt.png
  126. BIN docs/src/img/cloud-overview.png
  127. BIN docs/src/img/definition01.png
  128. BIN docs/src/img/diskcollection.png
  129. BIN docs/src/img/group_interface_overview.jpg
  130. BIN docs/src/img/interface_overview.jpg
  131. BIN docs/src/img/ipconfig.png
  132. BIN docs/src/img/networking.png
  133. BIN docs/src/img/new.gif
  134. BIN docs/src/img/nimbus-components.png
  135. BIN docs/src/img/note.png
  136. BIN docs/src/img/optional.png
  137. BIN docs/src/img/simplescreen1.png
  138. BIN docs/src/img/simplescreen3.png
  139. BIN docs/src/img/simplescreen4.png
  140. BIN docs/src/img/simplescreen5.png
  141. BIN docs/src/img/simplescreen6.png
  142. BIN docs/src/img/simplescreen7.png
  143. BIN docs/src/img/sm-terminal.png
  144. BIN docs/src/img/transfer_request.png
  145. +124 −0 docs/src/index.html
  146. +296 −0 docs/src/interfaces/deployment.html
  147. +75 −0 docs/src/interfaces/factory.html
  148. +63 −0 docs/src/interfaces/groupservice.html
  149. +226 −0 docs/src/interfaces/index.html
  150. +235 −0 docs/src/interfaces/metadata.html
  151. +108 −0 docs/src/interfaces/optional.html
  152. +86 −0 docs/src/interfaces/service.html
  153. +97 −0 docs/src/interfaces/statusservice.html
  154. +63 −0 docs/src/module-copying.html
  155. +70 −0 docs/src/offline-editing.html
  156. +111 −0 docs/src/osg-cluster-1.0.0.html
  157. +147 −0 docs/src/plugins/index.html
  158. +81 −0 docs/src/plugins/service-accounting.html
  159. +311 −0 docs/src/plugins/service-authz.html
  160. +70 −0 docs/src/plugins/service-network.html
  161. +65 −0 docs/src/plugins/service-prop.html
  162. +82 −0 docs/src/plugins/service-reqintake.html
  163. +86 −0 docs/src/plugins/service-sched.html
  164. +63 −0 docs/src/plugins/service-tasks.html
  165. +84 −0 docs/src/summary.html
View
0 docs/html/.gitignore
No changes.
View
837 docs/m4/worksp.lib.m4
@@ -0,0 +1,837 @@
+m4_changequote(`[[[', `'')m4_dnl
+m4_dnl
+m4_define([[[_NIMBUS_WEBSITE',http://nimbus.mcs.anl.gov)m4_dnl
+m4_define([[[_WORKSP_PREVIOUS_VM_VERSION', TP2.1)m4_dnl
+m4_define([[[_WORKSP_CURRENT_VM_VERSION', TP2.2)m4_dnl
+m4_define([[[_WORKSP_CURRENT_VM_VERSION_LONG', Technology Preview 2.0)m4_dnl
+m4_define([[[_WORKSP_CURRENT_DA_VERSION', TP5)m4_dnl
+m4_define([[[_BREADCRUMB',<a href="/index.html">Home</a> ->)m4_dnl
+m4_define([[[_BREADCRUMB_VM',<a href="/index.html">Home</a>)m4_dnl
+m4_define([[[_BREADCRUMB_DA',<a href="/index.html">Home</a> -> <a href="/da/index.html">Dynamic Accounts</a>)m4_dnl
+m4_define([[[_BREADCRUMB_SEP',->)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1/index.html">TP1</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_1',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.1/index.html">TP1.1</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_1_1',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.1.1/index.html">TP1.1.1</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_2',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.2/index.html">TP1.2</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_2_1',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.2.1/index.html">TP1.2.1</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_2_2',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.2.2/index.html">TP1.2.2</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_2_3',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.2.3/index.html">TP1.2.3</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_3',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.3/index.html">TP1.3</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_3_1',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.3.1/index.html">TP1.3.1</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_3_2',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.3.2/index.html">TP1.3.2</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP1_3_3',<a href="/index.html">Home</a> -> <a href="/vm/index.html">VWS</a> -> <a href="/vm/TP1.3.3.1/index.html">TP1.3.3.1</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP2_0',<a href="/index.html">Home</a> -> <a href="/vm/TP2.0/index.html">Nimbus TP2.0</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP2_1',<a href="/index.html">Home</a> -> <a href="/vm/TP2.1/index.html">Nimbus TP2.1</a> <br><br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1>)m4_dnl
+m4_define([[[_BREADCRUMB_VM_TP2_2',<a href="/index.html">Home</a> -> <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a>)m4_dnl
+m4_define([[[_BREADCRUMB_DA_TP4_1',<a href="/index.html">Home</a> -> <a href="/da/index.html">Dynamic Accounts</a> -> <a href="/da/TP4.1/index.html">TP4.1</a>)m4_dnl
+m4_define([[[_BREADCRUMB_DA_TP5',<a href="/index.html">Home</a> -> <a href="/da/index.html">Dynamic Accounts</a> -> <a href="/da/TP5/index.html">TP5</a>)m4_dnl
+m4_dnl
+m4_define([[[_NIMBUS_TP2_1_DEPRECATED',<br><h1><font color="red"><b>DEPRECATED</b>: The most recent version is <a href="/vm/TP2.2/index.html">Nimbus TP2.2</a></font></h1><br>)m4_dnl
+m4_define([[[_NIMBUS_TP2_2_DEPRECATED',<!-- TP2.2 is the current version -->)m4_dnl
+m4_dnl
+m4_define([[[_WORKSP_DA_DEPRECATED',
+<div style="border:2px solid #000000;">
+&nbsp;&nbsp;
+<b><font color="#FF0000">DEPRECATED</font></b>:
+See the <a href="/da">Dynamic Accounts page</a> for
+the most recent version.</div>
+)m4_dnl
+m4_define([[[_WORKSP_HEADER',
+[[[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<title>$1 - Nimbus Open Source IaaS Cloud Computing Software</title>
+<meta name="keywords" content="cloud computing, open source EC2, grid computing, clouds, cloud security, grid security, cloud computing research, grid computing research, Amazon EC2, EC2, cloud computing scheduling, grid computing scheduling, virtualization, Globus, Nimbus, workspace service, virtual workspaces, Kate Keahey, Tim Freeman, xen, vmware, distributed computing, grid research, computer science research, globus toolkit, web services, open science grid, osg, teragrid, egee" />
+<meta name="description" content="Nimbus is an open source cloud computing toolkit that allows you to turn your cluster into an Infrastructure-as-a-Service (IaaS) cloud." />
+<link rel="stylesheet" type="text/css" href="/css/style.css">
+<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://workspace.globus.org/rss.xml" />
+</head>
+<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"
+ text="#333366" link="#333366" alink="#333366" vlink="#333366"
+ bgcolor="#ffffff">
+<a name="top"></a>
+
+<!-- Master Table -->
+<table border=0 cellpadding=0 cellspacing=0 align=left width=95%>
+<tr>
+
+<td colspan=2>
+ <table border="0" cellpadding=0 cellspacing=0 align=left width="100%">
+ <tr>
+ <td colspan="5">
+ <img src="/img/a0c.gif"
+ border="0"
+ width="505"
+ height="32"
+ alt=""/>
+ </td>
+ </tr>
+
+ <tr>
+ <td width="134">
+ <a href="http://www.globus.org">
+ <img src="/img/b0c.gif"
+ border="0"
+ width="134"
+ height="38"
+ alt=""/></a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <img src="/img/c0c.gif"
+ width="100"
+ height="32"
+ alt=""/>
+ </td>
+ </tr>
+ </table>
+</td></tr>
+<tr>
+
+<td>
+
+<table>
+<tr><td>&nbsp;</td><td><h1>Nimbus</h1></td></tr>
+<!-- left margin.. -->
+<tr>
+<td style="white-space: nowrap" valign="top" rowspan="2">
+<br />
+&nbsp;&nbsp;<a href="/index.html" >Home</a><br />
+&nbsp;&nbsp;<a href="/vm/faq.html" >FAQ</a><br />
+&nbsp;&nbsp;<a href="/vm/features.html" >Features</a><br />
+&nbsp;&nbsp;<a href="/vm/TP2.2/index.html" >Documentation</a>&nbsp;&nbsp;&nbsp;&nbsp;<br />
+&nbsp;&nbsp;<a href="/downloads/index.html" >Downloads</a><br />
+&nbsp;&nbsp;<a href="/clouds/index.html" >Clouds</a><br />
+&nbsp;&nbsp;<a href="/papers/index.html" >Publications</a><br />
+&nbsp;&nbsp;<a href="/talks/index.html" >Talks</a><br />
+&nbsp;&nbsp;<a href="/vm/marketplace.html" >Marketplace</a><br />
+&nbsp;&nbsp;<a href="/people.html" >Contributors</a><br />
+&nbsp;&nbsp;<a href="/roadmap.html" >Roadmap</a><br />
+&nbsp;&nbsp;<a href="/funding.html" >Funding</a><br />
+&nbsp;&nbsp;<a href="/contact.html" >Contact</a><br />
+&nbsp;&nbsp;<a href="/news.html" >News</a> <a href="/rss.xml" ><img src="/img/tinyrss.gif" alt="rss feed" /></a><br />
+
+</td>
+
+<td><!-- the page -->
+<!------------------------------------------------------------>
+<!------------------------------------------------------------>
+
+')m4_dnl
+m4_define([[[_NAMELINK',
+<span class="namelink"><a href="#$1">(#)</a></span>
+)m4_dnl
+m4_define([[[_PATH',
+<span class="pathname">"$1"</span>
+)m4_dnl
+m4_define([[[_MINI_SEP',
+<div class="minisep"><hr /></div>
+)m4_dnl
+m4_define([[[_EXAMPLE_CMD_BEGIN',
+<div class="screen">
+nimbus $<b>
+)m4_dnl
+m4_define([[[_EXAMPLE_CMD_END',
+</b></div>
+)m4_dnl
+m4_define([[[_EXAMPLE_ROOTCMD_BEGIN',
+<div class="screen">
+root #<b>
+)m4_dnl
+m4_define([[[_EXAMPLE_GENERICCMD_BEGIN',
+<div class="screen">
+$<b>
+)m4_dnl
+m4_define([[[_WORKSP_FOOTER',
+<br>
+<br>
+<br>
+<br>
+<!------------------------------------------------------------>
+<!------------------------------------------------------------>
+</td><!-- end the page -->
+</tr>
+</table>
+</td>
+
+<!-- right margin... -->
+<td width="55" />
+
+</tr>
+
+</table> <!-- end master table -->
+
+
+<!-- Google Analytics tracker -->
+
+<!-- See http://www.globus.org/privacy/online-services.php -->
+
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-100951-4");
+pageTracker._initData();
+pageTracker._trackPageview();
+</script>
+
+</body>
+</html>
+
+)m4_dnl
+m4_define([[[_WORKSP_VM_DOCBOOK_HTML_HEADER',
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+)m4_dnl
+m4_define([[[_WORKSP_VM_DOCBOOK_HTML_FOOTER',
+<!-- Google Analytics tracker -->
+
+<!-- See http://www.globus.org/privacy/online-services.php -->
+
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-100951-4");
+pageTracker._initData();
+pageTracker._trackPageview();
+</script>
+
+)m4_dnl
+m4_define([[[_WORKSP_VM_DOCBOOK_BODY_HEADER',
+
+<div style="text-align: left">
+<table class="nomargintable" border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <td width="134">
+ <a href="http://workspace.globus.org">
+ <img src="/img/2b0c.gif"
+ border="0"
+ width="134"
+ height="38"
+ alt=""/></a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <img src="/img/2c0c.gif"
+ width="100"
+ height="32"
+ alt=""/>
+ </td>
+ </tr>
+</table>
+</div>
+<br>
+<div id="content">
+<a href="/index.html">Home</a> ->
+<a href="/vm/index.html">Nimbus</a> ->
+<a href="/vm/$1/index.html">$1</a> ->
+<a href="/vm/$1/doc/admin-index.html">Admin Guide</a> / <a href="/vm/$1/doc/user-index.html">User Guide</a>
+
+</div>
+<div id="outer_wrapper">
+ <div id="wrapper">
+ <div id="container">
+ <div id="content">
+)m4_dnl
+m4_define([[[_WORKSP_VM_DOCBOOK_STYLESHEET',
+<link href="/css/globus.css" rel="stylesheet" type="text/css" />
+)m4_dnl
+m4_define([[[_WORKSP_VM_DOCBOOK_FOOTER',
+ <!-- content ENDS here -->
+ <p>&nbsp;</p>
+ </div>
+ <!--ending div of container-->
+ </div>
+ <div class="clearing">&nbsp;</div>
+ <!--ending div of wrapper-->
+ </div>
+<div id="footer">
+
+ <hr class="first"/>
+
+ <p>For more information see the
+ <a href="http://workspace.globus.org">Nimbus</a>
+ home page</p>
+
+ <p>Globus Project and Globus Toolkit are trademarks<br />
+ held by the University of Chicago</p>
+ <br><br>
+
+</div>
+)m4_dnl
+m4_define([[[_WORKSP_DA_REDIR',
+<script type="text/javascript" src="/redirect.js">
+</script>
+<script type="text/javascript">
+ var redirect = new Redirect( "http://dev.globus.org/wiki/Incubator/Dynamic_Accounts/Documentation" );
+ redirect.setDelay( 3 );
+ redirect.write();
+ redirect.go();
+</script>
+)m4_dnl
+m4_define([[[_WORKSP_DA_HEADER',
+<script type="text/javascript" src="/redirect.js">
+</script>
+<script type="text/javascript">
+ var redirect = new Redirect( "http://dev.globus.org/wiki/Incubator/Dynamic_Accounts/Documentation" );
+ redirect.setDelay( 3 );
+ redirect.write();
+ redirect.go();
+</script>
+
+<ul>
+ <li>
+ <a href="/index.html">Home</a>
+ </li>
+ <li>
+ <img width=20
+ height=10
+ src="/img/right_arrow.gif"
+ alt="">
+ <a href="/da/index.html">Dynamics Accounts</a>
+)m4_dnl
+m4_define([[[_WORKSP_DA_HEADER2',
+ </li>
+</ul>
+)m4_dnl
+m4_define([[[_WORKSP_ARROW',
+ <img width=20
+ height=10
+ src="/img/right_arrow.gif"
+ alt="">
+)m4_dnl
+m4_define([[[_NIMBUS_HEADER',
+[[[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
+<title>$1 - Nimbus Open Source IaaS Cloud Computing Software</title>
+<meta name="keywords" content="cloud computing, open source EC2, grid computing, clouds, cloud security, grid security, cloud computing research, grid computing research, Amazon EC2, EC2, cloud computing scheduling, grid computing scheduling, virtualization, Globus, Nimbus, workspace service, virtual workspaces, Kate Keahey, Tim Freeman, xen, vmware, distributed computing, grid research, computer science research, globus toolkit, web services, open science grid, osg, teragrid, egee" />
+<meta name="description" content="Nimbus is an open source cloud computing toolkit that allows you to turn your cluster into an Infrastructure-as-a-Service (IaaS) cloud." />
+<link rel="stylesheet" type="text/css" href="/css/reset-fonts-grids.css">
+<link rel="stylesheet" type="text/css" href="/css/base.css">
+<link rel="stylesheet" type="text/css" href="/css/nimbus.css">
+<link rel="alternate"
+ type="application/rss+xml"
+ title="RSS 2.0" href="http://workspace.globus.org/rss.xml" />
+
+')m4_dnl
+m4_define([[[_NIMBUS_HEADER2',
+
+</head>
+
+<body>
+
+<div id="doc3" class="yui-t7">
+
+ <div id="nui-masthead"> <!-- {{{ *** MASTHEAD BEGIN -->
+
+ <div class="floatleft">
+ <h1><a id="mainnimb" href="/">Nimbus</a></h1>
+ </div>
+
+ <div class="floatright">
+ <img src="/img/globusalliance-nourl.gif"
+ border="0"
+ width="170"
+ height="76"
+ alt="globus alliance"/>
+ </div>
+
+ </div> <!-- MASTHEAD END }}} -->
+
+ <div class="nui-navbar"> <!-- {{{ *** NAVBAR BEGIN -->
+
+ <div id="underlinemenu">
+ <ul>
+
+ <li>
+ <a href="/" title="Home" class="$1">Home</a>
+ </li>
+
+ <li>
+ <a href="/news.html" title="News" class="$2">News</a>
+ </li>
+
+ <li>
+ <a href="/vm/TP2.2/index.html" title="Documentation" class="$3">Documentation</a>
+ </li>
+
+ <li>
+ <a href="/contact.html" title="Community Resources" class="$4">Community Resources</a>
+ </li>
+
+ <li>
+ <a href="/downloads/index.html" title="Download" class="$5">Download</a>
+ </li>
+
+ <li>
+ <a href="/papers/index.html" title="Publications" class="$6">Publications</a>
+ </li>
+
+ <li>
+ <a href="/clouds/" title="Science Clouds" class="$7">Science Clouds</a>
+ </li>
+ </ul>
+ </div>
+
+
+
+ </div> <!-- NAVBAR END }}} -->
+
+ <div id="bd">
+ <div id="yui-main">
+ <div class="yui-b">
+ <div class="yui-gb">
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT_COLUMN',
+
+ <div class="yui-u first"> <!-- {{{ *** LEFT COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT_COLUMN_END',
+
+ </div> <!-- LEFT COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_COLUMN',
+
+ <div class="yui-u2 first"> <!-- {{{ *** LEFT2 COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_COLUMN_END',
+
+ </div> <!-- LEFT2 COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER_COLUMN',
+
+ <div class="nui-center"> <!-- {{{ *** CENTER COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER_COLUMN_END',
+
+ </div> <!-- CENTER COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER2_COLUMN',
+
+ <div class="nui-center2"> <!-- {{{ *** CENTER2 COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER2_COLUMN_END',
+
+ </div> <!-- CENTER2 COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER3_COLUMN',
+
+ <div class="nui-center3"> <!-- {{{ *** CENTER3 COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER3_COLUMN_END',
+
+ </div> <!-- CENTER3 COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER4_COLUMN',
+
+ <div class="nui-center4"> <!-- {{{ *** CENTER4 COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER4_COLUMN_END',
+
+ </div> <!-- CENTER4 COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER5_COLUMN',
+
+ <div class="nui-center5"> <!-- {{{ *** CENTER5 COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_CENTER5_COLUMN_END',
+
+ </div> <!-- CENTER5 COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_RIGHT_COLUMN',
+
+ <div class="yui-u"> <!-- {{{ *** RIGHT COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_RIGHT_COLUMN_END',
+
+ </div> <!-- RIGHT COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT4_COLUMN',
+
+ <div class="yui-u-l4"> <!-- {{{ *** LEFT4 COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT4_COLUMN_END',
+
+ </div> <!-- LEFT4 COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_RIGHT5_COLUMN',
+
+ <div class="yui-u-r5"> <!-- {{{ *** RIGHT5 COLUMN BEGIN -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_RIGHT5_COLUMN_END',
+
+ </div> <!-- RIGHT5 COLUMN END }}} -->
+
+)m4_dnl
+m4_define([[[_NIMBUS_FOOTER1',
+
+ </div> <!-- end yui-gb -->
+ </div> <!-- end yui-b -->
+ </div> <!-- end yui-main -->
+)m4_dnl
+m4_define([[[_NIMBUS_FOOTER2',
+
+ <div class="yui-b"> <!-- {{{ *** PRE-FOOTER BEGIN -->
+
+
+
+ </div> <!-- PRE-FOOTER END }}} -->
+)m4_dnl
+m4_define([[[_NIMBUS_FOOTER3',
+
+ </div>
+
+ <div id="ft"> <!-- {{{ *** FOOTER BEGIN -->
+
+ <br />
+ <br />
+ <br />
+ <br />
+ <br />
+ <br />
+ <br />
+
+ <!-- Google Analytics tracker -->
+
+ <!-- See http://www.globus.org/privacy/online-services.php -->
+
+ <script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+ </script>
+ <script type="text/javascript">
+ var pageTracker = _gat._getTracker("UA-100951-4");
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ </script>
+
+ </div> <!-- FOOTER END }}} -->
+
+</div>
+</body>
+</html>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_ABOUT_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="/vm/_WORKSP_CURRENT_VM_VERSION/summary.html" title="About Nimbus" class="$1">About Nimbus</a>
+ </li>
+ <li>
+ <a href="/vm/faq.html" title="FAQ" class="$2">FAQ</a>
+ </li>
+ <li>
+ <a href="/vm/features.html" title="Features" class="$3">Features</a>
+ </li>
+ <li>
+ <a href="/roadmap.html" title="Roadmap" class="$4">Roadmap</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_CONTRIB_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="/people.html" title="Contributors" class="$1">Contributors</a>
+ </li>
+ <li>
+ <a href="/funding.html" title="Funding" class="$2">Funding</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_DOWNLOAD_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="/downloads/index.html" title="Current" class="$1">Current</a>
+ </li>
+ <li>
+ <a href="/downloads/license.html" title="License" class="$2">License</a>
+ </li>
+ <li>
+ <a href="/downloads/archive.html" title="Archive" class="$3">Archive</a>
+ </li>
+ <li>
+ <a href="/vm/changelog.html" title="Changelog" class="$4">Changelog</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_PUBS_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="index.html#papers" title="Papers">Papers</a>
+ </li>
+ <li>
+ <a href="index.html#talks" title="Talks">Talks</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_DEV1_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="index.html" title="Dev Overview" class="$1">Dev Overview</a>
+ </li>
+ <li>
+ <a href="../plugins/index.html" title="Extensibility" class="$2">Extensibility</a>
+ </li>
+ <li>
+ <a href="apis.html" title="APIs" class="$3">APIs</a>
+ </li>
+ <li>
+ <a href="sccs.html" title="Source Control" class="$4">Source Control</a>
+ </li>
+ <li>
+ <a href="meta.html" title="dev.globus" class="$5">dev.globus</a>
+ </li>
+ <li>
+ <a href="docs.html" title="Docs" class="$6">Docs</a>
+ </li>
+ <li>
+ <a href="releases.html" title="Releases" class="$7">Releases</a>
+ </li>
+ <li>
+ <a href="reference.html" title="Reference" class="$8">Reference</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_DEV2_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="../dev/index.html" title="Dev Overview" class="$1">Dev Overview</a>
+ </li>
+ <li>
+ <a href="index.html" title="Extensibility" class="$2">Extensibility</a>
+ </li>
+ <li>
+ <a href="../dev/apis.html" title="APIs" class="$3">APIs</a>
+ </li>
+ <li>
+ <a href="../dev/sccs.html" title="Source Control" class="$4">Source Control</a>
+ </li>
+ <li>
+ <a href="../dev/meta.html" title="dev.globus" class="$5">dev.globus</a>
+ </li>
+ <li>
+ <a href="../dev/docs.html" title="Docs" class="$6">Docs</a>
+ </li>
+ <li>
+ <a href="../dev/releases.html" title="Releases" class="$7">Releases</a>
+ </li>
+ <li>
+ <a href="../dev/reference.html" title="Reference" class="$8">Reference</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_ADMIN_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="index.html" title="Admin Overview" class="$1">Admin Overview</a>
+ </li>
+ <li>
+ <a href="quickstart.html" title="Quickstart" class="$2">Quickstart</a>
+ </li>
+ <li>
+ <a href="reference.html" title="Reference" class="$3">Reference</a>
+ </li>
+ <li>
+ <a href="troubleshooting.html" title="Troubleshooting" class="$4">Troubleshooting</a>
+ </li>
+ <li>
+ <a href="upgrading.html" title="Upgrading" class="$5">Upgrading</a>
+ </li>
+ <li>
+ <a href="../doc/cloud.html" title="Cloud Guide" class="n">Cloud Guide</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_ADMIN2_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="../admin/index.html" title="Admin Overview">Admin Overview</a>
+ </li>
+ <li>
+ <a href="../admin/quickstart.html" title="Quickstart">Quickstart</a>
+ </li>
+ <li>
+ <a href="../admin/reference.html" title="Reference">Reference</a>
+ </li>
+ <li>
+ <a href="../admin/troubleshooting.html" title="Troubleshooting">Troubleshooting</a>
+ </li>
+ <li>
+ <a href="../admin/upgrading.html" title="Upgrading">Upgrading</a>
+ </li>
+ <li>
+ <a href="cloud.html" title="Cloud Guide" class="y">Cloud Guide</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_CLOUDS1_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="index.html" title="Clouds Overview" class="$1">Clouds Overview</a>
+ </li>
+ <li>
+ <a href="../vm/marketplace.html" title="Marketplace" class="$2">Marketplace</a>
+ </li>
+ <li>
+ <a href="cloudquickstart.html" title="Client quickstart" class="$3">Client quickstart</a>
+ </li>
+ <li>
+ <a href="clusters.html" title="One-click clusters" class="$4">One-click clusters</a>
+ </li>
+ <li>
+ <a href="clusters2.html" title="Cluster guide" class="$5">Cluster guide</a>
+ </li>
+ <li>
+ <a href="multicloud.html" title="Multi-cloud clusters" class="$6">Multi-cloud clusters</a>
+ </li>
+ <li>
+ <a href="appendix.html" title="Appendix" class="$7">Appendix</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_CLOUDS2_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="../clouds/index.html" title="Clouds Overview">Clouds Overview</a>
+ </li>
+ <li>
+ <a href="marketplace.html" title="Marketplace" class="y">Marketplace</a>
+ </li>
+ <li>
+ <a href="../clouds/cloudquickstart.html" title="Client quickstart">Client quickstart</a>
+ </li>
+ <li>
+ <a href="../clouds/clusters.html" title="One-click clusters">One-click clusters</a>
+ </li>
+ <li>
+ <a href="../clouds/clusters2.html" title="Cluster guide">Cluster guide</a>
+ </li>
+ <li>
+ <a href="../clouds/multicloud.html" title="Multi-cloud clusters">Multi-cloud clusters</a>
+ </li>
+ <li>
+ <a href="../clouds/appendix.html" title="Appendix">Appendix</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_INTERFACES_WARNING',
+
+<p>
+ <img src="/img/warning.gif" alt="[warning]" />
+ <i>Note</i>: this is only one set of remote interfaces. It is compatible
+ with WSRF technology. Nimbus supports multiple remote protocols (even
+ simultaneously) like the implementation of the
+ <a href="http://workspace.globus.org/vm/faq.html#ec2-frontend">EC2 protocol</a>.
+</p>
+<br />
+<br />
+
+)m4_dnl
+m4_define([[[_NIMBUS_LEFT2_INTERFACES_SIDEBAR',
+
+<div id="sidebarmenu">
+ <ul>
+ <li>
+ <a href="index.html" title="Nimbus WSRF Overview" class="$1">Nimbus WSRF Overview</a>
+ </li>
+ <li>
+ <a href="metadata.html" title="Metadata" class="$2">Metadata</a>
+ </li>
+ <li>
+ <a href="deployment.html" title="Deployment Request" class="$3">Deployment Request</a>
+ </li>
+ <li>
+ <a href="factory.html" title="Factory" class="$4">Factory</a>
+ </li>
+ <li>
+ <a href="service.html" title="Service" class="$5">Service</a>
+ </li>
+ <li>
+ <a href="groupservice.html" title="Group Service" class="$6">Group Service</a>
+ </li>
+ <li>
+ <a href="statusservice.html" title="Status Service" class="$7">Status Service</a>
+ </li>
+ </ul>
+</div>
+
+)m4_dnl
+m4_define([[[_NIMBUS_QUOTE_BEGIN',
+<div class="quotewrap">
+)m4_dnl
+m4_define([[[_NIMBUS_QUOTE_END',
+</div>
+<div class="quoteseparator">
+ <img src="/img/line.gif" alt="[separator line]" />
+</div>
+)m4_dnl
+m4_define([[[_NIMBUS_QUOTE_FINALEND',
+</div>
+)m4_dnl
View
43 docs/scripts/build-and-serve-locally.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+THISDIR_REL="`dirname $0`"
+THISDIR=`cd $THISDIR_REL; pwd`
+
+MACRO_PROGRAM="$THISDIR/process_m4.py"
+MACRO_EXE="python"
+
+SERVE_PROGRAM="$THISDIR/local-serve.py"
+SERVE_EXE="python"
+
+
+if [ ! -f "$MACRO_PROGRAM" ]; then
+ echo "Cannot find macro processing script, exiting"
+ exit 1
+fi
+
+if [ ! -f "$SERVE_PROGRAM" ]; then
+ echo "Cannot find web serving script, exiting"
+ exit 1
+fi
+
+ echo ""
+ echo "====================="
+ echo "| Building website: |"
+ echo "====================="
+ echo ""
+
+(cd $THISDIR ; $MACRO_EXE $MACRO_PROGRAM)
+
+echo ""
+OUTPUT_DIR=$THISDIR/../m4-processed
+OUTPUT_DIR2=`cd $OUTPUT_DIR; pwd`
+echo "Website built @ $OUTPUT_DIR2"
+echo ""
+echo ""
+echo "===================="
+echo "| Serving website: |"
+echo "===================="
+echo ""
+
+(cd $OUTPUT_DIR2 ; $SERVE_EXE $SERVE_PROGRAM)
+
View
127 docs/scripts/local-serve.py
@@ -0,0 +1,127 @@
+#!/usr/bin/python
+
+import BaseHTTPServer
+import ConfigParser
+import optparse
+import os
+import SimpleHTTPServer
+import sys
+
+# ############################################################
+# Exceptions
+# #########################################################{{{
+
+class IncompatibleEnvironment(Exception):
+
+ """Exception for when something has determined a problem with the
+ deployment environment."""
+
+ def __init__(self, msg):
+ self.msg = msg
+ def __str__(self):
+ return self.msg
+
+# }}} END: Exceptions
+
+# ############################################################
+# Run
+# #########################################################{{{
+
+def run(port, address):
+
+ print "Base directory: %s" % os.getcwd()
+
+ handler_class = SimpleHTTPServer.SimpleHTTPRequestHandler
+ server_class = BaseHTTPServer.HTTPServer
+
+ server_address = (address, port)
+ handler_class.protocol_version = "HTTP/1.0"
+ httpd = server_class(server_address, handler_class)
+
+ sa = httpd.socket.getsockname()
+ #print "Serving HTTP on", sa[0], "port", sa[1], "..."
+ print "\nURL: http://%s:%d" % (address, sa[1])
+ httpd.serve_forever()
+
+# }}} END: Run
+
+# ############################################################
+# Commandline arguments
+# #########################################################{{{
+
+class ARGS:
+
+ """Class for command-line argument constants"""
+
+ PORT_LONG="--port"
+ PORT="-p"
+ PORT_HELP="Override port number (default is 8888)"
+
+
+ ADDR_LONG="--address"
+ ADDR="-a"
+ ADDR_HELP="Address to bind to (default is 'localhost')"
+
+def parsersetup():
+ """Return configured command-line parser."""
+
+ ver="Local build and serve docs for: http://workspace.globus.org"
+ usage="see help (-h)."
+ parser = optparse.OptionParser(version=ver, usage=usage)
+
+ # ----
+
+ group = optparse.OptionGroup(parser, "Options", "-------------")
+
+ group.add_option(ARGS.PORT, ARGS.PORT_LONG,
+ dest="port", metavar="PORT",
+ help=ARGS.PORT_HELP)
+
+ group.add_option(ARGS.ADDR, ARGS.ADDR_LONG,
+ dest="address", metavar="HOST/IP",
+ help=ARGS.ADDR_HELP)
+
+ parser.add_option_group(group)
+
+ # ----
+
+ return parser
+
+# }}} END: Commandline arguments
+
+# ############################################################
+# Standalone entry and exit
+# #########################################################{{{
+
+def main(argv=None):
+
+ if os.name != 'posix':
+ print >>sys.stderr, "Only runs on POSIX systems."
+ return 3
+
+ parser = parsersetup()
+
+ if argv:
+ (opts, args) = parser.parse_args(argv[1:])
+ else:
+ (opts, args) = parser.parse_args()
+
+ port = 8888
+ if opts.port:
+ port = int(opts.port)
+
+ address = "localhost"
+ if opts.address:
+ address = opts.address
+
+ run(port, address)
+
+if __name__ == "__main__":
+ try:
+ sys.exit(main())
+ except KeyboardInterrupt:
+ print "\n\nExiting..."
+
+# }}} END: Standalone entry and exit
+
+
View
314 docs/scripts/process_m4.py
@@ -0,0 +1,314 @@
+#!/usr/bin/python
+
+import os, sys, re, shutil, string, getopt
+
+M4PATH = "/usr/bin/m4"
+CPPATH = "/bin/cp"
+
+# These three can be overriden by commandline arguments
+# Relative paths are taken from cwd of program caller, not program
+DEFAULT_INPUTPATH = "../src"
+DEFAULT_TEMPPATH = "../m4-tmp"
+DEFAULT_OUTPUTPATH = "../html"
+DEFAULT_STDLIBPATH = "../m4/worksp.lib.m4"
+
+verbose_mode = False
+changed_header_count = 0
+inserted_header_count = 0
+processed_count = 0
+nonprocessed_count = 0
+
+# with os.path.walk
+def print_filenames(arg, dirname, names):
+ for name in names:
+ if name[-5:] == ".html":
+ print name
+
+# with os.path.walk
+def delete_CVS_dir(arg, dirname, names):
+ if dirname[-3:] == "CVS":
+ shutil.rmtree(dirname)
+
+# with os.path.walk
+def add_m4_include(arg, dirname, names):
+
+ global changed_header_count
+ global inserted_header_count
+
+ #print "dir: " + dirname
+ if dirname[-3:] == "CVS":
+ return
+
+ if not arg:
+ raise Exception("m4 lib path not configured, see example in main()")
+
+ regex = re.compile("m4_include")
+ for name in names:
+ if name[-5:] != ".html":
+ continue
+
+ path = os.path.join(dirname, name)
+ try:
+ f = open(path)
+ oldlines = f.readlines()
+ f.close()
+ if len(oldlines) < 1:
+ print "found empty file '%s', not processing it" % path
+ else:
+ mobj = regex.search(oldlines[0])
+ newlines = None
+ # if an m4 include statement is present, change it if necc.
+ if mobj:
+ shouldbe = "m4_include(%s)\n" % arg
+ newlines = oldlines
+ if newlines[0] != shouldbe:
+ newlines[0] = shouldbe
+ changed_header_count += 1
+ if verbose_mode:
+ print "Changing m4 header: %s" % path
+ else:
+ newlines = None
+
+ # if not present, insert it
+ else:
+ newlines = ["m4_include(%s)\n" % arg]
+ newlines.extend(oldlines)
+ if verbose_mode:
+ print "Inserting m4 header: %s" % path
+ inserted_header_count += 1
+
+ if newlines:
+ f = open(path, 'w')
+ for line in newlines:
+ f.write(line)
+ finally:
+ f.close()
+
+# with os.path.walk
+def process_m4(args, dirname, names):
+ """So much nicer than a Makefile"""
+
+ global processed_count
+ global nonprocessed_count
+
+ if len(args) < 2:
+ raise Exception("in or out path not configured, see example in main()")
+
+ if not args[0] or not args[1]:
+ raise Exception("in or out path not configured, see example in main()")
+
+ inputdir = args[0]
+ outputdir = args[1]
+
+ #print "dir: " + dirname
+ if dirname[-3:] == "CVS":
+ return
+
+ regex = re.compile("(.*)(%s)(.*)" % inputdir)
+ mobj = regex.search(dirname)
+ if mobj:
+ outputdir = outputdir + mobj.group(3)
+ else:
+ raise Exception("no mobj?")
+
+ if not os.path.exists(outputdir):
+ os.mkdir(outputdir)
+ if verbose_mode:
+ print "Created directory %s" % outputdir
+
+ for name in names:
+ path = os.path.join(dirname, name)
+ outpath = os.path.join(outputdir, name)
+ if os.path.isdir(path):
+ continue
+
+ if name[-5:] != ".html":
+ cmd = "%s %s %s" % (CPPATH, path, outpath)
+ ret = os.system(cmd)
+ if ret:
+ print "cmd failed: %s" % cmd
+ else:
+ nonprocessed_count += 1
+ if verbose_mode:
+ print "Added %s" % outpath
+ else:
+ cmd = "%s -P <%s >%s" % (M4PATH, path, outpath)
+ ret = os.system(cmd)
+ if ret:
+ print "cmd failed: %s" % cmd
+ else:
+ processed_count += 1
+ if verbose_mode:
+ print "Processed %s" % outpath
+
+
+class UsageError(Exception):
+ def __init__(self, msg):
+ self.msg = msg
+ def __str__(self):
+ return self.msg
+
+def absolute(path):
+ x = string.strip(path)
+ return os.path.realpath(x)
+
+def help():
+ print "Usage: %s [options]\n" % sys.argv[0]
+ print " -i,--inputdir $path Overrides doc source directory"
+ print " Default: %s" % absolute(DEFAULT_INPUTPATH)
+ print "\n -o,--outputdir $path Overrides doc output directory"
+ print " Default: %s" % absolute(DEFAULT_OUTPUTPATH)
+ print "\n -t,--tempdir $path Overrides doc temp directory"
+ print " Default: %s" % absolute(DEFAULT_TEMPPATH)
+ print "\n -l,--stdlibpath $path Overrides m4 library path"
+ print " Default: %s" % absolute(DEFAULT_STDLIBPATH)
+ print "\n -v,--verbose Verbose mode"
+
+def main(argv=None):
+ if argv is None:
+ argv = sys.argv
+
+ inputdir = None
+ outputdir = None
+ stdlibpath = None
+ tempdir = None
+
+ global verbose_mode
+
+ try:
+ ## Collect ##
+ #if len(argv) < 2:
+ # raise UsageError("arguments?")
+ try:
+ opts, args = getopt.getopt(argv[1:],
+ "hi:o:l:t:v",
+ ["help", "inputdir=", "outputdir=",
+ "stdlibpath=", "tempdir=", "verbose"])
+ except getopt.error, msg:
+ raise UsageError(msg)
+
+ ## Assign ##
+ for o,a in opts:
+ if o in ("-h", "--help"):
+ help()
+ return 0
+ elif o in ("-i", "--inputdir"):
+ inputdir = a
+ elif o in ("-o", "--outputdir"):
+ outputdir = a
+ elif o in ("-l", "--stdlibpath"):
+ stdlibpath = a
+ elif o in ("-t", "--tempdir"):
+ tempdir = a
+ elif o in ("-v", "--verbose"):
+ verbose_mode = True
+
+ if inputdir:
+ inputdir = absolute(inputdir)
+ else:
+ inputdir = absolute(DEFAULT_INPUTPATH)
+
+ if outputdir:
+ outputdir = absolute(outputdir)
+ else:
+ outputdir = absolute(DEFAULT_OUTPUTPATH)
+
+ if stdlibpath:
+ stdlibpath = absolute(stdlibpath)
+ else:
+ stdlibpath = absolute(DEFAULT_STDLIBPATH)
+
+ for i in (inputdir, outputdir, stdlibpath):
+ if not i:
+ raise Exception("don't erase defaults")
+
+ if not os.path.exists(i):
+ raise Exception("'%s' does not exist" % i)
+ x = os.access(i, os.R_OK)
+ if not x:
+ raise Exception("'%s' exists on the filesystem but is not readable" % i)
+
+ x = os.access(inputdir, os.X_OK | os.R_OK)
+ if not x:
+ raise Exception("'%s' exists on the filesystem but is not rx-able" % inputdir)
+
+ x = os.access(outputdir, os.W_OK | os.X_OK | os.R_OK)
+ if not x:
+ raise Exception("'%s' exists on the filesystem but is not rwx-able" % outputdir)
+
+ if tempdir:
+ tempdir = absolute(tempdir)
+ else:
+ tempdir = absolute(DEFAULT_TEMPPATH)
+
+ if os.path.exists(tempdir):
+ raise Exception("'%s' exists already?" % tempdir)
+
+ print "Input directory: %s" % inputdir
+ print "Temp directory: %s" % tempdir
+ print "Output directory: %s" % outputdir
+ print "m4 macro library: %s" % stdlibpath
+
+ for i in (M4PATH, CPPATH):
+ if not os.path.exists(i):
+ raise Exception("'%s' does not exist" % i)
+
+ x = os.access(i, os.X_OK)
+ if not x:
+ raise Exception("'%s' exists on the filesystem but is not executable" % i)
+
+ print "\n*** Copying source to temp directory... ",
+ sys.stdout.flush()
+ shutil.copytree(inputdir, tempdir)
+ print "done."
+
+ print "*** Removing CVS dirs from temp directory... ",
+ sys.stdout.flush()
+ os.path.walk(tempdir, delete_CVS_dir, None)
+ print "done."
+
+ # must be run from scripts subdir for now
+ # cvs.globus.org has Python version < 2.3 which is when
+ # the "os.walk" function was introduced, so instead using
+ # os.path.walk
+
+ if verbose_mode:
+ print "\n\n"
+ print "*** Adding/changing m4 library references"
+ os.path.walk(tempdir, add_m4_include, stdlibpath)
+ if verbose_mode:
+ print "\n\n"
+
+ if verbose_mode:
+ print "\n\n"
+ print "*** Processing m4"
+ os.path.walk(tempdir, process_m4, (tempdir,outputdir))
+ if verbose_mode:
+ print "\n\n"
+
+ shutil.rmtree(tempdir)
+ print "*** Removed temp directory"
+ print "*** Summary:"
+ print " New m4 headers : %d" % inserted_header_count
+ print " Altered m4 headers : %d" % changed_header_count
+ print " m4 processed files : %d" % processed_count
+ print " Other files : %d" % nonprocessed_count
+
+ except UsageError,err:
+ print >>sys.stderr, err.msg
+ print >>sys.stderr, "for help use --help"
+ return 2
+
+ except:
+ exception_type = sys.exc_type
+ try:
+ exceptname = exception_type.__name__
+ except AttributeError:
+ exceptname = exception_type
+ print >>sys.stderr, "ERROR: %s: %s" % (str(exceptname), str(sys.exc_value))
+ return 1
+
+if __name__ == '__main__':
+ sys.exit(main())
+
+
View
147 docs/scripts/push_to_mcs_web.sh
@@ -0,0 +1,147 @@
+#!/bin/bash -x
+
+if [ "$1" = "help" ]; then
+ echo ""
+ echo "IMPORTANT: You must be in the globdev group to run this."
+ echo " If you use the 'withdocbook' flag, you must"
+ echo " be logged in to a node with OK Docbook to HTML"
+ echo " generation libraries."
+ echo ""
+ echo "Example run (with docbook):"
+ echo "NOTE: currently cvs.globus.org is not a good docbook node"
+ echo ""
+ echo " ssh pitcairn.mcs.anl.gov"
+ echo " mkdir somedir"
+ echo " cd somedir"
+ echo " export CVSROOT=:pserver:anonymous@cvs.globus.org:/home/globdev/CVS/globus-packages"
+ echo " cvs co -d docscripts workspace/docs/scripts"
+ echo " bash docscripts/push_to_mcs_web.sh noup withdocbook"
+ echo ""
+ echo "Example run (without docbook):"
+ echo ""
+ echo " ssh somewhere.mcs.anl.gov"
+ echo " mkdir somedir"
+ echo " cd somedir"
+ echo " export CVSROOT=:pserver:anonymous@cvs.globus.org:/home/globdev/CVS/globus-packages"
+ echo " cvs co -d docscripts workspace/docs/scripts"
+ echo " bash docscripts/push_to_mcs_web.sh"
+ echo ""
+ echo "First arg can be update to only cvs up"
+ exit 1
+fi
+
+# Local dir where the CVS checkout will go to, can be relative.
+DIRNAME="workspace_docs"
+
+# final output DIR:
+BASE="/www/workspace.globus.org"
+
+# directories to chown/chmod to globdev group
+ONLINEDIRS="$BASE/da $BASE/vm $BASE/downloads $BASE/css $BASE/img $BASE/papers $BASE/talks"
+
+# Docbook (not used anymore as of TP2.0)
+DOCBOOK="$DIRNAME/docbook/vm/TP1.3.3"
+DOCBOOK_OUT="$DIRNAME/toplevel/vm/TP1.3.3/doc"
+
+export CVSROOT=:pserver:anonymous@cvs.globus.org:/home/globdev/CVS/globus-packages
+
+if [ "$1" != "update" ]; then
+
+if [ -d $DIRNAME ]; then
+ echo "ERROR: directory \"$DIRNAME\" already exists:"
+ echo " Rather than deal with updates/conflicts/cruft, this"
+ echo " script always checks out docs to a new local directory"
+ echo " which must not exist before checkout (unless you give"
+ echo " the update flag)".
+ exit 1
+fi
+
+else
+
+if [ ! -d $DIRNAME ]; then
+ echo "ERROR: directory \"$DIRNAME\" does not exist but you are"
+ echo " using the \"update\" option"
+ exit 1
+fi
+
+fi
+
+# assuming CVS HEAD
+
+if [ "$1" != "update" ]; then
+
+ echo ""
+ echo "===================="
+ echo "| New CVS checkout |"
+ echo "===================="
+ echo ""
+
+ cvs co -P -d $DIRNAME workspace/docs
+
+else
+
+ echo ""
+ echo "=============="
+ echo "| CVS update |"
+ echo "=============="
+ echo ""
+
+ (cd $DIRNAME; cvs -q update)
+
+fi
+
+if [ $? -ne 0 ]; then
+ echo "CVS checkout failed, aborting."
+ exit 1
+fi
+
+if [ ! -d $DIRNAME/scripts ]; then
+ echo "ERROR: directory \"$DIRNAME/scripts\" does not exist after cvs co/update"
+ exit 1
+fi
+
+chmod -R u+w $DIRNAME/toplevel
+chmod -R u+w $DIRNAME/m4-processed
+
+if [ "$2" = "withdocbook" ]; then
+
+ echo ""
+ echo "==========="
+ echo "| Docbook |"
+ echo "==========="
+ echo ""
+
+ /bin/bash $DIRNAME/scripts/export_docbook_html.sh $DOCBOOK $DOCBOOK_OUT
+fi
+
+echo ""
+echo "================="
+echo "| m4 processing |"
+echo "================="
+echo ""
+
+/usr/bin/python $DIRNAME/scripts/process_m4.py -i $DIRNAME/toplevel -o $DIRNAME/m4-processed -l $DIRNAME/m4/worksp.lib.m4 -t /tmp/m4-tmp-workspace-site
+
+find $DIRNAME/m4-processed -type d -name CVS -exec rm -rf {} \;
+
+echo ""
+echo "=================="
+echo "| New or updated |"
+echo "=================="
+echo ""
+
+# use checksums only for comparison
+rsync -crlv $DIRNAME/m4-processed/ $BASE/
+
+echo ""
+echo "====================="
+echo "| Group permissions |"
+echo "====================="
+echo ""
+
+find $BASE -exec chown :workspace {} \;
+find $BASE -type d -exec chmod 775 {} \;
+find $BASE -type f -exec chmod 664 {} \;
+
+echo ""
+echo "Done."
View
BIN docs/src/DHCP-TP1.2.2-draft2.pdf
Binary file not shown.
View
21 docs/src/admin/gt4.0-counter-security-example.xml.txt
@@ -0,0 +1,21 @@
+<securityConfig xmlns="http://www.globus.org">
+ <method name="createCounter">
+ <auth-method>
+ <GSITransport/>
+ </auth-method>
+ </method>
+ <method name="destroy">
+ <auth-method>
+ <GSITransport/>
+ </auth-method>
+ </method>
+ <method name="add">
+ <auth-method>
+ <GSITransport/>
+ </auth-method>
+ </method>
+ <auth-method>
+ <none/>
+ </auth-method>
+ <authz value="gridmap"/>
+</securityConfig>
View
80 docs/src/admin/index.html
@@ -0,0 +1,80 @@
+m4_include(/mcs/m4/worksp.lib.m4)
+_NIMBUS_HEADER(TP2.2 Administrator Guide)
+_NIMBUS_HEADER2(n,n,y,n,n,n,n)
+_NIMBUS_LEFT2_COLUMN
+_NIMBUS_LEFT2_ADMIN_SIDEBAR(y,n,n,n,n)
+_NIMBUS_LEFT2_COLUMN_END
+_NIMBUS_CENTER2_COLUMN
+_NIMBUS_TP2_2_DEPRECATED
+
+<h2>Nimbus TP2.2 Admin Guide</h2>
+
+<p>
+ This guide contains configuration information for system administrators
+ working with Nimbus. It provides references to information on procedures
+ typically performed by system administrators, including installing,
+ configuring, deploying, and testing the installation.
+</p>
+
+<p>
+ It is broken up into these sections:
+</p>
+
+<ul>
+ <!--
+ <li>
+ <p>
+ <a href="overview.html">Overview & Preparations</a> - Get the lay
+ of the land and check on any dependencies.
+ </p>
+ </li>
+ -->
+ <li>
+ <p>
+ <a href="quickstart.html">Quickstart</a> - Dependency checks,
+ then set up a Nimbus installation using the default settings and
+ run some tests. Come back and read more about other options and
+ situations later. This is the recommended path to take.
+ </p>
+ </li>
+ <li>
+ <p>
+ <a href="reference.html">Reference</a> - You may be directed into
+ the reference section to learn about some none-default configuration
+ or scenario.
+ </p>
+ </li>
+ <li>
+ <p>
+ <a href="troubleshooting.html">Troubleshooting</a> - Search this
+ page for specific error messages and troubleshooting strategies.
+ </p>
+ </li>
+ <li>
+ <p>
+ <a href="upgrading.html">Upgrading</a> - See what is needed to
+ upgrade to this version from previous Nimbus versions.
+ </p>
+ </li>
+
+
+</ul>
+
+
+<p>Other reading:</p>
+<ul>
+ <li>
+ <p>
+ <a href="../doc/cloud.html">Cloud Guide</a> - Administrator
+ overview of the configurations necessary to set up installations
+ compatible with the <a href="clouds/cloudquickstart.html">cloud
+ client</a>.
+ </p>
+ </li>
+
+</ul>
+
+_NIMBUS_CENTER2_COLUMN_END
+_NIMBUS_FOOTER1
+_NIMBUS_FOOTER2
+_NIMBUS_FOOTER3
View
111 docs/src/admin/nimbus-build.txt
@@ -0,0 +1,111 @@
+*** Nimbus - build and install all:
+ [echo] Building default Nimbus-for-GT4.0 packages:
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/service-api/java/source
+ [echo] Building: Nimbus Services Bridge (RM API)
+ [echo] Built: Nimbus Services Bridge (RM API)
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/service/service/java/source
+ [echo] Building: Workspace Service module
+ [echo] Built: Workspace Service module
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/schema/dist
+ [echo] Building: Web services WSDL/schemas
+ [echo] Built: Web services WSDL/schemas
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0-elastic/schema/dist
+ [echo] Building: EC2 WSDL (elastic)
+ [echo] Built: EC2 WSDL (elastic)
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/java/stubs
+ [echo] Building: Auto-generated code for web services
+ [echo] Merging NStoPkg.properties
+ [echo] Generating stubs from workspace_factory_service.wsdl
+ [echo] Generating stubs from workspace_group_service.wsdl
+ [echo] Generating stubs from workspace_ensemble_service.wsdl
+ [echo] Generating stubs from workspace_status_service.wsdl
+ [echo] Generating stubs from workspace_service.wsdl
+ [echo] Generating stubs from workspace_ctx_service.wsdl
+ [echo] Built: Auto-generated code for web services
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0-elastic/java/stubs
+ [echo] Building: Auto-generated code for web services (elastic)
+ [echo] Merging NStoPkg.properties
+ [echo] Generating stubs from ec2.wsdl
+ [echo] Built: Auto-generated code for web services (elastic)
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/java/common
+ [echo] Building: Nimbus GT4.0 messaging common
+ [echo] Built: Nimbus GT4.0 messaging common
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/java/msgbridge
+ [echo] Building: Nimbus GT4.0 messaging bridge
+ [echo] Built: Nimbus GT4.0 messaging bridge
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0-elastic/java/msgbridge
+ [echo] Building: Nimbus GT4.0 elastic messaging bridge
+ [echo] Built: Nimbus GT4.0 elastic messaging bridge
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/service/client/java/source
+ [echo] Building: Nimbus GT4.0 clients GAR package (API, client, and cloud-client)
+ [echo] Built: Nimbus GT4.0 clients GAR package (API, client, and cloud-client)
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/java/gar-builder
+ [echo] Building: Nimbus GT4.0 main GAR package
+ [echo] Cleaned: /tmp/nimbus-TP2.0/messaging/gt4.0/java/gar-builder
+ [echo] Built: Nimbus GT4.0 main GAR package
+ [echo]
+ [echo]
+ [echo] Default installation to GT4.0 container:
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/schema/dist
+ [echo] Installing: Web services WSDL/schemas
+ [echo] Deploying gar with profile: <default>
+ [echo] Installed: Web services WSDL/schemas
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/java/stubs
+ [echo] Installing: Auto-generated code for web services
+ [echo] Deploying gar with profile: <default>
+ [echo] Installed: Auto-generated code for web services
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0-elastic/schema/dist
+ [echo] Installing: EC2 WSDL (elastic)
+ [echo] Deploying gar with profile: <default>
+ [echo] Installed: EC2 WSDL (elastic)
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0-elastic/java/stubs
+ [echo] Installing: Auto-generated code for web services (elastic)
+ [echo] Deploying gar with profile: <default>
+ [echo] Installed: Auto-generated code for web services (elastic)
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/service/client/java/source
+ [echo] Installing: Nimbus GT4.0 clients GAR package (API, client, and cloud-client)
+ [echo] Deploying gar with profile: <default>
+ [echo] Creating Unix launcher script workspace
+ [echo] Creating Unix launcher script workspace-status
+ [echo] Installed: Nimbus GT4.0 clients GAR package (API, client, and cloud-client)
+ [echo]
+ [echo] **** Module: /tmp/nimbus-TP2.0/messaging/gt4.0/java/gar-builder
+ [echo] Installing: Nimbus GT4.0 main GAR package
+ [echo] Deploying gar with profile: <default>
+ [echo] deploying server config...
+ [echo] deploying JNDI config...
+ [echo] Adjusted workspace conf-locator paths
+ [echo] Adjusted elastic conf-locator paths
+ [echo] Adjusted workspace common.conf paths
+ [echo] Adjusted JNDI config paths
+ [echo] Ensured owner-only r permissions: etc/nimbus/workspace-service/pilot-authz.conf
+ [echo] Setting up Workspace Service persistence:
+ [echo] Creating an embedded database for the Workspace Service
+ [echo] Ensured owner-only rwx permissions on persistence directory
+ [echo] Creating an embedded database for workspace service accounting
+ [echo] Ensured owner-only rwx permissions on persistence directory
+ [echo] Set up Workspace Service persistence.
+ [echo] Did not find 'commons-dbcp.jar' dependency, copying commons-dbcp-1.2.1 to /tmp/ws-core-4.0.8/lib
+ [echo] Did not find 'commons-pool.jar' dependency, copying commons-pool-1.2 to /tmp/ws-core-4.0.8/lib
+ [echo] Installed: Nimbus GT4.0 main GAR package
+ [echo]
+
+BUILD SUCCESSFUL
+Total time: 37 seconds
+Successful: Nimbus - build and install all
View
49 docs/src/admin/overview.html
@@ -0,0 +1,49 @@
+m4_include(/mcs/m4/worksp.lib.m4)
+_NIMBUS_HEADER(TP2.2 Administrator Guide)
+_NIMBUS_TP2_2_DEPRECATED
+
+<br />
+_BREADCRUMB_VM_TP2_2 _BREADCRUMB_SEP <a href="index.html">Admin Guide</a>
+_BREADCRUMB_SEP Overview & Preparations
+
+<br />
+<br />
+
+<p>
+ <img src="/img/warning.gif" alt="[warning]" />
+ Apologies, this page is in the process of being updated. The information
+ here is accurate for TP2.2 but incomplete.
+</p>
+
+<br />
+
+<h2>Admin Overview & Preparations</h2>
+
+
+<a name="gt-deployment-scenarios"> </a>
+<h3>Globus container</h3>
+<p>
+ TODO: explain different GT installation scenarios including the standalone
+ mode which is used in quickstart.
+</p>
+
+
+
+
+
+
+
+
+
+
+
+
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+
+
+_WORKSP_FOOTER
View
1,229 docs/src/admin/quickstart.html
@@ -0,0 +1,1229 @@
+m4_include(/mcs/m4/worksp.lib.m4)
+_NIMBUS_HEADER(TP2.2 Admin Quickstart)
+_NIMBUS_HEADER2(n,n,y,n,n,n,n)
+_NIMBUS_LEFT2_COLUMN
+_NIMBUS_LEFT2_ADMIN_SIDEBAR(n,y,n,n,n)
+_NIMBUS_LEFT2_COLUMN_END
+_NIMBUS_CENTER2_COLUMN
+_NIMBUS_TP2_2_DEPRECATED
+
+<h2>Nimbus TP2.2 Admin Quickstart</h2>
+
+<p>
+ The quickstart assumes the services node you are working on is Linux or
+ some UNIX variant (such as OSX perhaps). The Xen VMM nodes are required to
+ be Linux. Most testing is carried out on Linux currently.
+</p>
+
+<p>
+ There are two system accounts involved:
+</p>
+<ul>
+ <li>
+ <p>
+ <b>privileged account</b> - Pick a privileged account to run the
+ remote client facing service. A privileged account on the VMM nodes
+ is necessary as well.
+ This guide assumes the privileged account on the service node and
+ VMM nodes have the same name but that is not strictly necessary.
+ </p>
+ <p>
+ In this guide (especially in the command samples) we will refer
+ to an account of this type named <i>nimbus</i> with terminal
+ prompts like "<b>nimbus $</b>"
+ </p>
+ </li>
+ <li>
+ <p>
+ <b>superuser account</b> - The root account is necessary to install
+ dependencies on the VMM nodes (Xen, ebtables, etc.) and also to
+ install the Nimbus agent that lives on the VMM nodes (workspace
+ control).
+ </p>
+ <p>
+ In this guide (especially in the command samples) we will refer
+ to an account of this type named <i>root</i> with terminal
+ prompts like "<b>root #</b>"
+ </p>
+ </li>
+</ul>
+
+<p>
+ The quickstart is broken up into these steps:
+</p>
+
+<ul style="list-style: disc">
+ <li>
+ <p>
+ <a href="#part-I">Part I</a> - Install/verify dependencies
+ </p>
+ <ul style="list-style: disc">
+ <li>I.A. <a href="#part-Ia">Service container</a></li>
+ <li>I.B. <a href="#part-Ib">Xen</a></li>
+ <li>I.C. <a href="#part-Ic">Misc. libraries for the VMM nodes</a></li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <a href="#part-II">Part II</a> -
+ Install/verify the Nimbus service package
+ </p>
+ <ul style="list-style: disc">
+ <li>II.A. <a href="#part-IIa">Download and install</a></li>
+ <li>II.B. <a href="#part-IIb">Necessary configurations</a></li>
+ <li>II.C. <a href="#part-IIc">Test call</a></li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <a href="#part-III">Part III</a> - Install/verify workspace-control
+ </p>
+ <ul style="list-style: disc">
+ <li>III.A. <a href="#part-IIIa">Download and install</a></li>
+ <li>III.B. <a href="#part-IIIb">Necessary configurations</a></li>
+ <li>III.C. <a href="#part-IIIc">Testing</a></li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <a href="#part-IV">Part IV</a> - End to end test
+ </p>
+ </li>
+</ul>
+
+<br />
+
+
+
+
+
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+
+
+
+
+
+<a name="part-I"> </a>
+<h2>Part I: Install/verify dependencies</h2>
+
+<ul>
+ <li style="list-style: disc">I.A. <a href="#part-Ia">Service container</a></li>
+ <li>I.B. <a href="#part-Ib">Xen</a></li>
+ <li>I.C. <a href="#part-Ic">Misc. libraries for the VMM nodes</a></li>
+</ul>
+
+<a name="auto-container"> </a>
+<a name="part-Ia"> </a>
+<h3>I.A. Service container _NAMELINK(part-Ia) _NAMELINK(auto-container)</h3>
+<p>
+ Currently Nimbus is deployed into a Globus 4.0.x Java container which is a
+ system built around the <a href="http://ws.apache.org/axis/">Apache Axis</a>
+ engine.
+</p>
+
+<p>
+ To get you started with this very quickly,
+ we provide something called the <b><i>AutoContainer</i></b> which is a
+ complete Globus Java web services core environment. It comes with a setup
+ program that configures everything you need to <b>get a secure web services
+ container running from scratch in about a minute</b>.
+</p>
+<p>
+ This includes creating a new certificate authority, creating a new host
+ certificate, creating a new user certificate(s), and adjusting relevant
+ configuration files.
+</p>
+
+<p><i>Other (more time consuming) approaches:</i></p>
+<ul>
+ <li>
+ If you are an intermediate Globus user, you may want to check out
+ <a href="reference.html#manual-container">this section</a> of the
+ reference manual for a more manual approach.
+ </li>
+ <li>
+ If you are a veteran Globus user, you will probably already have a Java
+ web services environment set up with security somewhere and can
+ skip this section altogether.
+ </li>
+</ul>
+
+<a name="acquire-auto-container"> </a>
+<h4>* Acquire the AutoContainer: _NAMELINK(acquire-auto-container)</h4>
+
+<p>
+ On the <a href="/downloads/">downloads</a> page is a recent version of the
+ AutoContainer.
+</p>
+
+<a name="run-auto-container"> </a>
+<h4>* Run the AutoContainer: _NAMELINK(run-auto-container)</h4>
+
+<p>
+ In the following steps, make sure you've expanded the directory to the
+ place you want to leave it (absolute paths will be used for some
+ configurations).
+</p>
+
+_EXAMPLE_CMD_BEGIN
+tar xzf autocontainer-GT4.0.8-v1.0.tar.gz
+_EXAMPLE_CMD_END
+
+_EXAMPLE_CMD_BEGIN
+cd autocontainer
+_EXAMPLE_CMD_END
+
+_EXAMPLE_CMD_BEGIN
+./bin/setup-container.sh
+_EXAMPLE_CMD_END
+
+<p>
+ That's it. The program will instruct you on any other necessary steps.
+</p>
+<p>
+ You'll end up being directed to run a test command whose output will look
+ something like this if everything is set up:
+</p>
+_EXAMPLE_CMD_BEGIN
+/somewhere/autocontainer/bin/test-container.sh
+_EXAMPLE_CMD_END
+<div class="screen"><pre>
+Got notification with value: 3
+Counter has value: 3
+Got notification with value: 13</pre>
+</div>
+
+
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+
+
+
+<a name="part-Ib"> </a>
+<h3>I.B. Xen _NAMELINK(part-Ib)</h3>
+<p>
+ The workspace service manages <a href="http://www.xen.org">Xen</a> VMs
+ (KVM on its way).
+</p>
+<p>
+ The workspace service itself does not need to run on a Xen node. You
+ must pick VMM nodes to install Xen on, the workspace service will manage
+ these. For the quickstart, pick just one node to install and test with.
+ When all goes well, add more into the pool of VMMs the workspace service
+ can send work to.
+</p>
+<p>
+ You need to install Xen and get a basic VM running with bridged networking.
+</p>
+<p>
+ Nimbus has been most heavily tested with the Xen 3.1 series although it
+ is known to be working with 3.2 (this may require the "tap:aio" configuration
+ in workspace-control's "worksp.conf" configuration file). There is no
+ information yet about Nimbus on the new/upcoming Xen 3.3 series.
+</p>
+
+<p>
+ You can actually put off the whole Xen step until later if you just want to evaluate
+ the Nimbus clients and services: right out of the box Nimbus makes "fake"
+ calls to workspace control (which is the agent that actually manages things
+ on the VMM nodes). This allows the service side to be tested independently
+ of the VMM. You "join them up" by turning off the "fake" switch when you're
+ ready to do end to end testing.
+</p>
+
+<a name="acquire-install-xen"> </a>
+<h4>* Acquire and install Xen: _NAMELINK(acquire-install-xen)</h4>
+
+<p>
+ Your Linux distribution might have good support for Xen (Debian/Ubuntu,
+ RedHat, Gentoo, SUSE, etc.) in which case it is best to defer to
+ distribution specific notes about how to get Xen up and running (with
+ bridged networking).
+</p>
+<p>
+ If your Linux distribution doesn't support Xen well or you are having
+ some inexplicable problem, you can always try installing from source
+ or binary, starting at <a href="http://xen.org/">http://xen.org/</a>
+</p>
+
+<a name="test-xen"> </a>
+<h4>* Test Xen: _NAMELINK(test-xen)</h4>
+
+<p>
+ You can test Xen with any Xen VM image, mostly. In this guide we will use a
+ small and simple VM image as an example. Look
+ <a href="../../marketplace.html#other">here</a> for some
+ ideas about where to find Xen VM images. You can also create them from
+ scratch of course, if you have the time.
+</p>
+
+<p>
+ In particular, we will be using a ttylinux-based image. ttylinux is a very
+ small, yet functional, Linux distribution requiring only around 4 MB.
+ Visit the <a href="http://www.minimalinux.org/ttylinux/">ttylinux</a>
+ home page for a list of some of its many nice features.
+</p>
+
+<p>
+ You can download a tarball containg the image
+ <a href="http://workspace.globus.org/downloads/ttylinux-xen.tgz">here</a>.
+ This directory should contain the following files:
+</p>
+<ul>
+ <li>
+ ttylinux-xen: The VM image
+ </li>
+ <li>
+ ttylinux-xen.conf: A sample Xen configuration for the VM image
+ </li>
+</ul>
+
+<p>
+ Take into account that the provided ttylinux image is not the exact same
+ image you can download from the ttylinux home page. It is preconfigured
+ to obtain a network address through DHCP, and depends on a different root
+ device than a regular ttylinux image (to make the image Xen-friendlier).
+</p>
+
+<p>
+ Test the image using the provided Xen configuration file. First of all, make
+ sure you replace the values of the kernel and disk parameters inside the
+ file with appropriate values. In particular, you should point kernel to
+ your Xen guest kernel and disk to the location of the ttylinux-xen file.
+ The contents of the configuration file should look something like this:
+</p>
+
+<div class="screen"><pre>
+kernel = "/boot/vmlinuz-2.6-xen"
+memory = 64
+name = "ttylinux"
+disk = ['file:/root/ttylinux-xen,sda1,w']
+root = "/dev/sda1 ro"
+vif = ['']</pre>
+</div>
+<p>
+ To test the image, run the following:
+</p>
+
+
+_EXAMPLE_ROOTCMD_BEGIN
+xm create ttylinux-xen.conf -c
+_EXAMPLE_CMD_END
+
+<p>
+ You should see ttylinux boot messages, followed by a login prompt. You can
+ log in using user 'root' and password 'root'. You can use ifconfig to check
+ that the networking interface (eth0) is correctly setup. If you do not have
+ a DHCP server, you can also use ifconfig to configure eth0 with a static
+ IP address. Once the network is correctly set up, you should be able to
+ ping out to some other machine besides dom0 and from that other machine
+ be able to ping this address. Note that you should do all this just for
+ the purposes of verifying that the image works correctly.
+</p>
+<p>
+ Keep the image configured to obtain a network address automatically via
+ DHCP (even if your network doesn't have a DHCP server), as the Workspace
+ Service will use DHCP to dynamically set up networking in it.
+</p>
+<p>
+ <b>Note again</b>: most Xen documentation you will find online about
+ testing and troubleshooting the install
+ is <i>valid</i> in this situation because you are not doing anything
+ specifically related to Nimbus here.
+</p>
+
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+
+
+
+
+<a name="part-Ic"> </a>
+<h3>I.C. Misc. libraries for the VMM nodes _NAMELINK(part-Ic)</h3>
+<p>
+ There are a few libraries needed on the VMM nodes before workspace control
+ will work.
+</p>
+
+<p>
+ The <a href="http://www.isc.org/index.pl?/sw/dhcp/" target="_top">ISC
+ DHCP server</a> (or DHCP server with compatible conf file)
+ and <a href="http://ebtables.sourceforge.net/" target="_top">ebtables</a>
+ are required to be running on each hypervisor node.
+</p>
+
+<p>
+ Any recent version of each package should be compatible, the scripts
+ distributed with workspace control that automate the configurations were
+ tested with ISC DHCP 3.0.3 and ebtables 2.0.6 userspace tools.
+</p>
+
+<p>
+ For more information on why this software is now necessary and
+ how it will not interfere with a site's pre-existing DHCP server, see
+ <a href="reference.html#backend-config-invm-networking">the
+ network configuration details section</a> in the reference guide.
+</p>
+
+<p>
+ Since these two pieces of software are relatively common, they may
+ already be present on your hypervisor nodes via the package management
+ system. Check your distribution tools for packages called
+ <i>dhcp</i> (ISC DHCP server) and <i>ebtables</i>. You can also check
+ for the existence of <i>/sbin/ebtables</i> or <i>/usr/sbin/ebtables</i>
+ (for ebtables) and any of the following files for the DHCP server:
+</p>
+
+<ul>
+ <li>
+ <p>
+ <i>/etc/dhcp/dhcpd.conf</i>
+ </p>
+ </li>
+
+ <li>
+ <p>
+ <i>/etc/dhcp3/dhcpd.conf</i>
+ </p>
+ </li>
+
+ <li>
+ <p>
+ <i>/etc/init.d/dhcpd</i>
+ </p>
+ </li>
+
+ <li>
+ <p>
+ <i>/etc/init.d/dhcp3-server</i>
+ </p>
+ </li>
+</ul>
+
+<p>
+ If these software packages are not installed, all major Linux distributions
+ include them and you should be able to easily install them with your package
+ management system. For example, "rpm -ihv dhcp-*.rpm", "apt-get install
+ dhcp", "emerge dhcp", etc. And similarly for ebtables.
+</p>
+
+<p>
+ ebtables requires kernel support in dom0, the default Xen kernel
+ includes this support. If your dom0 kernel does not include these
+ for some reason, the options to enable are under Networking ::
+ Networking options :: Network packet filtering :: Bridge Netfilter
+ Configuration :: Ethernet Bridge Tables
+</p>
+
+<p>
+ workspace-control also requires
+ <a href="http://www.courtesan.com/sudo/">sudo</a> and Python 2.3+ on all
+ VMM nodes under the control of the Workspace Service.
+</p>
+
+
+
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+<!--- ********************************************************************** -->
+
+
+
+
+<a name="part-Id"> </a>
+<h3>I.D. SSH _NAMELINK(part-Id)</h3>
+<p>
+ Finally, the privileged account on the service node needs to be able to
+ SSH freely to the VMM nodes (without needing a password). And