From b82b92684b448d35cf89a690651f30fa43cb5234 Mon Sep 17 00:00:00 2001 From: Paul Lorenz Date: Tue, 27 Jul 2021 12:37:51 -0400 Subject: [PATCH] Rename fabric session to circuit --- controller/handler_edge_ctrl/common.go | 8 +++---- .../handler_edge_ctrl/create_circuit.go | 6 +++--- .../create_tunnel_circuit.go | 6 +++--- controller/internal/routes/session_router.go | 8 +++---- go.mod | 2 +- go.sum | 4 ++-- router/xgress_edge/factory.go | 2 +- router/xgress_edge/listener.go | 2 +- router/xgress_edge/perf_test.go | 10 ++++----- tests/events_test.go | 21 ++++++++++--------- 10 files changed, 35 insertions(+), 34 deletions(-) diff --git a/controller/handler_edge_ctrl/common.go b/controller/handler_edge_ctrl/common.go index 36f081588..07aa10efe 100644 --- a/controller/handler_edge_ctrl/common.go +++ b/controller/handler_edge_ctrl/common.go @@ -450,8 +450,8 @@ func (self *baseSessionRequestContext) updateTerminator(terminator *network.Term } } -func (self *baseSessionRequestContext) createCircuit(terminatorIdentity string, peerData map[uint32][]byte) (*network.Session, map[uint32][]byte) { - var circuit *network.Session +func (self *baseSessionRequestContext) createCircuit(terminatorIdentity string, peerData map[uint32][]byte) (*network.Circuit, map[uint32][]byte) { + var circuit *network.Circuit returnPeerData := map[uint32][]byte{} if self.err == nil { @@ -469,7 +469,7 @@ func (self *baseSessionRequestContext) createCircuit(terminatorIdentity string, n := self.handler.getAppEnv().GetHostController().GetNetwork() var err error - circuit, err = n.CreateSession(self.sourceRouter, clientId, serviceId) + circuit, err = n.CreateCircuit(self.sourceRouter, clientId, serviceId) if err != nil { self.err = internalError(err) } @@ -487,7 +487,7 @@ func (self *baseSessionRequestContext) createCircuit(terminatorIdentity string, if self.service.EncryptionRequired && returnPeerData[edge.PublicKeyHeader] == nil { self.err = encryptionDataMissing("encryption required on service, terminator did not send public header") - if err := n.RemoveSession(circuit.Id, true); err != nil { + if err := n.RemoveCircuit(circuit.Id, true); err != nil { logrus. WithField("operation", self.handler.Label()). WithField("sourceRouter", self.sourceRouter.Id). diff --git a/controller/handler_edge_ctrl/create_circuit.go b/controller/handler_edge_ctrl/create_circuit.go index 63cc6a272..94068751f 100644 --- a/controller/handler_edge_ctrl/create_circuit.go +++ b/controller/handler_edge_ctrl/create_circuit.go @@ -86,7 +86,7 @@ func (self *createCircuitHandler) CreateCircuit(ctx *CreateCircuitRequestContext ctx.checkSessionFingerprints(ctx.req.Fingerprints) ctx.verifyEdgeRouterAccess() ctx.loadService() - sessionInfo, peerData := ctx.createCircuit(ctx.req.TerminatorIdentity, ctx.req.PeerData) + circuitInfo, peerData := ctx.createCircuit(ctx.req.TerminatorIdentity, ctx.req.PeerData) if ctx.err != nil { self.returnError(ctx, ctx.err) @@ -96,8 +96,8 @@ func (self *createCircuitHandler) CreateCircuit(ctx *CreateCircuitRequestContext log := pfxlog.ContextLogger(self.ch.Label()).WithField("token", ctx.req.SessionToken) response := &edge_ctrl_pb.CreateCircuitResponse{ - SessionId: sessionInfo.Id.Token, - Address: sessionInfo.Circuit.IngressId, + SessionId: circuitInfo.Id, + Address: circuitInfo.Path.IngressId, PeerData: peerData, } diff --git a/controller/handler_edge_ctrl/create_tunnel_circuit.go b/controller/handler_edge_ctrl/create_tunnel_circuit.go index 7d4a67057..b6ee943c9 100644 --- a/controller/handler_edge_ctrl/create_tunnel_circuit.go +++ b/controller/handler_edge_ctrl/create_tunnel_circuit.go @@ -91,7 +91,7 @@ func (self *createCircuitForServiceHandler) CreateCircuit(ctx *CreateCircuitForS ctx.loadServiceForName(ctx.req.ServiceName) ctx.ensureSessionForService(ctx.req.SessionId, persistence.SessionTypeDial) ctx.verifyEdgeRouterAccess() - sessionInfo, peerData := ctx.createCircuit(ctx.req.TerminatorIdentity, ctx.req.PeerData) + circuitInfo, peerData := ctx.createCircuit(ctx.req.TerminatorIdentity, ctx.req.PeerData) if ctx.err != nil { self.returnError(ctx, ctx.err) @@ -100,8 +100,8 @@ func (self *createCircuitForServiceHandler) CreateCircuit(ctx *CreateCircuitForS response := &edge_ctrl_pb.CreateCircuitForServiceResponse{ Session: ctx.getCreateSessionResponse(), - CircuitId: sessionInfo.Id.Token, - Address: sessionInfo.Circuit.IngressId, + CircuitId: circuitInfo.Id, + Address: circuitInfo.Path.IngressId, PeerData: peerData, } diff --git a/controller/internal/routes/session_router.go b/controller/internal/routes/session_router.go index 92fdb0362..cd8a1e254 100644 --- a/controller/internal/routes/session_router.go +++ b/controller/internal/routes/session_router.go @@ -134,10 +134,10 @@ func (r *SessionRouter) Create(ae *env.AppEnv, rc *response.RequestContext, para func (r *SessionRouter) DetailRoutePath(ae *env.AppEnv, rc *response.RequestContext, params managementSession.DetailSessionRoutePathParams) { path := []string{} //must be non null - for _, fabricSession := range ae.HostController.GetNetwork().GetAllSessions() { - if fabricSession.ClientId != nil && fabricSession.ClientId.Token == params.ID { - if fabricSession.Circuit != nil { - for _, pathSeg := range fabricSession.Circuit.Path { + for _, circuit := range ae.HostController.GetNetwork().GetAllCircuits() { + if circuit.ClientId == params.ID { + if circuit.Path != nil { + for _, pathSeg := range circuit.Path.Nodes { path = append(path, pathSeg.Id) } break diff --git a/go.mod b/go.mod index c954936dc..f1855b2a0 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( github.com/miekg/dns v1.1.43 github.com/mitchellh/mapstructure v1.4.1 github.com/netfoundry/secretstream v0.1.2 - github.com/openziti/fabric v0.16.83 + github.com/openziti/fabric v0.16.84 github.com/openziti/foundation v0.15.65 github.com/openziti/sdk-golang v0.15.73 github.com/orcaman/concurrent-map v0.0.0-20210106121528-16402b402231 diff --git a/go.sum b/go.sum index d6cf88dbe..31e685d26 100644 --- a/go.sum +++ b/go.sum @@ -578,8 +578,8 @@ github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTm github.com/openziti/bbolt v1.3.6-0.20210317142109-547da822475e h1:ST9+54UtCr96S5+Wa7LQtpGS6/xK7Z+KQXvOAtYgJlA= github.com/openziti/bbolt v1.3.6-0.20210317142109-547da822475e/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= github.com/openziti/dilithium v0.3.3/go.mod h1:vsCjI2AU/hon9e+dLhUFbCNGesJDj2ASgkySOcpmvjo= -github.com/openziti/fabric v0.16.83 h1:k/Spyn/yzyEMb/LyYPp5zRTHT0mj9/YQkEMUvM/xOjw= -github.com/openziti/fabric v0.16.83/go.mod h1:2Y6bOG67R9n9XTvnIFz8A+oc+9pX+h6pDmbDZKot1Hk= +github.com/openziti/fabric v0.16.84 h1:4LthxZk7wrHZ8nO6GesI/d89aLlmfAoZWmNlC+4Fxsg= +github.com/openziti/fabric v0.16.84/go.mod h1:2Y6bOG67R9n9XTvnIFz8A+oc+9pX+h6pDmbDZKot1Hk= github.com/openziti/foundation v0.15.65 h1:s8xOYQ271uN+G+PHWXhZ9jOFoqrkeWyB3fY1uxE/OYA= github.com/openziti/foundation v0.15.65/go.mod h1:ksnMJvct0z7WtQk2fdz00vDUfN4SuDEbxgOvIiHysI8= github.com/openziti/sdk-golang v0.15.73 h1:BouaCcjt8DNibq8wB5fkoSceTk9QqtTyw0h2Snp8oYI= diff --git a/router/xgress_edge/factory.go b/router/xgress_edge/factory.go index c03878ed6..1dc4496ee 100644 --- a/router/xgress_edge/factory.go +++ b/router/xgress_edge/factory.go @@ -225,7 +225,7 @@ func (options *Options) ToLoggableString() string { buf.WriteString(fmt.Sprintf("retxScale=%v\n", options.RetxScale)) buf.WriteString(fmt.Sprintf("retxAddMs=%v\n", options.RetxAddMs)) buf.WriteString(fmt.Sprintf("maxCloseWait=%v\n", options.MaxCloseWait)) - buf.WriteString(fmt.Sprintf("getSessionTimeout=%v\n", options.GetSessionTimeout)) + buf.WriteString(fmt.Sprintf("getCircuitTimeout=%v\n", options.GetCircuitTimeout)) buf.WriteString(fmt.Sprintf("lookupApiSessionTimeout=%v\n", options.lookupApiSessionTimeout)) buf.WriteString(fmt.Sprintf("lookupSessionTimeout=%v\n", options.lookupSessionTimeout)) diff --git a/router/xgress_edge/listener.go b/router/xgress_edge/listener.go index 2d642843c..7d7119db1 100644 --- a/router/xgress_edge/listener.go +++ b/router/xgress_edge/listener.go @@ -153,7 +153,7 @@ func (self *edgeClientConn) processConnect(req *channel2.Message, ch channel2.Ch } response := &edge_ctrl_pb.CreateCircuitResponse{} - timeout := self.listener.options.Options.GetSessionTimeout + timeout := self.listener.options.Options.GetCircuitTimeout responseMsg, err := self.listener.factory.Channel().SendForReply(request, timeout) if err = getResultOrFailure(responseMsg, err, response); err != nil { diff --git a/router/xgress_edge/perf_test.go b/router/xgress_edge/perf_test.go index 6c559cd14..4cb5edeb3 100644 --- a/router/xgress_edge/perf_test.go +++ b/router/xgress_edge/perf_test.go @@ -46,7 +46,7 @@ func (link *mirrorLink) Id() *identity.TokenId { func (link *mirrorLink) SendPayload(payload *xgress.Payload) error { ack := &xgress.Acknowledgement{ Header: xgress.Header{ - SessionId: "test", + CircuitId: "test", Flags: 0, RecvBufferSize: 0, RTT: payload.RTT, @@ -114,7 +114,7 @@ func writePerf(b *testing.B, mux edge.MsgMux) { fwd.RegisterLink(link) fwd.Route(&ctrl_pb.Route{ - SessionId: "test", + CircuitId: "test", Egress: nil, Forwards: []*ctrl_pb.Route_Forward{ {SrcAddress: "test", DstAddress: "router1"}, @@ -127,7 +127,7 @@ func writePerf(b *testing.B, mux edge.MsgMux) { x.AddPeekHandler(metrics2.NewXgressPeekHandler(fwd.MetricsRegistry())) //x.SetCloseHandler(bindHandler.closeHandler) - fwd.RegisterDestination(x.SessionId(), x.Address(), x) + fwd.RegisterDestination(x.CircuitId(), x.Address(), x) x.Start() @@ -184,7 +184,7 @@ func Benchmark_BaselinePerf(b *testing.B) { fwd.RegisterLink(link) fwd.Route(&ctrl_pb.Route{ - SessionId: "test", + CircuitId: "test", Egress: nil, Forwards: []*ctrl_pb.Route_Forward{ {SrcAddress: "test", DstAddress: "router1"}, @@ -197,7 +197,7 @@ func Benchmark_BaselinePerf(b *testing.B) { x.AddPeekHandler(metrics2.NewXgressPeekHandler(fwd.MetricsRegistry())) //x.SetCloseHandler(bindHandler.closeHandler) - fwd.RegisterDestination(x.SessionId(), x.Address(), x) + fwd.RegisterDestination(x.CircuitId(), x.Address(), x) x.Start() diff --git a/tests/events_test.go b/tests/events_test.go index 2abc50a64..22975055e 100644 --- a/tests/events_test.go +++ b/tests/events_test.go @@ -67,7 +67,7 @@ func (self *eventsCollector) AcceptEdgeSessionEvent(event *events2.EdgeSessionEv self.acceptEvent(event) } -func (self *eventsCollector) AcceptSessionEvent(event *events.SessionEvent) { +func (self *eventsCollector) AcceptCircuitEvent(event *events.CircuitEvent) { self.acceptEvent(event) } @@ -86,7 +86,7 @@ func Test_EventsTest(t *testing.T) { usageEventNotify: make(chan struct{}), } - unregisterFabricSessionEventsHandler := events.RegisterSessionEventHandler(ec) + unregisterFabricSessionEventsHandler := events.RegisterCircuitEventHandler(ec) defer unregisterFabricSessionEventsHandler() events2.AddSessionEventHandler(ec) @@ -153,24 +153,25 @@ func Test_EventsTest(t *testing.T) { ctx.Req.Equal(clientIdentity.Id, edgeSession.IdentityId) event = ec.PopNextEvent(ctx) - fabricSession, ok := event.(*events.SessionEvent) + circuitEvent, ok := event.(*events.CircuitEvent) ctx.Req.True(ok) - ctx.Req.Equal("fabric.sessions", fabricSession.Namespace) - ctx.Req.Equal("created", fabricSession.EventType) - ctx.Req.Equal(service.Id, fabricSession.ServiceId) - ctx.Req.Equal(edgeSession.Id, fabricSession.ClientId) + ctx.Req.Equal("fabric.circuits", circuitEvent.Namespace) + ctx.Req.Equal("created", circuitEvent.EventType) + ctx.Req.Equal(service.Id, circuitEvent.ServiceId) + ctx.Req.Equal(edgeSession.Id, circuitEvent.ClientId) for i := 0; i < 3; i++ { event = ec.PopNextEvent(ctx) if usage, ok := event.(*events.UsageEvent); ok { ctx.Req.Equal("fabric.usage", usage.Namespace) - ctx.Req.Equal(fabricSession.SessionId, usage.SessionId) + ctx.Req.Equal(uint32(2), usage.Version) + ctx.Req.Equal(circuitEvent.CircuitId, usage.CircuitId) expected := []string{"usage.ingress.rx", "usage.egress.tx"} ctx.Req.True(stringz.Contains(expected, usage.EventType), "was %v, expected one of %+v", usage.EventType, expected) ctx.Req.Equal(ctx.edgeRouterEntity.id, usage.SourceId) ctx.Req.Equal(uint64(26), usage.Usage) - } else if fabricSession, ok := event.(*events.SessionEvent); ok { - ctx.Req.Equal("fabric.sessions", fabricSession.Namespace) + } else if fabricSession, ok := event.(*events.CircuitEvent); ok { + ctx.Req.Equal("fabric.circuits", fabricSession.Namespace) ctx.Req.Equal("deleted", fabricSession.EventType) ctx.Req.Equal(edgeSession.Id, fabricSession.ClientId) } else {