Commit Graph

832 Commits

Author SHA1 Message Date
Brent Baude 053cbd5e0c use crio runc on CICID ubuntu
when running CICD on Ubuntu where no cgroups v2, we need to use a newer runc for things like seccomp and the default ubuntu runc
 is not new enough.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-31 16:40:22 -05:00
Sascha Grunert ba9f18e2b8
Use `bash` binary from env instead of /bin/bash for scripts
It's not possible to run any of the scripts on distributions which do
have `bash` not in `/bin`. This is being fixed by using `/usr/bin/env
bash` instead.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-08-17 10:42:23 +02:00
OpenShift Merge Robot ca4423e94d
Merge pull request #7237 from TomSweeneyRedHat/dev/tsweeney/imagedoc
[CI:DOCS] Update podmanimages README.md
2020-08-15 12:48:06 +02:00
Valentin Rothberg 0f4e2be073 podman.service: use sdnotiy
Commit 2b6dd3fb43 set the killmode of the podman.service to the
systemd default which ultimately lead to the problem that systemd
will kill *all* processes inside the unit's cgroup and hence kill
all containers whenever the service is stopped.

Fix it by setting the type to sdnotify and the killmode to process.
`podman system service` will send the necessary notify messages
when the NOTIFY_SOCKET is set and unset it right after to prevent
the backend and container runtimes from jumping in between and send
messages as well.

Fixes: #7294
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-13 17:53:59 +02:00
OpenShift Merge Robot 8e4842a14d
Merge pull request #7299 from jobcespedes/patch-1
add xz as a recommended pkg
2020-08-12 13:08:54 -04:00
Brent Baude 6ff42395d0 podman-remote fixes for msi and client
correct small typo that sets the path on windows via the msi xml.

in the remote client, prompt for SSH password when no identity or alternate means of authentication are provided.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-12 09:19:52 -05:00
Job Cespedes c817e5ab2b
add xz as a recommended pkg
xz package is required by buildah and podman when building a
image and ADD a tar.xz file archive is used

See https://github.com/containers/buildah/issues/2525

Signed-off-by: Job Cespedes Ortiz <jobcespedes@gmail.com>
2020-08-11 14:57:34 -06:00
OpenShift Merge Robot df0ad51075
Merge pull request #7270 from Fodoj/master
Allign container image storage configuration with Buildah
2020-08-10 19:41:30 -04:00
Kirill Shirinkin 330e3d3728
Align images with Buildah
Signed-off-by: Kirill Shirinkin <kirill@hey.com>
2020-08-10 22:15:55 +02:00
Daniel J Walsh 49fa3e7399
Remove TEST_REMOTE_CLIENT from RCLI
We know these are TEST_, hoping this makes the display in
cirrus easier for users to see true|false, since this is the
valuable information is.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-10 12:47:43 -04:00
OpenShift Merge Robot 162625f2e7
Merge pull request #7138 from cevich/add_python_packages
Cirrus: Add python packages to images
2020-08-10 11:52:45 -04:00
TomSweeneyRedHat cc26814f8d [CI:DOCS] Update podmanimages README.md
Updates to the README.md for the contrib/podmanimages directory.

This completes the changes to answer this Buildah issue: https://github.com/containers/buildah/issues/1693
and then also adds the quay.io/conatiners/podman images to the list of images.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-08-05 16:41:50 -04:00
OpenShift Merge Robot 2e3928ee17
Merge pull request #7193 from vrothberg/fix-7190
podman.service: drop install section
2020-08-03 10:07:51 -04:00
Valentin Rothberg efcc2f5b18 Install auto-update services for users
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-03 13:12:07 +02:00
Peter Oliver 4384de9e6b Fix test failure regarding unpackaged files.
Signed-off-by: Peter Oliver <git@mavit.org.uk>
2020-08-03 13:12:06 +02:00
Valentin Rothberg 7dadf1b46e podman.service: drop install section
podman.service is socket activated through podman.socket. It should not
have its own [Install] section, it does not make sense to systemctl
enable podman.service.

This leads to podman.service always running on a Debian system, as
Debian's policy is to enable/start running services by default.

We don't want a daemon :^)

Fixes: #7190
Reported-by: @martinpitt
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-03 09:48:13 +02:00
Chris Evich ba4a1e64db
Cirrus: Install golang 1.14 on Ubuntu
This more/less reverts efd142214 + updates to 1.13
on all Ubuntus for all `containers` projects.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-07-31 10:10:24 -04:00
Chris Evich 543606c55c
Cirrus: Add python packages to images
They are needed in support of future testing additions.

Also reduce unnecessary output by not printing the downloaded package
list.  The set can be examined using other tooling if/when necessary.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-07-31 10:10:18 -04:00
Ed Santiago 84f4b87c2e System tests: new system-df and passwd tests
- New test for #6991 - passwd file is writable even when
   run with --userns=keep-id

 - Enable another keep-id test, commented out due to #6593

 - New test for podman system df

Also, independently, removed this line:

   apt-get -y upgrade conmon

...because it's causing CI failures, probably because of the
boothole CVE, probably because the Ubuntu grub update was
rushed out. I believe it is safe to remove this, because
both Ubuntu 19 and 20 report:

   conmon is already the newest version (2.0.18~1).

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-30 06:16:51 -06:00
Ed Santiago 382af09784 logformatter: more libpod-podman fallout
Problem: formatted logs no longer have live links to sources
in error-report lines.

Cause: script was searching for '/libpod'.

Solution: make it more flexible.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-29 10:48:48 -06:00
Daniel J Walsh a5e37ad280
Switch all references to github.com/containers/libpod -> podman
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-28 08:23:45 -04:00
Ed Santiago 9fad55c87f CI - various fixes
Primary purpose: upgrade crun to 0.14 on f31, in hopes of
eliminating the 'cgroups.freeze' flake that is plaguing CI.

While I'm at it:
- remove a no-longer-needed dnf upgrade that was running in CI
  itself (not image building, in each actual CI run). The purpose
  was to upgrade conmon, but that was added a long time ago and
  the required conmon is now in stable. The effect of this
  dnf upgrade today was simply to cause flakes when fedora
  repos were offline.

- remove a no-longer-needed check for varlink.

- networking.sh : add a timeout! 'openssl s_client' will happily
  hang forever if a host is unreachable, which means we waste
  two hours waiting for Cirrus to time out.

- timestamp.awk : include date (not just time) in START/END msgs.
  There are times when I'm looking at a CI log and it is ultra
  important to know if it is from yesterday or today.

- add progress messages in some places where I've previously
  struggled to understand context in logs; and improve some
  unlikely error messages to include script name.

...then, after all that, wrote a new README about how to to
all this. Hope it helps someone.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-25 12:32:53 -06:00
Ed Santiago 81115243ef CI: fix rootless permission error
CI runs are failing in special_testing_rootless:

    mkdir /var/tmp/go/pkg: permission denied

Probable cause: #6822, which universally set GOPATH.

Solution: in rootless setup, chown -R GOPATH as well
as GOSRC (the latter was already being chowned).

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-23 06:17:22 -06:00
OpenShift Merge Robot d493374eb4
Merge pull request #7050 from edsantiago/logformat_trim_remote
logformatter: handle podman-remote
2020-07-22 20:53:51 +02:00
Ed Santiago 0e85768c96 logformatter: handle podman-remote
Oops! Logs of podman-remote tests are unreadable, they have
multiple (useless) --remote options plus '--url /something/long'
that makes it impossible to read the actual command being run.
This commit strips off '--remote' entirely, and hides '--url'
and its arg in the only-on-mouse-hover '[options]' text.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-22 10:32:06 -06:00
Chris Evich fe56be28c1
Cirrus: Add packages that provide htpasswd
Mainly needed for buildah testing: the htpasswd command was removed from
the upstream registry container image.  Making it available on the
host-side enables configuring details needed by the registry during
it's initial setup.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-07-22 11:51:32 -04:00
Chris Evich 18a1514139
Cirrus: Ensure GOPATH is properly set during image-builds
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-07-22 11:51:32 -04:00
OpenShift Merge Robot 80add2902c
Merge pull request #6992 from rhatdan/apparmor
Support default profile for apparmor
2020-07-22 15:38:42 +02:00
OpenShift Merge Robot 9f5d1462be
Merge pull request #6955 from edsantiago/logformatter_fix_bucket_name
logformatter: update MAGIC BLOB string
2020-07-22 08:45:15 -04:00
Daniel J Walsh 4c4a00f63e
Support default profile for apparmor
Currently you can not apply an ApparmorProfile if you specify
--privileged.  This patch will allow both to be specified
simultaniosly.

By default Apparmor should be disabled if the user
specifies --privileged, but if the user specifies --security apparmor:PROFILE,
with --privileged, we should do both.

