[libvirt-users] ESX access using libvirt

Jonathan Kelley jkelley at vm-labs.com
Thu Mar 4 21:04:38 UTC 2010


Brilliant! I was not building with ESX support.

Thanks.

On Thu, Mar 4, 2010 at 2:31 PM, Matthias Bolte <
matthias.bolte at googlemail.com> wrote:

> 2010/3/4 Jonathan Kelley <jkelley at vm-labs.com>:
> > I must be missing something here so I don't need to install anything but
> > using esx requires what looks like TLS configured along with libvirtd
> > running on ESX.
> > When I do esx:// I get the following:
> > 14:07:44.736: debug : virConnectOpenAuth:1355 :
> name=esx://test?no_verify=1,
> > auth=0x7f4512a6e5a0, flags=0
> > 14:07:44.736: debug : do_open:1110 : name "esx://test?no_verify=1" to URI
> > components:
> >   scheme esx
> >   opaque (null)
> >   authority (null)
> >   server test
> >   user (null)
> >   port 0
> >   path ?no_verify=1
>
> Your libxml2 version expects a / before the query parameters. you
> should use esx://test/?no_verify=1 as URI.
>
> > 14:07:44.736: debug : do_open:1120 : trying driver 0 (Test) ...
> > 14:07:44.736: debug : do_open:1126 : driver 0 Test returned DECLINED
> > 14:07:44.736: debug : do_open:1120 : trying driver 1 (OPENVZ) ...
> > 14:07:44.736: debug : do_open:1126 : driver 1 OPENVZ returned DECLINED
> > 14:07:44.736: debug : do_open:1120 : trying driver 2 (VBOX) ...
> > 14:07:44.736: debug : do_open:1126 : driver 2 VBOX returned DECLINED
>
> Here libvirt should probe the ESX driver, but it doesn't, and because
> no driver accepted the URI until here libvirt probes the remote
> driver. The remote driver then tries to connect to a libvirtd on the
> ESX server but fails.
>
> Sorry, I should have spotted this problem in your previous mail.
>
> > 14:07:44.736: debug : do_open:1120 : trying driver 3 (remote) ...
> > 14:07:44.736: debug : doRemoteOpen:564 : proceeding with name =
> > esx://%3Fno_verify=1
> > 14:07:44.737: debug : initialise_gnutls:1143 : loading CA file
> > /apps/etc/pki/CA/cacert.pem
> > 14:07:44.737: debug : initialise_gnutls:1156 : loading client cert and
> key
> > from files /apps/etc/pki/libvirt/clientcert.pem and
> > /apps/etc/pki/libvirt/private/clientkey.pem
> > 14:07:44.739: error : doRemoteOpen:644 : unable to connect to libvirtd at
> > 'test': Connection refused
> > 14:07:44.739: debug : do_open:1126 : driver 3 remote returned ERROR
> > 14:07:44.739: debug : virUnrefConnect:259 : unref connection 0x1f3bd10 1
> > 14:07:44.739: debug : virReleaseConnect:216 : release connection
> 0x1f3bd10
> > -Jon
>
> The problems here is that your libvirt doesn't have ESX support
> enabled. The ESX driver requires libcurl 7.18.0 or newer. The
> configure script tests if libcurl is available and disables ESX
> support if it's missing. Check the summary at the end of the configure
> script output and make sure it says 'ESX: yes'.
>
> The libvirt error reporting in the case of known but disabled drivers
> is not so useful. You're not the first one that struggles with this
> problem. I've a half finished patch lying around that addresses this
> problem and improves the error reporting in this situation.
>
> Matthias
>
> > On Thu, Mar 4, 2010 at 1:54 PM, Matthias Bolte
> > <matthias.bolte at googlemail.com> wrote:
> >>
> >> Ah, don't use esx+ssh://, just use esx://
> >>
> >> The scheme format <driver>+<transport>:// implies that you want to use
> >> the libvirt remote mechanisms via the libvirt daemon (libvirtd) or the
> >> server side, but the ESX driver doesn't use this. It directly connects
> >> to the ESX server using HTTPS.
> >>
> >> You do not need to have or install netcat on the ESX server, as said
> >> before an out-of-the-box ESX installation is sufficient.
> >>
> >> Matthias
> >>
> >> 2010/3/4 Jonathan Kelley <jkelley at vm-labs.com>:
> >> > I built it from the 0.7.6 sources but it still shows me that it is
> >> > running
> >> > the 'nc' command on the ESX server (which does not exist). Is netcat
> >> > required to be on ESX?
> >> >
> >> > 13:24:26.765: debug : do_open:1110 : name "esx+ssh://test" to URI
> >> > components:
> >> >  scheme esx+ssh
> >> >  opaque (null)
> >> >  authority (null)
> >> >  server test
> >> >  user (null)
> >> >  port 0
> >> >  path
> >> >
> >> > 13:24:26.765: debug : do_open:1120 : trying driver 0 (Test) ...
> >> > 13:24:26.765: debug : do_open:1126 : driver 0 Test returned DECLINED
> >> > 13:24:26.765: debug : do_open:1120 : trying driver 1 (OPENVZ) ...
> >> > 13:24:26.765: debug : do_open:1126 : driver 1 OPENVZ returned DECLINED
> >> > 13:24:26.765: debug : do_open:1120 : trying driver 2 (VBOX) ...
> >> > 13:24:26.765: debug : do_open:1126 : driver 2 VBOX returned DECLINED
> >> > 13:24:26.765: debug : do_open:1120 : trying driver 3 (remote) ...
> >> > 13:24:26.765: debug : doRemoteOpen:564 : proceeding with name = esx://
> >> > 13:24:26.765: debug : virExecWithHook:640 : ssh test nc -U
> >> > /apps/var/run/libvirt/libvirt-sock
> >> > 13:24:26.769: debug : remoteIO:8429 : Do proc=66 serial=0 length=28
> >> > wait=(nil)
> >> > 13:24:26.769: debug : remoteIO:8491 : We have the buck 66
> 0x7fc565c4b010
> >> > 0x7fc565c4b010
> >> > 13:24:31.384: error : remoteIOReadBuffer:7707 : server closed
> connection
> >> > 13:24:31.384: debug : remoteIOEventLoop:8376 : Giving up the buck due
> to
> >> > I/O
> >> > error 66 0x7fc565c4b010 (nil)
> >> > 13:24:31.384: debug : do_open:1126 : driver 3 remote returned ERROR
> >> > 13:24:31.384: debug : virUnrefConnect:259 : unref connection 0x1146d20
> 1
> >> > 13:24:31.384: debug : virReleaseConnect:216 : release connection
> >> > 0x1146d20
> >> >
> >> >
> >> > Thanks,
> >> > Jon
> >> >
> >> > On Thu, Mar 4, 2010 at 12:26 PM, Matthias Bolte
> >> > <matthias.bolte at googlemail.com> wrote:
> >> >> 2010/3/4 Jonathan Kelley <jkelley at vm-labs.com>:
> >> >>> Hello,
> >> >>>
> >> >>> I am trying to access an ESXi host using libvirt but it seems that
> it
> >> >>> requires netcat to be running on the ESX server.
> >> >>>
> >> >>> My ESX 4 does not have this installed and I am wondering if this is
> >> >>> required or is there some other way to get this working?
> >> >>>
> >> >>> Thanks,
> >> >>> Jon
> >> >>>
> >> >>
> >> >> No, you do not have to install anything on the ESX or ESXi server.
> >> >> libvirt works with an out-of-the-box installation of ESX.
> >> >>
> >> >> Make sure your libvirt version is new enough (0.7.0 or newer) and
> that
> >> >> the ESX support is enabled. For example if you've installed libvirt
> >> >> from Debian packages then you'll need to build libvirt from source,
> >> >> because Debian explicitly disables ESX support in their packages for
> >> >> some unknown reason.
> >> >>
> >> >> See http://libvirt.org/drvesx.html if you haven't yet.
> >> >>
> >> >> Matthias
> >> >>
> >> >
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20100304/85904981/attachment.htm>


More information about the libvirt-users mailing list