From a3423c114202e12262f0896fcee54d5f1b0a585b Mon Sep 17 00:00:00 2001 From: Roman Dodin Date: Fri, 28 Apr 2023 15:06:38 +0300 Subject: [PATCH 1/2] added rn 0.40 --- docs/rn/0.40.md | 15 +++++++++++++++ mkdocs.yml | 1 + 2 files changed, 16 insertions(+) create mode 100644 docs/rn/0.40.md diff --git a/docs/rn/0.40.md b/docs/rn/0.40.md new file mode 100644 index 000000000..57725c692 --- /dev/null +++ b/docs/rn/0.40.md @@ -0,0 +1,15 @@ +# Release 0.40 + +:material-calendar: 2023-04-28 ยท :material-list-status: [Full Changelog](https://github.com/srl-labs/containerlab/releases) + +## IPv4/6 SANs for SR Linux + +In #1345 we added support for IPv4/6 SANs for SR Linux nodes. With this addition, the certificate will contain IPv4/6 addresses assigned by the container runtime as SANs, so TLS connections can be established using these addresses. + +## Miscellaneous + +* SR Linux variants D4 and H4 have been added #1339 +* Deploy command honors Ctrl-C and cleans up interrupted deployment #1340 +* SR Linux agent path can now be a remote HTTP(S) URL #1336 +* Improvements to the license handling process #1330 +* Doc examples updated to comply with changes in SR Linux 23.3.1 #1341 diff --git a/mkdocs.yml b/mkdocs.yml index f49e6dcf0..28d1b6afb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -95,6 +95,7 @@ nav: - 5-stage Clos topology: lab-examples/templated02.md - RARE/freeRtr: lab-examples/rare-freertr.md - Release notes: + - "0.40": rn/0.40.md - "0.39": rn/0.39.md - "0.38": rn/0.38.md - "0.37": rn/0.37.md From 50cd85bde53f282bf1b9c1c1c2e443fe0aca2974 Mon Sep 17 00:00:00 2001 From: Roman Dodin Date: Fri, 28 Apr 2023 15:09:05 +0300 Subject: [PATCH 2/2] format --- clab/config.go | 3 ++- cmd/version.go | 3 ++- nodes/default_node.go | 3 ++- utils/file.go | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/clab/config.go b/clab/config.go index 106aeb863..9ca3b1810 100644 --- a/clab/config.go +++ b/clab/config.go @@ -287,7 +287,8 @@ func (c *CLab) processStartupConfig(nodeCfg *types.NodeConfig) error { log.Debugf("Node %q startup-config is an embedded config: %q", nodeCfg.ShortName, p) // for embedded config we create a file with the name embedded.partial.cfg // as embedded configs are meant to be partial configs - absDestFile := c.TopoPaths.StartupConfigDownloadFileAbsPath(nodeCfg.ShortName, "embedded.partial.cfg") + absDestFile := c.TopoPaths.StartupConfigDownloadFileAbsPath( + nodeCfg.ShortName, "embedded.partial.cfg") err = utils.CreateFile(absDestFile, p) if err != nil { diff --git a/cmd/version.go b/cmd/version.go index ac5322c5c..c12694871 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -64,7 +64,8 @@ func getLatestVersion(ctx context.Context, vc chan string) { // skipcq: RVV-A000 }, } - req, err := http.NewRequestWithContext(ctx, "HEAD", fmt.Sprintf("%s/releases/latest", repoUrl), nil) + req, err := http.NewRequestWithContext(ctx, "HEAD", + fmt.Sprintf("%s/releases/latest", repoUrl), nil) if err != nil { log.Debugf("error occurred during latest version fetch: %v", err) return diff --git a/nodes/default_node.go b/nodes/default_node.go index 392fa1ac6..3c9ab615d 100644 --- a/nodes/default_node.go +++ b/nodes/default_node.go @@ -339,7 +339,8 @@ func (d *DefaultNode) VerifyLicenseFileExists(_ context.Context) error { // license is not required return nil default: - return fmt.Errorf("unknown license policy value %s for node %s kind %s", d.LicensePolicy, d.Config().ShortName, d.Cfg.Kind) + return fmt.Errorf("unknown license policy value %s for node %s kind %s", + d.LicensePolicy, d.Config().ShortName, d.Cfg.Kind) } } // if license is provided check path exists diff --git a/utils/file.go b/utils/file.go index 3a857b4f7..783b32941 100644 --- a/utils/file.go +++ b/utils/file.go @@ -70,7 +70,7 @@ func CopyFile(src, dst string, mode os.FileMode) (err error) { return CopyFileContents(src, dst, mode) } -// IsHttpUri check if the url is a downloadable uri +// IsHttpUri check if the url is a downloadable uri. func IsHttpUri(s string) bool { return strings.HasPrefix(s, "http://") || strings.HasPrefix(s, "https://") }