14995 Commits

Author SHA1 Message Date
ecd245d8fd Unit tests for pkg/specgenutil pkg/signal
Add some lightweight unit tests to the arsenal.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2022-04-25 14:48:39 -05:00
c5e48f12ec Cirrus: Re-fix build-cache miss on main
After merging #13998 it was observed that the `docker-py` task was still
failing with the same error on `main`.  The original quick-fix had
placed the full-build (`make`) call too late in the process.  This
commit moves it up to right before the `make install` call which was
resulting in an error.

Again, a further future commit is planned to re-work and simplify the
entire cache setup.  This is only a quick fix to make branch-builds
pass.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-25 15:33:11 -04:00
eb4e53087e Revert "Cirrus: Fix cirrus cache race on bin/podman"
This reverts commit 2f53259a8d5cd8022e797ea22a354a63bef1803a.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-25 15:31:36 -04:00
181c9d3ee3 Merge pull request #13990 from rhatdan/build
Pass --tls-verify option in podman -remote build
2022-04-25 15:24:17 -04:00
b0d36f6351 Implements Windows volume/mount support
Based on WSL2 9p support: remaps windows paths to /mnt/<drive> locations for
both podman and Docker API clients.

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-04-25 13:52:27 -05:00
3b6ffcd290 Update to use new common machine API
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-04-25 13:52:27 -05:00
d441a711e5 machine starting status
podman machine was using the file modification time to get the running status
add three new config entries Starting (bool) Created (time) LastUp (time) to actually
keep track of when these events happened. This means we can use the config file
to actually store this data and not mess up the created/last-up time.

This fixes the issues where the machine would report running 15 seconds before it was up.
Also fixes the issue of modifying the file manually and saying the machine is "up"

[NO NEW TESTS NEEDED]

resolves #13711

Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
2022-04-25 14:14:45 -04:00
833456e079 Add podman machine test suite
This PR introduces a test suite for podman machine.  It can currently be
run on developers' local machines and is not part of the official CI
testing; however, the expectation is that any work on machine should
come with an accompanying test.

At present, the test must be run on Linux.  It is untested on Darwin.
There is no Makefile target for the test.  It can be run like `ginkgo -v
pkg/machine/test/.`.  It should be run as a unprivileged user.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2022-04-25 13:05:35 -05:00
6984a0f357 Merge pull request #13999 from Luap99/go1.18-deprecated
[CI:DOCS] fix staticcheck linter warning for deprecated function
2022-04-25 13:52:15 -04:00
3d1e406081 Pass --tls-verify option in podman -remote build
Fixes: https://github.com/containers/podman/issues/13979

[NO NEW TESTS NEEDED] Buildah has a test for this.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-04-25 13:47:11 -04:00
09ef4f2e22 Merge pull request #13978 from Luap99/unparam
enable unparam linter
2022-04-25 13:43:57 -04:00
23d2bf5188 Merge pull request #13998 from cevich/fix_docker-py_test
Cirrus: Fix cirrus cache race on bin/podman
2022-04-25 13:40:01 -04:00
a775e77cba Merge pull request #13995 from ashley-cui/revrootful
Rootfull -> Rootful
2022-04-25 13:37:59 -04:00
62f4ae98fb fix staticcheck linter warning for deprecated function
go1.18 deprecates `strings.Title()`. However for our use case this is
still fine. The recommended replacement is adding about 400kb binary
size so lets keep using this for now.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-25 18:55:28 +02:00
a615cb2fe2 Docs rootfull -> rootful
Some docs say roofull. Change to rootful.

