13746 Commits

Author SHA1 Message Date
f241efb179 bindings rmi test: clarify behavior
The libpod/images/remove endpoint is not very REST-ish but, after some
debate, was decided to be implemented as for the following reasons.

First, it allows for batch removing images which improves performance
significantly.  Note that Docker does support `rmi -a`!

Second, it allows for hiding the logic of setting the right exit code to
use from the client and keep all the logic on the server.

Hence, when removing an image that does not exist, the server will
return a 200. The response, however, includes the error message to be
used *and* the exit code that podman-remote will use.

Fixes: #12441
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-16 15:31:29 +01:00
d984fec351 Merge pull request #12619 from vrothberg/fix-search-flakes
e2e: search flake: skip test on registry.redhat.io
2021-12-16 12:31:50 +01:00
5392ff51cc e2e: search flake: skip test on registry.redhat.io
The search endpoint on registry.redhat.io is broken.
Skip one test and update another to avoid hitting it.
Also leave some breadcrumbs to revert once it's back
in a working state.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-16 11:14:42 +01:00
91ef5fb85e Merge pull request #12601 from edsantiago/apiv2_catch_errs
APIv2 tests: fail on syntax/logic errors
2021-12-16 02:02:56 +01:00
9212c74ff1 Merge pull request #12600 from rhatdan/external
Show --external containers even without --all option
2021-12-15 15:43:11 +01:00
7dabcbd7bc Merge pull request #12534 from Luap99/network-db
network db rewrite
2021-12-15 15:25:14 +01:00
7b51acd4c4 APIv2 tests: fail on syntax/logic errors
(i.e. not test failures, but actual programming bugs).

We've had a number of syntax errors creep into this test, usually
caused by a missing backslash on a test command. I've long wanted
to 'set -e' but that causes other problems. This PR introduces
error handling via 'trap', with useful diagnostics on failure.

This PR also catches and fixes two previously-unknown bugs that
were causing tests to not actually run.

And, since /events takes eons on my high-uptime laptop, add /since

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-14 18:28:50 -07:00
b01a421f34 Merge pull request #12596 from edsantiago/apiv2_test_refactor
apiv2 tests: refactor complicated curls
2021-12-14 22:30:56 +01:00
51a4bef2e6 Show --external containers even without --all option
We currently do not show --external containers when the user specifies
it, unless they also specify the --all flag. This has led to confusion.
I see no reason not to list them without the --all flag if the user
specifies the option.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-12-14 16:03:21 -05:00
c36fb8b113 Merge pull request #12595 from Luap99/network-id
fix network id handling
2021-12-14 20:56:55 +01:00
0a2eb7b185 apiv2 tests: refactor complicated curls
Some months ago, apiv2 tests got added that needed new
functionality: passing a tarball to the remote server.
There was no mechanism to do so in the 't' helper, so
these tests used complicated (and actually not-really-
working) curl commands.

This PR introduces and documents a new usage of 't', in
which passing an argument ending in '.tar' adds the
right magic syntax (--data-binary @PATH) to the existing
curl. This lets us use all standard 't' checks, making
for simpler tests and in the process fixing some bugs.

Also: drive-by fix of a typo bug in the networks test.

Also: set CONTAINERS_REGISTRIES_CONF when starting server
and when running direct podman, to avoid docker.io throttling.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-14 12:10:19 -07:00
888c778ee9 fix network id handling
We have to get the network ID from the network backend. With the
netavark backend we no longer use the sha from the name as ID.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 18:41:06 +01:00
a0894b5ecd Merge pull request #12586 from jmguzik/secret-cmd
Add secret list --filter to cli
2021-12-14 18:40:58 +01:00
1884bd8873 Merge pull request #12594 from TomSweeneyRedHat/dev/tsweeney/windoc2
[CI:DOCS] Update Windows Install Doc
2021-12-14 12:38:32 -05:00
e4e21522d1 Merge pull request #12091 from ananthb/docker-api-compat
Fixes #12063 Add docker compatible output after image build.
2021-12-14 18:32:57 +01:00
c134698fa1 Merge pull request #12593 from vrothberg/fix-11682
pause scope: don't use the global math/rand RNG
2021-12-14 17:52:57 +01:00
afdb4dc22f Update Windows Install Doc
Updates the Windows install doc to make it more clear.

