Virtual sites have network configurations on a per-machine basis, whereas physical sites have a site-wide network configuration. The siteinfo v1 annotations format only publishes this site-wide network config. Today, the uuid-annotator annotates tests using this site-wide network config, which is not valid for virtual sites and nodes. The only reason it works at all with virtual sites today is because virtual sites currently only have a single node, but this will likely change in the future. v2 of the siteinfo annotations format has a record for every machine, instead of just a record for every site. This PR updates the basic logic of the annotator to use the v2 siteinfo annotations format.
While I was at it, I updated the Go modules, updated Go to v1.17 for all the various build environments, and updated the unit tests to use the new v2 format.
Virtual sites have network configurations on a per-machine basis, whereas physical sites have a site-wide network configuration. The siteinfo v1 annotations format only publishes this site-wide network config. Today, the uuid-annotator annotates tests using this site-wide network config, which is not valid for virtual sites and nodes. The only reason it works at all with virtual sites today is because virtual sites currently only have a single node, but this will likely change in the future. v2 of the siteinfo annotations format has a record for every machine, instead of just a record for every site. This PR updates the basic logic of the annotator to use the v2 siteinfo annotations format.
While I was at it, I updated the Go modules, updated Go to v1.17 for all the various build environments, and updated the unit tests to use the new v2 format.
This change is