-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inaccurate geolocations in Fedora Mirror Manager #7
Comments
I've been working on adding a set of geolocation facts to the host_vars when I touch them. https://github.com/PhirePhly/micromirrors/blob/main/host_vars/b4sh.mm.fcix.net.yaml#L15-L19
The problem is that so many client IPs have the wrong geo data in MaxMind as well, which is why I've been unmotivated to try and fix these. I know Fedora is discussing moving away from MaxMind to a higher quality geoIP database but don't know the intention there.
I'm not aware of a way to do this, so I'm assuming that you mean submitting fixes to MaxMind. Same city is correct enough for me; we're just trying to not offer clients mirrors in another timezone here; not send the servers Christmas cards. |
Mirror Manager doesn't give us a way to set anything more granular than country, which is frankly the level of useful bounding on what MaxMind is ever going to provide. I'm also reasonably sure that MirrorManager ITSELF doesn't have any logic to hand out mirrors based on anything more granular than country code because trying to guess where a client is based on it's incoming IP address, again against MaxMind, isn't going to get you anything closer than "you are in " so there isn't any reason to hand this off. Really the client is the only one who's going to be able to come up with a good idea of what a good path is going to look like for it, and trying to push any of that logic up away from the client to something like Mirror Manager is pointless. Also keeping in mind physical locality != network locality. I'm inclined to close this since there's really nothing for us to do here unless I'm missing something? |
I've added geo information to the host variables for the nodes which you listed as not being able to figure out on your own. f985253 Let us know if you need any other information. |
mirrormanager2, the software that is used for Fedora Mirror Manager, gained the ability to manually specify the geolocation 2 months ago (fedora-infra/mirrormanager2@8438e29). Therefore, I opened this issue. It seems that this version is not used by Fedora Mirror Manager yet. Perhaps this is also a result of a discussions about a better geolocation database provider: Mirror server operators know best where their servers are located. I will submit the corrections to MaxMind. Perhaps they will correct it. If I hear from them or I run into other missing information, I will let you know. Otherwise, I suggest to let this issue dormant until Fedora Mirror Manager has been updated. I'm also aware that “locality != network locality” and that mirrorlist-server uses a simplistic algorithm to determine the best mirror. I'm working on improving this is, even though it's not an easy problem. See for example fedora-infra/mirrormanager2#308. If there is a result that is relevant to Micro Mirrors, I will let you know. |
I was able to clarify with one of the mirrormanager2 maintainers that the latitude and longitude fields are used by a software component that caches this information from MaxMind's GeoIP databases. It cannot be changed by mirror server administrators. Therefore, it is only possible to correct this information in MaxMind's GeoIP databases. So I'm closing this ticket as there is nothing that can be done from the perspective of Micro Mirrors. I opened this ticket due to a misunderstanding of the functionality of mirrormanager2. I have also submitted the corrections to MaxMind and received positive responses. The location of mirror servers should be correct on the map once Fedora uses the newest versions of the databases. I think I made an accidental mistake for southfront.mm.fcix.net and it is only possible to resubmit a correct in two weeks. So it might be possible that the traffic distribution is slightly skewed for a short period of time. I will also double check the coordinates once Fedora has updated its map. However, there is nothing that has to be done from the perspective of this project. |
Great. I do appreciate your effort on the MaxMind side, and finally giving me the kick in the pants to start updating the hosts vars geo information. |
The geolocation of many servers of Micro Mirrors is inaccurate in Fedora Mirror Manager. In several instances it should affect load distribution severely, in particular in the USA.
Fedora Mirror Manager has a public list of its estimates of geolocations of mirror servers. If no latitude and longitude are specified by the mirror server administrator, MaxMind's GeoIP database are used to determine the geolocation. However, I'm not sure whether Fedora uses a version of mirrormanager2 yet that allows mirror server administrator to specify latitude and longitude. For many servers of Micro Mirrors I'm suspecting that their location is determined by MaxMind's GeoIP database because their location is so off.
This is particularly important as geographic proximity is a major factor in the mirror server lists generated by mirrorlist-server.
The following servers are, for example, located in Cheney Reservoir Lake near Wichita in Kansas:
This seems to be in the middle of the USA. As a result, these servers might attract requests from all over the country.
I made a best-effort attempt to find out the location of all server of Micro Mirrors. In many instances PeeringDB entries combined with reverse DNS names and traceroute outputs gave plausible results.
I was not able to accurately determine the location of the following servers yet:
I might put more effort into finding their locations later.
If possible, the locations of the following servers should be changed in Fedora Mirror Manager:
ask4.mm.fcix.net is located in Sheffield instead of Nottingham.
codingflyboy.mm.fcix.net and mirror.fcix.net are located in FMT2 instead of a graveyard in Freemont. However, their location is not that wrong.
Moreover, the location of the following servers is wrong but at least in the same city:
lchs.mm.fcix.net is located by Fedora Mirror Manager in an uninhabited area in Australia. The organization seems to be based in Tasmania, so perhaps the servers are located there. Therefore, I left it out.
For others I did not take notes towards the end.
It it is not possible yet, to make specify the location in Fedora Mirror Manager, I will submit corrections to MaxMind through their form in the hope that their find their way into their database.
It might be useful in the future to have the exact location in host_vars for each host, for example, for automation with Fedora Mirror Manager, GeoDNS or other forms of load distribution that is based on location (not that this is the best idea).
The text was updated successfully, but these errors were encountered: