Modified:
/InstallationAndSetup.wiki
=======================================
--- /InstallationAndSetup.wiki Fri May 13 08:46:32 2011
+++ /InstallationAndSetup.wiki Fri May 13 08:55:08 2011
@@ -35,16 +35,16 @@
* All systems on the lab network should be able to PXE boot
* Assign a dynamic range that is large enough for the expected amount of
VM
-LML will create and maintain a file with all the host entries for the VMs
that LML manages. By default the file is at '/etc/dhcp3/dhcp-hosts.conf',
this can be changed in '/etc/lml.conf'. After modifying the file LML needs
to restart (or notify) the DHCP server, the command for doing this is also
set in '/etc/lml.conf'.
+LML will create and maintain a file with all the host entries for the VMs
that LML manages. By default the file is at `/etc/dhcp3/dhcp-hosts.conf`,
this can be changed in `/etc/lml.conf`. After modifying the file LML needs
to restart (or notify) the DHCP server, the command for doing this is also
set in `/etc/lml.conf`.
== DNS ==
LML uses the DHCP server to update the DNS server, so the next step is to
configure the DHCP-DNS update mechanism. Check the
[http://linux.die.net/man/5/dhcpd.conf dhcpd.conf(5)] man page or search
for a guide, like
[http://www.randombugs.com/linux/linux-isc-dhcp-server-dynamic-dns-updates-debian-ubuntu.html
this one for example].
== HTTP ==
-The LML scripts work as CGI scripts and are access via the HTTP server.
The 'web/conf.d' directory contains a suitable configuration snippet for
the Apache HTTP server. The content of the 'web/www' directory should go to
the docroot of the HTTP server.
-
-LML uses a data dir to store internal state information. The default
location is '/var/lib/lml' but this can be changed in '/etc/lml.conf'. The
data dir must be writeable by the user that the CGI scripts run as, for
Ubuntu this is 'www-data'.
+The LML scripts work as CGI scripts and are access via the HTTP server.
The `web/conf.d` directory contains a suitable configuration snippet for
the Apache HTTP server. The content of the `web/www` directory should go to
the docroot of the HTTP server.
+
+LML uses a data dir to store internal state information. The default
location is `/var/lib/lml` but this can be changed in `/etc/lml.conf`. The
data dir must be writeable by the user that the CGI scripts run as, for
Ubuntu this is `www-data`.
You must create the data dir manually and set the permissions accordingly.
@@ -57,17 +57,17 @@
== Configure LML ==
-Copy the 'etc/lml.conf' to '/etc/lml.conf' and adjust the settings to
match your environment. Take a look at the example configuration in
[http://code.google.com/p/lml/source/browse/etc/lml.conf /etc/lml.conf]. In
general most settings can be safely disabled by commenting them out. LML
should complain if an essential setting is missing.
+Copy the `etc/lml.conf` to `/etc/lml.conf` and adjust the settings to
match your environment. Take a look at the example configuration in
[http://code.google.com/p/lml/source/browse/etc/lml.conf /etc/lml.conf]. In
general most settings can be safely disabled by commenting them out. LML
should complain if an essential setting is missing.
It is possible to start with the example configuration with the following
exceptions:
- * Fill in the '[vsphere]' section, especially the data for the service
account. If you don't want to check VM owner or expiration then disable the
corresponding _field values in this section.
- * Set the lab DNS domain in the '[dhcp]' and optionally the '[vsphere]'
sections
- * Edit the '[hostrules]' section to match your host rules or disable
hostname validation. For starters disabling the pattern matching might help
if the VMs don't follow an easy naming convention.
- * Edit the '[subversion]' section and remove the settings unless you have
a SVN where you want LML to manage hostname entries.
+ * Fill in the `[vsphere]` section, especially the data for the service
account. If you don't want to check VM owner or expiration then disable the
corresponding `*_field` values in this section.
+ * Set the lab DNS domain in the `[dhcp]` and optionally the `[vsphere]`
sections
+ * Edit the `[hostrules]` section to match your host rules or disable
hostname validation. For starters disabling the pattern matching might help
if the VMs don't follow an easy naming convention.
+ * Edit the `[subversion]` section and remove the settings unless you have
a SVN where you want LML to manage hostname entries.
=== First Test ===
-For a first test use the 'vm-find.pl' tool under 'tools/'. If the vSphere
connection is set up correctly it will list all VMs with their UUIDs and a
Perl data structure with all the information the LML knows about your VMs:
+For a first test use the `vm-find.pl` tool under `tools/`. If the vSphere
connection is set up correctly it will list all VMs with their UUIDs and a
Perl data structure with all the information the LML knows about your VMs:
{{{
www-data@dev4003:/var/www/boot/lml$ tools/vm-find.pl
vm-find Version 1.0 2011-05-02
@@ -116,7 +116,7 @@
}}}
-Next run the 'pxelinux.pl' script manually with a UUID as parameter (this
simulates the network boot and is much faster). If all works well you
should get a 3xx return code:
+Next run the `pxelinux.pl` script manually with a UUID as parameter (this
simulates the network boot and is much faster). If all works well you
should get a 3xx return code:
{{{
www-data@dev4003:/var/www/boot/lml$ ./pxelinux.pl
4213de19-c438-e789-49e7-b686d48d385e
Status: 302 VM is devgss001 and all is fine
@@ -128,9 +128,9 @@
=== Putting it All Together ===
Now it is time to put all the pieces to work together and making sure that
all components work together, please refer to the included sample config
files for hints how to do this:
- * The DHCP server must set the pxelinux prefix (DHCP option 210) to point
to the HTTP server and the location of LML, e.g. 'http://<host>/boot'
- * The HTTP server must be set up to pass any calls
to 'pxelinux.cfg/<UUID>' to the pxelinux.pl script
- * There must be a default configuration in 'pxelinux.cfg/default'
as 'pxelinux.pl' redirects the client there if all is fine
+ * The DHCP server must set the pxelinux prefix (DHCP option 210) to point
to the HTTP server and the location of LML, e.g. `http://<host>/boot`
+ * The HTTP server must be set up to pass any calls to
`pxelinux.cfg/<UUID>` to the pxelinux.pl script
+ * There must be a default configuration in `pxelinux.cfg/default` as
`pxelinux.pl` redirects the client there if all is fine
=== Detailed Configuration ===