diff --git a/libnetwork/error.go b/libnetwork/error.go index c0054ce70c..f62ac0caa5 100644 --- a/libnetwork/error.go +++ b/libnetwork/error.go @@ -183,3 +183,11 @@ func (mr ManagerRedirectError) Error() string { // Maskable denotes the type of this error func (mr ManagerRedirectError) Maskable() {} + +// ErrDataStoreNotInitialized is returned if an invalid data scope is passed +// for getting data store +type ErrDataStoreNotInitialized string + +func (dsni ErrDataStoreNotInitialized) Error() string { + return fmt.Sprintf("datastore for scope %q is not initialized", string(dsni)) +} diff --git a/libnetwork/store.go b/libnetwork/store.go index 8df4f6918a..58e1d852f1 100644 --- a/libnetwork/store.go +++ b/libnetwork/store.go @@ -225,7 +225,7 @@ func (n *network) getEndpointsFromStore() ([]*endpoint, error) { func (c *controller) updateToStore(kvObject datastore.KVObject) error { cs := c.getStore(kvObject.DataScope()) if cs == nil { - return fmt.Errorf("datastore for scope %q is not initialized ", kvObject.DataScope()) + return ErrDataStoreNotInitialized(kvObject.DataScope()) } if err := cs.PutObjectAtomic(kvObject); err != nil { @@ -241,7 +241,7 @@ func (c *controller) updateToStore(kvObject datastore.KVObject) error { func (c *controller) deleteFromStore(kvObject datastore.KVObject) error { cs := c.getStore(kvObject.DataScope()) if cs == nil { - return fmt.Errorf("datastore for scope %q is not initialized ", kvObject.DataScope()) + return ErrDataStoreNotInitialized(kvObject.DataScope()) } retry: