This document provides information on how to create a base Windows image. The base image can be used to create derivative VCL images.
These instructions should work regardless of the provisioning engine being used. If you are using these instructions to create an xCAT bare metal image, ignore the sections with titles beginning with VMware Only:.
This document assumes familiarity with xCAT and VMware.
You will need the following:
These instructions assume you have root access and are using a bash shell:
sudo bash
Add the image to the VCL database. A row needs to be added to the following tables:
These rows need to be added to the database manually either by using SQL commands or phpMyAdmin. The following SQL statements assume the following properties of the image:
INSERT INTO `vcl`.`image` ( `id` , `name` , `prettyname` , `ownerid` , `platformid` , `OSid` , `imagemetaid` , `minram` , `minprocnumber` , `minprocspeed` , `minnetwork` , `maxconcurrent` , `reloadtime` , `deleted` , `test` , `lastupdate` , `forcheckout` , `maxinitialtime` , `project` , `size` , `architecture` , `description` , `usage` , `basedoffrevisionid` ) VALUES ( '7' , 'vmwarewinxp-base7-v1', 'No Apps (WinXP vmware)', '1', '1', '16', NULL , '512', '1', '1024', '100', NULL , '5', '0', '0', NOW(), '1', '0', 'vcl', '1500', 'x86', NULL , NULL , '0' );
INSERT INTO `vcl`.`imagerevision` ( `id` , `imageid` , `revision` , `userid` , `datecreated` , `deleted` , `datedeleted` , `production` , `comments` , `imagename` ) VALUES ( NULL , '7', '0', '1', NOW(), '0', NULL , '1', NULL , 'vmwarewinxp-base7-v1' )
INSERT INTO `vcl`.`resource` ( `id` , `resourcetypeid` , `subid` ) VALUES ( NULL , '13', '7' )
The instructions assume that VMware has been configured with the following bridged networks:
vmware &
Follow the steps: Install Windows for a Base Image
Follow the steps: Install & Configure Cygwin SSHD
An imaging request needs to be manually inserted into the VCL database to begin the automated imaging process. The imaging process performs several steps to prepare the VCL image to be captured and then initiates the capture.
You will need to know the management node ID and computer ID of the VM guest you are using. The following SQL statements assume the following:
INSERT INTO `vcl`.`request` ( `id` , `stateid` , `userid` , `laststateid` , `logid` , `forimaging` , `test` , `preload` , `start` , `end` , `daterequested` , `datemodified` ) VALUES ( '1' , '16', '1', '16', '', '1', '0', '0', NOW( ) , TIMESTAMPADD(MINUTE, 120, NOW()), NOW( ) , NULL );
INSERT INTO `vcl`.`reservation` ( `id` , `requestid` , `computerid` , `imageid` , `imagerevisionid` , `managementnodeid` , `remoteIP` , `lastcheck` , `pw` ) VALUES ( NULL , '1', '2', '7', '7', '1', NULL , NULL , NULL );
Start vcld:
service vcld start
Monitor the vcld.log file:
tail -f /var/log/vcld.log