Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package firectl for openSUSE:Factory checked in at 2023-01-17 17:35:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/firectl (Old) and /work/SRC/openSUSE:Factory/.firectl.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "firectl" Tue Jan 17 17:35:10 2023 rev:3 rq:1058780 version:0.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/firectl/firectl.changes 2022-02-21 17:47:27.091609233 +0100 +++ /work/SRC/openSUSE:Factory/.firectl.new.32243/firectl.changes 2023-01-17 17:35:21.493196545 +0100 @@ -1,0 +2,17 @@ +Thu Dec 22 10:48:38 UTC 2022 - andrea.manz...@suse.com + +- Update to version 0.2.0: + * Upgraded to v1.0.0 of the firecracker-go-sdk + * Added initrd option + * Added read-only option for rootfs + * Added jailer support + * Added option to configure multiple NICs + +- Note - Although still compatible, this release does not provide full feature parity with firecracker v1.0.0. + Majors features that are not included in this release are: + Creating and loading snapshots + Setting drive IO engine type + Pause/Resume VM + MMDS version 2 + +------------------------------------------------------------------- Old: ---- firectl-0.1.50.tar.gz New: ---- firectl-0.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ firectl.spec ++++++ --- /var/tmp/diff_new_pack.3wNdlZ/_old 2023-01-17 17:35:22.181200537 +0100 +++ /var/tmp/diff_new_pack.3wNdlZ/_new 2023-01-17 17:35:22.185200559 +0100 @@ -19,7 +19,7 @@ # Use hardening ldflags. Name: firectl -Version: 0.1.50 +Version: 0.2.0 Release: 0 Summary: Command-line tool to run Firecracker microVMs License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.3wNdlZ/_old 2023-01-17 17:35:22.221200768 +0100 +++ /var/tmp/diff_new_pack.3wNdlZ/_new 2023-01-17 17:35:22.225200791 +0100 @@ -1,9 +1,9 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="url">https://github.com/liayan/firectl.git</param> + <param name="url">https://github.com/firecracker-microvm/firectl.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.1.50</param> + <param name="revision">v0.2.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.3wNdlZ/_old 2023-01-17 17:35:22.249200931 +0100 +++ /var/tmp/diff_new_pack.3wNdlZ/_new 2023-01-17 17:35:22.249200931 +0100 @@ -1,5 +1,8 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/liayan/firectl.git</param> - <param name="changesrevision">5702042fb862533cfd4bd64279d9d7bd7db8c695</param></service></servicedata> + <param name="changesrevision">5702042fb862533cfd4bd64279d9d7bd7db8c695</param></service><service name="tar_scm"> + <param name="url">https://github.com/firecracker-microvm/firectl.git</param> + <param name="changesrevision">7614c6674c633babb058f25d1e8b8c62bf888307</param></service></servicedata> +(No newline at EOF) ++++++ firectl-0.1.50.tar.gz -> firectl-0.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/.github/workflows/go.yml new/firectl-0.2.0/.github/workflows/go.yml --- old/firectl-0.1.50/.github/workflows/go.yml 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/.github/workflows/go.yml 2022-10-13 22:17:36.000000000 +0200 @@ -2,9 +2,9 @@ on: push: - branches: [ master ] + branches: [ main ] pull_request: - branches: [ master ] + branches: [ main ] jobs: build: @@ -22,7 +22,24 @@ go-version: ${{ matrix.go }} - name: Check out code into the Go module directory - uses: actions/checkout@v2 + uses: actions/checkout@v3 + with: + # By default, the checkout action only fetches the last commit, + # but we want to run DCO check against all commit messages. + # Assuming that a pull request may have multiple commits, + # fetching the single commit doesn't work for us. + # + # While DCO check (on Makefile) checks latest 5 commits, + # the checkout action automatically creates a merge commit + # for merging "main" into a pull request branch. + # In addition to that, Git cannot recognize merge commits when + # one of the parents is missing. + # So, we will fetch 15 commits just in case to have + # 5 actual commits with associated merged commits. + fetch-depth: 15 + + - name: Run static analysis + run: make lint - name: Build run: make all diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/.gitignore new/firectl-0.2.0/.gitignore --- old/firectl-0.1.50/.gitignore 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/.gitignore 2022-10-13 22:17:36.000000000 +0200 @@ -1,2 +1,3 @@ +bin/ firectl firectl.sha256 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/.headers/go.txt new/firectl-0.2.0/.headers/go.txt --- old/firectl-0.1.50/.headers/go.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/firectl-0.2.0/.headers/go.txt 2022-10-13 22:17:36.000000000 +0200 @@ -0,0 +1,12 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). You may +// not use this file except in compliance with the License. A copy of the +// License is located at +// +// http://aws.amazon.com/apache2.0/ +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/.headers/makefile.txt new/firectl-0.2.0/.headers/makefile.txt --- old/firectl-0.1.50/.headers/makefile.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/firectl-0.2.0/.headers/makefile.txt 2022-10-13 22:17:36.000000000 +0200 @@ -0,0 +1,12 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You may +# not use this file except in compliance with the License. A copy of the +# License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/CHANGELOG.md new/firectl-0.2.0/CHANGELOG.md --- old/firectl-0.1.50/CHANGELOG.md 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/CHANGELOG.md 2022-10-13 22:17:36.000000000 +0200 @@ -1,3 +1,18 @@ +# 0.2.0 + +* Upgraded to v1.0.0 of the firecracker-go-sdk +* Added initrd option (#84) +* Added read-only option for rootfs (#74) +* Added jailer support (#57) +* Added option to configure multiple NICs (#44) + +*Note* - Although still compatible, this release does not provide full feature parity with firecracker v1.0.0. Majors features that are not included in this release are: + +* Creating and loading snapshots +* Setting drive IO engine type +* Pause/Resume VM +* MMDS version 2 + # 0.1.1 (unreleased) * Add an `install` target to Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/CONTRIBUTING.md new/firectl-0.2.0/CONTRIBUTING.md --- old/firectl-0.1.50/CONTRIBUTING.md 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/CONTRIBUTING.md 2022-10-13 22:17:36.000000000 +0200 @@ -23,7 +23,7 @@ ## Contributing via Pull Requests Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that: -1. You are working against the latest source on the *master* branch. +1. You are working against the latest source on the *main* branch. 2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already. 3. You open an issue to discuss any significant work - we would hate for your time to be wasted. @@ -33,8 +33,9 @@ 2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change. 3. Ensure local tests pass. 4. Commit to your fork using clear commit messages. -5. Send us a pull request, answering any default questions in the pull request interface. -6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. +5. Verify all commit messages include [DCO signature](#sign-your-work) +6. Send us a pull request, answering any default questions in the pull request interface. +7. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and [creating a pull request](https://help.github.com/articles/creating-a-pull-request/). @@ -50,12 +51,67 @@ opensource-codeofcond...@amazon.com with any additional questions or comments. +## Sign your work + +The sign-off is a simple line at the end of the explanation for the patch. Your +signature certifies that you wrote the patch or otherwise have the right to pass +it on as an open-source patch. If you can certify +the below (from [developercertificate.org](http://developercertificate.org/)): + +``` +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +660 York Street, Suite 102, +San Francisco, CA 94110 USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. +``` + +Then you just add a line to every git commit message: + + Signed-off-by: Joe Smith <joe.sm...@email.com> + +Use your real name (sorry, no pseudonyms or anonymous contributions.) + +If you set your `user.name` and `user.email` git configs, you can sign your +commit automatically with `git commit -s`. + + ## Security issue notifications If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue. ## Licensing -See the [LICENSE](https://github.com/firecracker-microvm/firectl/blob/master/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution. +See the [LICENSE](https://github.com/firecracker-microvm/firectl/blob/main/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution. We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/Makefile new/firectl-0.2.0/Makefile --- old/firectl-0.1.50/Makefile 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/Makefile 2022-10-13 22:17:36.000000000 +0200 @@ -1,4 +1,4 @@ -# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may # not use this file except in compliance with the License. A copy of the @@ -12,8 +12,8 @@ # permissions and limitations under the License. SRCFILES := *.go go.sum go.mod -INSTALLROOT ?= /usr/local -BINDIR ?= $(INSTALLROOT)/bin +INSTALLPATH ?= /usr/local/bin +BINPATH:=$(abspath ./bin) all: firectl @@ -31,18 +31,40 @@ endif build-in-docker: - docker run --rm -v $(CURDIR):/firectl --workdir /firectl golang:1.12 make + docker run --rm -v $(CURDIR):/firectl --workdir /firectl golang:1.14 make test: go test -v ./... -lint: - golint $(SRCFILES) +GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) + +$(BINPATH)/ltag: + @if [ $(GO_MINOR_VERSION) -lt 16 ]; then \ + GOBIN=$(BINPATH) GO111MODULE=on go get github.com/kunalkushwaha/ltag@v0.2.3; \ + else \ + GOBIN=$(BINPATH) GO111MODULE=on go install github.com/kunalkushwaha/ltag@v0.2.3; \ + fi + +$(BINPATH)/git-validation: + @if [ $(GO_MINOR_VERSION) -lt 16 ]; then \ + GOBIN=$(BINPATH) GO111MODULE=on go get github.com/vbatts/git-validation@v1.1.0; \ + else \ + GOBIN=$(BINPATH) GO111MODULE=on go install github.com/vbatts/git-validation@v1.1.0; \ + fi + +$(BINPATH)/golangci-lint: + curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(BINPATH) v1.46.2 + $(BINPATH)/golangci-lint --version + +lint: $(BINPATH)/ltag $(BINPATH)/git-validation $(BINPATH)/golangci-lint + $(BINPATH)/ltag -v -t ./.headers -check + $(BINPATH)/git-validation -q -run DCO,short-subject -range HEAD~5..HEAD + $(BINPATH)/golangci-lint run clean: go clean install: - install -o root -g root -m755 firectl $(BINDIR)/ + install -o root -g root -m755 -t $(INSTALLPATH) firectl .PHONY: all clean install build-in-docker test lint release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/NOTICE new/firectl-0.2.0/NOTICE --- old/firectl-0.1.50/NOTICE 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/NOTICE 2022-10-13 22:17:36.000000000 +0200 @@ -1,2 +1,2 @@ Firectl -Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/README.md new/firectl-0.2.0/README.md --- old/firectl-0.1.50/README.md 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/README.md 2022-10-13 22:17:36.000000000 +0200 @@ -13,8 +13,8 @@ The default Makefile rule executes `go build` and relies on the Go toolchain installed on your computer. -_We use [go modules](https://github.com/golang/go/wiki/Modules), so you need to -build with Go 1.11 or newer._ +_We use [go modules](https://github.com/golang/go/wiki/Modules), and building +requires Go 1.14 or newer._ If you do not have a new-enough Go toolchain installed, you can use `make build-in-docker`. This rule creates a temporary Docker container which builds @@ -46,7 +46,7 @@ --vmm-log-fifo= FIFO for firecracker logs --log-level= vmm log level (default: Debug) --metrics-fifo= FIFO for firecracker metrics - -t, --disable-hyperthreading Disable CPU Hyperthreading + -t, --disable-smt Disable CPU Simultaneous Multithreading -c, --ncpus= Number of CPUs (default: 1) --cpu-template= Firecracker CPU Template (C3 or T2) -m, --memory= VM memory, in MiB (default: 512) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/errors.go new/firectl-0.2.0/errors.go --- old/firectl-0.1.50/errors.go 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/errors.go 2022-10-13 22:17:36.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may // not use this file except in compliance with the License. A copy of the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/go.mod new/firectl-0.2.0/go.mod --- old/firectl-0.1.50/go.mod 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/go.mod 2022-10-13 22:17:36.000000000 +0200 @@ -3,10 +3,9 @@ go 1.14 require ( - github.com/firecracker-microvm/firecracker-go-sdk v0.22.1-0.20220214213810-2380785d98b7 + github.com/firecracker-microvm/firecracker-go-sdk v1.0.0 github.com/go-openapi/strfmt v0.21.2 github.com/jessevdk/go-flags v1.5.0 - github.com/pkg/errors v0.9.1 github.com/sirupsen/logrus v1.8.1 github.com/tidwall/pretty v1.0.1 // indirect ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/go.sum new/firectl-0.2.0/go.sum --- old/firectl-0.1.50/go.sum 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/go.sum 2022-10-13 22:17:36.000000000 +0200 @@ -77,6 +77,8 @@ github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -252,6 +254,8 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/firecracker-microvm/firecracker-go-sdk v0.22.1-0.20220214213810-2380785d98b7 h1:qbS7P1pKuEszDq9ht4E6KqPcl6dbueZdWIXJjfpNTf8= github.com/firecracker-microvm/firecracker-go-sdk v0.22.1-0.20220214213810-2380785d98b7/go.mod h1:rxTSXup+QDUKci0+VkR+hdYLp2e88r+6en8P+1EsfRA= +github.com/firecracker-microvm/firecracker-go-sdk v1.0.0 h1:HTnxnX9pvQkQOHjv+TppzUyi2BNFL/7aegSlqIK/usY= +github.com/firecracker-microvm/firecracker-go-sdk v1.0.0/go.mod h1:iXd7gqdwzvhB4VbNVMb70g/IY04fOuQbbBGM+PQEkgo= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -284,6 +288,8 @@ github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= github.com/go-openapi/analysis v0.20.1 h1:zdVbw8yoD4SWZeq+cWdGgquaB0W4VrsJvDJHJND/Ktc= github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= +github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= @@ -320,6 +326,8 @@ github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68= github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws= +github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= @@ -328,6 +336,8 @@ github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= github.com/go-openapi/runtime v0.21.1 h1:/KIG00BzA2x2HRStX2tnhbqbQdPcFlkgsYCiNY20FZs= github.com/go-openapi/runtime v0.21.1/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= +github.com/go-openapi/runtime v0.24.0 h1:vTgDijpGLCgJOJTdAp5kG+O+nRsVCbH417YQ3O0iZo0= +github.com/go-openapi/runtime v0.24.0/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= @@ -375,9 +385,16 @@ github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw= github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-openapi/validate v0.22.0 h1:b0QecH6VslW/TxtpKgzpO1SNG7GU2FsaqKdP1E2T50Y= +github.com/go-openapi/validate v0.22.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-ping/ping v0.0.0-20211130115550-779d1e919534 h1:dhy9OQKGBh4zVXbjwbxxHjRxMJtLXj3zfgpBYQaR4Q4= +github.com/go-ping/ping v0.0.0-20211130115550-779d1e919534/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= @@ -556,6 +573,8 @@ github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= @@ -568,6 +587,7 @@ github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mdlayher/socket v0.2.0/go.mod h1:QLlNPkFR88mRUNQIzRBMfXxwKal8H7u1h3bL1CV+f0E= github.com/mdlayher/vsock v1.1.0/go.mod h1:nsVhPsVuBBwAKh6i6PzdNoke6/TNYTjkxoRKAp/+pXs= +github.com/mdlayher/vsock v1.1.1/go.mod h1:Y43jzcy7KM3QB+/FK15pfqGxDMCMzUXWegEfIbSM18U= github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -577,6 +597,8 @@ github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= @@ -731,6 +753,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -739,6 +762,9 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -797,6 +823,8 @@ go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= go.mongodb.org/mongo-driver v1.7.5 h1:ny3p0reEpgsR2cfA5cjgwFZg3Cv/ofFh/8jbhGtz9VI= go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -823,7 +851,10 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -894,8 +925,10 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -913,6 +946,7 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -978,6 +1012,7 @@ golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -988,7 +1023,9 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a h1:ppl5mZgokTT8uPkmYOyEUmPTr3ypaKkg5eFOGrAmxxE= golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1154,6 +1191,8 @@ gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/main.go new/firectl-0.2.0/main.go --- old/firectl-0.1.50/main.go 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/main.go 2022-10-13 22:17:36.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may // not use this file except in compliance with the License. A copy of the @@ -134,10 +134,16 @@ if err := m.Start(vmmCtx); err != nil { return fmt.Errorf("Failed to start machine: %v", err) } - defer m.StopVMM() + defer func() { + if err := m.StopVMM(); err != nil { + log.Errorf("An error occurred while stopping Firecracker VMM: %v", err) + } + }() if opts.validMetadata != nil { - m.SetMetadata(vmmCtx, opts.validMetadata) + if err := m.SetMetadata(vmmCtx, opts.validMetadata); err != nil { + log.Errorf("An error occurred while setting Firecracker VM metadata: %v", err) + } } installSignalHandlers(vmmCtx, m) @@ -162,10 +168,14 @@ switch s := <-c; { case s == syscall.SIGTERM || s == os.Interrupt: log.Printf("Caught signal: %s, requesting clean shutdown", s.String()) - m.Shutdown(ctx) + if err := m.Shutdown(ctx); err != nil { + log.Errorf("An error occurred while shutting down Firecracker VM: %v", err) + } case s == syscall.SIGQUIT: log.Printf("Caught signal: %s, forcing shutdown", s.String()) - m.StopVMM() + if err := m.StopVMM(); err != nil { + log.Errorf("An error occurred while stopping Firecracker VMM: %v", err) + } } } }() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/main_test.go new/firectl-0.2.0/main_test.go --- old/firectl-0.1.50/main_test.go 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/main_test.go 2022-10-13 22:17:36.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may // not use this file except in compliance with the License. A copy of the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/options.go new/firectl-0.2.0/options.go --- old/firectl-0.1.50/options.go 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/options.go 2022-10-13 22:17:36.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may // not use this file except in compliance with the License. A copy of the @@ -26,7 +26,6 @@ firecracker "github.com/firecracker-microvm/firecracker-go-sdk" models "github.com/firecracker-microvm/firecracker-go-sdk/client/models" - "github.com/pkg/errors" log "github.com/sirupsen/logrus" ) @@ -40,6 +39,7 @@ FcBinary string `long:"firecracker-binary" description:"Path to firecracker binary"` FcKernelImage string `long:"kernel" description:"Path to the kernel image" default:"./vmlinux"` FcKernelCmdLine string `long:"kernel-opts" description:"Kernel commandline" default:"ro console=ttyS0 noapic reboot=k panic=1 pci=off nomodules"` + FcInitrd string `long:"initrd-path" description:"Path to initrd"` FcRootDrivePath string `long:"root-drive" description:"Path to root disk image"` FcRootPartUUID string `long:"root-partition" description:"Root partition UUID"` FcAdditionalDrives []string `long:"add-drive" description:"Path to additional drive, suffixed with :ro or :rw, can be specified multiple times"` @@ -80,8 +80,7 @@ // validate metadata json if opts.FcMetadata != "" { if err := json.Unmarshal([]byte(opts.FcMetadata), &opts.validMetadata); err != nil { - return firecracker.Config{}, - errors.Wrap(err, errInvalidMetadata.Error()) + return firecracker.Config{}, fmt.Errorf("%s: %v", errInvalidMetadata.Error(), err) } } //setup NICs @@ -146,6 +145,7 @@ FifoLogWriter: fifo, KernelImagePath: opts.FcKernelImage, KernelArgs: opts.FcKernelCmdLine, + InitrdPath: opts.FcInitrd, Drives: blockDevices, NetworkInterfaces: NICs, VsockDevices: vsocks, @@ -224,7 +224,7 @@ generateMetricFifoFilename = true } if fifo, err = opts.createFifoFileLogs(opts.FcFifoLogFile); err != nil { - return nil, errors.Wrap(err, errUnableToCreateFifoLogFile.Error()) + return nil, fmt.Errorf("%s: %v", errUnableToCreateFifoLogFile.Error(), err) } opts.addCloser(func() error { return fifo.Close() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/options_test.go new/firectl-0.2.0/options_test.go --- old/firectl-0.1.50/options_test.go 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/options_test.go 2022-10-13 22:17:36.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may // not use this file except in compliance with the License. A copy of the @@ -110,7 +110,7 @@ outConfig: firecracker.Config{ SocketPath: "/some/path/here", Drives: []models.Drive{ - models.Drive{ + { DriveID: firecracker.String("1"), PathOnHost: firecracker.String(""), IsRootDevice: firecracker.Bool(true), @@ -135,7 +135,7 @@ outConfig: firecracker.Config{ SocketPath: "valid/path", Drives: []models.Drive{ - models.Drive{ + { DriveID: firecracker.String("1"), PathOnHost: firecracker.String(""), IsRootDevice: firecracker.Bool(true), @@ -352,7 +352,7 @@ name: "valid input", in: []string{"a:3"}, outDevices: []firecracker.VsockDevice{ - firecracker.VsockDevice{ + { Path: "a", CID: uint32(3), }, @@ -560,7 +560,7 @@ return e == nil, nil }, expectedNic: []firecracker.NetworkInterface{ - firecracker.NetworkInterface{ + { StaticConfiguration: &firecracker.StaticNetworkConfiguration{ MacAddress: "things", HostDevName: "valid", @@ -578,7 +578,7 @@ return e == nil, nil }, expectedNic: []firecracker.NetworkInterface{ - firecracker.NetworkInterface{ + { StaticConfiguration: &firecracker.StaticNetworkConfiguration{ MacAddress: "things", HostDevName: "valid", @@ -596,14 +596,14 @@ return e == nil, nil }, expectedNic: []firecracker.NetworkInterface{ - firecracker.NetworkInterface{ + { StaticConfiguration: &firecracker.StaticNetworkConfiguration{ MacAddress: "things", HostDevName: "valid", }, AllowMMDS: false, }, - firecracker.NetworkInterface{ + { StaticConfiguration: &firecracker.StaticNetworkConfiguration{ MacAddress: "morethings", HostDevName: "morevalid", @@ -664,13 +664,13 @@ return e == nil, nil }, expectedDrives: []models.Drive{ - models.Drive{ + { DriveID: firecracker.String("2"), PathOnHost: firecracker.String(tempFile.Name()), IsReadOnly: firecracker.Bool(true), IsRootDevice: firecracker.Bool(false), }, - models.Drive{ + { DriveID: firecracker.String("1"), PathOnHost: firecracker.String(tempFile.Name()), IsRootDevice: firecracker.Bool(true), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/firectl-0.1.50/version.go new/firectl-0.2.0/version.go --- old/firectl-0.1.50/version.go 2022-02-18 16:38:40.000000000 +0100 +++ new/firectl-0.2.0/version.go 2022-10-13 22:17:36.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may // not use this file except in compliance with the License. A copy of the @@ -13,9 +13,8 @@ package main -// Version represents the major, minor, and patch version of -// FireCTL. -const Version = "0.1.0" +// Version represents the major, minor, and patch version of FireCTL. +const Version = "0.2.0" -// SupportedFirecrackerVersion is the firecracker version that the sdk -const SupportedFirecrackerVersion = "0.19.0" +// SupportedFirecrackerVersion is the firecracker version that the sdk supports +const SupportedFirecrackerVersion = "1.0.0" ++++++ vendor.tar.gz ++++++ ++++ 5134 lines of diff (skipped)