Machine name cannot be changed while the machine is running without
authorEric Price <ecprice@mit.edu>
Wed, 10 Oct 2007 03:15:11 +0000 (23:15 -0400)
committerEric Price <ecprice@mit.edu>
Wed, 10 Oct 2007 03:15:11 +0000 (23:15 -0400)
confusing the database.  So, forbid it.

Help text for the machine change "owner" field.

svn path=/trunk/web/; revision=166

templates/info.tmpl
templates/main.py

index ca7d107..f9b3941 100644 (file)
@@ -56,21 +56,19 @@ Info on $machine.name
 </form>
 <p>Change settings:
 #if $on
 </form>
 <p>Change settings:
 #if $on
-(To edit ram and disk size, turn off the machine first.)
+(To edit ram, disk size, or machine name, turn off the machine first.)
 #end if
 </p>
 <form action="modify" method="POST">
   <input type="hidden" name="machine_id" value="$machine.machine_id"/>
   <table>
 #end if
 </p>
 <form action="modify" method="POST">
   <input type="hidden" name="machine_id" value="$machine.machine_id"/>
   <table>
-    <tr><td>Owner:</td><td><input type="text" name="owner", value="$machine.owner"/></td>
-       <td>NOTE: The Owner must the name of a locker that you administer</td></tr>
+    <tr><td>Owner$owner_help:</td><td><input type="text" name="owner", value="$machine.owner"/></td></tr>
     <tr><td>Contact email:</td><td><input type="text" name="contact" value="$machine.contact"/></td></tr>
     <tr><td>Contact email:</td><td><input type="text" name="contact" value="$machine.contact"/></td></tr>
-    <tr><td>Machine Name:</td><td><input type="text" name="name" value="$machine.name"/></td></tr>
 #if $machine.nics
 #if $machine.nics
-    <tr><td>Hostname:</td><td><input type="text" name="hostname" value="$machine.nics[0].hostname"/>.servers.csail.mit.edu</td>
-       <td>NOTE: The hostname must being with "Owner_".</td></tr>
+    <tr><td>Hostname:</td><td><input type="text" name="hostname" value="$machine.nics[0].hostname"/>.servers.csail.mit.edu</td></tr>
 #end if
 #if not $on
 #end if
 #if not $on
+    <tr><td>Machine Name:</td><td><input type="text" name="name" value="$machine.name"/></td></tr>
     <tr><td>Ram:</td><td><input type="text" size=3 name="memory" value="$machine.memory"/>MB (max $max_mem)</td></tr>
     <tr><td>Disk:</td><td><input type="text" size=3 name="disk" value="${machine.disks[0].size/1024.}"/>GB (max $max_disk)</td><td>WARNING: Modifying disk size may corrupt your data.</td></tr>
 #end if
     <tr><td>Ram:</td><td><input type="text" size=3 name="memory" value="$machine.memory"/>MB (max $max_mem)</td></tr>
     <tr><td>Disk:</td><td><input type="text" size=3 name="disk" value="${machine.disks[0].size/1024.}"/>GB (max $max_disk)</td><td>WARNING: Modifying disk size may corrupt your data.</td></tr>
 #end if
index 8e4c303..1567acc 100755 (executable)
@@ -676,7 +676,12 @@ hope that the sipb-xen maintainers add support for serial consoles.""",
 HVM machines use the virtualization features of the processor, while
 ParaVM machines use Xen's emulation of virtualization features.  You
 want an HVM virtualized machine.""",
 HVM machines use the virtualization features of the processor, while
 ParaVM machines use Xen's emulation of virtualization features.  You
 want an HVM virtualized machine.""",
-                   cpu_weight="""Don't ask us!  We're as mystified as you are.""")
+                   cpu_weight="""Don't ask us!  We're as mystified as you are.""",
+                   owner="""The Owner must be the name of a locker that you are an AFS
+administrator of.  In particular, you or an AFS group you are a member
+of must have AFS rlidwka bits on the locker.  You can check see who
+administers the LOCKER locker using the command 'fs la /mit/LOCKER' on
+Athena.)""")
     
     d = dict(user=user,
              simple=simple,
     
     d = dict(user=user,
              simple=simple,
@@ -757,6 +762,7 @@ def info(user, fields):
              ram=machine.memory,
              max_mem=max_mem,
              max_disk=max_disk,
              ram=machine.memory,
              max_mem=max_mem,
              max_disk=max_disk,
+             owner_help=helppopup("owner"),
              fields = fields)
     return Template(file='info.tmpl',
                    searchList=[d, global_dict])
              fields = fields)
     return Template(file='info.tmpl',
                    searchList=[d, global_dict])