Machine: vmwarevsphere driver: --vmwarevsphere-hostsystem with wildcard doesn't work

Created on 21 Jan 2016  Â·  20Comments  Â·  Source: docker/machine

Hello,

as @doxxx previously mentioned here: https://github.com/docker/machine/pull/1522#issuecomment-126779331

I am also not able to get the

 --vmwarevsphere-hostsystem <cluster>/* 

option to work . My cluster name is "home" is this example

Error creating machine: Error with pre-create check: path 'home/*' resolves to multiple hosts

If I put a hostname instead of the wildcard it works fine.

Any idea what could be wrong?

drivevmwarevsphere

Most helpful comment

I have the same issue. The DRS is enabled and I can not deploy to cluster, because i get the following error:

_Error with pre-create check: "path 'MY_CLUSTER/*' resolves to multiple hosts"_

Is there a fix or workaround for this ?

All 20 comments

I've got a similar problem. Our cluster name has a space in the name but when specifying

--vmwarevsphere-hostsystem='VMware Cluster/*'

I get back an error that

Error creating machine: Invalid hostname specified. Allowed hostname chars are: 0-9a-zA-Z . -

cc @frapposelli

@lesaux can you please try with a version compiled from HEAD? this PR should've fixed this behavior https://github.com/docker/machine/pull/2933

I just compiled from master and I still see the same issue:

./bin/docker-machine-Darwin-x86_64 create -d vmwarevsphere --vmwarevsphere-vcenter 192.168.0.200 --vmwarevsphere-username root --vmwarevsphere-password redacted --vmwarevsphere-hostsystem home/* --vmwarevsphere-datacenter datacenter --vmwarevsphere-datastore mydatastore --vmwarevsphere-network "VM Network" docker-host2
Running pre-create checks...
Error with pre-create check: "path 'home/*' resolves to multiple hosts"

If I use

--vmwarevsphere-hostsystem home/esx-node1

it works fine.

I found someone else mentioning this issue here: http://virtualoutlands.blogspot.ca/2016/02/docker-machine-and-vmware-vsphere.html

@lesaux interesting, can you check if your home cluster has DRS activated?

@frapposelli yes indeed, I have DRS enabled. I am almost positive that a long while ago I could use docker-machine with my vsphere and DRS. Let me see If I can test an older docker-machine version and get back to you.

Also, maybe I didn't build docker from head?? Frankly I wasn't sure exactly how to build from source, and couldn't put my hands on any documentation - so this is what I did:
I checked out the docker-machine repo in my $gopath and ran

USE_CONTAINER=true make build-x

@frapposelli so I tried an older docker-machine version, the oldest one I could find in the github releases:

./docker-machine -v
docker-machine version 0.5.2 ( 0456b9f )

This version uses govc and different syntax for vmwarevsphere parameters.
I am able to use the "--vmwarevsphere-pool" with the name of my DRS cluster like so:

./docker-machine create -d vmwarevsphere --vmwarevsphere-vcenter 192.168.0.200 --vmwarevsphere-network "VM Network" --vmwarevsphere-datacenter datacenter --vmwarevsphere-datastore mydatastore --vmwarevsphere-username root --vmwarevsphere-password redacted --vmwarevsphere-pool home docker-host2

let me know what you think!

I have the same issue. The DRS is enabled and I can not deploy to cluster, because i get the following error:

_Error with pre-create check: "path 'MY_CLUSTER/*' resolves to multiple hosts"_

Is there a fix or workaround for this ?

I'm seeing the same issue as well. DRS is enabled. Deploying to a single host like "CLUSTER/HOST" works fine.

Thanks.

I always hate to chime in with a "me too"

  • this is a 4 node vSphere cluster
  • DRS is enabled
  • 3 datacenters on a single vSphere instance
  • initially saw this problem within Rancher (Add Host, using vSphere/vmware driver) but then did the final testing with docker-machine directly and saw the errors.
  • works with ClusterName/esxi-hostname as an argument to --vmwarevsphere-hostsystem
Running pre-create checks...
Error with pre-create check: "path 'XLT-Cluster01/*' resolves to multiple hosts"

This results from this command:

docker-machine create -d vmwarevsphere --vmwarevsphere-boot2docker-url http://redacted-server/boot2docker/boot2docker.iso --vmwarevsphere-cpu-count 2 --vmwarevsphere-datacenter ADS --vmwarevsphere-datastore vmware_vol0 --vmwarevsphere-disk-size 20000 --vmwarevsphere-hostsystem 'XLT-Cluster01/*' --vmwarevsphere-memory-size 2048 --vmwarevsphere-network 'VM Network' --vmwarevsphere-password redacted --vmwarevsphere-pool NO_BACKUP_ADS --vmwarevsphere-username redacted_user --vmwarevsphere-vcenter vsphere-server-address.redacted --vmwarevsphere-vcenter-port 443 rnd-rancher-d01

and I'm running version
root@server:/usr/local/bin# docker-machine -v docker-machine version 0.7.0, build a650a40

Another "me too" -- 3 node cluster, DRS enabled. docker-machine 0.7.0 build a650a40. There is a similar/identical issue with datastores and SDRS; I cannot specify just an SDRS cluster but must specify the specific datastore within the cluster.

Anything in the pipeline to address these issues?

And yet again, me too :)

For me as well

➜  ~ docker-machine version
docker-machine version 0.8.2, build e18a919
➜  ~ docker-machine create -d vmwarevsphere node-01
Running pre-create checks...
Error with pre-create check: "path 'nl/' resolves to multiple hosts"
export VSPHERE_DATACENTER=Amsterdam
export VSPHERE_DATASTORE=TIER4
export VSPHERE_POOL="4. Test Pool"
export VSPHERE_NETWORK="Dev-Linux"
export VSPHERE_HOSTSYSTEM=nl/*
➜  ~ govc ls /Amsterdam/host/nl
/Amsterdam/host/nl/Resources
/Amsterdam/host/nl/esx-01.nl.exness.local
/Amsterdam/host/nl/esx-04.nl.exness.local
/Amsterdam/host/nl/esx-05.nl.exness.local
/Amsterdam/host/nl/esx-03.nl.exness.local
/Amsterdam/host/nl/esx-02.nl.exness.local
➜  ~ govc about
Name:         VMware vCenter Server
Vendor:       VMware, Inc.
Version:      6.0.0
Build:        3018524
OS type:      win32-x64
API type:     VirtualCenter
API version:  6.0
Product ID:   vpx
UUID:         6df8c003-0655-4954-b61d-de3ab0bbe336
Name:                Amsterdam
  Hosts:             12
  Clusters:          3
  Virtual Machines:  11
  Networks:          24
  Datastores:        20

Is this fixed? I got the same error just now, my docker-machine should be almost the most recently stable release:
docker-machine version 0.9.0, build 15fd4c7

Solution! (Example with Data from boskiv above)

Use:
--vmwarevsphere-hostsystem /Amsterdam/host/nl/esx-01.nl.exness.local --vmwarevsphere-datacenter Amsterdam

@brockz, that is not a "solution". The issue is that we want to let DRS decide what host to put the VM on -- your "solution" still has you specifying the host in the command. The same goes for multiple datastores in an SDRS cluster.

I have de same problem an I'm using
docker-machine version 0.10.0, build 76ed2a6
I agree with @alandsidel, the purpose of the wildcard is to leave it up to the cluster to determine best server to start on. Also if you move/retire one nod it should not affect the command.

Any updates on this? I have reproduced this issue as well -

docker-machine -v
docker-machine version 0.10.0, build 76ed2a6

docker-machine create \
--driver vmwarevsphere \
--vmwarevsphere-network='NETWORK' \
--vmwarevsphere-username='USER@DOMAIN' \
--vmwarevsphere-password='PASSWORD' \
--vmwarevsphere-vcenter='VCSAHOST' \
--vmwarevsphere-datastore='DATASTORE' \
--vmwarevsphere-datacenter='DATACENTER' \
--vmwarevsphere-pool='POOL' \
--vmwarevsphere-hostsystem='Test Cluster/*' \
testdockermachine

Running pre-create checks...
Error with pre-create check: "path 'Test Cluster/*' resolves to multiple hosts"

Hi

same here....

This behavior happening with the datastore parameter too when DRS is activated.
The last release (version 0.11.0, build 5b27455) doesn't solve those behaviours

 Error with pre-create check: "path 'Shared Storages/HDD/*' resolves to multiple datastores"
 Error with pre-create check: "path 'Cluster1/*' resolves to multiple hosts"

If i use the parameter "--vmwarevsphere-pool" with the Cluster name instead "--vmwarevsphere-hostsystem"

Error with pre-create check: "default host resolves to multiple instances, please specify"

Best regards,

Same 'resolves to multiple hosts' error for me too. Im on build 0.10.0 76ed2a6.

Was this page helpful?
0 / 5 - 0 ratings