...
Install the Subversion client if it is not already installed:
No Format |
---|
yum install subversion -y
|
Download the management node code using the Subversion export command to /usr/local/vcl:
No Format |
---|
svn export http://svn.apache.org/repos/asf/incubator/vcl/trunk/managementnode/ /usr/local/vcl
|
...
- expat
- expat-devel
- gcc
- krb5-libs
- krb5-devel
- libxml2
- libxml2-devel
- nmap
- openssl
- openssl-devel
- perl-DBD-MySQL
- xmlseclxmlsec1-openssl
To install these packages using yum:
No Format |
---|
yum install expat expat-devel gcc krb5-libs krb5-devel libxml2 libxml2-devel openssl openssl-devel perl-DBD-MySQL xmlseclxmlsec1-openssl -y
|
Install Required Perl Modules
The VCL Perl code running on the management node requires additional Perl modules in order to run. These Perl modules are available from CPAN - The Comprehensive Perl Archive Network. A search engine for CPAN modules is available at search.cpan.org.
...
Note: Licensing information for each required Perl module is included below. The content of the "License:" lines was copied from the CPAN page for each module. The content of the other line was copied from the copyright section in the module's source code or from the module's readme file.
- Class-Data-Inheritable-0.08
- Devel-StackTrace
- Exception-Class
- Object-InsideOut
- YAML
- RPC-XML
- XML-Parser
- Crypt-SSLeay
- HTML-Parser
- DBI
- libwww-perl
Run install_perl_libs.pl Script
A script is provided in the managementnode/bin directory called install_perl_libs.pl which will attempt to download and install the required perl libraries. Run the script:
No Format |
---|
perl /usr/local/vcl/bin/install_perl_libs.pl
|
A large amount of output will be displayed on the console the first time the script is run. It will pause if any of the module installations ask for configuration information. Accept all of the defaults by pressing enter when this happens.
Run the script a 2nd time to check if all of the modules the script is configured to install were successfully installed. Output similar to the following should be displayed for each module:
- License: Perl (Artistic and GPL)
- Copyright (c) 2000-2005, Damian Conway and Michael G Schwern. All Rights Reserved.
This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.
- Compress-Raw-Zlib
- License: Perl (Artistic and GPL)
- Copyright (c) 2005-2009 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- Crypt-SSLeay
- License: Perl (Artistic and GPL)
- Copyright (c) 2006-2007 David Landgren.
Copyright (c) 1999-2003 Joshua Chamas.
Copyright (c) 1998 Gisle Aas.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
- DBI
- License: Perl (Artistic and GPL)
- The DBI module is Copyright (c) 1994-2009 Tim Bunce. Ireland. All rights reserved.
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl 5.10.0 README file.
- Devel-StackTrace
- License: Perl (Artistic and GPL)
- Copyright (c) 2000-2006 David Rolsky. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- Exception-Class
- License: Perl (Artistic and GPL)
- Copyright (c) 2000-2009 David Rolsky. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- HTML-Parser
- License: Perl (Artistic and GPL)
- Copyright 1996-2008 Gisle Aas. All rights reserved.
Copyright 1999-2000 Michael A. Chase. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- IO-Compress
- License: Perl (Artistic and GPL)
- Copyright (c) 2005-2009 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- libwww-perl
- License: Perl (Artistic and GPL)
- Copyright 1995-2004 Gisle Aas.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- MailTools
- License: Perl (Artistic and GPL)
- Copyrights 1995-2000 Graham Barr <gbarr@pobox.com> and 2001-2007 Mark Overmeer <perl@overmeer.net>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- Object-InsideOut
- License: Perl (Artistic and GPL)
- Copyright 2005 - 2009 Jerry D. Hedden. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- RPC-XML
- XML-Parser
- License: Unknown
- Note: The license type is shown as "Unknown" on the CPAN page for this module and the POD documentation conained within the source code does not contain a copyright section. The README _file for this module does, however, contain a heading with the following information:_Copyright (c) 1998-2000 Larry Wall and Clark Cooper. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- YAML
- License: Perl (Artistic and GPL)
- Copyright (c) 2005, 2006, 2008. Ingy döt Net.
Copyright (c) 2001, 2002, 2005. Brian Ingerson.
Some parts copyright (c) 2009 Adam Kennedy
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The following Perl modules are only required if VCL is configured to send instant messages via Jabber. Jabber support can be enabled or disabled by configuring the "jabber=" line in the vcld.conf file. The following modules do not need to be installed if Jabber support is disabled.
- Net-Jabber
- Net-XMPP
- License: LGPL
- This module is free software, you can redistribute it and/or modify it under the LGPL.
- Module-Build
- License: Perl (Artistic and GPL)
- Copyright (c) 2001-2006 Ken Williams. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- XML-Stream
- License: Unknown
- Note: The license type is shown as "Unknown" on the CPAN page for this module. However, the POD documentation _conained within the source code contains a copyright section with the following text:_This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- Authen-SASL
- License: Perl (Artistic and GPL)
- Copyright (c) 1998-2005 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
- Digest::SHA1
- License: Perl (Artistic and GPL)
- This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Copyright 1999-2004 Gisle Aas.
Copyright 1997 Uwe Hollerbach.
Run install_perl_libs.pl Script
A script is provided in the managementnode/bin directory called install_perl_libs.pl which will attempt to download and install the required perl libraries. Run the script:
No Format |
---|
perl /usr/local/vcl/bin/install_perl_libs.pl
|
A large amount of output will be displayed on the console the first time the script is run. It will pause if any of the module installations ask for configuration information. Accept all of the defaults by pressing enter when this happens.
Run the script a 2nd time to check if all of the modules the script is configured to install were successfully installed. Output similar to the following should be displayed for each module:
No Format |
---|
== |
No Format |
---|
======================================================================================
URL: http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.609.tar.gz
Module filename: DBI-1.609.tar.gz
Module name: DBI-1.609
Module package: DBI
Checking if DBI is installed
Module is already installed: DBI
==============================================================================
|
...
- Enter the CPAN shell:
perl -MCPAN -e shell - You will need to configure CPAN if it's the first time it is being run. Enter No at the first prompt to auto-configure the CPAN module.
- Search for a module using the "m" command:
m /Zlib/
You should find the module you were looking for on a line like this: No Format |
---|
Module Compress::Zlib (P/PM/PMQS/IO-Compress-2.020.tar.gz)
|
- Install the module:
install Compress::Zlib - Answer yes if asked to install any prerequisite modules
The last line you should see should be: No Format |
---|
/usr/bin/make install -- OK
|
Download Required Utilities & Drivers
Windows XP and Server 2003 Deployment Tools (Sysprep)
...
- Identify the mass storage drivers required for your hardware which aren't native to Windows
- Download drivers for your hardware
- Each driver will have 1 or more .inf files. Examine the .inf files. Find all lines in this format containing a PnP device ID:
%DevDescD1% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F041028
The PnP device ID in the example above is:
PCI\VEN_1000&DEV_0054&SUBSYS_1F041028unmigrated-wiki-markup - Each PnP device ID should be added to the sysprep.inf file under the \ [SysprepMassStorage\] section using the following format:
ID = "C:\Sysprep\Drivers\<driver directory>\<.inf file path>"
Example: LSI SAS drivers commonly need to be downloaded and the hardware IDs need to be added to the sysprep.inf files in order for computers with LSI SAS controllers to boot.
- Download the LSI SAS driver from ibm.com: ibm_dd_mptsas_1.30.02.00_windows_32-64.exe
- Extract the ZIP file (it's a self-extracting zip; you can unzip it with whatever unzip tool you prefer)
- Copy the files from the 32 bit XP directory (image/xp-32) to the appropriate directory on the management node:
tools/Windows/Drivers/Storage/LSI-SAS - Locate the .inf file included with the driver is:
tools/Windows/Drivers/Storage/LSI-SAS/symmpi.inf - Locate the PnP ID lines in the .inf file:
Panel |
---|
Wiki Markup | \[LSI\]
%DevDesc2% = SYMMPI_Inst, PCI\VEN_1000&DEV_0622
%DevDesc3% = SYMMPI_Inst, PCI\VEN_1000&DEV_0624
%DevDesc4% = SYMMPI_Inst, PCI\VEN_1000&DEV_0626
%DevDesc5% = SYMMPI_Inst, PCI\VEN_1000&DEV_0628
%DevDesc6% = SYMMPI_Inst, PCI\VEN_1000&DEV_0030
%DevDesc7% = SYMMPI_Inst, PCI\VEN_1000&DEV_0032
%DevDesc8% = SYMMPI_Inst, PCI\VEN_1000&DEV_0050
%DevDesc9% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054
%DevDesc10% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058
%DevDesc11% = SYMMPI_Inst, PCI\VEN_1000&DEV_0056
%DevDesc12% = SYMMPI_Inst, PCI\VEN_1000&DEV_0640
%DevDesc13% = SYMMPI_Inst, PCI\VEN_1000&DEV_0646
%DevDesc14% = SYMMPI_Inst, PCI\VEN_1000&DEV_0062
\ [DELL\]
%DevDescD1% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F041028
%DevDescD2% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F051028
%DevDescD3% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F061028
%DevDescD4% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F071028
%DevDescD5% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F081028
%DevDescD6% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F091028
%DevDescD7% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058&SUBSYS_1F0E1028
%DevDescD8% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058&SUBSYS_1F0F1028
%DevDescD9% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058&SUBSYS_1F101028
|
unmigrated-wiki-markup1F101028 |
- Based on the contents of the .inf file, the following is added to the Windows XP and Windows Server 2003 sysprep.inf files under \ [SysprepMassStorage\]:
Panel |
---|
PCI\VEN_1000&DEV_0622 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0624 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0626 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0628 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0030 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0032 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0050 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0054 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0058 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0056 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0640 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0646 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0062 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0054&SUBSYS_1F041028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0054&SUBSYS_1F051028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0054&SUBSYS_1F061028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0054&SUBSYS_1F071028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0054&SUBSYS_1F081028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0054&SUBSYS_1F091028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0058&SUBSYS_1F0E1028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0058&SUBSYS_1F0F1028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" PCI\VEN_1000&DEV_0058&SUBSYS_1F101028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf" |
If you have hardware using an LSI SAS controller (IBM HS21 blades), the section above can be copied and pasted into your your sysprep.inf files: Panel |
---|
/usr/local/vcl/tools/Windows_XP/Utilities/Sysprep/sysprep.inf |
Panel |
---|
/usr/local/vcl/tools/Windows_Server_2003/Utilities/Sysprep/sysprep.inf |
files: Panel |
---|
/usr/local/vcl/tools/Windows_XP/Utilities/Sysprep/sysprep.inf |
Panel |
---|
/usr/local/vcl/tools/Windows_Server_2003/Utilities/Sysprep/sysprep.inf |
WSName - Workstation Name Changing Utility
WSName - Workstation Name Changing Utility
NOTICE: The WSName.exe utility is no longer available. The set_computer_name.vbs script which calls WSName.exe will be rewritten for the 2.2 release of VCL. In the meantime, this script is being left intact in case you have a previously released version of WSName.exe or are able to obtain it from another source.
The wsname.exe utility is used by VCL to name Windows computers. It does a reverse DNS lookup so that the computer name is set to the name registered for its public IP address. The utility is called by NOTICE: The WSName.exe utility is no longer available. The set_computer_name.vbs when a Windows image is loaded. The utility is not vital for the load process to work. However, the computer will receive a random name if the script is missing or fails to run.
If you do script which calls WSName.exe will be rewritten for the 2.2 release of VCL. In the meantime, this script is being left intact in case you have a previously released version of WSName.exe or are able to obtain locate it from another source.
The wsname.exe utility is used by VCL to name Windows computers. It does a reverse DNS lookup so that the computer name is set to the name registered for its public IP address. The utility is called by set_computer_name.vbs when a Windows image is loaded. The utility is not vital for the load process to work. However, the computer will receive a random name if the script is missing or fails to run.
If you do have a previously released version of WSName.exe or are able to locate it from another souce, save WSName.exe in the following location on the management node:
Panel |
---|
/usr/local/vcl/tools/Windows/Utilities/WSName/wsname.exe |
NewSID - Windows SID Changing Utility
NewSID.exe is used to change the SID of a Windows computer if Sysprep is not used. Download the NewSID.exe utility:
Download: NewSID.exe
Save the NewSID.exe utility in the following location on the management node:
Panel |
---|
/usr/local/vcl/tools/Windows/Utilities/NewSID/newsid.exe |
SPDrvScn - Windows Driver Scanning Utility
SPDrvScn.exe is used before an image is captured to enter the paths of drivers to the Windows registry so that they are loaded when Sysprep attempts to install devices. Download the SPDrvScn.exe utility:
Download: SPDrvScn.exe
Save the SPDrvScn.exe utility in the following location on the management node:
...
souce, save WSName.exe in the following location on the management node:
Panel |
---|
/usr/local/vcl/tools/Windows/Utilities/WSName/wsname.exe |
NewSID - Windows SID Changing Utility
NewSID.exe is used to change the SID of a Windows computer if Sysprep is not used. Download the NewSID.exe utility:
Download: NewSID.exe
Save the NewSID.exe utility in the following location on the management node:
Panel |
---|
/usr/local/vcl/tools/Windows/Utilities/NewSID/newsid.exe |
SPDrvScn - Windows Driver Scanning Utility
SPDrvScn.exe is used before an image is captured to enter the paths of drivers to the Windows registry so that they are loaded when Sysprep attempts to install devices. Download the SPDrvScn.exe utility:
Download: SPDrvScn.exe
Save the SPDrvScn.exe utility in the following location on the management node:
Panel |
---|
/usr/local/vcl/tools/Windows/Utilities/SPDrvScn/spdrvscn.exe |
Configure the SSH Client
To insure that the management node can SSH into your virtual machines without problems, you will need to edit the SSH client config for the root user:
No Format |
---|
vi /root/.ssh/config
|
Add the following lines to the top of the configuration file.
No Format |
---|
Host <vmhost> <vmhost ip>
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
|
Where:
- <vmhost> - Is a wildcard reference to the hostnames for your virtual machines.
- For example, if your VM hostnames look like: vmhost1, vmhost2, vmhost3.... then replace <vmhost> with "vmhost*"
- <vmhost ip> - Is a wildcard IP reference to the IPs used by your virtual machines.
- For example, if your VMs all have IP addresses starting with 10.0.0, then replace <vmhost ip> with "10.0.0.*"
This will insure that new VM hosts will not hang on the known hosts prompts when the management node attempts to connect to them for the first time.
Configure vcld.conf
- Create the /etc/vcl directory:
mkdir /etc/vcl - Copy the generic vcld.conf file to /etc/vcl:
cp /usr/local/vcl/etc/vcl/vcld.conf /etc/vcl - Edit the /etc/vcl/vcld.conf file:
vi /etc/vcl/vcld.conf
The following lines must be configured in order to start the VCL daemon (vcld) and allow it to check in to the database: - FQDN - the fully qualified name of the management node, this should match the name that was configured for the management node in the database
- server - the IP address or FQDN of the database server
- LockerWrtUser - database user account with write privileges
- wrtPass - database user password
- Save the vcld.conf file
...