Hyper-v is integrated into openstack via the hyper-v wmi interface.The hyper-v wmi interfaces is invoked in the same way as the code in this link shows: https://github.com/openstack/os-win/blob/master/os_win/utils/baseutils.py
97 vs_man_svc = self._compat_conn.Msvm_VirtualSystemManagementService()[0]
Msvm_VirtualSystemManagementService is a hyper-v wmi classes:https://msdn.microsoft.com/en-us/library/cc136940(v=vs.85).aspx.
The question is that the above example is implemented in python, how does the golang do this?
WMI is a part of Windows APIs, available through the COM[+] layer, so there's no real difference in which language you're accessing WMI, provided that language has a way to access COM[+].
Still, there's a dedicated package to deal with WMI for Go: github.com/StackExchange/wmi
.
So, after having that package installed, you have a task of discerning calls to WMI subsystem from the Python code and reimplementing those in terms of that package.
Oh, and studying the results of this search should mostly have you up to speed with this stuff.