Added e2e run_apparmor_test.go

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-22 06:27:20 -04:00
Ed Santiago 7bdf93ee63 logformatter: update MAGIC BLOB string
Fallout from libpod->podman repo name move: the HTML logs
created by logformatter are no longer accessible. They
render as:

    https://storage.googleapis.com/SECRET-5385732420009984-fcae48/artifacts/containers/podman/6313596734930944/html/integration_test.log.html

(yes, "SECRET" instead of "cirrus-ci". Possibly because
the GCE_SSH_USERNAME key, "cirrus-ci", was overzealously
encrypted, making Cirrus censor any instances of the
string in output. Let's see if this fixes it. But anyway
this is a secondary unrelated bug).

Reason: it looks like Cirrus "generated a new magic blob"
when we renamed libpod -> podman. Chris was kind enough to
locate the new magic blob and to give me a link to where
we can discover it ourselves. I added that as a code comment.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-20 14:02:14 -06:00
Valentin Rothberg 38bb6756b8 podman.service: set type to simple
Set the type of the podman.service to simple.  This will correctly
report the status of the service once it has started.  As a oneshot
service, it does not transition from the startup state to running.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-20 11:42:49 +02:00
Valentin Rothberg 0f22b69c03 podman.service: set doc to podman-system-service
podman-api(1) does not exist, so set the man page to
podman-system-service(1).  Same for the .socket.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-20 11:42:02 +02:00
Valentin Rothberg 21665cbfa6 podman.service: use default registries.conf
Do not hard-set the registries.conf to `/etc/containers/registries.conf`.
Podman (and other c/image users) already default to it.  However,
ordinary non-root users should still be able to use the configs in their
home directories which is now possible.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-20 11:40:46 +02:00
Valentin Rothberg 2b6dd3fb43 podman.service: use default killmode
Do not set the killmode to process as it only kills the main process and
leaves other processes untouched.  Just remove the line and use the
default cgroup killmode which will kill all processes in the service's
cgroup.

Fixes: #7021
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-20 11:40:46 +02:00
Valentin Rothberg 2e6946c777 podman.service: remove stop timeout
Remove the stop timeout from the unit.  As unit does not specify any
stop command, the timeout is effectively 0 and a NOOP.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-20 11:40:46 +02:00
Valentin Rothberg 9312d458b4 systemd: symlink user->system
Symlink the user to the system services in `contrib/systemd`.
There is no diference between the services, so we can reduce
redundancy while not breaking downstream packages which might
already be referencing `./contrib/systemd/user`.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-20 11:12:41 +02:00
Brent Baude cc1fd76ae0 [CI:DOCS]Do not copy policy.json into gating image
test/policy.json should not need to be copied into the gating image

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-07-14 11:01:12 -05:00
Brent Baude 99cc076700 Fix systemd pid 1 test
fedora removed the systemd package from its standard container image causing our systemd pid1 test to fail.  Replacing usage of fedora to ubi-init.

adding ubi images to the cache for local tests.

also, remove installation of test/policy.json to the system wide /etc/containers

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-07-13 17:11:26 -05:00
Daniel J Walsh a10da9a999
Add containers.conf default file for windows and MAC Installs
We want to add this configuration file so that users can descover
how to configure the permanent connection to a remote podman instance.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-24 12:58:44 -04:00
Ed Santiago aa16a0aab1 system tests: invoke with abs path to podman
Reversion of one part of #6679: my handling of 'realpath'
would not work when $PODMAN is 'podman-remote --url etc'.
Trying to handle that case got unmaintainable; so instead
let's just force 'make {local,remote}system' to invoke
with a full PODMAN path. This breaks down if someone
runs the tests with a manual 'bats' invocation, but I
think I'm the only one who ever does that.

Since podman path will now be very long in the logs,
add code to logformatter to abbreviate it like we do
for the ginkgo logs.

And, one thing that has bugged me for a long time:
in the error logs, show a different prompt ('#' vs '$')
to distinguish root vs rootless. This should make it
much easier to see at-a-glance whether a log file
is root or not. Add tests for it.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-06-23 08:10:57 -06:00
Matthew Heon bd858dd8dc Bump master to v2.1.0-dev following release of v2.0
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-19 15:55:42 -04:00
Matthew Heon 0e171b7b33 Do not share container log driver for exec
When the container uses journald logging, we don't want to
automatically use the same driver for its exec sessions. If we do
we will pollute the journal (particularly in the case of
healthchecks) with large amounts of undesired logs. Instead,
force exec sessions logs to file for now; we can add a log-driver
flag later (we'll probably want to add a `podman logs` command
that reads exec session logs at the same time).

As part of this, add support for the new 'none' logs driver in
Conmon. It will be the default log driver for exec sessions, and
can be optionally selected for containers.

Great thanks to Joe Gooch (mrwizard@dok.org) for adding support
to Conmon for a null log driver, and wiring it in here.

Fixes #6555

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-17 11:11:46 -04:00
Matthew Heon 20345b1ec0 Revert "Change Varlink systemd unit to use `system service`"
This reverts commit 1bc992bfc3.

We originally thought `podman varlink` was entirely removed, but
that was not true. We originally thought that
`podman system service --varlink` worked the same as
`podman varlink` but that was also not true. `system service` is
broken when used under systemd units, and `podman varlink` still
exists and works. Revert the change to `podman system service` to
fix socket-activated Varlink under systemd.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-16 11:09:48 -04:00
OpenShift Merge Robot 5a6a3f81a4
Merge pull request #6608 from mheon/fix_varlink_unit
[CI:DOCS] Change Varlink systemd unit to use `system service`
2020-06-15 09:54:53 -04:00
Matthew Heon 1bc992bfc3 Change Varlink systemd unit to use `system service`
We completely removed `podman varlink`, which broke the systemd
unit file used by the Varlink code. Change that to use the new
`podman system service --varlink` command which replaced it.

Also needs a slight reorder of args to make things work happily
on my system.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-15 09:22:45 -04:00
Daniel J Walsh 2ffb703d1b
Fix builds for RDO
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-11 08:55:19 -04:00
OpenShift Merge Robot c44992827d
Merge pull request #6530 from edsantiago/test_podman_remote
Enable, then partially disable, podman-remote testing
2020-06-10 13:19:44 -04:00
OpenShift Merge Robot 9967f28339
Merge pull request #6193 from cevich/conmon_ci_packages
Cirrus: Include packages for containers/conmon CI
2020-06-09 21:22:17 -04:00
Chris Evich 455a94d1f9
Cirrus: Include packages for containers/conmon CI
This allows the containers/conmon repository to share the same VM
images produced by containers/libpod.  Included are several packages
which are downloaded only since they might otherwise interfere with
testing for some repos.  This allows stable versions to be at the ready
at testing runtime, avoiding any version updates surprising developers.

Also, re-enable running the VM-image check test which was not working
due to a logic problem in Cirrus-CI configuration.  Update the neglected
tests so that they pass on all distros.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-06-09 14:47:23 -04:00
Ed Santiago 15f273b931 WIP: Enable (and disable) remote testing
podman-remote has not been tested. A principal part of the
problem was #5387 - the YAML I wrote did not have the
intended effect, it did not set TEST_REMOTE_CLIENT=true
and because of my multiple iterations I did not catch this
during testing.

Part 1 of this PR is to fix .cirrus.yml to enable remote tests.

Part 2 -- what I had first noticed and tried to fix -- is that
rootless_test.sh was never running remote because, of course,
envariables are not sent via ssh. I reworked integration_test.sh
and rootless_test.sh to use a command-line decision instead.

Part 3, sigh, is to disable one failing integration test
and *all* system tests, because so many of the latter are
failing. Addressing those failures needs to be done in
subsequent PRs. Issues #6538, #6539, #6540 are filed for
some of the problems I isolated. There will be more.