Fixes: #11382

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2021-12-14 11:23:32 -05:00
3b9af150ab Merge pull request #12589 from containers/dependabot/go_modules/github.com/docker/docker-20.10.12incompatible
Bump github.com/docker/docker from 20.10.11+incompatible to 20.10.12+incompatible
2021-12-14 16:52:57 +01:00
52b12fe985 Fixes #12063 Add docker compatible output after image build.
Signed-off-by: Ananth Bhaskararaman <antsub@gmail.com>
2021-12-14 21:08:31 +05:30
65d5a2b68b pause scope: don't use the global math/rand RNG
Otherwise, we'll always get the same sequence of random numbers which
may lead to conflicts.  Also bump the number of maximum attempts to 10
instead of 3.

[NO NEW TESTS NEEDED] as I cannot enforce random number collisions.
Existing tests should continue be green and flake slightly less.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-14 16:34:54 +01:00
c501c1d642 Merge pull request #12585 from Luap99/network-ls-sort
network ls: show networks in deterministic order
2021-12-14 16:05:42 +01:00
ef325bc8c4 specgen: check that networks are only set with bridge
Because we cannot reqad the networking mode in the frontent because we
should always use the server default we have to parse the mac and ip
address to the server via a default network. Now when the server reads
the default nsmode it has to reject the provided networks when the mode
is not set to bridge.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:40 +01:00
094e1d70de container restore/import: store networks from db
It is important that we store the current networks from the db in the
config. Also make sure to properly handle aliases and ignore static ip/mac
addresses.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:40 +01:00
3e9af2029f play kube add support for multiple networks
Allow the same --network options for play kube as for podman run/create.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:40 +01:00
535818414c support advanced network configuration via cli
Rework the --network parse logic to support multiple networks with
specific network configuration settings.
--network can now be set multiple times. For bridge network mode the
following options have been added:
  - **alias=name**: Add network-scoped alias for the container.
  - **ip=IPv4**: Specify a static ipv4 address for this container.
  - **ip=IPv6**: Specify a static ipv6 address for this container.
  - **mac=MAC**: Specify a static mac address address for this container.
  - **interface_name**: Specify a name for the created network interface inside the container.

So now you can set --network bridge:ip=10.88.0.10,mac=44:33:22:11:00:99
for the default bridge network as well as for network names.
This is better than using --ip because we can set the ip per network
without any confusion which network the ip address should be assigned
to.
The --ip, --mac-address and --network-alias options are still supported
but --ip or --mac-address can only be set when only one network is set.
This limitation already existed previously.

The ability to specify a custom network interface name is new
Fixes #11534

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:39 +01:00
d072167fe2 Add new networks format to spegecen
Add the new networks format to specgen. For api users cni_networks is
still supported to make migration easier however the static ip and mac
fields are removed.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:39 +01:00
46938bbf88 fix incorrect swagger doc for network dis/connect
The swagger api docs used the extra Body struct as part of the request
which is wrong. We just want the plain type.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:39 +01:00
4791595b5c network connect allow ip, ipv6 and mac address
Network connect now supports setting a static ipv4, ipv6 and mac address
for the container network. The options are added to the cli and api.

Fixes #9883

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:39 +01:00
9ce6b64133 network db: add new strucutre to container create
Make sure we create new containers in the db with the correct structure.
Also remove some unneeded code for alias handling. We no longer need this
functions.

The specgen format has not been changed for now.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:39 +01:00
4e8ad039ce remove unneeded return value from c.Networks()
We do not need to return a extra bool.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:38 +01:00
5490be67b3 network db rewrite: migrate existing settings
The new network db structure stores everything in the networks bucket.
Previously some network settings were not written the the network bucket
and only stored in the container config.
Instead of the old format which used the container ID as value in the
networks buckets we now use the PerNetworkoptions struct there.

