19856 Commits

Author SHA1 Message Date
abd35d4d37 [CI:DOCS] Fix git build example in build page
The git repo that was used for the example of a git build:

  `podman build https://github.com/scollier/purpletest`

no longer exists.  Someone reached out to @rhatdan about this
and he suggested using the Podman Hello World repo.  However,
that didn't exist until a little bit ago, so I've updated
the man page with a pointer there.  That should be a lot more
stable.

[NO NEW TESTS NEEDED]
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2023-08-14 17:45:02 -04:00
3e8f19be9d Merge pull request #19619 from cevich/remove_ec2_experimental
Cirrus: Remove EC2 experimental flag
2023-08-14 16:22:44 -02:30
c742ec6fea Merge pull request #19617 from edsantiago/sphinx_ignore
[CI:DOCS] sphinx: skip options include dir
2023-08-14 15:45:04 -02:30
824c76616a Merge pull request #19591 from matejvasek/fix-build-pull-compat
Fix pull parameter parsing for compat `/build` endpoint
2023-08-14 15:36:54 -02:30
31dc422243 Cirrus: Remove EC2 experimental flag
The VM-naming feature is now mainstream.
Ref: https://github.com/cirruslabs/cirrus-ci-docs/ issue 1051

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-14 11:43:21 -04:00
1c37acceb5 Merge pull request #19613 from PeterWhittaker/main
Update rootfs.md: Fix formatting and wording of idmap option
2023-08-14 10:41:56 -04:00
4c7546cb31 sphinx: skip options include dir
Tell sphinx not to process the "options" dir, those files
are not to be published.

Context: websearching for podman volume info, I stumbled upon:

   https://docs.podman.io/en/latest/markdown/options/volume.html

...and panicked because I saw '<<container|pod>>', the options
include-file syntax that should never be seen by users. I thought
the filter script was broken.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-08-14 08:12:16 -06:00
6727644b18 Merge pull request #19595 from Luap99/top-output-flake
fix podman top missing output flake
2023-08-14 09:57:26 -04:00
345b9b0295 Update rootfs.md: Fix formatting and wording of idmap option
The newly introduced `idmap` section of rootfs lacked a header
(comparable to Overlay Rootfs Mounts), had odd formatting, and
wording that differed from other instances of idmap, e.g., the
one in the --volume section. This commits addresses those issues.

Signed-off-by: Peter Whittaker <PeterWhittaker@SphyrnaSecurity.com>
2023-08-14 09:21:24 -04:00
f33b01b731 fix: Docker API compatible bool deserialization
In Docker anything but "", "0", "no", "false", "none" (ignoring case) is considered to be true.

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2023-08-14 15:09:14 +02:00
4cb2d48ca4 Revert "compat,build: pull must accept string"
This reverts commit 5b148a0a68360892f57603b77e73c69e32fb7b7e.

Reverting to treating the `pull` query parameter as a boolean.
Because of deceiving Docker API documentation it was assumed that the
parameter is pull-policy, however that is not true. Docker does treat
`pull` as a boolean. What is interesting is that Docker indeed accepts
strings like `always` or `never` however Docekr both of these strings
treat as `true`, not as pull-policy. As matter of the fact it seems
there is no such a thing as pull-policy in Docker.

More context https://github.com/containers/podman/issues/17778#issuecomment-1673931925

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2023-08-14 15:01:53 +02:00
0b612a9a2d Merge pull request #19576 from edsantiago/logpartial_flake
New partial-line test is flaking
2023-08-14 08:08:06 -04:00
2487ea4399 Merge pull request #19587 from cevich/kill_bench_job
[CI:BUILD] Cirrus: Prune defunct job + fix noop alias
2023-08-14 07:39:25 -04:00
de6bdd1907 Merge pull request #19152 from geichelberger/add-host-gateway-support
Add support for host-gateway
2023-08-14 05:47:59 -04:00
615a9cf29d Merge pull request #19598 from containers/renovate/golangci-golangci-lint-1.x
chore(deps): update dependency golangci/golangci-lint to v1.54.1
2023-08-14 04:15:13 -04:00
84bd6c71fa Merge pull request #19607 from wjt/performance-machinectl-shell
[CI:DOCS] Add missing verb in machinectl example
2023-08-14 03:51:59 -04:00
79d87f4674 Merge pull request #19599 from ashley-cui/rel
[CI:DOCS] Update Release Notes and Release Process
2023-08-14 03:18:26 -04:00
68bd81470a Add missing verb in machinectl example
Without the verb 'shell', the invocation fails with:

    Unknown command verb testuser@