Also, minor, fixed some stale references to varlink.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-06-09 12:43:58 -06:00
OpenShift Merge Robot c831ae110e
Merge pull request #6521 from cevich/update_cors_docs
[CI:DOCS] Improve swagger+CORS metadata docs
2020-06-09 16:43:32 +02:00
Chris Evich 4314336ce3
Improve swagger+CORS metadata docs
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-06-09 09:53:19 -04:00
Valentin Rothberg b6148b6576 force bats version to v1.1.0
We experienced regression when using the latest `v1.2.0-dev` bats in
Ubuntu 20.04 (see github.com/containers/libpod/pull/6418).  Using
bats v1.1.0 worked in the Ubuntu test VM.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-06-08 15:21:34 +02:00
Brent Baude efd1422143 Enable Ubuntu tests in CI
Add updates required for ubuntu and run integration tests

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-06-08 12:21:16 +02:00
Daniel J Walsh 77b8187ea0
Attempt to turn on special_testing_in_podman tests
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-04 10:58:37 -04:00
Daniel J Walsh 545aef7d9b
Vendor in container/storage v1.20.2
Also modify gate Dockerfile to take advantage of skipping
mounting of the storage directory.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-03 17:22:49 -04:00
Daniel J Walsh 48d2bea1a3
RHEL8 and Centos8 don't have oci-runtime yet
For the time being we need to just require runc
this should fix rdoproject.org/github-check

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-03 06:32:58 -04:00
Matthew Heon 69020c7040 Bump Conmon in COPR spec
We need 2.0.17 for detached remote exec.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-02 15:30:42 -04:00
Matthew Heon e0d9404634 Enable detached exec for remote
The biggest obstacle here was cleanup - we needed a way to remove
detached exec sessions after they exited, but there's no way to
tell if an exec session will be attached or detached when it's
created, and that's when we must add the exit command that would
do the removal. The solution was adding a delay to the exit
command (5 minutes), which gives sufficient time for attached
exec sessions to retrieve the exit code of the session after it
exits, but still guarantees that they will be removed, even for
detached sessions. This requires Conmon 2.0.17, which has the new
`--exit-delay` flag.

As part of the exit command rework, we can drop the hack we were
using to clean up exec sessions (remove them as part of inspect).
This is a lot cleaner, and I'm a lot happier about it.

Otherwise, this is just plumbing - we need a bindings call for
detached exec, and that needed to be added to the tunnel mode
backend for entities.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-02 15:30:42 -04:00
Lokesh Mandvekar 8a914e8a0b default build without `varlink` tag
Issue gh#6286 was already fixed in a prior commit but the Makefile still
ran some varlink steps by default.

This commit makes any varlink build steps dependent on the varlink
build tag and also makes the contrib rpm spec file independent of
varlink.

Endpoint tests will be run only if BUILDTAGS contains varlink.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-05-29 14:38:33 -04:00
Valentin Rothberg dc80267b59 compat handlers: add X-Registry-Auth header support
* Support the `X-Registry-Auth` http-request header.

 * The content of the header is a base64 encoded JSON payload which can
   either be a single auth config or a map of auth configs (user+pw or
   token) with the corresponding registries being the keys.  Vanilla
   Docker, projectatomic Docker and the bindings are transparantly
   supported.

 * Add a hidden `--registries-conf` flag.  Buildah exposes the same
   flag, mostly for testing purposes.

 * Do all credential parsing in the client (i.e., `cmd/podman`) pass
   the username and password in the backend instead of unparsed
   credentials.

 * Add a `pkg/auth` which handles most of the heavy lifting.

 * Go through the authentication-handling code of most commands, bindings
   and endpoints.  Migrate them to the new code and fix issues as seen.
   A final evaluation and more tests is still required *after* this
   change.

 * The manifest-push endpoint is missing certain parameters and should
   use the ABI function instead.  Adding auth-support isn't really
   possible without these parts working.

 * The container commands and endpoints (i.e., create and run) have not
   been changed yet.  The APIs don't yet account for the authfile.

 * Add authentication tests to `pkg/bindings`.

Fixes: #6384
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-29 15:39:37 +02:00
Daniel J Walsh 154debb804
Fix Dockerfile
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-26 09:53:27 -04:00
Daniel J Walsh ab0681380f
[CI:DOCS] Prepare image to turn on podman-commands test
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-23 10:17:31 -04:00
Brent Baude 4d826f0d0c [CI:DOCS]add crun to gating image
the gating tests for commands needs crun to exercise itself

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-22 14:46:06 -05:00
Brent Baude b21f342b5b [CI:DOCS]Add conmon to gating image
the gating image now needs conmon to perform the commands check

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-22 12:38:04 -05:00
Chris Evich 8d54e4855c
Cirrus: Fix image-name hints
This properly prints out image-name hints when executing the hack script
without any arguments.  It is required due to changes made by Ed for
test-name beatification.  An identical change was made and reviewed by
Ed in the containers/storage repo.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-05-14 15:00:34 -04:00
Chris Evich 6479b54f41
Cirrus: Update Ubuntu 18 to 20
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-05-14 15:00:34 -04:00
Daniel J Walsh 837b80bc07
Default podman.spec to use crun
On systems with cgroupV2 runc will not currently work
switch the default in spec file to use crun.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-14 09:38:29 -04:00
Brent Baude b5ea00b4f7 [CI:DOCS]remove libpod.conf from spec
in the contrib rpm.spec.in, we no longer should try to package libpod.conf

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-13 11:54:34 -05:00
Matthew Heon 440e97c2c0 Remove libpod.conf from repo
Now that we're shipping containers.conf, we don't want to provide
a libpod.conf anymore. This removes libpod.conf from the repo and
as many direct uses as I can find.

There are a few more mentions in the documentation, but someone
more familiar with containers.conf should make those edits.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-05-12 14:15:44 -04:00
Brent Baude a4c607cc71 set binding tests to required
some small fix ups for binding tests and then make them required.

update containers-common

V2 bindings tests were failing because of changes introduced in commit
a2ad5bb.

Fix some typos.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>

in the case where the specgen attribute for Env and Labels are nil, we should should then make the map IF we have labels and envs that need to be added.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-08 09:05:37 -05:00
Chris Evich 50cb32fdfb
CI:DOCS: Document API docs + CORS maintenance
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-05-06 15:52:53 -04:00
TomSweeneyRedHat 36d36ec2a4 [CI:DOC]Use full repo name in podmanimage Dockerfiles
In the Buildah images, we had a problem where the testing image
was installed with an older version of Buildah than the stable
image.  This was apparently due to quay.io using Docker and Dockerhub
which has a version of Fedora that did not let testing
version of Buildah to be installed as it should have been.

This change fully specifies the name of the fedora image to
use.  This has not been a problem in Podman, but I'm carrying
this change here to avoid future problems.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-05-01 17:54:33 -04:00
Chris Evich 6e60772dc3
Cirrus: Utilize new base images
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-04-30 13:21:03 -04:00
Chris Evich 7c44c05425
cirrus: Update to Fedora 32 proper
Now that it's officially released, update to it from the beta.  Also
(and significant), adjust the SELinux context of the GCP metadata
service.  Add a comment to the code explaining why this is necessary.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-04-30 13:21:03 -04:00
OpenShift Merge Robot d1196d08d0
Merge pull request #6010 from TomSweeneyRedHat/dev/tsweeney/ctrimagefixes
Update podmanimage files to adjust perms on containers.conf for rootless
2020-04-29 16:59:37 +02:00
OpenShift Merge Robot 620baafa07
Merge pull request #5853 from cevich/unify_in_podman_build
Unify in_podman container packaging & VM packaging
2020-04-29 16:38:24 +02:00
TomSweeneyRedHat 9229312f2a Update podmanimage files to adjust perms on containers.conf for rootless
Adding the changes to the Podman image Docker/Containerfiles similar
to @rhatdan 's changes in https://github.com/containers/buildah/pull/2332

In short it changes the perms on containers.conf so it can be used by a
rootless user.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-04-28 17:52:14 -04:00
Chris Evich 97ecd21b59
Cirrus: Unify package installation
Also, test-build critical container images depended upon for
CI-purposes.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-04-24 08:22:50 -04:00
Lokesh Mandvekar c10bd7c11f Makefile: include -nobuild install targets
Distro packaging often uses non-default build and linker flags.
The current Makefile cannot be used in the package build process as it
will end up rebuilding the binaries with the default flags.

This commit introduces install targets which do not depend on the build
targets. Distro packages should prefer these if they want to use any
non-default flags.

NOTE: This commit effectively leaves prior targets unchanged, so users
won't notice any difference.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-04-23 13:08:25 -04:00
OpenShift Merge Robot 5bbbc9996f
Merge pull request #5737 from cevich/add_f32
Cirrus: Add support for Fedora 32 beta
2020-04-22 07:37:14 -04:00
OpenShift Merge Robot ea63f7076a
Merge pull request #5909 from abitrolly/patch-2
gate/README.md  Fix link to .cirrus.yml and reword
2020-04-21 18:45:25 -04:00
Anatoli Babenia 62b54dd7c4 gate/README.md Fix link to .cirrus.yml and reword
Signed-off-by: Anatoli Babenia <anatoli@rainforce.org>
2020-04-21 17:21:04 +03:00
OpenShift Merge Robot 84bbdcef5d
Merge pull request #5910 from abitrolly/shared-deps
Move Fedora 31 dependencies for building podman into separate file
2020-04-21 09:08:45 -04:00
Anatoli Babenia 05a5184302 Move Fedora dependencies for building podman into separate file
This ones listed here are actual for Fedora 31.

