MitchellGulledge / Meraki-vWAN

5 stars 4 forks source link

Azure vWAN is not being populated with shared IP when HA is used #26

Open MitchellGulledge opened 3 years ago

MitchellGulledge commented 3 years ago

Currently the vWAN integration is only feeding the uplink IPs of the vMXs instead of the shared IPs. This is also visible in the code here: https://github.com/MitchellGulledge/Meraki-vWAN/blob/master/shared_code/appliance.py

get_wan_links() function on line 46 only takes into account the uplinks IPs rather than the shared IPs.


        '''
        Returns a list of dictionaries which includes information of WAN links
        of the MX setup.
        @rtype:  dict
        @return: Information of WAN links
        '''
        links = {}
        if self.warmspare_enabled:
            public_ips = []
            if self.primary.wan1.public_ip and self.primary.wan1.public_ip not in public_ips:
                links['primary-wan1'] = {
                    'ipaddress': self.primary.wan1.public_ip,

                }
                public_ips.append(self.primary.wan1.public_ip)
            if self.primary.wan2.public_ip and self.primary.wan2.public_ip not in public_ips:
                links['primary-wan2'] = {
                    'ipaddress': self.primary.wan2.public_ip,

                }
                public_ips.append(self.primary.wan2.public_ip)
            if self.secondary.wan1.public_ip and self.secondary.wan1.public_ip not in public_ips:
                links['secondary-wan1'] = {
                    'ipaddress': self.secondary.wan1.public_ip,

                }
                public_ips.append(self.secondary.wan1.public_ip)
            if self.secondary.wan2.public_ip and self.secondary.wan2.public_ip not in public_ips:
                links['secondary-wan2'] = {
                    'ipaddress': self.secondary.wan2.public_ip,

                }
                public_ips.append(self.secondary.wan2.public_ip)
        else:
            links['wan1'] = {
                'ipaddress': self.primary.wan1.public_ip,

            }
            if self.primary.wan2.public_ip and self.primary.wan2.public_ip != self.primary.wan1.public_ip:
                links['wan2'] = {
                    'ipaddress': self.primary.wan2.public_ip,

                }
        return links```
MitchellGulledge commented 3 years ago

A work around is to just use the uplink IPs of the Branch MXs instead of using a VIP. Not ideal but has been confirmed by Meraki customer to resolve the issue.