Implement GetCapabilities on IPAM interface to eliminate warning message

This commit is contained in:
Bryan Boreham committed 2017-04-12 10:19:06 +00:00
1 parent 53cc270f47
commit 090878c157
2 files changed
+24

No files matched your search

+5
View File
@@ -19,6 +19,11 @@ func NewIpam(weave *api.Client) *Ipam {
return &Ipam{weave: weave}
}
func (i *Ipam) GetCapabilities() (RequiresMACAddress bool, RequiresRequestReplay bool, err error) {
i.logReq("GetCapabilities")
return false, false, nil
}
func (i *Ipam) GetDefaultAddressSpaces() (string, string, error) {
i.logReq("GetDefaultAddressSpaces")
return "weavelocal", "weaveglobal", nil
+19
View File
@@ -33,6 +33,10 @@ type Driver interface {
DiscoverDelete(delete *api.DiscoveryNotification) error
}
type IpamCapability interface {
GetCapabilities() (RequiresMACAddress bool, RequiresRequestReplay bool, err error)
}
type listener struct {
d Driver
i ipamapi.Ipam
@@ -65,6 +69,7 @@ func Listen(socket net.Listener, driver Driver, ipamDriver ipamapi.Ipam) error {
}
if ipamDriver != nil {
handleMethod(ipamReceiver, "GetCapabilities", listener.getIpamCapabilities)
handleMethod(ipamReceiver, "GetDefaultAddressSpaces", listener.getDefaultAddressSpaces)
handleMethod(ipamReceiver, "RequestPool", listener.requestPool)
handleMethod(ipamReceiver, "ReleasePool", listener.releasePool)
@@ -216,6 +221,20 @@ func (listener *listener) discoverDelete(w http.ResponseWriter, r *http.Request)
// ===
func (listener *listener) getIpamCapabilities(w http.ResponseWriter, r *http.Request) {
c, ok := listener.i.(IpamCapability)
if !ok {
http.NotFound(w, r)
return
}
requiresMACAddress, requiresRequestReplay, err := c.GetCapabilities()
response := &ipamapi.Capability{
RequiresMACAddress: requiresMACAddress,
RequiresRequestReplay: requiresRequestReplay,
}
objectOrErrorResponse(w, response, err)
}
func (listener *listener) getDefaultAddressSpaces(w http.ResponseWriter, r *http.Request) {
local, global, err := listener.i.GetDefaultAddressSpaces()
response := &iapi.GetAddressSpacesResponse{