github.com/Cloud-Foundations/Dominator@v0.3.4/hypervisor/rpcd/destroyVm.go (about)

     1  package rpcd
     2  
     3  import (
     4  	"github.com/Cloud-Foundations/Dominator/lib/errors"
     5  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     6  	"github.com/Cloud-Foundations/Dominator/proto/hypervisor"
     7  )
     8  
     9  func (t *srpcType) DestroyVm(conn *srpc.Conn,
    10  	request hypervisor.DestroyVmRequest,
    11  	reply *hypervisor.DestroyVmResponse) error {
    12  	authInfo := conn.GetAuthInformation()
    13  	t.logger.Debugf(1, "DestroyVm(%s) starting, IP=%s\n",
    14  		authInfo.Username, request.IpAddress)
    15  	err := t.manager.DestroyVm(request.IpAddress, authInfo, request.AccessToken)
    16  	if err == nil {
    17  		t.logger.Debugf(1, "DestroyVm(%s) finished, IP=%s\n",
    18  			authInfo.Username, request.IpAddress)
    19  	} else {
    20  		t.logger.Debugf(1, "DestroyVm(%s) failed, IP=%s, error: %s\n",
    21  			authInfo.Username, request.IpAddress, err)
    22  	}
    23  	response := hypervisor.DestroyVmResponse{errors.ErrorToString(err)}
    24  	*reply = response
    25  	return nil
    26  }