@@ -381,7 +381,57 @@ func (n *network) leaveCluster() error {
381381 return c .agent .networkDB .LeaveNetwork (n .ID ())
382382}
383383
384- func (ep * endpoint ) addToCluster () error {
384+ func (ep * endpoint ) addDriverInfoToCluster () error {
385+ n := ep .getNetwork ()
386+ if ! n .isClusterEligible () {
387+ return nil
388+ }
389+ if ep .joinInfo == nil {
390+ return nil
391+ }
392+
393+ ctrlr := n .ctrlr
394+ ctrlr .Lock ()
395+ agent := ctrlr .agent
396+ ctrlr .Unlock ()
397+ if agent == nil {
398+ return nil
399+ }
400+
401+ for _ , te := range ep .joinInfo .driverTableEntries {
402+ if err := agent .networkDB .CreateEntry (te .tableName , n .ID (), te .key , te .value ); err != nil {
403+ return err
404+ }
405+ }
406+ return nil
407+ }
408+
409+ func (ep * endpoint ) deleteDriverInfoFromCluster () error {
410+ n := ep .getNetwork ()
411+ if ! n .isClusterEligible () {
412+ return nil
413+ }
414+ if ep .joinInfo == nil {
415+ return nil
416+ }
417+
418+ ctrlr := n .ctrlr
419+ ctrlr .Lock ()
420+ agent := ctrlr .agent
421+ ctrlr .Unlock ()
422+ if agent == nil {
423+ return nil
424+ }
425+
426+ for _ , te := range ep .joinInfo .driverTableEntries {
427+ if err := agent .networkDB .DeleteEntry (te .tableName , n .ID (), te .key ); err != nil {
428+ return err
429+ }
430+ }
431+ return nil
432+ }
433+
434+ func (ep * endpoint ) addServiceInfoToCluster () error {
385435 n := ep .getNetwork ()
386436 if ! n .isClusterEligible () {
387437 return nil
@@ -421,16 +471,10 @@ func (ep *endpoint) addToCluster() error {
421471 }
422472 }
423473
424- for _ , te := range ep .joinInfo .driverTableEntries {
425- if err := c .agent .networkDB .CreateEntry (te .tableName , n .ID (), te .key , te .value ); err != nil {
426- return err
427- }
428- }
429-
430474 return nil
431475}
432476
433- func (ep * endpoint ) deleteFromCluster () error {
477+ func (ep * endpoint ) deleteServiceInfoFromCluster () error {
434478 n := ep .getNetwork ()
435479 if ! n .isClusterEligible () {
436480 return nil
@@ -453,17 +497,6 @@ func (ep *endpoint) deleteFromCluster() error {
453497 return err
454498 }
455499 }
456-
457- if ep .joinInfo == nil {
458- return nil
459- }
460-
461- for _ , te := range ep .joinInfo .driverTableEntries {
462- if err := c .agent .networkDB .DeleteEntry (te .tableName , n .ID (), te .key ); err != nil {
463- return err
464- }
465- }
466-
467500 return nil
468501}
469502
0 commit comments