Signed-off-by: Anatoli Babenia <anatoli@rainforce.org>
2020-04-21 14:58:37 +03:00
Daniel J Walsh 532c7343a9
Add support for containers.conf to podmanimages
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-20 16:11:49 -04:00
Chris Evich d2d9722454
Cirrus: Add support for Fedora 32
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-04-20 14:22:23 -04:00
Chris Evich e282c88d2c
Cirrus: More Ubuntu 19 + Fedora 31
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-04-20 14:22:23 -04:00
Ed Santiago 1be8a34f5e Log formatter: add BATS summary line
BATS emits a summary line (number of tests passed/failed)...
but only on a tty or when run with --pretty! In our CI
context, with TAP output, it gives no end summary.

Fix that. Keep track of 'ok', 'not ok', and 'skipped',
and display the counts at the end.

Also: add a regression test. You don't need to review
or even read it: it's stark, and I'm not even enabling
it for CI because it almost certainly won't run due to
missing Perl library modules. It's just something I
need on my end.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-04-17 08:12:09 -06:00
Chris Evich e394ff407c
Cirrus: Fix gate container build failure
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-04-15 13:51:25 -04:00
Ed Santiago 2aca1b7f9b
logformat: handle apiv2 results, add anchor links
apiv2 tests emit TAP-compliant output; recognize it and
highlight it the same way we do BATS tests.

Add anchor links to TAP output, so other tools (e.g.
cirrus-flake-summarize) can link to particular lines

And, remove a "-f" from "wait" in test-apiv2; looks
like there's some version of bash used in some CI VM
that doesn't grok it.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-04-15 13:51:25 -04:00
Matthew Heon 4489440aaf Bump to v2.0.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-04-15 10:51:33 -04:00
Matthew Heon f1397abb9b Bump to v1.9.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-04-13 09:47:17 -04:00
Matthew Heon cbb5652a53 Bump to v1.9.0-rc1
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-04-13 09:47:17 -04:00
Sagi Shnaidman 19aa4b4c0b Fix repos for CentOS 7 RPM build
CBS repos are gone, so we need a new repos to configure for RPM.

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2020-04-01 14:01:46 +03:00
OpenShift Merge Robot 6d36d05447
Merge pull request #5670 from cevich/new_images
Cirrus: Update VM Images
2020-04-01 00:01:10 +02:00
OpenShift Merge Robot 4d66704211
Merge pull request #5683 from larsks/bug/rpm-systemd-tag
add systemd build tag to podman builds
2020-03-31 22:37:15 +02:00
Lars Kellogg-Stedman 2753df2973 add systemd build tag to podman builds
Without the systemd build tag, podman will fail with the error "No
support for journald logging".

