github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/fleetmanager/rpcd/getHypervisorForVm.go (about)

     1  package rpcd
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/Cloud-Foundations/Dominator/lib/constants"
     7  	"github.com/Cloud-Foundations/Dominator/lib/errors"
     8  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     9  	proto "github.com/Cloud-Foundations/Dominator/proto/fleetmanager"
    10  )
    11  
    12  func (t *srpcType) GetHypervisorForVM(conn *srpc.Conn,
    13  	request proto.GetHypervisorForVMRequest,
    14  	reply *proto.GetHypervisorForVMResponse) error {
    15  	hypervisor, err := t.hypervisorsManager.GetHypervisorForVm(
    16  		request.IpAddress)
    17  	response := proto.GetHypervisorForVMResponse{
    18  		Error: errors.ErrorToString(err),
    19  	}
    20  	if err == nil {
    21  		response.HypervisorAddress = fmt.Sprintf("%s:%d",
    22  			hypervisor, constants.HypervisorPortNumber)
    23  	}
    24  	*reply = response
    25  	return nil
    26  }