Signed-off-by: Will Thompson <will@willthompson.co.uk>
2023-08-13 11:52:56 +01:00
6ab38e55e7 Merge pull request #19589 from lsm5/main-packit
[CI:BUILD] Packit: add back fedora-eln targets
2023-08-11 15:23:25 -04:00
78d6cd4c9e [CI:DOCS] Update Release Notes and Release Process
Signed-off-by: Ashley Cui <acui@redhat.com>
2023-08-11 11:16:54 -04:00
b6349017af chore(deps): update dependency golangci/golangci-lint to v1.54.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 13:40:49 +00:00
4b80492bd2 fix podman top missing output flake
Sometimes there is no output displayed from the podman top command but
no error is shown either. Looking at the code I think the issue here is
that we do not wait for the output reader to end as it runs in a
different goroutine. Thus the last lines of output might be missing.

The fix is simply to wait for said goroutine to finish before returning.
While at it also fix the missing scanner error check and return the read
errors back to the caller.

[NO NEW TESTS NEEDED] It is a flake.

Fixes #19504

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-08-11 13:43:23 +02:00
5908999e6d New partial-line test is flaking
...possibly because we somehow ended up with a two-line
log file for a simple 'echo hi'? Make our timestamp-getting
code safer by adding 'head -1'.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-08-10 17:43:50 -06:00
555b4f930d [CI:BUILD] Packit: add back fedora-eln targets
Fedora ELN targets were removed in the switch to ephemeral coprs. Add
them back.

Podman rpm doesn't depend on go-md2man package anymore and instead uses
vendored go-md2man for building manpages, so that's no longer a reason
for build failures on Fedora ELN.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-08-10 15:13:53 -04:00
f0dac36770 Cirrus: Prune defunct job + fix noop alias
The mechanism fueling the benchmarks job has long since been removed.
Running the job is useless now, remove it.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-10 11:38:47 -04:00
a60bafea48 Merge pull request #19573 from edsantiago/env-tests
systests: tests for --env and --env-file
2023-08-10 09:33:00 -04:00
14e290a306 Merge pull request #19358 from umohnani8/buildfarm-2
Add phase 1 of podman farm subcommands
2023-08-10 09:29:33 -04:00
970976a7f5 Merge pull request #19503 from edsantiago/journalctl_unreliable
CI: e2e: add delay before podman logs or journalctl
2023-08-10 08:39:25 -04:00
df28df1aee systests: tests for --env and --env-file
We've made rather a mess of those options, due to lack of testing.

Here we have a first step toward regression tests. --env is OK,
but there are three special-case exceptions in --env-file for
three incompatibilities introduced by #19096.

To be continued, but probably in future PRs. We need this ASAP
to prevent us from making any more regressions.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-08-09 14:11:00 -06:00
bcebcad1fd Update system connection add & remove
Add new --farm flag to podman system connection add so that
a user can add a new connection to a farm immediately.
Update system connection remove such that when a connection is
removed, the connection is also removed from any farms that have it.
Add docs and tests for these changes.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 13:37:37 -04:00
310f971fcf Add tests for podman farm
Add tests for podman farm create, remove, and update.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 13:37:37 -04:00
dce3ef3c42 Add podman farm update command
Podman farm update allows users to update a farm by addig
connections, removing connections, or changing the default farm.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 13:37:37 -04:00
44a704dfcf Add podman farm remove command
Podman farm remove allows users to remove one or more
existing farms.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 13:37:37 -04:00
59a8140f1f Add podman farm list command
The podman farm list command allows users to list
the existing farms.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 13:37:37 -04:00
6fcdf1a190 Add podman farm create command
The podman farm create command allows users to create
farms from the avaiable podman system connections.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 13:37:37 -04:00
1d5ef29f01 Add podman farm subcommand
Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 13:37:33 -04:00
23d5b5008c CI: e2e: add delay before podman logs or journalctl
...to reduce flakes.

