Commit Graph

206 Commits

Author SHA1 Message Date
Matthew Heon a61ebf0446 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-16 17:38:43 -04:00
OpenShift Merge Robot 95d90c1de7
Merge pull request #3127 from mheon/fix_start_race
Ensure that start() in StartAndAttach() is locked
2019-05-16 01:08:05 +02:00
OpenShift Merge Robot 7ede159465
Merge pull request #3089 from baude/splittest
split remote tests from distro tests
2019-05-15 22:20:04 +02:00
Matthew Heon d1f82231d6 Add debug mode to Ginkgo, collect debug logs in Cirrus
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-15 12:07:16 -04:00
baude a86aa4b1e9 split remote tests from distro tests
We want the remote tests for our distributions to be tested in a
different VM than the local tests.  This allows for faster CI runs and
easier debug as well as seperation of flakes.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-13 12:17:55 -05:00
Sascha Grunert d1fc3fc702
Add `systemd` build tag
If the systemd development files are not present on the system which
builds podman, then `podman events` will error on runtime creation.
Beside this, a warning will be printed when compiling podman.

This commit mainly exists because projects which depend on libpod
would not need the podman event support and therefore do not need to
rely on the systemd headers.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-05-13 14:00:27 +02:00
Matthew Heon 6e0cb42529 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-06 09:41:21 -04:00
Ed Santiago 295c531ece cirrus lib.sh: refactor req_env_var()
Existing code was not working due to a bash gotcha ('exit'
from a pipeline). It also had unnecessary duplication.

New version is safer; also includes unit tests run under localunit.

Existing invocations of req_env_var replaced via:

   $ [ edit setup_environment.sh, move one closing quote to its own line ]
   $ perl -ni -e 's/(?<=req_env_var )"(\S+)\s+\$\1"/$1/; if (/req_env_var "$/ .. /^\s*"/) { chomp; s/(?<=\S)\s.*//; if (/^\s*"/) { print "\n" } else { unless (/req_env_var/) { s/^\s+//; print " ";} print;} } else { print }' $(ack -l req_env_var)
   $ [ hand-massage an incorrect instance of '@' in lib.sh:ircmsg() ]

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-05-02 08:14:59 -06:00
baude 0b6bb6a3d3 enable podman-remote on windows
build a podman-remote binary for windows that allows users to use the
remote client on windows and interact with podman on linux system.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-30 15:28:39 -05:00
Kunal Kushwaha 4f7cbce911 build podman-remote with Dockerfile.
build podman-remote binaries for linux & darwin in container

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2019-04-25 17:44:40 +09:00
Sascha Grunert 88b0e74e0b
Update registrar unit tests to match them of cri-o
- Add the test framework abstraction
- Update the unit tests to run with ginkgo

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-04-04 08:53:32 +02:00
Matthew Heon fa2933e6ab Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-30 11:33:15 -04:00
Ed Santiago 6aa8078cc1 zsh completion
Weekend hack by someone who doesn't grok zsh completion
but who finds it deeply offensive that most completion
files have an unmaintainable duplication of options
and arguments. The idea behind this one is to discover
the command line using --help, with a few hardcoded
helpers for discovering containers, images, pods,
and figuring out which args take files/dirs as args.

Working remarkably well. I am using this in my daily
routine and wondering how I ever managed without it.
It's not perfect -- a future version can perhaps
show only stopped containers for podman rm, only
running ones for podman stop -- but ROI seems low
on that given my limited zsh completion skills.

Sadly, I can't figure out how to write a regression
test suite for this. It would be lovely to have a
list if partial command lines and expected completions,
because the history of this change is that (seemingly)
minor tweaks in one place cause breakage in another.
Does anyone know of such a framework?

Still... working well enough to ship, IMO.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-03-13 16:40:07 -06:00
baude c8ca027938 Add gating tasks
to protect against regressions, we need to add a few gating tasks:
 * build with varlink
 * build podman-remote
 * build podman-remote-darwin

we already have a gating task for building without varlink

Signed-off-by: baude <bbaude@redhat.com>
2019-03-13 12:10:35 -05:00
OpenShift Merge Robot 720e9c5ab4
Merge pull request #2598 from mheon/crio_umount_is_useless
We don't use crio-umount.conf
2019-03-09 03:30:08 -08:00
Matthew Heon caa8c66a87 We don't use crio-umount.conf
It also causes conflicts with CRI-O packages.