To migrate existing users we use the state.GetNetworks() function. If it
fails to read the new format it will automatically migrate the old
config format to the new one. This is allows a flawless migration path.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:20 +01:00
5f1f62f0bb network ls: show networks in deterministic order
The new network backend stores the networks in a map so the returned
order is not deterministic. Lets sort the network names alphabetically
to ensure a deterministic order.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 13:52:38 +01:00
5a071d9f50 Bump github.com/docker/docker
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 20.10.11+incompatible to 20.10.12+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Changelog](https://github.com/moby/moby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/docker/docker/compare/v20.10.11...v20.10.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-14 12:28:51 +00:00
4a060caeab Merge pull request #12588 from vrothberg/fix-12167
pprof flakes: bump timeout to 20 seconds
2021-12-14 13:25:39 +01:00
1fff76c3c3 pprof flakes: bump timeout to 20 seconds
This is the third and hopefully the last attempt to address the flakes
in the pprof tests.  We first bumped the timeouts to 2 seconds, then to
5, and since I am running out of ideas let's bump it now to 20 seconds.

Since the timeouts poll, the tests will terminate much earlier but 20
seconds should now really be enough even under highly loaded CI VMs.

Fixes: #12167
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-14 10:59:56 +01:00
50501f49a3 Add secret list --filter to cli
This PR is a follow-up of #11431. It adds possibility of filtering
secret list based on id and name.

Signed-off-by: Jakub Guzik <jguzik@redhat.com>
2021-12-14 10:41:03 +01:00
4543fd463e Merge pull request #12571 from vrothberg/fix-12566
compat build: adhere to q/quiet
2021-12-13 14:54:03 -05:00
b6ce7e19ec Merge pull request #12581 from cevich/disable_gitlab
[CI:DOCS] Cirrus: Temp. ignore gitlab task failures
2021-12-13 16:57:25 +01:00
8cb93ac103 Cirrus: Temp. ignore gitlab task failures
Appears related to https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28732
Log: https://cirrus-ci.com/task/5708221852680192?logs=setup#L433

Marking test to be ignored until I can figure out where/how to fix it.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-12-13 10:31:01 -05:00
81a0a79844 compat build: adhere to q/quiet
Fixes: #12566
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-13 09:52:24 +01:00
e993b88c03 Merge pull request #12573 from Luap99/fix-test
fix e2e test missing network cleanup
2021-12-10 17:56:28 +00:00
47f4f149bd Merge pull request #12569 from vrothberg/fix-12167
pprof CI flakes: enforce 5 seconds grace period
2021-12-10 15:42:27 +00:00
bc191ca7d3 fix e2e test missing network cleanup
I noticed that this test will fail its flake rerun because the network
was not removed and it tried to create a network with the same name.
Also network disconnect works rootless now.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-10 16:23:40 +01:00
a7690048b8 Merge pull request #12564 from Darkness4/main
rootless: declare TEMP_FAILURE_RETRY before usage (Fixes: #12563)
2021-12-10 15:10:30 +00:00
99bc00421b pprof CI flakes: enforce 5 seconds grace period
This gives the service 5 seconds to digest the signal and 5 more seconds
to shutdown.  Create a new variable to make bumping the timeout easier
in case we see re-flake in the future.

Fixes: #12167
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-10 15:01:44 +01:00
1d781ccbea [NO NEW TESTS NEEDED] rootless: declare TEMP_FAILURE_RETRY before usage (Fixes: #12563)
Signed-off-by: Nguyen Marc <nguyen_marc@live.fr>
2021-12-10 14:20:35 +01:00
f80a7fda74 Merge pull request #12555 from rhatdan/pod
--hostname should be set with podman create --pod new:PODNAME
2021-12-09 16:30:58 -05:00
b24f2ae901 Merge pull request #12547 from cevich/cached_swagger
[CI:DOCS] Cirrus: Use cached swagger binary
2021-12-09 18:11:28 +00:00
593d0907c5 --hostname should be set when using --pod new:foobar
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2030599

When you create pod, it shares the UTS namespace with Containers.
Currently the --hostname is not passed to the pod created when
you create a container and pod in the same command.

Also fix error message on supported --share flags

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-12-09 13:09:02 -05:00
c7ed2be8d2 Merge pull request #12556 from edsantiago/rm_rm_podman_pause_image
System tests: remove rm_pause_image()
2021-12-09 18:07:19 +00:00