Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unregister vl3 NSE on termination #292

Merged
merged 4 commits into from
Feb 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ require (
github.com/edwarnicke/grpcfd v1.1.2
github.com/kelseyhightower/envconfig v1.4.0
github.com/networkservicemesh/api v1.11.2
github.com/networkservicemesh/sdk v1.11.2
github.com/networkservicemesh/sdk-vpp v0.0.0-20240130163336-17d8db6d4c55
github.com/networkservicemesh/sdk v0.5.1-0.20240117140958-90f0c79a1560
github.com/networkservicemesh/sdk-vpp v0.0.0-20240117141838-8364b73cafbd
github.com/networkservicemesh/vpphelper v0.0.0-20240115135903-e2b961f768b6
github.com/pkg/errors v0.9.1
github.com/sirupsen/logrus v1.9.3
Expand Down Expand Up @@ -44,8 +44,8 @@ require (
github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/miekg/dns v1.1.50 // indirect
github.com/networkservicemesh/govpp v0.0.0-20240130152300-43babf54855b // indirect
github.com/networkservicemesh/sdk-kernel v1.11.2 // indirect
github.com/networkservicemesh/govpp v0.0.0-20240115135805-9d7177f85ad9 // indirect
github.com/networkservicemesh/sdk-kernel v0.0.0-20240117141240-f32d767554a6 // indirect
github.com/open-policy-agent/opa v0.44.0 // indirect
github.com/prometheus/client_golang v1.17.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
Expand Down
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,14 @@ github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7Xn
github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721/go.mod h1:Ickgr2WtCLZ2MDGd4Gr0geeCH5HybhRJbonOgQpvSxc=
github.com/networkservicemesh/api v1.11.2 h1:91KPORtfbxuXf67eNZiP2LsNfbDFUa+QckWhSiMDhB8=
github.com/networkservicemesh/api v1.11.2/go.mod h1:E2yBac48+mMkMh6ODnsNyah4EE6rI08SMR9n+86Emxs=
github.com/networkservicemesh/govpp v0.0.0-20240130152300-43babf54855b h1:Pr84jNQUYL48L5Ek8xjLKaIuSnwd5fWiYBlNU03GjhM=
github.com/networkservicemesh/govpp v0.0.0-20240130152300-43babf54855b/go.mod h1:CwikXQ3p/y3j6+HbQQWXKv0f4LPyUd2vKTiViG93qWA=
github.com/networkservicemesh/sdk v1.11.2 h1:HHhA6vjbyVEDffcx2vUuc1/kHqBuTmTJrxbadul9mak=
github.com/networkservicemesh/sdk v1.11.2/go.mod h1:9B6CU54HGgkBQ8d1rQH18HzAMr7kGWNMoYdVARYAkGQ=
github.com/networkservicemesh/sdk-kernel v1.11.2 h1:txgWevJoaBInZC5cYGZVSpltoBrd2wswsidi7h6QDAM=
github.com/networkservicemesh/sdk-kernel v1.11.2/go.mod h1:a1AP3RteVHTQ/+/wSDrzsiEkWecveL8BJBrHMYUozbo=
github.com/networkservicemesh/sdk-vpp v0.0.0-20240130163336-17d8db6d4c55 h1:LSifmTtLFaCP/ex7Dm4qbD5AtyVse9SnFH0RAA4siJc=
github.com/networkservicemesh/sdk-vpp v0.0.0-20240130163336-17d8db6d4c55/go.mod h1:7zuJOXNxIazIHT8nsxXAUytUNEjT/0U+deAH4KL+Rfw=
github.com/networkservicemesh/govpp v0.0.0-20240115135805-9d7177f85ad9 h1:4zO/QJxQDvo/YcRWP8D4XGU8vQCG/Nq8SNlGpBk+4/M=
github.com/networkservicemesh/govpp v0.0.0-20240115135805-9d7177f85ad9/go.mod h1:CwikXQ3p/y3j6+HbQQWXKv0f4LPyUd2vKTiViG93qWA=
github.com/networkservicemesh/sdk v0.5.1-0.20240117140958-90f0c79a1560 h1:8Hl4Rsk/So63EqPs8mY3BmeakRDrPKWHQWH+fWPhPl8=
github.com/networkservicemesh/sdk v0.5.1-0.20240117140958-90f0c79a1560/go.mod h1:rw2ug2AngItEh13ectyCGrxRhGTt/yvJt2SrysoU/Dc=
github.com/networkservicemesh/sdk-kernel v0.0.0-20240117141240-f32d767554a6 h1:LGcwNJs4F47Tv3xYc77ku/rFl7P1mN7DisaS4g2z7zI=
github.com/networkservicemesh/sdk-kernel v0.0.0-20240117141240-f32d767554a6/go.mod h1:gnd8z3H/NxyZvkfCAFAYhUX/wo+rMkJsf/DgQJ+XiGs=
github.com/networkservicemesh/sdk-vpp v0.0.0-20240117141838-8364b73cafbd h1:r7a0s2ublHmLGgf5l6v216nM6Sm1n1K0fJs20h3MK1I=
github.com/networkservicemesh/sdk-vpp v0.0.0-20240117141838-8364b73cafbd/go.mod h1:9CYD/GYhLux3/c2Zt7OiIzdd8pYpbCScSi+S6WRxH/4=
github.com/networkservicemesh/vpphelper v0.0.0-20240115135903-e2b961f768b6 h1:o+enN5yCikNXZN+hO+JjE+aLxBWq9+GMVF9GSQtpwMI=
github.com/networkservicemesh/vpphelper v0.0.0-20240115135903-e2b961f768b6/go.mod h1:n6+8PnoDvWj6WMryfU3J8HOCusgysFjQ0kGLfrcsDEM=
github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8=
Expand Down
14 changes: 12 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2022-2023 Cisco and/or its affiliates.
// Copyright (c) 2022-2024 Cisco and/or its affiliates.
//
// SPDX-License-Identifier: Apache-2.0
//
Expand Down Expand Up @@ -108,6 +108,7 @@ type Config struct {
RequestLabels map[string]string `default:"" desc:"Adds labels to request on requesting vl3 nse" split_words:"true"`
IdleTimeout time.Duration `default:"0" desc:"timeout for automatic shutdown when there were no requests for specified time. Set 0 to disable auto-shutdown." split_words:"true"`
RegisterService bool `default:"true" desc:"if true then registers network service on startup" split_words:"true"`
UnregisterItself bool `default:"true" desc:"if true then NSE unregister itself when it completes working" split_words:"true"`
OpenTelemetryEndpoint string `default:"otel-collector.observability.svc.cluster.local:4317" desc:"OpenTelemetry Collector Endpoint"`
MetricsExportInterval time.Duration `default:"10s" desc:"interval between mertics exports" split_words:"true"`
PrefixServerURL url.URL `default:"vl3-ipam:5006" desc:"URL to VL3 IPAM server" split_words:"true"`
Expand Down Expand Up @@ -469,7 +470,7 @@ func main() {
requestCtx, cancelRequest = context.WithTimeout(signalCtx, config.RequestTimeout)
defer cancelRequest()

conn, err := vl3Client.Request(requestCtx, request)
conn, err = vl3Client.Request(requestCtx, request)
if err != nil {
log.FromContext(ctx).Errorf("request has failed: %v", err.Error())
continue
Expand All @@ -482,6 +483,15 @@ func main() {
}()
}

if config.UnregisterItself {
defer func() {
_, err = nseRegistryClient.Unregister(context.Background(), nseRegistration)
if err != nil {
log.FromContext(ctx).Errorf("nse failed to unregister itself on termination: %s", err.Error())
}
}()
}

// wait for server to exit
<-signalCtx.Done()
closeSubscribedChannels()
Expand Down
Loading