This commit adds the `systemd` build tag explicitly, rather than
relying on `hack/systemd_tag.sh` (because we're building an rpm and
we've explicitly included systemd-devel as a dependency).

Signed-off-by: Lars Kellogg-Stedman <lars@redhat.com>
2020-03-31 09:42:42 -04:00
Chris Evich 19c3b5462f
Cirrus: Minor docs update
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-30 16:00:01 -04:00
Jhon Honce 7a12e01556 V2 Move varlink home
* move cmd/podman/varlink/* to pkg/varlink to support podmanV2 refactor
* update Makefile
* reformatted all impacted code

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-30 08:18:35 -07:00
OpenShift Merge Robot 17ad800905
Merge pull request #5368 from cevich/opensuse_ubuntu_packages
Opensuse openbuild ubuntu + buildah packages
2020-03-28 10:50:10 +01:00
OpenShift Merge Robot debd6face3
Merge pull request #4340 from cevich/libseccomp_update
Log libseccomp package version
2020-03-28 10:47:32 +01:00
OpenShift Merge Robot b743f60a4b
Merge pull request #5479 from cevich/auto_release
Cirrus: Disable non-docs release processing
2020-03-23 14:36:30 +01:00
Daniel J Walsh 8ab686f0e0
Add APIV2 service files
Also fix issue in pods_test.go

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-20 09:09:42 -04:00
Matthew Heon aef32407eb Bump to v1.8.3-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-19 13:38:44 -04:00
Chris Evich 6ac04366ee
Cirrus: Enable future installing buildah packages
Many of the packages required for CI in buildah overlap with libpod.
When building new VM images, attempt to source a package list
from the buildah repository.  If found, also install the listed
packages on the VM.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-19 12:28:24 -04:00
Chris Evich e810dd135e
Cirrus: Include packages for buildah CI
Also, move some setup steps at VM image build time to save runtime.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-19 12:28:24 -04:00
Chris Evich 4c9b021533
Cirrus: Update Ubuntu base images
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-19 12:28:24 -04:00
Chris Evich 7cbdd48f78
Cirrus: Use opensuse open build Ubuntu packages
This is necessary as the projectatomic PPA is no longer maintained.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-19 12:28:24 -04:00
OpenShift Merge Robot 45e7cbfef6
Merge pull request #5480 from vrothberg/auto-updates
auto update containers in systemd units
2020-03-18 18:27:33 +01:00
Brent Baude 14186ca28e fix timeout file flake
this is a temporary fix for the flake that has been troubling us.  once conmon is in fedora 30 and 31 stable, we can remove this fix.  the images will just need to be rebuilt.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-17 15:44:39 -05:00
Valentin Rothberg f4e873c4e1 auto updates
Add support to auto-update containers running in systemd units as
generated with `podman generate systemd --new`.

`podman auto-update` looks up containers with a specified
"io.containers.autoupdate" label (i.e., the auto-update policy).

If the label is present and set to "image", Podman reaches out to the
corresponding registry to check if the image has been updated.  We
consider an image to be updated if the digest in the local storage is
different than the one of the remote image.  If an image must be
updated, Podman pulls it down and restarts the container.  Note that the
restarting sequence relies on systemd.

At container-creation time, Podman looks up the "PODMAN_SYSTEMD_UNIT"
environment variables and stores it verbatim in the container's label.
This variable is now set by all systemd units generated by
`podman-generate-systemd` and is set to `%n` (i.e., the name of systemd
unit starting the container).  This data is then being used in the
auto-update sequence to instruct systemd (via DBUS) to restart the unit
and hence to restart the container.

Note that this implementation of auto-updates relies on systemd and
requires a fully-qualified image reference to be used to create the
container.  This enforcement is necessary to know which image to
actually check and pull.  If we used an image ID, we would not know
which image to check/pull anymore.

Fixes: #3575
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-17 17:18:56 +01:00
Ed Santiago 3003384785 Four small CI fixes:
1) 'podman system info' (in logcollector): has been silently
     failing in special_testing_rootless, with:
       logcollector.sh: line 16: podman: command not found
     Use ./bin/podman instead of just podman; this is probably
     the right thing to do in the general case anyway

  2) logformatter: highlight 'panic:', seen in bindings test:
        https://storage.googleapis.com/cirrus-ci-5385732420009984-fcae48/artifacts/containers/libpod/6693715108429824/html/integration_test.log.html

  3) logformatter: handle Unicode bullet in front of 'Running',
     seen in bindings test.

  4) logformatter: turn down contrast on BATS 'ok' results,
     for legibility

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-16 11:37:27 -06:00
Chris Evich 9215eb0331
Cirrus: Disable non-docs release processing
Detecting when it's time to upload a release inside Cirrus-CI is really
difficult for many automation and human reasons.  Disabling it for now
until a more robust solution can be implemented

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-12 15:41:03 -04:00
Brent Baude 194759b96e turn off color-mode for bindings
the binding ginkgo tests were using color mode which throws in a bunch of ansi garbage that makes it hard to read the logs

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-12 13:45:56 -05:00
Matthew Heon 8877fed86e Bump to v1.8.2-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-11 10:16:16 -04:00
OpenShift Merge Robot 9e12f6354c
Merge pull request #5395 from cevich/fix_fedora_minimal
Cirrus: Fix fedora-minimal mirroring
2020-03-08 15:55:03 +01:00
Daniel J Walsh ac354ac94a
Fix spelling mistakes in code found by codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-07 10:30:44 -05:00
OpenShift Merge Robot c8de26fb08
Merge pull request #5374 from baude/create
add default network for apiv2 create
2020-03-07 14:16:43 +01:00
OpenShift Merge Robot 43bf4f6626
Merge pull request #5359 from TomSweeneyRedHat/dev/tsweeney/fixquay
Fix upstream dockerfile and add 'by hand' ctrfile
2020-03-07 14:14:13 +01:00
Brent Baude 8b5e2a6297 add default network for apiv2 create
during container creation, if no network is provided, we need to add a default value so the container can be later started.

use apiv2 container creation for RunTopContainer instead of an exec to the system podman. RunTopContainer now also returns the container id and an error.

added a libpod commit endpoint.

also, changed the use of the connections and bindings slightly to make it more convenient to write tests.

Fixes: 5366
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-06 14:31:45 -06:00
OpenShift Merge Robot 60e9e7ca9c
Merge pull request #5039 from cevich/fix_gobin_exit_bug
Cirrus: Fix gate image & false-positive exits
2020-03-05 19:28:10 +01:00
TomSweeneyRedHat 6ad35e848d Fix upstream dockerfile and add 'by hand' ctrfile
The podmanimage/upstream/Dockerfile had two rpms in its
build procedure that are no longer available.  The atomic-registries
has been removed and the md2man has been renamed.  In addtion
conmon was not being installed and I've added that.

I've been using a Containerfile to build or rebuild a
specific version of the podmanimage stored in the stable
repository with a version tag.  As the other Containerfiles
have been updated by others, and in case anyone else needs
to build it, I've added it to the repo and have also updated
the readme.md.

FWIW, the builds in the quay.io/podman/upstream have been failing for a while due to missing rpms.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-03-05 09:15:58 -05:00
Chris Evich 288ddaa5ca
Cirrus: Fix fedora-minimal mirroring
Builds of this dockerfile fail on quay.io due to not being able to pull
the base image.  Use a fully-qualified FROM name to work around this.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-04 14:24:58 -05:00
Ed Santiago 1814638000 CI: format cirrus logs
This introduces a new cirrus helper script, logformatter.
Usage is:

    [commands...] | logformatter TEST-NAME

It reformats its input into a readable, highlighed, linkable
form. Some features:

   - boring stuff (timestamps, standard podman options) is
     deemphasized
   - important stuff (warnings, errors) is emphasized
   - in-page links to the actual failures
   - active links to source files
   - jumps to bottom of page on load, because that's where
     the errors are. (All errors are linked)

Add it to select test commands (integration, system) and
add a new artifacts_html, run in the 'always' block, which
uploads generated *.log.html into Cirrus; from there we
generate a live URL that can be viewed in browser.

Unfortunately, due to security concerns in Cirrus, it is
not currently possible to make the link a live one.

Kludge: add a line of dashes after Restoring images; without this,
the first test ("systemd PID 1") has no dashes before it, so
logformatter doesn't see it.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-02 15:55:05 -07:00
Ed Santiago 5612089412 CI: add API v2 tests
API v2 has been quiet for a few days, and the test script is
actually passing. Let's take advantage of this opportunity
to get them running in CI.

Requires adding a check for cgroupsv2

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-02 13:19:42 -07:00
Chris Evich d0782e7839
Cirrus: Fix gate image & false-positive exits
A number of scripts relating to tooling used and the gate container
image were not exiting upon errors as intended.  Coupled with
external service unavailability (i.e. downloading golangci-lint)
was observed to cause difficult to debug failures.

This change corrects the scripts inside/out of the gate container as
well as fixes many golang related path consistency problems vs other CI
jobs.  After this change, all jobs use consistent path names reducing
the number of special-case overrides needed.

Lastly, I also made a documentation-pass, updating/correcting as needed,
including documenting a likely local validation-failure mode, related to
`$EPOCH_TEST_COMMIT`.  This is dependent on the developers git
environment, so documentation is the only possible "fix".

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-03-02 08:50:54 -05:00
Chris Evich 0885f76742
Cirrus: Force runc use in F30
Suspect crun might be sneaking in during VM image build via podman RPM
dependency.  Add it to the removal list when building, then also force
use of runc at runtime in F30.

Also quote all true/false vars to force them as strings instead of
booleans (which will become capitalized)

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-28 10:37:31 -05:00
Chris Evich c96eb612e5
Cirrus: Remove unnecessary handle_crun workaround
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-28 09:54:36 -05:00
Chris Evich e874b5b222
Cirrus: Print env. vars at end of setup.
There are a number of env. vars set during the setup script.  Therefore
displaying them at end of the script is more helpful for debugging.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-28 09:54:36 -05:00
Chris Evich 42f04bbdaf
Cirrus: Fix not growing Fedora root
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-28 09:54:35 -05:00
Ed Santiago cabd6c1607 CI: package_versions: include hostinfo, kernel
In the package_versions CI step, include Fedora/Ubuntu
version, uname -r, and cgroups version.

Cgroups version is simply the FS type of /sys/fs/cgroup,
which shows 'tmpfs' for v1 and 'cgroup2fs' for v2. I
don't think it's worth the effort to prettify those
into 'v1/v2' - I think our readers are sophisticated
enough to figure it out from context - but am willing
to add that feature if requested.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-02-27 09:40:35 -07:00
Chris Evich 22904c1799
Cirrus: Log libseccomp package version
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-26 11:42:19 -05:00
OpenShift Merge Robot dd289950de
Merge pull request #5329 from baude/contribspecepoch
add epoch for specfile
2020-02-26 00:39:33 +01:00
Brent Baude 90d70f2cbf add epoch for specfile
to get the copr rpms to jive better with the fedora rpms, we need to set an epoch.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-25 15:02:39 -06:00
OpenShift Merge Robot 6c5591ed9d
Merge pull request #3901 from cevich/support_f31
Cirrus: Support testing with F31
2020-02-25 21:32:20 +01:00
OpenShift Merge Robot d3aa64c77c
Merge pull request #5312 from raukadah/fixfedora30
Fixed build_rpm.sh script for Fedora 30
2020-02-25 20:04:16 +01:00
Chris Evich 5973641404
Cirrus: SELinux Enforcing for F31 w/ CGv2
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-25 12:34:26 -05:00
Chris Evich 7e95e1e25c
Cirrus: collect podman system info
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-25 12:34:25 -05:00
Chris Evich 0ac0e6e612
Cirrus: F31: Force systemd cgroup mgr
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-25 12:34:25 -05:00
Chris Evich 614917d6aa
Cirrus: Handle runc->crun when both are possible
In some distributions it's possible to have both runc and crun
installed and/or for podman to be confused about which to use.  In these
instances, force the decision by adding `OCI_RUNTIME=/usr/bin/crun` into
`/etc/environment`. Also in-place modify libpod.conf to use 'crun'
instead of 'runc'

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-25 12:34:25 -05:00
Chris Evich 70b28bc2cc
Cirrus: Use deadline elevator in F31
The default scheduler is BFQ but integration tests run into

https://bugzilla.redhat.com/show_bug.cgi?id=1767539
aka
https://bugzilla.kernel.org/show_bug.cgi?id=205447

Using the deadline elevator as a workaround.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-25 12:34:25 -05:00
Chris Evich e0ca4a2260
Cirrus: Support testing with F31
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-25 12:34:24 -05:00
Chandan Kumar (raukadah) 9f6fc70110 Fixed build_rpm.sh script for Fedora 30
golang-github-cpuguy83-go-md2man is only available in Fedora 30 and
got renamed to golang-github-cpuguy83-md2man for Fedora 31 which breaks
the user interface for building rpm on fedora 30.

It fixes the same by installing correct md2man package on Fedora 30.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2020-02-24 22:17:21 +05:30
Brent Baude a64985c71b enable ci on go binding tests
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-22 09:43:19 -06:00
Allan Jacquet-Cretides 8eaa11e8b2 Upgrade make package-install for fedora31
The package golang-github-cpuguy83-go-md2man has been renamed into golang-github-cpuguy83-md2man
in f31 repository.

That leads to an Error: Unable to find a match: golang-github-cpuguy83-go-md2man
This patch handles the renaming of this package and fixes the command for f31 and the one that will
follows without breaking compatibility with older versions.

Signed-off-by: Allan Jacquet-Cretides <allan.jacquet@gmail.com>
2020-02-21 13:57:17 +01:00
OpenShift Merge Robot 86b5a89d1a
Merge pull request #5068 from baude/newimagestest
replace prow images test
2020-02-11 17:33:35 +01:00
Brent Baude 2800323e60 replace prow images test
this is a container-based approach to verifying we can build an rpm based on the contrib spec.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-10 18:44:20 -06:00
TomSweeneyRedHat fc1d67a5f6 [CI:DOCS] Update Code of Conduct to Containers variant
As the title says.  I renamed the old file from the lower case to the
upper case name.  This makes it appear higher up in the listing on GitHub
and also is in line with the rest of the containers projects.  Due to this
change, I also had to change a few references in a couple of build related
files.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-02-10 14:01:02 -05:00
OpenShift Merge Robot ee811431d2 Merge pull request #5107 from cevich/mirror_containers
Add mirroring dockerfiles
2020-02-09 16:17:56 +01:00
Matthew Heon dc940f90d8 Bump to v1.8.1-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-02-06 17:22:58 -05:00
Brent Baude e894bfe6a4 [CI:DOCS]update contrib systemd user
one more update

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-06 16:05:49 -06:00
Brent Baude f2d6e711c7 [CI:DOCS]fix systemd files for apiv2
the paths and instructions for running the new api via systemd needed updates due to a change in the command.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-06 15:34:09 -06:00
Chris Evich 3e37f69e2b
Add dockerfile to mirror fedora-minimal
This is needed to provide this image under quay.io/libpod/ namespace
to provide some resiliency to automated testing (should other
repositories be unavailable)

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-06 12:01:50 -05:00
Jhon Honce b977048436 Update XML to not embed quote in PATH on windows
* Remove the unsupported commend in lua script

Fixes #4335

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-01-31 15:22:20 -07:00
Matthew Heon a98c36df1a Bump to v1.8.0-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-01-31 12:45:02 -05:00
Matthew Heon 5558c2620c Bump to v1.8.0-rc1
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-01-31 12:44:59 -05:00
Sorin Sbarnea 5190407619 Assure validate includes lint
Fixed issue where lint was not run on CI, so we missed to prevent regressions.

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2020-01-30 18:39:56 +00:00
Daniel J Walsh 4ab6a10d0c
Add link from docker.sock to podman.sock
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-01-27 09:52:25 -05:00
baude cc0f7defdc [CI:DOCS]Connect API docs and RTD
Signed-off-by: baude <bbaude@redhat.com>
2020-01-17 15:12:35 -06:00
baude 9be6f30a42
post-process swagger yaml for publish
Signed-off-by: baude <bbaude@redhat.com>
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-01-17 15:41:33 -05:00
Chris Evich c183dddea6
Minor: Bugfix in upload image
The release upload process always involves two filenames, however the
second filename might (someday) be optional.  The code allowed for this,
however input validation did not.  This change fixes the validation.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-01-17 10:43:48 -05:00
OpenShift Merge Robot e1e405b70d
Merge pull request #4807 from ssbarnea/fix/pre-commit
Enable pre-commit linting
2020-01-15 23:51:22 +01:00
OpenShift Merge Robot 34429f3b53
Merge pull request #4870 from vrothberg/gating-dockerfile
Gating dockerfile
2020-01-15 19:01:25 +01:00
Jhon Honce 89678ab0ed Add APIv2 CLI example POC
* Add ReadMe, CLI and unit files to support socket activation, both for
  system and rootless

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-01-15 09:13:45 -07:00
Valentin Rothberg 1c95e66b20 contrib/gate/Dockerfile: bump to F31
Use fedora:31 as a base image and rebuild to fetch the latest tools.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 08:28:56 +01:00
Sorin Sbarnea e9cd3319cf Enable pre-commit tool linting
This should help use keep the codebase more consistent, and avoid sevel
whitespace related issues, or bad file permissions.

pre-commit allows us to easily introduce other linters in follow-ups,
like bashate.

Note: pre-commit tool does *not* install any git-hooks. Making commits
will will call the tool unless you deliverately tell it to install the
hooks.

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2020-01-14 13:42:59 +00:00
Daniel J Walsh f822410a15
revert accidental change from codespell pr.
This should use `od` not `of`

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-01-13 15:54:07 -05:00
OpenShift Merge Robot 796ae87b1a
Merge pull request #4850 from vrothberg/fix-linting
Fix linting
2020-01-13 21:03:21 +01:00
OpenShift Merge Robot e83a1b87da
Merge pull request #4817 from rhatdan/codespell
Add codespell to validate spelling mistakes in code.
2020-01-13 17:59:58 +01:00
Valentin Rothberg 6041f707ca rm contrib/perftest
Perftest was intended to be used for testing CPU intensive tasks of
Podman.  However, it does not compile for a long while and is not
integrated in the CI which clearly indicates that it has not been
used for a considerable amount of time.

Remove contrib/perftest entirely.  If the desire arises to revive it,
all code is still reachable in the git history.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-13 14:26:57 +01:00
Daniel J Walsh 4093b2c011
Add codespell to validate spelling mistakes in code.
Fix all errors found by codespell

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-01-11 06:32:19 -05:00
Chris Evich 49be255fee
Cirrus: Fix libpod base images going stale
VM Base images are used as a starting point for runtime VM images.
The in-use VM base images should never be pruned, which is an
operation that potentially occurs periodically from automation
running on the master branch of the libpod repo.

However the only place which updates timestamps (blocking pruning)
of base images, occurs during runtime VM image building.  Therefor,
if images are not regularly rebuilt, it's possible their base images
go stale and are pruned.

Changes:

* Add freshly-produced base images (old ones got pruned)
* Wrap the timestamp update script to include base image names
in the update list.

Notes:

* Regularly updating base image timestamps only needs to happen
on the libpod repo's meta task, since all base images live there.
* Using a wrapper is needed to maintain compatibility with multiple
versions of the imgts container image used by other repos / branchs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-01-10 13:13:27 -05:00
TomSweeneyRedHat 77994c4957 Update podmanimage build process
(Stealing from: @rhatdan 's https://github.com/containers/buildah/pull/2038 )

1 We need to update all packages in the podman image to make sure they are
up2date.
2 reinstall shadow-utils. For some reason the fedora base image does not
include the file capabilities assigned to /usr/bin/newuidmap and
/usr/bin/newgidmap. Reinstalling shadow-utils, brings them back.
3 Add a default user build to the system. This will create the
/etc/subuid and /etc/subgid maps get created correctly.

Once we have this we should be able to build a container starting with a non
privileged user

podman run -ti --user build --device=/dev/fuse -v ./Dockerfile:/Dockerfile:z quay.io/podman/stable podman buildd /

Addresses: #4741

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-01-08 14:21:21 -05:00
Sorin Sbarnea da0319fecd packaging: validate installed rpms
Previously we builded RPMs that contained an outdated conmon which was
not compatible. From now on `make-install` will also call
`podman version` and `podman info` in order to perform a minimal
sanity check of the installation.

Fixes: #4665
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2020-01-07 20:06:27 +00:00
Matthew Heon 08849db4b0 Bump to v1.7.1-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-01-06 15:16:38 -05:00
Neville Cain 16b793a45a Generate binaries only if they are changes in src code.
Changes I am making:

1. The target `.gopathok` was listed in `.PHONY` which
looks wrong as it regenerates `.gopathok` every time we
 re-run it, which was a part of the issue. I removed it
 to avoid that. If `.gopathok` is present', makefile
should not need to rerun it.

2. Ensure the binaries are created only if they don't
exist by adding `bin/podman`
and `bin/podman-remote`.

3. Add a `SOURCES = $(shell find . -name "*.go")` and put
it as a dependency of the podman binaries target. It allows us
to re-generate the binaries only when there is a change in the
source files. The downside is it increases the running time of
the command that generates them (20 seconds on my virtual machine
running Centos 7). If this is a problem, we could introduce a
hidden file that would list all the files to track, that
would need to be updated only when a dev is introducing new files.

4. Fixed the make package-install as it does not work with yum.
I updated the build_rpm.sh to ensure it works on centos 7
and centos 8 with no pre-required installation.

Closes #4367

Signed-off-by: Neville Cain <neville.cain@qonto.eu>
2020-01-04 23:54:57 +01:00
Chandan Kumar (raukadah) b54c350a07 Use systemd/sd-daemon.h headers for systemd presence
Finding systemd devel packages using libsystemd does not work as
in RHEL based distro the package name is systemd-devel and for
deb/ubunutu it is libsystemd. It is also giving false result when
podman rpm is built with systemd but hack/systemd_tag.sh does not
return anything.

Install systemd-devel package in build_rpm.sh script

Moving to systemd/sd-daemon.h header files which comes from devel
packages fixes the issue.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-12-16 20:37:15 +05:30
Chandan Kumar (raukadah) 5f6eea8a54 Fixed the path of hack scripts in spec file
While building the spec file on fedora, in rpmbuild log,
.sh: No such file or directory error is shown as full path of
hack directory is not resolved leading to file not found error.

Appending the builddir and libpod path with hack will fix the issue.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-12-13 12:20:37 +05:30
Matthew Heon 17c369c255 Bump to v1.7.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-12-11 12:49:31 -05:00
Matthew Heon 7bbef419fb Bump to v1.7.0-rc1
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-12-11 12:49:25 -05:00
Sorin Sbarnea a03c3a9318 Enable multi-platform rpm building
- make: fix python detection for multiple interpreters
- make: create generic `package` and `package-install` targets
- build_rpm.sh: move package installation into package-install
- build_rpm.sh: fix dnf/yum detection
- build_rpm.sh: install md2man rpm only on platfroms where is available
- build_rpm.sh: temporary skip packaging docs and debug on rhel-8
- docs: `make package-install`

This change is validated by new CI jobs run by rdoproject. See link
below for result.

Depends-On: https://review.rdoproject.org/r/#/c/23943/
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2019-12-05 10:34:10 +00:00
Sorin Sbarnea 578a836d7d Improve dnf tests inside build_rpm.sh
- Fix bug failing to detect dnf in various locations
- Add missing sudo to yum/dnf calls
- Fix bug where pkg_manager may endup with a multi-line value

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2019-12-04 10:48:26 +00:00
Chandan Kumar (raukadah) 1414a063f5 Updates on making doc building and debug optional
It changes the podman spec from using with_doc to bcond_without
for building docs so that anyone can pass --without doc as well
as other rpmbuild args to the build_rpm.sh script to skip
building docs.

Since go-md2man is not available in CentOS8 repo. without the
help fo extra_args, it makes it conditional.

It also moves the manpages to a seperate package.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-12-03 07:57:50 +05:30
OpenShift Merge Robot 1c0356ee91
Merge pull request #4587 from raukadah/btrfs
Disable btrfs for RHEL in podman spec
2019-11-29 12:02:37 +01:00
OpenShift Merge Robot 17646e9c7d
Merge pull request #4590 from raukadah/docs
Make doc building in spec optional
2019-11-29 11:32:52 +01:00
Chandan Kumar (raukadah) 17e4641d45 Make doc building in spec optional
since go-man2md is not available in CentOS 8, making it
optional allows them to build the rpm.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-11-28 18:40:15 +05:30
Chandan Kumar (raukadah) eb3cbdd628 Donot install btrfs in RHEL/CentOS-8
Since btrfs-progs-devel is not available in RHEL/CentOS 8 and
the spec fails to build it while running build_rpm.sh,
making it optional fixes the issue.

It also modifies the spec file to install btrfs-progs-devel for
fedora only.

Since golang-github-cpuguy83-go-md2man was added twice, it also
removes the repetition.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-11-28 18:38:22 +05:30
Sorin Sbarnea 7605387a70 Improved build_rpm.sh
- assure we use bash strict mode to avoid missing errors
- added untracked artifacts to gitignore

Signed-off-by: Sorin Sbarnea <sorin.sbarnea@gmail.com>
2019-11-27 17:59:06 +00:00
Dmitry Smirnov 8d928d525f codespell: spelling corrections
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
2019-11-13 08:15:00 +11:00
Daniel J Walsh 5f3a61ed42
Add support for make vendor-in-container
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-08 06:27:17 -05:00
Matthew Heon 830808cba7 Bump development version to 1.6.4-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-11-04 17:50:14 -05:00
OpenShift Merge Robot 45e0bd3891
Merge pull request #4379 from cevich/fix_upload_release_archive
Cirrus: Fix upload_release_archive on branch or tag
2019-10-30 21:31:32 +01:00
Chris Evich 326ef19d94
Cirrus: Fix upload_release_archive on branch or tag
Cirrus-CI only sets `$CIRRUS_BASE_SHA` when testing PRs since the
destination and it's state is easy to discover.  However, when
post-merge and/or tag-push testing, the previous state is not
easily discoverable (changes have already merged).  The
`upload_release_archive` script incorrectly assumed this
variable was always set, causing a constant stream of post-merge
testing failures.

Tweak the `is_release()` function to properly handle an empty
`$CIRRUS_BASE_SHA` whether or not `$CIRRUS_TAG` is also set.  Also
update the unit-tests to check for this.  Also account for a
corner case where hack/get_ci_vm.sh is running on a VM w/o git.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-30 14:31:38 -04:00
OpenShift Merge Robot 9ba8dae0bf
Merge pull request #4365 from cevich/safe_load
Cirrus: Fix minor python deprecation warning
2019-10-30 18:10:16 +01:00
Giuseppe Scrivano 2046be6ae0
build: drop support for ostree
it is going to be removed from containers/image as well, so no longer
depend on it.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-30 11:28:10 +01:00
OpenShift Merge Robot e7540d0406
Merge pull request #4310 from nalind/manifest-lists
Move to containers/image v5, support manifest lists
2019-10-29 20:58:51 +01:00
Nalin Dahyabhai a4a70b4506 bump containers/image to v5.0.0, buildah to v1.11.4
Move to containers/image v5 and containers/buildah to v1.11.4.

Replace an equality check with a type assertion when checking for a
docker.ErrUnauthorizedForCredentials in `podman login`.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-10-29 13:35:18 -04:00
Chris Evich d4c80b755e
Cirrus: Fix minor python deprecation warning
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-29 10:45:08 -04:00
Chris Evich 8303eb3037
Cirrus: Only upload tagged releases
Prior to this commit, every push to master had it's builds packaged and
uploaded to google storage.  This is a waste, since potential users
are only ever concerned about tagged releases.

Unfortunately because the release process involves humans with
potentially multiple human and automation steps happening in parallel,
it's easy for automation to not detect a tagged release, or trigger on
development|pre-release tags.

Fix this in `upload_release_archive.sh` using a new unit-tested
function `is_release()`.  This acts as the definitive authority
on whether or not a specific commit rage or `$CIRRUS_TAG` value
constitutes something worthy of upload.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-29 10:34:58 -04:00
Matthew Heon 21f9c93073 Bump to v1.6.3-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-10-17 15:09:46 -04:00
OpenShift Merge Robot 2bf184aa01
Merge pull request #4222 from cevich/collect_varlink_log
Cirrus: Produce and collect varlink output
2019-10-09 14:33:14 -07:00
OpenShift Merge Robot c3c40f970e
Merge pull request #4218 from jlebon/pr/drop-also
io.podman.socket: drop Also=multi-user.target
2019-10-09 05:03:15 -07:00
Chris Evich ffe726ed64
Cirrus: Produce and collect varlink output
When executing 'make remotesystem' testing, a varlink process is started
up but it's stdio is dumped due to the production of excessive data.
However, this also means if the process has a problem, any errors will
not be accessible.

Instead, grab only the last 100 lines and direct them into a file.  Also
update automation's log collection to retrieve this file when the
`$REMOTE_CLIENT` env. var. is `true`.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-08 16:47:37 -04:00
Jonathan Lebon 59353b4dce io.podman.socket: drop Also=multi-user.target
Using `Also=` means that the target unit will also be
installed/uninstalled together with our unit. Doing
`Also=multi-user.target` essentially says: disable `multi-user.target`
if `io.podman.socket` is disabled, which sounds... not at all like
what we want.

In practice, systemd thankfully ignores this (likely because it's the
default target). I think having `Also=io.podman.socket` in the
`io.podman.service` already does what we want here: it gets installed
under `sockets.target` whenever the service is. (And the fact that
systemd ignored this means that it wasn't actually playing a role in
resolving #3998.)

This was causing `systemctl preset-all` to dump core in Fedora CoreOS:
https://github.com/coreos/fedora-coreos-tracker/issues/290

(Likely there's a systemd bug around here too.)

Signed-off-by: Jonathan Lebon <jonathan@jlebon.com>
2019-10-08 12:12:16 -04:00
Chris Evich 09b6cd06c8
Cirrus: Install conmon in Fedora VMs
This is needed because older versions of podman (1.5.1) do not
automatically install the new conmon package.

Also, include removal of `/usr/libexec/podman/conmon` when preparing to
install and test podman built from source.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-07 11:27:45 -04:00
Miloslav Trmač d3f59bedb3 Update c/image to v4.0.1 and buildah to 1.11.3
This requires updating all import paths throughout, and a matching
buildah update to interoperate.

I can't figure out the reason for go.mod tracking
	github.com/containers/image v3.0.2+incompatible // indirect
((go mod graph) lists it as a direct dependency of libpod, but
(go list -json -m all) lists it as an indirect dependency),
but at least looking at the vendor subdirectory, it doesn't seem
to be actually used in the built binaries.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2019-10-04 20:18:23 +02:00
OpenShift Merge Robot bd08fc0e9b
Merge pull request #4180 from cevich/update_download_links
Docs: Update links, add links to latest
2019-10-04 08:55:50 -07:00
Chris Evich 5756fd8ff9
Cirrus: Simplify package NVR logging
Also include runc/crun version for Fedora

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-03 15:53:07 -04:00
Chris Evich f8deaf9f9d
Cirrus: Fix log URIs & add optional $ALSO_FILENAME
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-03 15:18:26 -04:00
Matthew Heon 9e5646ec23 Bump to v1.6.2-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-10-02 17:39:05 -04:00
OpenShift Merge Robot 7e47abe1f7
Merge pull request #4154 from cevich/show_packages
Cirrus: Show names/versions of critical packages
2019-10-01 08:42:04 -07:00
OpenShift Merge Robot 049aafa4c0
Merge pull request #4090 from vrothberg/build-catatonit
Build catatonit
2019-10-01 06:05:22 -07:00
Chris Evich 0b5100ff79
Cirrus: Show names/versions of critical packages
Adds an output to all testing tasks which lists the names/versions of
critical/essential packages present on the VM.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-01 08:54:50 -04:00
Matthew Heon d52868f81c Bump to v1.6.1-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-09-30 19:02:29 -04:00
OpenShift Merge Robot 01b7af8ee9
Merge pull request #4100 from cevich/cache_image_docs
Cirrus: VM Image accounting doc update
2019-09-29 07:11:31 -07:00
OpenShift Merge Robot 742a8b0c6e
Merge pull request #4028 from cevich/add_bash_completion_support
cirrus: Add bash-completion support
2019-09-29 07:01:46 -07:00
OpenShift Merge Robot a8c2b5dee4
Merge pull request #4127 from nalind/reexec-use
Correct use of reexec.Init()
2019-09-27 17:22:48 +02:00
Nalin Dahyabhai 65b20bd521 Correct use of reexec.Init()
A true result from reexec.Init() isn't an error, but it indicates that
main() should exit with a success exit status.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-09-26 18:19:07 -04:00
Chris Evich 8368a894ba
Cirrus: Disable boottime Ubuntu package update
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-26 12:36:33 -04:00
Chris Evich b9e21af44f
cirrus: Add bash-completion support
This is fairly standard thing to have on a user's workstation, supported
by podman.  When installed in a VM image, then it's useful for debugging
with `hack/get_ci_vm.sh` at the cost of a minor increase in disk-space.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-26 09:58:16 -04:00
Valentin Rothberg 80f6af7766 catatonit: clone and build
Instead of unconditionally pulling the x86 binary, clone the repository
and build the binary to make it independent of the architecture.

Fixes: #2699
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-09-25 11:05:41 +02:00
Chris Evich 601052b386
Cirrus: Upload windows MSI release file
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-24 15:13:40 -04:00
Chris Evich 85bfd70c91
Cirrus: VM Image accounting doc update
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-24 11:27:42 -04:00
OpenShift Merge Robot c0eff1a81c
Merge pull request #4071 from cevich/more_podbot
Cirrus: More podbot/success improvements
2019-09-22 16:57:54 +02:00
Chris Evich 831a64393e
Cirrus: disable Evil Units in base-images
Also, minor update to prevent harmless 'Fatal: not a git repo' error.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-20 14:34:13 -04:00
Chris Evich 9a2ae2442d
Cirrus: Add latest ubuntu
Add the latest Ubuntu version into the testing matrix
and image-build workflow. This is also needed to support
other containers projects which share use of VM images
from this one.

Update package lists to include needs for contianers/storage
use of images.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-20 14:34:13 -04:00
Chris Evich 33b3d2914f
Cirrus: More podbot/success improvements
* Fix one disused and two missing required env. vars.
* Slightly optomize processing of commit-author names
* Fix problem of printing duplicate author names when there are multiple
commits.
* Fix bot's IRC connection timeout too short.
* Add a single retry of IRC connection after 5-second delay.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-20 14:03:54 -04:00
Chris Evich babe201dae
Cirrus: Fix success script
Fixed a typo.

Also script was grabbing quotes and other non-email-address junk
while looping. Filter before and after to make sure we get 'em all.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-20 12:31:56 -04:00
OpenShift Merge Robot 7ed1816900
Merge pull request #4051 from giuseppe/use-crun-pkg
tests: use crun package
2019-09-20 09:00:22 +02:00
Jhon Honce 96bcf8cecc Support podman-remote help on windows
* Update scipts to produce darwin and windows output
* Update batch file to re-direct help requests to browser
* Add pandoc filter for markdown to html links

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-09-19 14:14:38 -07:00
Giuseppe Scrivano 6e35886dc2
tests: use crun package
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-09-19 13:58:56 +02:00
OpenShift Merge Robot 408f2780a1
Merge pull request #3985 from cevich/verify_no_podman
Cirrus: Prevent resident pollution
2019-09-19 04:00:54 +02:00
Matthew Heon ca5ff03e29 Bump to v1.6.0-rc1
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-09-16 09:54:28 -04:00
OpenShift Merge Robot 6ad17623d5
Merge pull request #3998 from cevich/idiot_proof_systemd_unit
Prevent podman varlink socket fight
2019-09-12 22:54:37 +02:00
OpenShift Merge Robot af8fedcc78
Merge pull request #3999 from jwhonce/wip/msi
Support building Windows msi file
2019-09-12 19:44:35 +02:00
Jhon Honce 046c081ed0 Add podman icon to installer
Update Makefile per review comments

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-09-12 09:35:54 -07:00
Chris Evich 9be2a6f908
Prevent podman varlink socket fight
When enabled, it's desired for the podman-varlink process to startup on
boot or upon socket-activation, whichever happens first.  However,
with `KillMode=none` systemd will never kill any podman-varlink
processes.  This makes it easily possible for multiple podman-varlink
processes to be running, and fight each other to service a single socket.

---
For example:

Prior to this commit, this will result in four podman-varlink processes
being run:

```
systemctl enable io.podman.socket
systemctl enable io.podman.service
systemctl start io.podman.socket
systemctl start io.podman.service
systemctl start io.podman.service
```

Fix this by setting `KillMode=process` and `TimeoutStopSec=30` (default
is 90).  This results in podman-varlink exiting on its own after a minute
of being idle (--timeout=60000).  Alternatively, systemd will manage the
service stop by sending a SIGTERM, then if podman-varlink has not exited
within `TimeoutStopSec`, a SIGKILL will be sent.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-12 11:21:20 -04:00
Jhon Honce ecb958e598 Support building Windows msi file
* Update Makefile to build msi
* Add podman.wxs to define podman.msi
  * Version information provided by Makefile
* Add podman.bat wrapper for podman-remote-windows.exe to ensure environment
* Add wix xml schemas for reference

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-09-11 16:15:52 -07:00
Chris Evich 866d4763a1
Cirrus: Fix unnecessary setsebool
By mistake this was added to run for the image-building-VM and is not
supported.  Kill it.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-11 14:03:20 -04:00
OpenShift Merge Robot 7ac6ed3b4b
Merge pull request #3581 from mheon/no_cgroups
Support running containers without CGroups
2019-09-11 00:58:46 +02:00
Chris Evich a58ac7be7b
Cirrus: Prevent resident pollution
When constructing VM cache-images, the latest/greatest podman package is
installed to ensure all necessary dependencies are met.  Prior to
testing source-built binaries, most of of the packaged files are removed.
However, if the `io.podman` service or socket is enabled/running, it
could cause the packaged podman and varlink binaries to be both resident
and cached.  Since this condition would cause very difficult to diagnose
behaviors, add preventative measures to ensure these services are absent
prior to removing packaged podman files.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-10 16:22:15 -04:00
OpenShift Merge Robot c1761ba1ac
Merge pull request #3817 from xcffl/master
Add explanation mounting named volumes for `podman run`
2019-09-10 19:17:39 +02:00
Matthew Heon c2284962c7 Add support for launching containers without CGroups
This is mostly used with Systemd, which really wants to manage
CGroups itself when managing containers via unit file.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-09-10 10:52:37 -04:00
xcffl 3d240bd795 Replace "podman" with "Podman"
Signed-off-by: xcffl <xcffl@outlook.com>
2019-09-07 20:16:42 +08:00
TomSweeneyRedHat 8ad6f25db8 Turn off journald in podmanimages on quay.io
In the Dockerfiles that are used to build the podman images on
quay.io, we were changing the events_logger from journald to
file in libpod.conf, but we weren't enabling it as we didn't
remove the comment.  This corrects that and addresses: #3464

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-09-06 19:57:53 -04:00
Chris Evich 34dad57cbc
Cirrus: Update e-mail -> IRC Nick table
Also add fixes to help prevent 'fatal: Invalid revision range' error.
Should obtaining all authors from the range still fail, only grab the
HEAD commit author as a fallback.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-03 16:39:35 -04:00
OpenShift Merge Robot c03949986f
Merge pull request #3904 from cevich/fix_img_prune
Cirrus: imgprune fixes
2019-09-03 06:04:08 -07:00
Chris Evich 48d1c49078
Cirrus: On success, add IRC nick mention to msg
Rather than spamming the podman channel with impersonal success
messages referring to PR numbers, mention the author by nick name
and include the PR title and link.

Also avoid needless logging of all bot-script interactions with
IRC when there is no error detected.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-30 14:57:42 -04:00