Uploaded image for project: 'VCL'
  1. VCL
  2. VCL-499

support for controlling VMware vCenter infrastructure through the vSphere SDK

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 2.3
    • vcld (backend)
    • None
    • VMware vCenter infrastructure

    Description

      The VCL's vSphere SDK module supports direct communication with ESX hosts, but not with the vCenter. This is relevant for VMware clusters with distributed resource scheduling enabled.

      I have written a module as a subclass of the vSphere_SDK package, which I have called vCenter.pm. This works with version 2.2.1. We use this in the VCL implementation at Amherst College. The vCenter module makes two primary changes in how the vSphere_SDK package works. First, it reimplements any call to VIExt::get_host_view(), which does not work in the context of a vCenter. And secondly, moving and copying a virtual disk by means of the VirtualDiskManager does not work with a vCenter connection, so these functions had to be manually implemented using a FileManager object.

      In addition to the vCenter package, there is a VMware::Cluster module that redefines the value of $VCL::Module::Provisioning::VMware::VMware::VSPHERE_SDK_PACKAGE. This is a subclass of the VMware package and is the package referenced in the VCL's "module" table.

      For our implementation, I also added a 'datacenter' value to vcld.conf which provides the name of the datacenter.

      The corresponding changes in utils.pm are here:

      223d222
      < $DATACENTER
      264d262
      < our ($DATACENTER) = 0;
      434,437d431
      < #Datacenter name
      < if ($l =~ /datacenter=([-a-zA-Z0-9]+)/)

      { < $DATACENTER = $1; < }

      (It would be more elegant to add a field to the database for this, as it corresponds to the entry in vmprofile, but this was simpler to implement)

      The VMware::Cluster and VMware::vCenter modules are attached to this issue as files.

      Attachments

        1. Cluster.pm
          1 kB
          Andrew Kurth
        2. vCenter.pm
          38 kB
          Andrew Kurth
        3. vCenter.pm
          39 kB
          Aaron Coburn

        Activity

          People

            acoburn Aaron Coburn
            acoburn Aaron Coburn
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: