SmartState Analysis through vSphere (eg. with no connection to host)


#1

Continuing the discussion from SmartState Analysis on Vmware Virtual Machines not working:

Context: I want to manage a VMware vSphere environment that does not allow to connect to ESXi, only vCenter. Thus, I modified scan_via_host to false, to perform SmartState Analysis through vCenter. However, connection to the host still seems to be required.

I have traced down the issue a bit further.

When I launch a SmartState Analysis, at some point in the process, CloudForms tries to connect to host on port 902, even with scan_via_host set to false.

I have found this document https://www.vmware.com/support/developer/vix-api/guestOps50_technote.pdf, that explains that VIX guest operations are meant to be performed via a connection to host on port 902. Until VIX API 5, that folded VIX guest operations into the vSphere API, removing the need to connect to host:902.

It sounds great as it is exactly the behaviour I would expect from scan_via_host: false. Unfortunately, it still tries to connect to host:902.

Thus, I wonder which version is used and if vSphere API supports mounting VM snapshot.


#2

The following pull request make the situation clearer : https://github.com/manageiq/manageiq/pull/283.

Apparently, vCenter returns a handler pointing to the host and then ManageIQ uses this handler to access the snapshoted disk. It seems that bypassing the hosts is not possible at the moment.


#3

This is all true, it only authenticates through vCenter, all the traffic goes directly to/from the host.

We haven’t looked into using the vSphere API to perform VIX operations, but there may be issues in doing that as well - load on the vCenter server, overhead in transferring binary data using a SOAP API, etc.


#4

This kind of feature would be really interesting to address vSphere-as-a-Service providers. Users should be warned of performance considerations. I change the topic to “Development” to continue the discussion. If we could issue a blueprint, it could be good.