github.com/Cloud-Foundations/Dominator@v0.3.4/cmd/hyper-control/registerExternalLeases.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  
     6  	hyperclient "github.com/Cloud-Foundations/Dominator/hypervisor/client"
     7  	"github.com/Cloud-Foundations/Dominator/lib/log"
     8  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     9  )
    10  
    11  func registerExternalLeasesSubcommand(args []string,
    12  	logger log.DebugLogger) error {
    13  	err := registerExternalLeases(logger)
    14  	if err != nil {
    15  		return fmt.Errorf("error registering external leases: %s", err)
    16  	}
    17  	return nil
    18  }
    19  
    20  func registerExternalLeases(logger log.DebugLogger) error {
    21  	clientName := fmt.Sprintf("%s:%d", *hypervisorHostname, *hypervisorPortNum)
    22  	client, err := srpc.DialHTTP("tcp", clientName, 0)
    23  	if err != nil {
    24  		return err
    25  	}
    26  	defer client.Close()
    27  	return hyperclient.RegisterExternalLeases(client, externalLeaseAddresses,
    28  		externalLeaseHostnames)
    29  }