Преглед на файлове

Revert "Add sandbox API for task insertion to service LB and service discovery"

This reverts commit 8298e278be932c651bfd511165ed5f1caedad622.

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
Santhosh Manohar преди 8 години
родител
ревизия
c9bf3b594e
променени са 4 файла, в които са добавени 6 реда и са изтрити 60 реда
  1. 4 19
      libnetwork/endpoint.go
  2. 0 8
      libnetwork/libnetwork_test.go
  3. 2 3
      libnetwork/networkdb/networkdb.go
  4. 0 30
      libnetwork/sandbox.go

+ 4 - 19
libnetwork/endpoint.go

@@ -74,7 +74,6 @@ type endpoint struct {
 	ingressPorts      []*PortConfig
 	dbIndex           uint64
 	dbExists          bool
-	serviceEnabled    bool
 	sync.Mutex
 }
 
@@ -304,24 +303,6 @@ func (ep *endpoint) isAnonymous() bool {
 	return ep.anonymous
 }
 
-// CompareAndSwap ep's serviceEnabled. If its in oldState, set it to newState
-// and return true.  If its not in oldState return false
-func (ep *endpoint) casServiceEnabled(oldState, newState bool) bool {
-	ep.Lock()
-	defer ep.Unlock()
-	if ep.serviceEnabled == oldState {
-		ep.serviceEnabled = newState
-		return true
-	}
-	return false
-}
-
-func (ep *endpoint) setServiceEnabled(state bool) {
-	ep.Lock()
-	defer ep.Unlock()
-	ep.serviceEnabled = state
-}
-
 func (ep *endpoint) needResolver() bool {
 	ep.Lock()
 	defer ep.Unlock()
@@ -519,6 +500,10 @@ func (ep *endpoint) sbJoin(sb *sandbox, options ...EndpointOption) error {
 		return err
 	}
 
+	if e := ep.addToCluster(); e != nil {
+		log.Errorf("Could not update state for endpoint %s into cluster: %v", ep.Name(), e)
+	}
+
 	if sb.needDefaultGW() && sb.getEndpointInGWNetwork() == nil {
 		return sb.setupDefaultGW()
 	}

+ 0 - 8
libnetwork/libnetwork_test.go

@@ -1216,14 +1216,6 @@ func (f *fakeSandbox) Endpoints() []libnetwork.Endpoint {
 	return nil
 }
 
-func (f *fakeSandbox) EnableService() error {
-	return nil
-}
-
-func (f *fakeSandbox) DisableService() error {
-	return nil
-}
-
 func TestExternalKey(t *testing.T) {
 	externalKeyTest(t, false)
 }

+ 2 - 3
libnetwork/networkdb/networkdb.go

@@ -203,10 +203,9 @@ func (nDB *NetworkDB) getEntry(tname, nid, key string) (*entry, error) {
 // table, key) tuple and if the NetworkDB is part of the cluster
 // propogates this event to the cluster. It is an error to create an
 // entry for the same tuple for which there is already an existing
-// entry unless the current entry is deleting state.
+// entry.
 func (nDB *NetworkDB) CreateEntry(tname, nid, key string, value []byte) error {
-	e, _ := nDB.getEntry(tname, nid, key)
-	if e != nil && !e.deleting {
+	if _, err := nDB.GetEntry(tname, nid, key); err == nil {
 		return fmt.Errorf("cannot create entry as the entry in table %s with network id %s and key %s already exists", tname, nid, key)
 	}
 

+ 0 - 30
libnetwork/sandbox.go

@@ -50,12 +50,6 @@ type Sandbox interface {
 	ResolveService(name string) ([]*net.SRV, []net.IP, error)
 	// Endpoints returns all the endpoints connected to the sandbox
 	Endpoints() []Endpoint
-	// EnableService  makes a managed container's service available by adding the
-	// endpoint to the service load balancer and service discovery
-	EnableService() error
-	// DisableService removes a managed contianer's endpoints from the load balancer
-	// and service discovery
-	DisableService() error
 }
 
 // SandboxOption is an option setter function type used to pass various options to
@@ -728,30 +722,6 @@ func (sb *sandbox) SetKey(basePath string) error {
 	return nil
 }
 
-func (sb *sandbox) EnableService() error {
-	for _, ep := range sb.getConnectedEndpoints() {
-		if ep.casServiceEnabled(false, true) {
-			if e := ep.addToCluster(); e != nil {
-				ep.setServiceEnabled(false)
-				return fmt.Errorf("could not update state for endpoint %s into cluster: %v", ep.Name(), e)
-			}
-		}
-	}
-	return nil
-}
-
-func (sb *sandbox) DisableService() error {
-	for _, ep := range sb.getConnectedEndpoints() {
-		if ep.casServiceEnabled(true, false) {
-			if e := ep.deleteFromCluster(); e != nil {
-				ep.setServiceEnabled(true)
-				return fmt.Errorf("could not delete state for endpoint %s from cluster: %v", ep.Name(), e)
-			}
-		}
-	}
-	return nil
-}
-
 func releaseOSSboxResources(osSbox osl.Sandbox, ep *endpoint) {
 	for _, i := range osSbox.Info().Interfaces() {
 		// Only remove the interfaces owned by this endpoint from the sandbox.