[NO NEW TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-04-25 11:53:57 -04:00
2f53259a8d Cirrus: Fix cirrus cache race on bin/podman
A suspected race on uploading gopath cache is causing the docker-py (and
possibly other) tasks to fail unpredictably with an error from `make`
regarding missing `bin/podman`.  Since this failure is affecting all
development activity, apply a quick/dirty fix to the failing task, by
simply rebuilding the binary.  A more comprehensive/long-term fix will
be worked in a future PR.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-25 11:30:14 -04:00
9784d97bd6 Merge pull request #13993 from aonoa/main
Modify the pod name suffix '_pod' to '-pod'
2022-04-25 09:37:05 -04:00
a9f8fb9cea Merge pull request #13981 from rhatdan/volume
Add support for passing --volumepath
2022-04-25 09:35:03 -04:00
1260bf631f Revert "Switch all rootful to rootfull"
This reverts commit cc3790f332d989440eb1720e24e3619fc97c74ee.

We can't change rootful to rootfull because `rootful` is written into the machine config. Changing this will break json unmarshalling, which will break existing machines.

[NO NEW TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-04-25 09:14:04 -04:00
c7b16645af enable unparam linter
The unparam linter is useful to detect unused function parameters and
return values.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-25 13:23:20 +02:00
94d043be8c Modify the pod name suffix '_pod' to '-pod'
Signed-off-by: aonoa <1991849113@qq.com>
2022-04-25 15:47:24 +08:00
ba6356280a Merge pull request #13988 from rhatdan/apiv2
Allow filtering of "removing", it is a valid status
2022-04-25 03:38:03 -04:00
0d83f4b768 Allow filtering of "removing", it is a valid status
Do not use a list of statuses outside of libpod to validate container
statuses.  Removing status was never added to the list.

Fixes: https://github.com/containers/podman/issues/13986

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-04-24 06:07:10 -04:00
13079abe3f Add support for passing --volumepath
Fixes: https://github.com/containers/podman/issues/13860

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-04-23 08:03:36 -04:00
f65f3320e1 Merge pull request #13980 from lsm5/switch-sha256
libpod/networking_linux.go: switch to sha256 hash generation
2022-04-23 06:56:00 -04:00
2df9bdc009 Merge pull request #13973 from Luap99/linter-revive
replace golint with revive linter
2022-04-23 06:32:41 -04:00
31231ffd74 Merge pull request #13959 from cevich/fix_apiv2
Fix hang in apiv2 test_connect
2022-04-23 06:22:26 -04:00
44642bee87 libpod/networking_linux.go: switch to sha256 hashes
SHA-1 is prone to collisions.

This will likely break connectivity between old containers started
before update and containers started after update. It will also fail to
cleanup old netns. A reboot will fix this, so a reboot is recommended
after update.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-04-22 16:31:43 -04:00
ad249222d2 Fix hang in test_connect
Starting the podman service in debug-mode causes aardvark to run in
debug mode.  This does unexpected things with file-descriptors leading
to a test-hang.  Thanks to @Luap99 for the fix.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-22 16:16:32 -04:00
cafb76b635 Increase verbosity and sequencing of APIv2 testing
The default verbosity level does not show the classes or function names.
This makes it difficult to debug problems like hangs.  Also, separate
the bats and python-based tests into two sections.  This allows for
easier debugging, since isolation can be done in `runner.sh` rather than
mucking with the `Makefile`.  Lastly, update the logformatter script
to `autoflush stdout` (thanks @edsantiago).

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-22 16:16:17 -04:00
1a768dbc08 Merge pull request #13976 from rhatdan/rootless
Update test to run network check in both rootless and rootfull mode
2022-04-22 11:05:36 -04:00
9168faffbf Merge pull request #13975 from containers/dependabot/go_modules/github.com/fsnotify/fsnotify-1.5.3
Bump github.com/fsnotify/fsnotify from 1.5.2 to 1.5.3
2022-04-22 10:49:34 -04:00
c17c72772d Merge pull request #13974 from containers/dependabot/go_modules/github.com/container-orchestrated-devices/container-device-interface-0.4.0
Bump github.com/container-orchestrated-devices/container-device-interface from 0.3.2 to 0.4.0
2022-04-22 10:47:32 -04:00
5b4af0584d replace golint with revive linter
golint, scopelint and interfacer are deprecated. golint is replaced by
revive. This linter is better because it will also check for our error
style: `error strings should not be capitalized or end with punctuation or a newline`

scopelint is replaced by exportloopref (already endabled)
interfacer has no replacement but I do not think this linter is
important.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 15:12:33 +02:00
454468e034 Update test to run network check in both rootless and rootfull mode
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-04-22 09:02:05 -04:00
ad3da638ce Merge pull request #13918 from Luap99/hosts
use etchosts package from c/common
2022-04-22 08:50:32 -04:00
1bafde2d22 Merge pull request #13881 from rhatdan/userns
Add support for --userns=nomap
2022-04-22 08:40:34 -04:00
22500d797a Merge pull request #13972 from Luap99/staticcheck
enable staticcheck linter
2022-04-22 08:26:31 -04:00
3e240c3ae0 Bump github.com/fsnotify/fsnotify from 1.5.2 to 1.5.3
Bumps [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/fsnotify/fsnotify/releases)
- [Changelog](https://github.com/fsnotify/fsnotify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fsnotify/fsnotify/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: github.com/fsnotify/fsnotify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-22 12:12:43 +00:00
104042e20b Bump github.com/container-orchestrated-devices/container-device-interface
Bumps [github.com/container-orchestrated-devices/container-device-interface](https://github.com/container-orchestrated-devices/container-device-interface) from 0.3.2 to 0.4.0.
- [Release notes](https://github.com/container-orchestrated-devices/container-device-interface/releases)
- [Commits](https://github.com/container-orchestrated-devices/container-device-interface/compare/v0.3.2...v0.4.0)

---
updated-dependencies:
- dependency-name: github.com/container-orchestrated-devices/container-device-interface
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-22 12:12:33 +00:00
04acbaa4b1 Merge pull request #13969 from flouthoc/mount-csv-parsing
specgen-volumes: parse `--mount` using csv-reader instead of split.
2022-04-22 07:08:32 -04:00
e0f5bf279b test/system: add containers.conf test for new /etc/hosts options
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 13:06:01 +02:00
e912f1b689 Improve /etc/hosts documentation
Update the documentation for /etc/hosts options --add-host and
--no-hosts. Also make sure that all references use the same text for
consistency.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 13:06:01 +02:00
e4ab8a5bed shared netns and --add-host should conflict
Because /etc/hosts is shared for all containers with a shared network
namespace you should not be able to add hosts from a joined container.
Only the primary netns container can set the hosts.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 13:06:00 +02:00
cf1b0c1965 network dis-/connect: update /etc/hosts
When we connect or disconnect from a network we also have to update
/etc/hosts to ensure we only have valid entries in there.
This also fixes problems with docker-compose since this makes use of
network connect/disconnect.

Fixes #12533

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 13:05:53 +02:00
128086639c libpod: fix c.Hostname() to respect the utsNsCtr
When we lookup the hostname for a given container we have to check if
the container is joined to another utsns and use this hostname then
instead.
This fixes a problem where the `hostname` command would use the correct
name but /etc/hostname would contain a different name.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 12:59:51 +02:00
696bcd2773 use etchosts package from c/common
Use the new logic from c/common to create the hosts file. This will help
to better allign the hosts files between buildah and podman.

Also this fixes several bugs:
- remove host entries when container is stopped and has a netNsCtr
- add entries for containers in a pod
- do not duplicate entries in the hosts file
- use the correct slirp ip when an userns is used

Features:
- configure host.containers.internal entry in containers.conf
- configure base hosts file in containers.conf

Fixes #12003
Fixes #13224

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 12:59:49 +02:00
0d6af14387 Merge pull request #13964 from rhatdan/rootfull
Switch all rootful to rootfull
2022-04-22 06:56:33 -04:00
1514d5c933 silence deprecated warnings for manifest functions
There is no reason to mark them directly as deprecated since we still
have to use them as long as we want to support 3.X calls. The
staticcheck linter is complaining about the Deprecated comment but that
doesn't make sense in this context. There is no good way to only exclude
a single check with golangci-lint.

I renamed the function with a V3 suffix to make clear that we only use
this for backwards compat.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 12:51:41 +02:00
2a8e435671 enable staticcheck linter
Fix many problems reported by the staticcheck linter, including many
real bugs!

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 12:51:29 +02:00