Reason: journald makes no guarantees. Just because a systemd job
has finished, or podman has written+flushed log entries, doesn't
mean that journald will actually know about them:

   https://github.com/systemd/systemd/issues/28650

Workaround: wrap some podman-logs tests inside Eventually()
so they will be retried when log == journald

This addresses, but does not close, #18501. That's a firehose,
with many more failures than I can possibly cross-reference.
I will leave it open, then keep monitoring missing-logs flakes
over time, and pick those off as they occur.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-08-09 09:29:11 -06:00
c01ec25e6c Merge pull request #19564 from containers/renovate/golangci-golangci-lint-1.x
chore(deps): update dependency golangci/golangci-lint to v1.54.0
2023-08-09 11:26:02 -04:00
1e6c73f59d Merge pull request #19562 from Luap99/logs-tail
file logger: fix podman logs --tail with partial lines
2023-08-09 11:22:32 -04:00
2951316b20 Add completion for Farms
Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 11:07:27 -04:00
b672ddc792 Vendor c/common changes
Vendor latest c/common with changes to add a new Farms
table to containers.conf and update system connection to
add a connection to a farm when --farm is set.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-09 11:07:27 -04:00
3963c56398 chore(deps): update dependency golangci/golangci-lint to v1.54.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-09 12:50:44 +00:00
57fac93b30 Merge pull request #19560 from BlackHole1/fix
fix(env): parsing --env incorrect in cli
2023-08-09 08:50:12 -04:00
a55c2636de file logger: fix podman logs --tail with partial lines
There is a problem where our tail code does not handles correctly
partial log lines. This makes podman logs --tail output possibly
incorrect lines when k8s-file is used.

This manifests as flake in CI because partial lines are only sometimes
written, basically always when the output is flushed before writing a
newline.

For our code we must not count partial lines which was already done but
the important thing we must keep reading backwards until the next full
(F) line. This is because all partial (P) lines still must be added to
the full line. See the added tests for details on how the log file looks
like.

While fixing this, I rework the tail logic a bit, there is absolutely no
reason to read the lines in a separate goroutine just to pass the lines
back via channel. We can do this in the same routine.
The logic is very simple, read the lines backwards, append lines to
result and then at the end invert the result slice as tail must return
the lines in the correct order. This more efficient then having to
allocate two different slices or to prepend the line as this would
require a new allocation for each line.

Lastly the readFromLogFile() function wrote the lines back to the log
line channel in the same routine as the log lines we read, this was bad
and causes a deadlock when the returned lines are bigger than the
channel size. There is no reason to allocate a big channel size we can
just write the log lines in a different goroutine, in this case the main
routine were read the logs anyway.

A new system test and unit tests have been added to check corner cases.

Fixes #19545

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-08-09 14:48:01 +02:00
7adc58ffb4 Merge pull request #19547 from containers/renovate/dawidd6-action-send-mail-3.x
[skip-ci] Update dawidd6/action-send-mail action to v3.8.0
2023-08-09 07:55:48 -04:00
eb465b40c8 Merge pull request #19549 from rhatdan/quadlet
podman stop --cidfile missing --ignore
2023-08-09 07:50:19 -04:00
7ce654fea3 fix(env): parsing --env incorrect in cli
Signed-off-by: Black-Hole1 <bh@bugs.cc>
2023-08-09 18:52:30 +08:00
6f92c59bcd Merge pull request #19559 from containers/renovate/docker.io-library-golang-1.x
Update docker.io/library/golang Docker tag to v1.21
2023-08-09 03:50:28 -04:00
4c4bc09227 Update docker.io/library/golang Docker tag to v1.21
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-09 01:03:32 +00:00
d4f967c19e Merge pull request #19541 from containers/renovate/major-ci-vm-image
Update dependency containers/automation_images to v20230807
2023-08-08 17:11:22 -04:00