From 104d0db94ec90cfec91aea2f7078f46da6a74961 Mon Sep 17 00:00:00 2001 From: Delyan Raychev Date: Wed, 28 Oct 2020 18:33:23 -0700 Subject: [PATCH 1/3] Adding pkg/announcements --- pkg/announcements/types.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 pkg/announcements/types.go diff --git a/pkg/announcements/types.go b/pkg/announcements/types.go new file mode 100644 index 0000000000..ab496157ec --- /dev/null +++ b/pkg/announcements/types.go @@ -0,0 +1,12 @@ +package announcements + +type AnnouncementType int + +const ( + EndpointDeleted AnnouncementType = iota + 1 +) + +type Announcement struct { + Type AnnouncementType + ReferencedObjectID interface{} +} From f572621cb85e313946f70c8203f04485b2a87de0 Mon Sep 17 00:00:00 2001 From: Delyan Raychev Date: Wed, 28 Oct 2020 18:48:30 -0700 Subject: [PATCH 2/3] MeshCatalog: Add handleAnnouncement() --- pkg/catalog/repeater.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/catalog/repeater.go b/pkg/catalog/repeater.go index 97d0669aaa..968b25bdf5 100644 --- a/pkg/catalog/repeater.go +++ b/pkg/catalog/repeater.go @@ -3,6 +3,8 @@ package catalog import ( "reflect" "time" + + "github.com/openservicemesh/osm/pkg/announcements" ) const ( @@ -17,6 +19,10 @@ func (mc *MeshCatalog) repeater() { cases, caseNames := mc.getCases() for { if chosenIdx, message, ok := reflect.Select(cases); ok { + if ann, ok := message.Interface().(announcements.Announcement); ok { + mc.handleAnnouncement(ann) + } + log.Info().Msgf("[repeater] Received announcement from %s", caseNames[chosenIdx]) delta := time.Since(lastUpdateAt) if delta >= updateAtMostEvery { @@ -28,6 +34,12 @@ func (mc *MeshCatalog) repeater() { } } +func (mc *MeshCatalog) handleAnnouncement(ann announcements.Announcement) { + if ann.Type == announcements.EndpointDeleted { + // TODO: implement (https://github.com/openservicemesh/osm/issues/1719) + } +} + func (mc *MeshCatalog) getCases() ([]reflect.SelectCase, []string) { var caseNames []string var cases []reflect.SelectCase From 3825f23b659e7ac1fac0ec2e0aefb780550966da Mon Sep 17 00:00:00 2001 From: Delyan Raychev Date: Thu, 29 Oct 2020 09:22:25 -0700 Subject: [PATCH 3/3] Add log for announcement handler --- pkg/catalog/repeater.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/catalog/repeater.go b/pkg/catalog/repeater.go index 968b25bdf5..65d8660c94 100644 --- a/pkg/catalog/repeater.go +++ b/pkg/catalog/repeater.go @@ -36,6 +36,7 @@ func (mc *MeshCatalog) repeater() { func (mc *MeshCatalog) handleAnnouncement(ann announcements.Announcement) { if ann.Type == announcements.EndpointDeleted { + log.Trace().Msgf("Handling announcement: %+v", ann) // TODO: implement (https://github.com/openservicemesh/osm/issues/1719) } }