Also, change the path on seccomp.json so it lives in /usr/share
by default, with everything else.

Fixes #2596

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-03-08 18:22:10 -05:00
baude d5546008ab ginkgo status improvements
a series of improvements to our ginkgo test framework so we can
get better ideas of whats going on when run in CI

Signed-off-by: baude <bbaude@redhat.com>
2019-03-08 13:28:33 -06:00
OpenShift Merge Robot 645426fe79
Merge pull request #2528 from cevich/more_time
Globally increase test timeout to 90-minutes
2019-03-05 06:34:03 -08:00
Matthew Heon eedc4cf4d2 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-04 19:34:07 -05:00
Chris Evich e6e6cb384c
Globally increase test timeout to 90-minutes
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-03-04 15:19:15 -05:00
Matthew Heon c8e8732ee1 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-01 18:03:53 -05:00
Matthew Heon 86141f9eba Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 17:33:45 -05:00
baude d2601eeaa3 build varlink without GOPATH
when gopath was not explicitly set, make would fail due
to the varlink generator.  this symlink in the makefile
addresses that.

fixes: #1842

Signed-off-by: baude <bbaude@redhat.com>
2019-02-13 12:25:08 -06:00
Lars Karlitski 38e42476cb Makefile: Don't include quotes around GIT_COMMIT
These quotes were included in the varlink `GetVersion()` call.

Signed-off-by: Lars Karlitski <lars@karlitski.net>
2019-02-12 14:47:49 +01:00
baude a1ab6788e4 Remove urfave/cli from libpod
This is the final cleanup to remove urfave/sli from libpod.  Removed
old, disabled tests that have not been run in over a year.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-11 17:48:34 -06:00
baude 25a3923b61 Migrate to cobra CLI
We intend to migrate to the cobra cli from urfave/cli because the
project is more well maintained.  There are also some technical reasons
as well which extend into our remote client work.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-08 10:26:43 -06:00
OpenShift Merge Robot 01f436ca47
Merge pull request #2288 from vrothberg/vendor-docs
Vendor docs
2019-02-07 15:46:49 +01:00
Valentin Rothberg 0f0ba53030 make vendor: always check for latest vndr
@baude and I have recently debugged a `make vendor` issue, where
different versions of `vndr` leave slightly different states behind.
This ultimately leads to inconsistencies with the CI, which always
fetches the latest version.

To avoid such issues in the future, always use the latest version of
`vndr` by checking for new versions of it prior to execution.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-02-07 14:25:54 +01:00
Hervé Beraud 7c5641cddf Add varlink generate to the make documentation
Minor improvement who add helping comment to the
varlink generate target.

Signed-off-by: Hervé Beraud <hberaud@redhat.com>
2019-02-07 09:35:11 +01:00
OpenShift Merge Robot 72fcfb7e86
Merge pull request #2283 from 4383/improve-makefile
Generate make helping message dynamicaly.
2019-02-06 22:45:51 +01:00
Hervé Beraud e0c3af6523 Generate make helping message dynamicaly.
Generate make helping message dynamicaly by using
python code snippet inside Makefile.

All commented make targets will be added to the
help message. To be added to the helping message
comment need to start with '## '.

These specials comments are detected by the python code.
Python code generate the helping output from these results.

Notice that this commit introduce a dependency with python (compatible python 2 and 3).

Signed-off-by: Hervé Beraud <hberaud@redhat.com>
2019-02-06 20:15:53 +01:00
Ed Santiago aa881a0c71 Makefile: minor fix to reenable system tests
PR #2259 removed the .install.gomega Makefile target but
didn't clean up two references to it. Do so now.

Also, when setting up GOPKGBASEDIR symlink, use -f (force)
flag; otherwise subsequent makes will fail.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-06 12:04:21 -07:00
OpenShift Merge Robot e249966e72
Merge pull request #2270 from cevich/fail_faster
Apply 45min timeout to integration tests
2019-02-06 14:00:38 +01:00
Valentin Rothberg 9ac0ebb079 Cirrus: add vendor_check_task
* Make sure that all vendored dependencies are in sync with the code and
  the vendor.conf by running `make vendor` with a follow-up status check
  of the git tree.

* Vendor ginkgo and gomega to include the test dependencies.

