-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Milestone
Description
ISSUE TYPE
- Bug Report
COMPONENT NAME
Redundant VRs
CLOUDSTACK VERSION
4.11.2
CONFIGURATION
Advanced Networking, possibly also VPCs
OS / ENVIRONMENT
N/A
SUMMARY
Redundant VRs provide their services on their own internal IP rather than the Virtual IP. This leads to a number of problems, mostly triggered around VRs failing over after a VM has booted:
- DHCP server is run on VR IP, which means VM cannot renew its IP. Once the renew + expire times run out, the VM attempts to discover a new DHCP server (this causes additional problems with secondary IPs being removed).
- Userdata services only listen on VR IP, so accessing this data requires checking the DHCP lease info to find the VR's IP. If the VR has failed over, userdata cannot be accessed.
- Hairpin static NAT connections appear to come from the VR's IP, and since that can change it may confuse end clients
STEPS TO REPRODUCE
Build a redundant advanced network with guest range 10.1.1.0/24, deploy a Linux VM.
- Observe DHCP server
- Check userdata (curl http://VRIP/latest/instance-id)
- Add a static NAT rule
EXPECTED RESULTS
- DHCP server should be 10.1.1.1
- Userdata should be accessible on http://10.1.1.1
- POSTROUTING rules on nat table should use 10.1.1.1 as the source
ACTUAL RESULTS
- DHCP server is the unique VR IP from the internal range
- Userdata is only accessible at VR's IP, not 10.1.1.1
- POSTROUTING rules on nat table (hairpin nat) use the VR IP
Metadata
Metadata
Assignees
Labels
No labels