Commit graph

15354 commits

Author SHA1 Message Date
Valentin Rothberg
956e2e1b84 pkg/domain/infra/abi/images_test.go: remove commented code
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:39 +02:00
Valentin Rothberg
fbeef1d700 image list: remove unused ConfigDigest
Remove the `ConfigDigest` field from `entities.ImageSummary` which has
never been populated (or documented) until now.  Unless there is a
specific request or need to support it, remove the TODO that was added
during the libimage migration.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:39 +02:00
Valentin Rothberg
90a6f39d0f pkg/inspect: remove unused ImageResult type
[NO NEW TESTS NEEDED]

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:39 +02:00
Valentin Rothberg
5268314e53 podman image mount: print pretty table
Make sure that `podman image mount` prints a pretty table unless there
is only argument passed and without a custom format.  Fixing a TODO item
brought me to the specific code location and revealed the fart in the
logic.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:39 +02:00
Valentin Rothberg
d3d3a207de pkg/bindings/images/rm.go: remove redundant FIXME
The Remove endpoint is being tested in the meantime.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:39 +02:00
Valentin Rothberg
6c6e970187 pkg/bindings/images: remove TODOs re: system context
A global system context does not make sense for the _bindings_, so
remove the TODOs.

[NO TESTS NEEDED]

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:39 +02:00
Valentin Rothberg
d924c46dae autocomplete podman search --filter
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:38 +02:00
OpenShift Merge Robot
d069ad1082
Merge pull request #14338 from vrothberg/flakes
system tests: fix flake waiting for container to run
2022-05-24 08:57:46 -04:00
dependabot[bot]
f98a7d1405
build(deps): bump github.com/vbauerster/mpb/v7 from 7.4.1 to 7.4.2
Bumps [github.com/vbauerster/mpb/v7](https://github.com/vbauerster/mpb) from 7.4.1 to 7.4.2.
- [Release notes](https://github.com/vbauerster/mpb/releases)
- [Commits](https://github.com/vbauerster/mpb/compare/v7.4.1...v7.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-24 12:11:43 +00:00
Valentin Rothberg
8af98b342d contain_top_linux.go: s/TODO/NOTE/
Change the TODO note to NOTE to actually reflect what it is:
breadcrumbs in case we want to add filtering the future.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 13:40:02 +02:00
Valentin Rothberg
f5450b1e82 system tests: fix flake waiting for container to run
I have seen some system tests flake waiting for a container to
transition into a specific running state.  My theory is that
the waiting time was not sufficient on nodes under high load.
Hence, increase the waiting time.  Also replace the break with
a return to spare some cycles to redundantly compare with the
already checked state.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 13:20:20 +02:00
OpenShift Merge Robot
737b100c5e
Merge pull request #14294 from vrothberg/fix-14291
fix compat image resolution
2022-05-24 03:37:32 -04:00
OpenShift Merge Robot
40c2ea3a27
Merge pull request #14263 from Luap99/completion
shell completion --format: various improvements
2022-05-23 15:50:44 -04:00
OpenShift Merge Robot
023fe23596
Merge pull request #14321 from mheon/no_error_on_dangling
Instead of erroring, clean up after dangling IDs in DB
2022-05-23 15:10:19 -04:00
Aditya R
2133edb2ca
compat, build: suppress step errors when quiet is set
Match with docker API and suppress step errors when field quiet is set.

Closes: https://github.com/containers/podman/issues/14315

Signed-off-by: Aditya R <arajan@redhat.com>
2022-05-24 00:21:04 +05:30
OpenShift Merge Robot
37984787b7
Merge pull request #14323 from tupyy/main
Update _play kube_ doc following PR #14266 merging
2022-05-23 12:58:40 -04:00
OpenShift Merge Robot
3f297c5dc2
Merge pull request #14240 from cevich/fix_multiarch_build
[CI:BUILD] Cirrus: Fix building multiarch images
2022-05-23 12:40:40 -04:00
Daniel J Walsh
5d37d80ff9
Use containers/common/pkg/util.StringToSlice
[NO NEW TESTS NEEDED] Just code cleanup for better reuse

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-05-23 12:16:54 -04:00
Chris Evich
d29dec9676
Cirrus: Fix building multiarch images
The caching update made in
https://github.com/containers/podman/pull/14016 neglected to attend to
the "git repo." needs of this task. Fix this so images can build.

Also, make this optional task only appear when the `[CI:BUILD]` magic
string is used.  No reason to tempt every PR author to press a
mysterious button labeled 'trigger'.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-05-23 11:45:30 -04:00
Matthew Heon
b7dbc505b6 Instead of erroring, clean up after dangling IDs in DB
For various (mostly legacy) reasons, Podman presently maintains a
unified namespace for pods and containers - IE, we cannot have
both a pod and a container named "test" at the same time. To
implement this, we use a global database table of every pod and
container ID (and another of every pod and container name).

These entries should be added when containers/pods are added, and
removed when containers/pods are removed, with the database's
transactional integrity providing a guarantee that this is
batched with the overall removal and that the DB should remain
sane and consistent no matter what. As such, we treat a dangling
ID as a hard error that stops the use of Podman.

Unfortunately, we have someone run into this last Friday. I'm
still not certain how exactly their DB got into this state, but
without further clarification there, we can consider removing the
error and making Podman instead clean up and remove any dangling
IDs, which should restore Podman to a serviceable state. Drop an
error message if we do this, though, because people should know
that the DB is in a bad state.

[NO NEW TESTS NEEDED] it is deliberately impossible to produce a
configuration that would test this without hex-editing the DB
file.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2022-05-23 11:21:15 -04:00
Cosmin Tupangiu
e22611baf7
fix typo
Signed-off-by: Cosmin Tupangiu <cosmin@redhat.com>
2022-05-23 17:06:51 +02:00
Cosmin Tupangiu
ac154425d6
Update _play kube_ doc following PR #14266 merged
Signed-off-by: Cosmin Tupangiu <cosmin@redhat.com>
2022-05-23 17:02:52 +02:00
OpenShift Merge Robot
7d00b0ea0d
Merge pull request #14281 from vrothberg/fix-14251
fix --init with /dev bind mount
2022-05-23 10:17:59 -04:00
OpenShift Merge Robot
be255287c9
Merge pull request #14292 from vrothberg/fix-14283
auto update: create an event
2022-05-23 10:12:19 -04:00
OpenShift Merge Robot
e11d8d4650
Merge pull request #14266 from tupyy/add-blockdevice-play-kube
Expose block and character devices with play kube
2022-05-23 10:06:07 -04:00
Valentin Rothberg
c984956f93 fix compat image resolution
Fix a bug in the resolution of images in the Docker compat API.
When looking up an image by a short name, the name may match
an image that does not live on Docker Hub.  The resolved name
should be used for normalization instead of the input name to
make sure that `busybox` can resolve to `registry.com/busybox`
if present in the local storage.

Fixes: #14291
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-23 15:08:15 +02:00
OpenShift Merge Robot
0d2209eb6a
Merge pull request #14310 from Yuhta28/hotfix/document
[CI:DOCS] fix podman-for-windows.md
2022-05-23 09:07:57 -04:00
Valentin Rothberg
d66288315d auto update: create an event
Create an auto-update event for each invocation, independent if images
and containers are updated or not.  Those events will be indicated in
the events already but users will now know why.

Fixes: #14283
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-23 14:11:29 +02:00
Valentin Rothberg
633d5f1f8b fix --init with /dev bind mount
The init binary until now has been bind-mounted to /dev/init which
breaks when bind-mounting to /dev.  Instead mount the init to
/run/podman-init.  The reasoning for using /run is that it is already
used for other runtime data such as secrets.

Fixes: #14251
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-23 13:59:05 +02:00
OpenShift Merge Robot
769e777656
Merge pull request #14300 from mtrmac/test-gpgme-build
Update c/image
2022-05-23 07:33:56 -04:00
Cosmin Tupangiu
4960a17a56
fix tests by randomize the device folder name
e2e tests tends to fail when running with multiple nodes because
the same device folder name is used accross all nodes

Signed-off-by: Cosmin Tupangiu <cosmin@redhat.com>
2022-05-23 10:33:12 +02:00
Jason T. Greene
94e82121bf Support running podman under a root v2 cgroup
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-05-21 09:28:52 -05:00
Yuta
a0d0207a28 fix podman-for-windows.md
Signed-off-by: Yuta <yuta_mori@outlook.jp>
2022-05-21 17:02:37 +09:00
OpenShift Merge Robot
5c51e1d26e
Merge pull request #14274 from edsantiago/dependabot_release_notes_none
dependabot: add release-note-none label
2022-05-20 07:18:36 -04:00
OpenShift Merge Robot
916d8231c5
Merge pull request #14297 from jwhonce/wip/swagger
Swagger refactor/cleanup
2022-05-20 07:16:35 -04:00
OpenShift Merge Robot
1916fe22a9
Merge pull request #14272 from Luap99/completion2
shell completion: use more constants in the code
2022-05-19 18:45:03 -04:00
Jhon Honce
5b79cf15a0 Swagger refactor/cleanup
* Remove duplicate or unused types and constants
* Move all documetation-only models and responses into swagger package
* Remove all unecessary names, go-swagger will determine names from
  struct declarations
* Use Libpod suffix to differentiate between compat and libpod models
  and responses. Taken from swagger:operation declarations.
* Models and responses that start with lowercase are for swagger use
  only while uppercase are used "as is" in the code and swagger comments
* Used gofumpt on new code

```release-note

```

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2022-05-19 15:24:18 -07:00
Miloslav Trmač
fb219a8097 Update c/image
... to bring in github.com/proglottis/gpgme 0.1.2 , and test
its new use of pkg-config to find gpgme.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-05-19 22:24:49 +02:00
OpenShift Merge Robot
913caaa9b1
Merge pull request #14288 from vrothberg/linters
linter: enable unconvert linter
2022-05-19 12:51:12 -04:00
OpenShift Merge Robot
948c5e915a
Merge pull request #13870 from kolyshkin/makefile-cleanups
Makefile: simplify for modern Go
2022-05-19 08:08:45 -04:00
Paul Holzinger
9c9fc96d27
shell completion: use more constants instead of duplicating strings
It is better to just reuse the existing constants instead of duplicating
the strings.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-19 14:04:23 +02:00
Paul Holzinger
337f8b9d98
shell completion: podman save --format use all valid values
docker-archive was missing from the completions. To prevent duplication
use the same format list as podman save.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-19 14:04:22 +02:00
Paul Holzinger
74f70315b3
shell completion: update podman inspect --type options
Add all option that are supported by the podman inspect --type flag to
the completions. Also use the same constants instead of duplicating the
strings. In order to do this I had to move the definitions into the
common package to prevent an import cycle.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-19 14:04:22 +02:00
Paul Holzinger
318e95fd2a
shell completion: fix podman event --filter values
The completion suggested incorrect values for `podman events --filter
type=` . It should only list types not the event status. Also make sure
to use the constants instead of duplicating the strings.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-19 14:04:10 +02:00
Valentin Rothberg
b22143267b linter: enable unconvert linter
Detects unneccessary type conversions and helps in keeping the code base
cleaner.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-19 13:59:15 +02:00
Paul Holzinger
3b0844f990
shell completion --format: add help to function with args
From a template users POV it is not importent when they use a struct field or
method. They only notice the difference when the function requires arguments.
So lets be nice and let the user know that this method requires arguments
via the help text.

This is how it now looks like when the completion descriptions are enabled
on bash:
```
$  bin/podman ps --format {{.Created.A
{{.Created.AddDate       (This is a function and requires 3 arguments)   {{.Created.After         (This is a function and requires 1 argument)
{{.Created.Add           (This is a function and requires 1 argument)    {{.Created.AppendFormat   (This is a function and requires 2 arguments)
```

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-18 18:28:22 +02:00
Paul Holzinger
3d8a1f9173
shell completion --format: support maps and functions
Currently we only support structs in a template string like this:
`{{.var1.test.` -> this meams that test must be a struct field on var1.

Now with this var1 and test could also be either a map or function which
returns a struct.

A actual example:
`podman container inspect  --format {{.NetworkSettings.Networks.netname.`
Now we can complete the struct fileds after netname. Note that this
cannot complete map keys since they are empty by default, so it is
impossible to get them in the completion logic.

Also this fixes a panic with embeeded nil structs
Fixes #14223

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-18 18:28:22 +02:00
Paul Holzinger
ecd6edb191
shell completion --format: fix embedded struct handling
When a struct is embeeded it is possible that we end up with same names
but different types, this results in incorrect completions. The go
template logic always preferes the actual field/method name before the
one from the embedded one. Thefore the completion logic should do the
same. First get all method/fields names from the struct and then only
add the field names from the embedded struct when they are not already
present in the list.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-18 18:28:11 +02:00
Paul Holzinger
11ff5ffd3b
shell completion --format: only show usable methods
In a template you cann call function that are defined on a type, however
this is only useful if they return one value. If it returns more than
one the template cannot know what value it has to display.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-18 18:24:42 +02:00
Paul Holzinger
eeeb88a667
shell completion --format: only show exported fields
go templates only support exported fields, so the completion logic must
filter the private fields out.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-18 18:24:41 +02:00