Signed-off-by: Chris Evic <cevich@redhat.com>
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-02-06 11:14:06 +01:00
Chris Evich ede38d3600
Apply 50min timeout to integration tests
IMHO, longer than this waiting for automated testing is "too long".

Scientificaly speaking, based on thousands of runs across many
platforms, successful runs always happen in less time.  Normally
Ubuntu passes in 35-40 minutes, and the Fedoras do it in 25-30.

If they take longer, something is likely badly broken.  In that
case, it's better to fail within a short/defined time, than wait
for the (much longer) automation-level timeout and inevitable
failure.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-02-05 13:54:48 -05:00
Giuseppe Scrivano 80b75d299e
tests: allow to override the OCI runtime
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-02-05 15:35:50 +01:00
OpenShift Merge Robot 778f9867fd
Merge pull request #2253 from kunalkushwaha/quick-dockerfile-build
Reduce Dockerfile based build time for libpod.
2019-02-04 23:05:19 +01:00
Kunal Kushwaha 5eb6fbe1c2 Reduce Dockerfile based build time for libpod.
libpod code added at end of Dockerfile, avoids
git clone of other packages in Dockerfile on subsequent builds.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2019-02-01 11:36:52 +09:00
Chris Evich 10d749b9a8
Set SELinux type on bin/podman after install
Different components of testing reference the podman binary differently.
While they are identical in content, their SELinux types are not the
same, depending on build location.  Avoid confusion and test failures
by always matching the bin/podman SELinux type to that of $BINDIR/podman
 **after** install.  This ensures even if the code or default contexts
change, a subsequent `make install` will re-match the SELinux type.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-01-30 08:26:49 -05:00
Matthew Heon 2cff111d71 Update README for v1.0.0
Also bump gitvalidation epoch - we usually do this every release,
but v1.0.0 is on a branch so we need a separate commit for master

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-01-16 12:05:44 -05:00
baude b30a56c156 Run integrations test with remote-client
Add the ability to run the integration (ginkgo) suite using
the remote client.

Only the images_test.go file is run right now; all the rest are
isolated with a // +build !remotelinux.  As more content is
developed for the remote client, we can unblock the files and
just block single tests as needed.

Signed-off-by: baude <bbaude@redhat.com>
2019-01-14 14:51:32 -06:00
baude 43c6da22b9 Add darwin support for remote-client
Add the ability to cross-compile podman remote for OSX.

Also, add image exists and tag to remote-client.

Signed-off-by: baude <bbaude@redhat.com>
2019-01-11 11:30:28 -06:00
Valentin Rothberg 545f244212 vendor make target
Add a `make vendor` target calls `vndr` with a specified whitelist to
avoid deleting important files (currently the varlink/go project).

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-01-11 13:12:14 +01:00
Matthew Heon 07f3b147f1 Remove easyjson in preparation for switch to jsoniter
The jsoniter library does not require code generation, which is a
massive advantage over easyjson (it's also about the same in
performance). Begin moving over to it by removing the existing
easyjson code.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-01-10 15:48:09 -05:00
Jhon Honce 45fb935fe4 Move python code from contrib to it's own repo python-podman
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-01-10 11:27:50 -07:00
Daniel J Walsh db19bed6e8
Add Validate completions
In podman 0.12.0 we have invalid completions.  These should have been
caught during testing. This check will throw an error if the completions
do not successfully execute.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-01-08 12:55:21 -05:00
OpenShift Merge Robot 8c8d895d66
Merge pull request #2098 from baude/remote
Add ability to build golang remote client
2019-01-07 11:54:55 -08:00
baude 41fb81d074 Add ability to build golang remote client
Add the ability to build a remote client in golang that uses all
the same front-end cli code and output code. The initial limitations
here are that it can only be a local client while the bridge and
resolver code is being written for the golang varlink client.

Tests and docs will be added in subsequent PRs.

Signed-off-by: baude <bbaude@redhat.com>
2019-01-07 12:43:57 -06:00
Matthew Heon 57d2a56920 Readd Python testing
We accidentally merged a PR with a commit temporarily disabling
the Python tests. Reenable them here.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-01-04 16:16:52 -05:00
Matthew Heon 01858c0eba DO NOT MERGE temporarily remove python tests
It's impossible to get good debug out of the python tests, so
nuke them for now so I can figure out what's wrong.

DO NOT MERGE THIS COMMIT

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-01-04 09:51:09 -05:00