Vmware - Not able to fetch userdata from guest Vms using http://<router-address>/latest/user-data
(cherry picked from commit 697cc2e397)
Signed-off-by: animesh <animesh@apache.org>
Libvirt reports:
org.libvirt.LibvirtException: Storage volume not found: no storage vol
with matching name
in some cases, if the volume is created on one kvm host, while accessed
from other host.
It's possible due to concurrent access(read/write) storage.
The current fix is to try serveral times, and wait for 30 seconds for
each retry.
If the issue still there, then need to sync the storage pool access
affinity groups as admin. There are few reason why this needs to be changed and
the reasons are as mentioned below
1. we usually create an account for each test and we run the test as the newly
created account and not as admin.
2. tests were failing during deployVirtualMachine step when they are run as
admin and if anyone during these tests create an additional isolated networks
as admin account .
(P.S: current deployVirtualMachine in the scripts is not taking the networkId
and hence it fails when there are multiple isolated networks because it doesn't
know which one to pick)
Signed-off-by: venkataswamybabu budumuru <venkataswamybabu.budumuru@citrix.com>
affinity groups as admin. There are few reason why this needs to be changed and
the reasons are as mentioned below
1. we usually create an account for each test and we run the test as the newly
created account and not as admin.
2. tests were failing during deployVirtualMachine step when they are run as
admin and if anyone during these tests create an additional isolated networks
as admin account .
(P.S: current deployVirtualMachine in the scripts is not taking the networkId
and hence it fails when there are multiple isolated networks because it doesn't
know which one to pick)
Signed-off-by: venkataswamybabu budumuru <venkataswamybabu.budumuru@citrix.com>
During host connect multiple listeners gets invoked, one of them is the download listener.
As part of processConnect() method, it checks if templates needs to be downloaded to secondary
store for a particular HV type. As part of that check it computes list of HVs present in the
zone. The earlier logic was to query all hosts (excluding current one) and iterate over them to
make the list. This is not optimal and is bound to have some latency as the number of hosts
increases.
Optimized the logic by querying the list of HVs from the db. directly instead of iterating over
all hosts in the zone.
- Pass in config and determine the mgmtsvr credentials
- remove the dir_paths param which is not reqd.
- pass all entities as uuids and convert to ids within the method
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 02e7630f1c)
Shared network has to have specifyVlan = True. So changed it to True
and aded a function to get free vlan.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
dnsmasq.conf need to contain /etc/dhcpopts.txt from the beginning, otherwise
SIGHUP won't make dnsmasq reload the dhcpopts.txt, thus result in multiple nics
user VM get router information from all DHCP offers.
Seems the behavior of ifdown/ifup changed in new version, that it would only
enable the default IP of eth2, regardless we can configure additional ips for
it. So we would always use ifconfig for interface control whenever
possible(a.k.a eth2 already got ip addresses).
When VR is booting up, ipassoc command hasn't been delivered, it's possible that
eth2 doesn't have any ip address, then ifconfig would fail because it doesn't
know how to find the ip for eth2. So in this only case, we would use ifdown/ifup
to set the ip address according to /etc/network/interfaces.
It can potentially racy againest ipassoc command, but biglock should prevent
racy condition from happening.