Hi After some progress yesterday I still got an error while creating an image. The error was:
... 2011-11-02 13:40:38|6392|14:3|image|vSphere_SDK.pm:_get_file_info(2005)|searching for matching file paths: base directory path: '[datastore1] vmwarelinux-238-v0', search pattern: 'vmwarelinux-238-v0.vmdk' 2011-11-02 13:40:40|6392|14:3|image|vSphere_SDK.pm:_get_file_info(2016)|base directory does not exist: '[datastore1] vmwarelinux-238-v0' 2011-11-02 13:40:40|6392|14:3|image|vSphere_SDK.pm:find_files(1753)|matching file count: 0 2011-11-02 13:40:40|6392|14:3|image|vSphere_SDK.pm:file_exists(1625)|file does not exist: [datastore1] vmwarelinux-238-v0/vmwarelinux-238-v0.vmdk 2011-11-02 13:40:40|6392|14:3|image|VMware.pm:does_image_exist(3915)|image does not exist in the non-persistent directory on the VM host |6392|14:3|image| ---- WARNING ---- |6392|14:3|image| 2011-11-02 13:40:40|6392|14:3|image|VMware.pm:_get_datastore_name(5848)|unable to determine datastore name from path: '/vclfile', path does not begin with any of the datastore paths: |6392|14:3|image| '[datastore1]' |6392|14:3|image| '/vmfs/volumes/datastore1' |6392|14:3|image| '/vmfs/volumes/4e72606b-01b8dc93-5cdb-0023aeae26d2' ... I'll figure out how to fix it, but have a related questions. Creating the image failed and during the process vm-00 was put in 'maintains' mode (stateid=10) and it stays in this mode after failure. It's not possible to change the mode to 'available' (get the message - Virtual machines can only be added in the maintenance state.) via web portal. Looks like I need to re-add vm-00 (have to use 'Add multiple' option) or to change stateid value in vcl.computer : UPDATE `vcl`.`computer` SET `stateid` = '2' WHERE `computer`.`id` =36 Is it OK to do it this way? Or am I missing something? Thanks. On Wed, Nov 2, 2011 at 4:50 PM, Dmitri Chebotarov <4dim...@gmail.com> wrote: > Hi > > I got some progress on this issue. I tried to run vmware-cmd from > vcl-server and got the same error - Server version unavailable at , > which could mean SSL certificate is missing. Then found this post > http://communities.vmware.com/message/1347703 and added these two lines > to /usr/local/vcl/lib/VCL/Module/Provisioning/VMware/vSphere_SDK.pm after > line 62 > > $ENV{SSL_verify_mode} = 0x00; > $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0; > > This change allowed image creation to start successfully. VCLD connects to > ESXi server OK and gets server version. It doesn't use ssh keys from > /etc/vcl/vcl.key, but username/password configured in the profile. > > Thanks. > > > On Wed, Nov 2, 2011 at 3:45 PM, Dmitri Chebotarov <4dim...@gmail.com>wrote: > >> Hello >> >> Got this link from one of the posts on this elist - >> https://sites.google.com/a/ncsu.edu/vcl-bootcamp/. I hope it helps me >> understand the VCL better... >> Can you recommend anything else to read about Apache VCL, besides >> https://cwiki.apache.org/VCL/ ? >> >> Thanks. >> >> >> On Tue, Nov 1, 2011 at 1:22 PM, Dmitri Chebotarov <4dim...@gmail.com>wrote: >> >>> Hi All >>> >>> I'm stuck on creating a base image (Linux) for newly deployed Apache VCL >>> system and looking for help... >>> This is the closes I got so far to a working system. >>> I'm using ESXi 4.1 (60 days evaluation), ssh is enabled, ESXi server >>> name is esxiServer01, added to the host file on VCL management server. >>> Linux server being imaged is vm-00 running on esxiServer01. Added to the >>> host file as well on VCL server. I can ping both and ssh -i key host works. >>> >>> Below is the full log for the process. These lines puzzle me: >>> >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|OS.pm:is_ssh_responding(405)|esxiServer01 is NOT >>> responding to SSH, SSH command failed, port 22: open, port 24: closed >>> >>> 2011-11-01 08:40:59|16965|20:20|image|VMware.pm:initialize(257)|unable >>> to control OS of VM host esxiServer01 using VCL::Module::OS::Linux::UnixLab >>> OS object because VM host is not responding to SSH >>> >>> since I can ping the VM host and 'ssh -i /etc/vcl/vcl.key esxiServer01' >>> works fine. >>> >>> Also all http(s) links work fine when I access them from management >>> server. >>> >>> Is there a way to create and register images manually? Can I use Veeam >>> FastSCP or similar software to copy VMs to VCL server and register them? If >>> there is way to do so, anyone has a link? >>> >>> I would appreciate any help. Thank you. >>> >>> Here is the full log file for the imaging process: >>> >>> VCL::image object could not be created and initialized >>> ------------------------------------------------------------------------ >>> time: 2011-11-01 08:40:59 >>> caller: vcld:make_new_child(571) >>> ( 0) vcld, make_new_child (line: 571) >>> (-1) vcld, main (line: 346) >>> ------------------------------------------------------------------------ >>> management node: vcl-01 >>> reservation PID: 16965 >>> parent vcld PID: 5086 >>> >>> request ID: 20 >>> reservation ID: 20 >>> request state/laststate: image/image >>> request start time: 2011-11-01 08:40:49 >>> request end time: 2011-11-01 09:40:49 >>> for imaging: no >>> log ID: none >>> >>> computer: vm-00 >>> computer id: 23 >>> computer type: virtualmachine >>> computer eth0 MAC address: <undefined> >>> computer eth1 MAC address: <undefined> >>> computer private IP address: 192.168.200.15 >>> computer public IP address: 192.168.200.15 >>> computer in block allocation: no >>> provisioning module: VCL::Module::Provisioning::VMware::VMware >>> >>> vm host: esxiServer01 >>> vm host ID: 3 >>> vm host computer ID: 11 >>> vm profile: VMware ESX - local storage >>> vm profile VM path: /vmfs/volumes/4e72606b-01b8dc93-5cdb-0023aeae26d2/ >>> vm profile repository path: 0 >>> vm profile datastore path: >>> /vmfs/volumes/4e72606b-01b8dc93-5cdb-0023aeae26d2/ >>> vm profile disk type: localdisk >>> >>> image: vmwarelinux-linuximage0128-v0 >>> image display name: linux-image-01 >>> image ID: 28 >>> image revision ID: 28 >>> image size: 1450 MB >>> use Sysprep: yes >>> root access: yes >>> image owner ID: 1 >>> image owner affiliation: Local >>> image revision date created: 2011-11-01 08:40:49 >>> image revision production: yes >>> OS module: VCL::Module::OS::Linux >>> >>> user: admin >>> user name: vcl admin >>> user ID: 1 >>> user affiliation: Local >>> ------------------------------------------------------------------------ >>> RECENT LOG ENTRIES FOR THIS PROCESS: >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_automethod(834)|data structure >>> updated: $self->request_data->{reservation}{0}{computer}{IPaddress} >>> |16965|20:20|image| computer_ip_address = 127.0.0.1 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:create_mn_os_object(366)|VCL::Module::OS::Linux::ManagementNode >>> OS object created, address: 1b2415c0 >>> 2011-11-01 08:40:51|16965|20:20|image|Module.pm:new(192)|VCL::image >>> object created for state image, address: 1b03b4c0 >>> 2011-11-01 08:40:51|16965|20:20|image|State.pm:initialize(86)|obtained a >>> database handle for this state process, stored as $ENV{dbh} >>> 2011-11-01 08:40:51|16965|20:20|image|State.pm:check_image_os(762)|no >>> corrections need to be made to image OS: vmwarelinux >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:is_parent_reservation(991)|returning >>> true: parent reservation ID for this request: 20 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|utils.pm:rename_vcld_process(7098)|reservation >>> count: 1 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|utils.pm:rename_vcld_process(7117)|PARENTIMAGE: >>> 1 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|utils.pm:rename_vcld_process(7118)|SUBIMAGE: >>> 0 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|utils.pm:rename_vcld_process(7136)|renamed >>> process to 'vcld 20:20 image vm-00>esxiServer01 >>> vmwarelinux-linuximage0128-v0 admin' >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:is_parent_reservation(991)|returning >>> true: parent reservation ID for this request: 20 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:is_parent_reservation(991)|returning >>> true: parent reservation ID for this request: 20 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:create_os_object(298)|VCL::Module::OS::Linux >>> module loaded >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:create_mn_os_object(335)|management >>> node OS object has already been created, address: 1b2415c0, returning 1 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:new(196)|VCL::Module::OS::Linux object >>> created for image vmwarelinux-linuximage0128-v0, address: 1b266810 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:create_os_object(304)|VCL::Module::OS::Linux >>> OS object created for vmwarelinux-linuximage0128-v0, address: 1b266810 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:create_provisioning_object(420)|VCL::Module::Provisioning::VMware::VMware >>> module loaded >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:create_mn_os_object(335)|management >>> node OS object has already been created, address: 1b2415c0, returning 1 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:new(200)|VCL::Module::Provisioning::VMware::VMware >>> object created for computer vm-00, address: 1b2667c0 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|VMware.pm:initialize(230)|initializing >>> VCL::Module::Provisioning::VMware::VMware object >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(613)|computer ID >>> argument was specified, retrieving data for computer ID: 11 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(643)|image ID >>> argument was specified: 4, DataStructure object will contain image >>> information for the production imagerevision of this image >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(660)|retrieved data >>> for imagerevision ID: 4 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(676)|retrieved data >>> for image ID: 4 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|VMware.pm:get_vmhost_datastructure(1190)|created >>> DataStructure object for VM host: esxiServer01 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|VMware.pm:initialize(249)|attempting to create >>> OS object for the image currently loaded on the VM host: esxiServer01 >>> |16965|20:20|image| image name: noimage >>> |16965|20:20|image| OS module: VCL::Module::OS::Linux::UnixLab >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(613)|computer ID >>> argument was specified, retrieving data for computer ID: 11 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(643)|image ID >>> argument was specified: 4, DataStructure object will contain image >>> information for the production imagerevision of this image >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(660)|retrieved data >>> for imagerevision ID: 4 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|DataStructure.pm:_initialize(676)|retrieved data >>> for image ID: 4 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|VMware.pm:get_vmhost_datastructure(1190)|created >>> DataStructure object for VM host: esxiServer01 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|VMware.pm:get_vmhost_os_object(1232)|attempting >>> to load VM host OS module: VCL::Module::OS::Linux::UnixLab >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|VMware.pm:get_vmhost_os_object(1238)|VM host OS >>> module loaded: VCL::Module::OS::Linux::UnixLab >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:create_mn_os_object(335)|management >>> node OS object has already been created, address: 1b2415c0, returning 1 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|Module.pm:new(196)|VCL::Module::OS::Linux::UnixLab >>> object created for image noimage, address: 1b5dc1d0 >>> 2011-11-01 >>> 08:40:51|16965|20:20|image|VMware.pm:get_vmhost_os_object(1244)|VM host OS >>> object created: VCL::Module::OS::Linux::UnixLab >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|OS.pm:is_ssh_responding(405)|esxiServer01 is NOT >>> responding to SSH, SSH command failed, port 22: open, port 24: closed >>> 2011-11-01 08:40:59|16965|20:20|image|VMware.pm:initialize(257)|unable >>> to control OS of VM host esxiServer01 using VCL::Module::OS::Linux::UnixLab >>> OS object because VM host is not responding to SSH >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:_initialize(613)|computer ID >>> argument was specified, retrieving data for computer ID: 11 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:_initialize(643)|image ID >>> argument was specified: 4, DataStructure object will contain image >>> information for the production imagerevision of this image >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:_initialize(660)|retrieved data >>> for imagerevision ID: 4 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:_initialize(676)|retrieved data >>> for image ID: 4 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|VMware.pm:get_vmhost_datastructure(1190)|created >>> DataStructure object for VM host: esxiServer01 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|VMware.pm:get_vmhost_api_object(1293)|attempting >>> to load VMware control module: >>> VCL::Module::Provisioning::VMware::vSphere_SDK >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|VMware.pm:get_vmhost_api_object(1299)|loaded >>> VMware control module: VCL::Module::Provisioning::VMware::vSphere_SDK >>> 2011-11-01 08:40:59|16965|20:20|image|Module.pm:new(172)|set >>> 'vmhost_data' key for VCL::Module::Provisioning::VMware::vSphere_SDK object >>> from arguments >>> 2011-11-01 08:40:59|16965|20:20|image|Module.pm:new(172)|set 'vmhost_os' >>> key for VCL::Module::Provisioning::VMware::vSphere_SDK object from arguments >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|Module.pm:create_mn_os_object(335)|management >>> node OS object has already been created, address: 1b2415c0, returning 1 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|Module.pm:new(200)|VCL::Module::Provisioning::VMware::vSphere_SDK >>> object created for computer vm-00, address: 1b5dc460 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|vSphere_SDK.pm:initialize(1829)|loaded VMware >>> vSphere SDK modules >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|vSphere_SDK.pm:initialize(1871)|attempting to >>> connect to VM host:https://esxiServer01/sdk >>> 2011-11-01 <https://esxiServer01/sdk2011-11-01> >>> 08:40:59|16965|20:20|image|vSphere_SDK.pm:initialize(1883)|unable >>> to connect to VM host using URL:https://esxiServer01/sdk, error: >>> |16965|20:20|image| Server version unavailable at ' >>> https://esxiServer01:443/sdk/vimService.wsdl<https://esxiServer01/sdk/vimService.wsdl>' >>> at /usr/lib/perl5/5.8.8/VMware/VICommon.pm line 545. >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|vSphere_SDK.pm:initialize(1871)|attempting to >>> connect to VM host:https://esxiServer01:8333/sdk >>> 2011-11-01 <https://esxiServer01:8333/sdk2011-11-01> >>> 08:40:59|16965|20:20|image|vSphere_SDK.pm:initialize(1883)|unable >>> to connect to VM host using URL:https://esxiServer01:8333/sdk, error: >>> |16965|20:20|image| Error connecting to server at ' >>> https://esxiServer01:8333/sdk': Connection refused >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|vSphere_SDK.pm:initialize(1896)|unable connect >>> to VM host: esxiServer01 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|VMware.pm:get_vmhost_api_object(1313)|API object >>> could not be created: VCL::Module::Provisioning::VMware::vSphere_SDK >>> |16965|20:20|image| ---- WARNING ---- >>> |16965|20:20|image| 2011-11-01 >>> 08:40:59|16965|20:20|image|VMware.pm:initialize(273)|no methods are >>> available to control VM host esxiServer01, the vSphere SDK cannot be used >>> to control the VM host and the host OS cannot be controlled via SSH >>> |16965|20:20|image| ( 0) VMware.pm, initialize (line: 273) >>> |16965|20:20|image| (-1) Module.pm, new (line: 207) >>> |16965|20:20|image| (-2) Module.pm, create_provisioning_object (line: >>> 423) >>> |16965|20:20|image| (-3) State.pm, initialize (line: 117) >>> |16965|20:20|image| (-4) Module.pm, new (line: 207) >>> |16965|20:20|image| (-5) vcld, make_new_child (line: 564) >>> |16965|20:20|image| ---- WARNING ---- >>> |16965|20:20|image| 2011-11-01 >>> 08:40:59|16965|20:20|image|Module.pm:create_provisioning_object(431)|provisioning >>> object could not be created, returning 0 >>> |16965|20:20|image| ( 0) Module.pm, create_provisioning_object (line: >>> 431) >>> |16965|20:20|image| (-1) State.pm, initialize (line: 117) >>> |16965|20:20|image| (-2) Module.pm, new (line: 207) >>> |16965|20:20|image| (-3) vcld, make_new_child (line: 564) >>> |16965|20:20|image| (-4) vcld, main (line: 346) >>> |16965|20:20|image| ---- WARNING ---- >>> |16965|20:20|image| 2011-11-01 >>> 08:40:59|16965|20:20|image|State.pm:initialize(118)|failed to create >>> provisioning object >>> |16965|20:20|image| ( 0) State.pm, initialize (line: 118) >>> |16965|20:20|image| (-1) Module.pm, new (line: 207) >>> |16965|20:20|image| (-2) vcld, make_new_child (line: 564) >>> |16965|20:20|image| (-3) vcld, main (line: 346) >>> 2011-11-01 08:40:59|16965|20:20|image|State.pm:DESTROY(829)|VCL::image >>> destructor called, address: 1b03b4c0 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|utils.pm:delete_computerloadlog_reservation(6742)|removing >>> computerloadlog entries matching loadstate = begin >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|utils.pm:delete_computerloadlog_reservation(6789)|deleted >>> rows from computerloadlog for reservation id=20 >>> 2011-11-01 08:40:59|16965|20:20|image|State.pm:DESTROY(848)|number of >>> database handles state process created: 1 >>> 2011-11-01 08:40:59|16965|20:20|image|State.pm:DESTROY(876)|VCL::image >>> process duration: 8 seconds >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:get_computer_private_ip_address(1581)|attempting >>> to retrieve private IP address for computer: vm-00 >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:get_computer_private_ip_address(1585)|retrieved >>> contents of /etc/hosts on this management node, contains 7 lines >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:get_computer_private_ip_address(1645)|returning >>> IP address from /etc/hosts file: 192.168.200.15 >>> 2011-11-01 08:40:59|16965|20:20|image|utils.pm:getnewdbh(2703)|unable >>> to use database handle stored in $ENV{dbh} >>> 2011-11-01 08:40:59|16965|20:20|image|utils.pm:getnewdbh(2760)|database >>> handle stored in $ENV{dbh} >>> 2011-11-01 08:40:59|16965|20:20|image|utils.pm:is_inblockrequest(6163)|zero >>> rows were returned from database select >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:get_image_affiliation_name(2035)|image >>> owner id: 1 >>> 2011-11-01 08:40:59|16965|20:20|image|utils.pm:getnewdbh(2709)|database >>> requested (information_schema) does not match handle stored in $ENV{dbh} >>> (vcl:localhost) >>> 2011-11-01 08:40:59|16965|20:20|image|utils.pm:getnewdbh(2760)|database >>> handle stored in $ENV{dbh} >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:retrieve_user_data(1352)|attempting >>> to retrieve and store data for user:user.id = '1' >>> 2011-11-01 08:40:59|16965|20:20|image|utils.pm:getnewdbh(2709)|database >>> requested (vcl) does not match handle stored in $ENV{dbh} >>> (information_schema:localhost) >>> 2011-11-01 08:40:59|16965|20:20|image|utils.pm:getnewdbh(2760)|database >>> handle stored in $ENV{dbh} >>> 2011-11-01 >>> 08:40:59|16965|20:20|image|DataStructure.pm:retrieve_user_data(1415)|data >>> has been retrieved for user: admin (id: 1) >>> >> >> >