diff --git a/pkg/drivers/vmware/config/config.go b/pkg/drivers/vmware/config/config.go index f1f9548..aa38551 100644 --- a/pkg/drivers/vmware/config/config.go +++ b/pkg/drivers/vmware/config/config.go @@ -26,12 +26,13 @@ import ( ) const ( - defaultSSHUser = "docker" - defaultSSHPass = "tcuser" - defaultDiskSize = 20000 - defaultCPU = 1 - defaultMemory = 1024 - defaultWaitIP = 30000 + defaultSSHUser = "docker" + defaultSSHPass = "tcuser" + defaultDiskSize = 20000 + defaultCPU = 1 + defaultMemory = 1024 + defaultWaitIP = 30000 + defaultNetworkType = "nat" ) // Config specifies the configuration of driver VMware @@ -49,17 +50,19 @@ type Config struct { ConfigDriveURL string NoShare bool - WaitIP int + WaitIP int + NetworkType string } // NewConfig creates a new Config func NewConfig(hostname, storePath string) *Config { return &Config{ - CPU: defaultCPU, - Memory: defaultMemory, - DiskSize: defaultDiskSize, - SSHPassword: defaultSSHPass, - WaitIP: defaultWaitIP, + CPU: defaultCPU, + Memory: defaultMemory, + DiskSize: defaultDiskSize, + SSHPassword: defaultSSHPass, + WaitIP: defaultWaitIP, + NetworkType: defaultNetworkType, BaseDriver: &drivers.BaseDriver{ SSHUser: defaultSSHUser, MachineName: hostname, @@ -125,5 +128,11 @@ func (c *Config) GetCreateFlags() []mcnflag.Flag { Usage: "time to wait for vmrun to get an ip (in milliseconds)", Value: defaultWaitIP, }, + mcnflag.StringFlag{ + EnvVar: "VMWARE_NETWORK_TYPE", + Name: "vmware-network-type", + Usage: "Network connection type to use (e.g. 'nat', 'bridged', 'hostonly')", + Value: defaultNetworkType, + }, } } diff --git a/pkg/drivers/vmware/driver.go b/pkg/drivers/vmware/driver.go index 3aea3e5..013d9c0 100644 --- a/pkg/drivers/vmware/driver.go +++ b/pkg/drivers/vmware/driver.go @@ -90,6 +90,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.SSHPort = 22 d.NoShare = flags.Bool("vmware-no-share") d.WaitIP = flags.Int("vmware-wait-ip") + d.NetworkType = flags.String("vmware-network-type") // We support a maximum of 16 cpu to be consistent with Virtual Hardware 10 // specs. diff --git a/pkg/drivers/vmware/vmx.go b/pkg/drivers/vmware/vmx.go index 73677d3..84aad87 100644 --- a/pkg/drivers/vmware/vmx.go +++ b/pkg/drivers/vmware/vmx.go @@ -25,7 +25,7 @@ const vmx = ` config.version = "8" displayName = "{{.MachineName}}" ethernet0.present = "TRUE" -ethernet0.connectionType = "nat" +ethernet0.connectionType = "{{.NetworkType}}" ethernet0.virtualDev = "vmxnet3" ethernet0.wakeOnPcktRcv = "FALSE" ethernet0.addressType = "generated"