[ https://issues.apache.org/jira/browse/VCL-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13273286#comment-13273286 ]
Larry Burton commented on VCL-587: ---------------------------------- Subject: Automatic installation of VCL I developed a set of scripts to automate the installation of VCL for my own purposes. I used the scripts in an advanced Linux class I taught at NCA&T as an example of scripting. Several student teams installed VCL on their individual servers, and the installation had to be repeated after the students experimented with the setup. The script made installation relatively quick and always consistent. The installation is basically one click. The starting point of the installation is a configured Scientific Linux 6.2 operating system. This installation also uses scripting and a custom local repository I developed. The installation is either PXE or iPXE based. The student's starting point is an ether-wake command to the target server, and installation is automatic from that point on. My home repository contains a database of configuration data for various computers of friends at several different geographical locations who use my repository to perform automated installation and configuration of LAMP servers, directory servers, repository servers, Plandora, Moodle, and so forth. I mirrored my home site at NCA&T, and added customization for some NCA&T hosts. Each student team adds their customization data, for example, host name, partitioning information, and application customization data. Each team also makes an entry in the local dnsmasq TFTP/DNS/DHCP configuration. These one-time tasks are completed early in the semester during the study of enterprise configuration. This background is of interest only because my VCL scripts assume certain things, such as, the web directory roots for all named virtual hosts are in /var/www/web_servers/ and configuration snippets are in /etc/httpd/virtual_hosts/. Once the LAMP server is loaded, a team member opens Firefox and downloads vcl_pre_commands_nn.sh from the repo web server. The “nn” is anything, but usually a “1”, or a “2”, and forth, to access a unique parameters file for each unique VCL installation. If you look in the pre_commands script, you will notice the number is just used to append to the filename vcl_parameters_nn.sh. In the scripts below, I used "13", since the particular target host name was "burton-research-13". Before starting installation, the students make a one-time instance of both the vcl_pre_commands file and the vcl_parameters file customized for their team. That is, each team could represent a different institution seeking to create a VCL cloud. If you look in these files, you will see the only real task is to set the host name of the target server to agree with the DHCP hostname assignment. Of course, you can vary every parameter, but since this is a student lab, all teams used my default settings for digital certificates and so forth. If you use the scripts for your own institution, you will wish to change additional settings to reflect your institution's name and login credentials. The parameters.sh file is -- at least to me -- documented and straightforward. I kept the students confined to a private LAN without outside access, so we used weak passwords. Please, use a strong password for any system with access from the Internet. Once the pre-commands file is downloaded, the students make the file executable, the run the script. About 30 minutes later, VCL installation is complete. Packages are installed using yum (see vcl_packages.sh), and all source tarballs are downloaded directly from the VCL incubator site. The main script, install_vcl.sh, incorporates several modifications to the current VCL installation instructions. Notable areas are sourcing the MySQL database structure, dynamically modifying the VCL perl script to remove Linux package installation and perl interaction, use of SL 6.2, and rearranging the order of installation to complete all package installation in one place. The use of explicit yum package installation will allow me to copy vcl_packages.sh almost directly into RPM requires statements. I did not use an RPM for my students because I wanted the students to explore and experiment with the scripts. So what is a “complete” VCL installation? In this case, it means everything required to install and configure the VCL web front end and the VCL management node is completed automatically. The script automatically launches Firefox to the VCL web interface and lists the few steps that must be completed through the web interface (admin password, initial specification of management node). What is not done (at this time) is the automated installation of VMware ESXi on the service nodes, nor the installation and configuration of XCAT. I expect I will just automate the XCAT installation and configuration, and let XCAT take care of the service node installation and management, since this will provide an arbitrarily large cloud. For my class, we just installed VMware ESXi manually on a service node. Images can be copied manually, of course, but in my scheme of infrastructure, booting a bare metal image with a PXE boot to my repository automatically builds Linux images. I expect XCAT can be persuaded to do the same. How could these scripts help the VCL project? I mentioned the automated installation in a poster session at the first ICA-CON conference hosted by IBM in April, 2012 ( ICA-CON ). Several people expressed an interest in access to the scripts, and I agreed to post the scripts in support of the Apache VCL project. I suppose with a few tweaks the script could be embedded in a no-arch RPM (or at least a self-determining arch) so that those who are interested in using VCL, but might not have the skills or patience to wade through the installation, could go immediately to their own VCL cloud with a click or two. This could lower the barrier to entry of cloud computing, and let more folks get on with exploring new ways to actually use a vcl cloud. > Automated install script/tools > ------------------------------ > > Key: VCL-587 > URL: https://issues.apache.org/jira/browse/VCL-587 > Project: VCL > Issue Type: New Feature > Reporter: Aaron Peeler > Attachments: create_new_self_signed_ca.sh > > > Placeholder for Dr. Larry Burton's automated install -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira