Implement GetCapabilities on IPAM interface to eliminate warning message
This commit is contained in:
1 parent
53cc270f47
commit
090878c157
2 files changed
+24
No files matched your search
@@ -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
|
||||
|
||||
@@ -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{
|
||||
|
||||
Reference in new issue
Block a user