How would you like to proceed with your vCenter modules now that
you're a committer? You can make the initial commit if you're
comfortable with it. If not, I now have access to a vCenter license
and can incorporate it into the current code in trunk and make the
initial commit. There have been some minor changes to vSphere.pm so
some changes may be necessary.
On Fri, Aug 19, 2011 at 10:01 AM, Aaron Coburn <acob...@amherst.edu> wrote:
> Hi, Andy,
> thanks for the details on where the VMware module is headed. I am interested
> in becoming a committer for the project, though having my institution sign
> off on the Apache license will require a bit of, shall we say, process. I'll
> be in touch about that, though.
> On Aug 17, 2011, at 8:52 PM, Andy Kurth wrote:
>> This is wonderful. Thank You. I will try to incorporate it over the
>> next few weeks. For anyone interested, the Jira issue is:
>> Also, I committed your improvements in VCL-470 and VCL-471 on 8/4.
>> I'd suggest working off of trunk in Subversion and svn updating it
>> regularly if you aren't already doing so. I've made some changes to
>> the VMware code over the past few weeks. The vSphere.pm module has
>> been improved to execute much faster. Rather than calling the VMware
>> API every time something such as a datastore object is needed, it is
>> only called once per object and this reference is then stored in the
>> vSphere.pm object for later use. It will probably be easier to
>> incorporate your changes because of this. All calls to get_host_view
>> are funneled through a single subroutine.
>> Also, the method of handling vmdk's has changed after being inspired
>> by ideas shared by Dr. Masoud Sadjadi from Florida International
>> University at the VCL bootcamp last month. Josh Thompson did some
>> research and then I incorporated the findings. It is no longer
>> necessary to create an entire copy of the vmdk for imaging and
>> long-term reservations. All VMs are now configured to use the vmdk in
>> persistent mode instead of independent-persistent or
>> independent-nonpersistent mode. Before a VM is powered on a snapshot
>> is now taken. This causes the VM to write changes to a delta file in
>> the directory where the vmx is located and the master/golden vmdk
>> isn't altered. If the snapshot fails for some reason, the VM is
>> immediately deleted to prevent the possibility of it being powered on
>> and altering the master image.
>> The benefits are:
>> -Full copies of the vmdk don't need to be made when a VM is loaded
>> -Load time for imaging and long-term reservations is ~1-3 minutes
>> -Load on the storage system is reduced
>> -Storage consumption is reduced
>> -Normal, short-term VMs can be shut down without losing the state
>> -Images can be created from normal reservations
>> For imaging reservations, the path within the vmx file is
>> automatically changed when the snapshot is created to a file within
>> the vmx directory. Running vmkfstools or calling the vSphere SDK to
>> copy/move this vmdk causes a new, complete vmdk to be created
>> containing the master image with the delta changed incorporated.
>> The code to create a full independent-persistent copy is still intact.
>> This mode is currently only used if a reservation is a server request
>> -- a major new feature in VCL 2.3. There is supposed to be a slight
>> performance benefit of using this mode so I want to keep it as an
>> Thanks for your contributions. Would you be interested in becoming a
>> committer to the project?
>> On Tue, Aug 16, 2011 at 1:04 PM, Aaron Coburn <acob...@amherst.edu> wrote:
>>> In our VCL implementation at Amherst College, we are using a VMware cluster
>>> for our virtual machine infrastructure. Because we wanted to allow VMs to
>>> float between physical hosts according to how VMware prefers to balance
>>> resource use (VMware calls this distributed resource scheduling), I wanted
>>> to access the cluster as a single datacenter through the vCenter interface.
>>> From VCL's perspective, this allows me to put all of my virtual computers
>>> on a single VM Host, when in reality each of those VMs is located on one of
>>> any number of physical machines that the VCL can remain blithely ignorant
>>> The vSphere_SDK package, however, requires that vcld access a physical host
>>> directly, so I wrote a new provisioning module called VMware::vCenter. This
>>> module is a subclass of the vSphere_SDK package and works with version
>>> 2.2.1 of the VCL. The new module reimplements the vSphere_SDK subroutines
>>> that are incompatible with a datacenter-based connection, primarily
>>> anything that calls the VIExt::get_host_view() method or tries to copy or
>>> move virtual disks to new locations. There are a few other changes that are
>>> explained in the JIRA issue I created for this. I have included the
>>> relevant code in JIRA, but let me know if there is anything else I should
>>> do to help this along.
>>> Best regards,
>>> Aaron Coburn
>>> Systems Administrator and Programmer
>>> Academic Technology Services, Amherst College
>>> (413) 542-5451 acob...@amherst.edu