frapposelli / vagrant-vcloud

Vagrant provider for VMware vCloud Director®
MIT License
67 stars 38 forks source link

Vcloud does not take into account specified network #133

Closed mboulhaj closed 3 years ago

mboulhaj commented 8 years ago

Hi,

I have created a VM (Master) in a Vapp, from which I have created an other Vapp with a new VM (VM1). I'm trying to destroy the last one with the following command line : vagrant destroy. I got this error:

==> VM1: Powering off VM... [vagrant@localhost Vagrant]$ sudo vagrant destroy VM1: Are you sure you want to destroy the 'VM1' VM? [y/N] y ==> VM1: Single VM left in the vApp, Powering off vApp... ==> VM1: Removing NAT rules on [gw-feu-cne00201] for IP [Public_GATEWAY_IP]. /root/.vagrant.d/gems/gems/vagrant-vcloud-0.4.4/lib/vagrant-vcloud/driver/version_5_1.rb:1518:in `get_vapp_edge_public_ip': Invalid request because FenceMode must be natRouted. (VagrantPlugins::VCloud::Driver::InvalidStateError)

Actually, the Vapp is removed but not properly, cause all vagrant command ( vagrant status and vagrant up ) show an error. FYI, I have NATED my VM (Master) to a public IP.

Another issue, even though I have specified the network_name in my Vagrantfile, my VM (VM1) is deployed within a distinct network (Vagrant-vApp-net) I guess it's the default one. you can see my vagrantfile below :

nodes = [ { :hostname => "Centos64", :box => "centos65-x64" , :memory => 512, :cpus => 1,
} ] Vagrant.configure("2") do |config| config.vm.provider :vcloud do |vcloud| vcloud.vapp_prefix = 'Vapp1' vcloud.hostname = 'https://my-cloud.com/' vcloud.username = 'xxxxxxxxx' vcloud.password = 'xxxxxxxx' vcloud.org_name = 'org_name' vcloud.vdc_name = 'vdcName' vcloud.catalog_name = 'My_Catalog' vcloud.network_bridge = true vcloud.vdc_network_name = 'My_Network' vcloud.vdc_edge_gateway= 'gate_way_name' vcloud.vdc_edge_gateway_ip= 'public_ip'

end

nodes.each do |node| config.vm.define node[:hostname] do |node_config| node_config.vm.box = node[:box] node_config.vm.hostname = node[:hostname] node_config.vm.provider :vcloud do |pro| pro.memory = node[:memory] pro.cpus = node[:cpus] end end end end

Please provide my with solutions if there are any. Thanks in advance