Commit Graph

593 Commits

Author SHA1 Message Date
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