Commit graph

409 commits

Author SHA1 Message Date
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
Valentin Rothberg
75578aad61 add container-init support
Add support for executing an init binary as PID 1 in a container to
forward signals and reap processes.  When the `--init` flag is set for
podman-create or podman-run, the init binary is bind-mounted to
`/dev/init` in the container and "/dev/init --" is prepended to the
container's command.

The default base path of the container-init binary is `/usr/libexec/podman`
while the default binary is catatonit [1].  This default can be changed
permanently via the `init_path` field in the `libpod.conf` configuration
file (which is recommended for packaging) or temporarily via the
`--init-path` flag of podman-create and podman-run.

[1] https://github.com/openSUSE/catatonit

Fixes: #1670
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-01-04 11:42:03 +01:00
OpenShift Merge Robot
65c5883f5c
Merge pull request #1757 from kunalkushwaha/contrib-perftest
perf test a stress test to profile CPU load of podman
2018-12-20 06:51:01 -08:00
Giuseppe Scrivano
98c5d9d962
Makefile: validate that each commit can at least build
it is very useful when using git bisect that at least the commit can
build.

got inspiration from: https://twitter.com/pid_eins/status/1072797993760423941

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-12-19 16:53:22 +01:00
Kunal Kushwaha
658f772c16 perf test a stress test to profile CPU load of podman
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-12-19 16:05:21 +09:00
Matthew Heon
fbf7422bc5 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-12-13 13:55:32 -05:00
Matthew Heon
4c68f3d0ab Makefile tweaks to fix make shell
Also, bump the Dockerfile to use the latest Golang image, as most
of our testing is now done on 1.11

Fixes: #1999

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-12-12 14:41:49 -05:00
Vincent Demeester
0b0096382c
No need to use -i in go build (with go 1.10 and above)
> The go build command now maintains a cache of recently built
  packages, separate from the installed packages in $GOROOT/pkg or
  $GOPATH/pkg. The effect of the cache should be to speed builds that
  do not explicitly install packages or when switching between
  different copies of source code (for example, when changing back and
  forth between different branches in a version control system). The
  old advice to add the -i flag for speed, as in go build -i or go
  test -i, is no longer necessary: builds run just as fast without -i.

This should also fix podman builds for NixOS, snap-installed go, …

Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
2018-12-11 15:26:01 +01:00
Matthew Heon
d16f791851 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-12-07 14:14:51 -05:00
OpenShift Merge Robot
d4af59d57c
Merge pull request #1788 from cevich/cirrus_base_images
Codify and document base-image production + Enable testing with Fedora
2018-12-07 07:46:46 -08:00
Matthew Heon
758b7a5a63 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-12-06 17:33:10 -05:00
Chris Evich
8d7fdc7d79
Cirrus: Use Makefile for image-building
The packer tool takes JSON as input for the details of producing VM
images to be used for PR CI-testing.  JSON is not a very human-friendly
format, without support for comments and frequently containing lots of
duplicate data.

Fix this by using a Makefile + simple python one-liner to convert
from a human-friendly YAML format into packer-native JSON.  This allows
use of anchors/aliases to reduce duplication, and allows inline comments
for easier maintainability.  This also allows separating the 'test'
action from the 'build' action, for earlier and better syntax problem
detection.

Lastly, there are some minor ``lib.sh`` and ``integration_test.sh``
updates to support future work, and slightly improve the build and
test environments.

Signed-off-by: Chris Evich <cevich@redhat.com>
2018-12-06 15:39:18 -05:00
OpenShift Merge Robot
cd5742ff47
Merge pull request #1385 from ypu/systemtest
Add system test with ginkgo
2018-11-16 08:51:42 -08:00
OpenShift Merge Robot
39ef6d43d0
Merge pull request #1756 from isimluk/update-dependent-metalinter
Update metalinter dependency
2018-11-16 05:02:03 -08:00
Yiqiao Pu
c1bc0a7192 Add a rule to compile system test in Makefile
Signed-off-by: Yiqiao Pu <ypu@redhat.com>
2018-11-16 11:19:37 +08:00
Yiqiao Pu
a7122d68de The system test write with ginkgo
The tests can be filter by --focus and --skip to fit different test
target. Also be able to set global options and cmd options by export
it to ENV to fit different test matrix.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
2018-11-16 10:49:12 +08:00
Yiqiao Pu
74bcfc2f96 Separate common used test functions and structs to test/utils
Put common used test functions and structs to a separated package.
So we can use them for more testsuites.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
2018-11-16 10:49:00 +08:00
Matthew Heon
02bd5d4443 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-11-15 15:40:56 -05:00
Šimon Lukašík
868e280421 Lint: Update metalinter dependency
We fixated on old metalinter dependency in past based on experience of
metalinter being oftentimes broke and hence broking our build. See
762f508d9ca97cdbaee6053b663e98aee9cae081 in cri-o for more details.

Now, dated metalinter is messing up with my environment (like it is
panicing on containters/storage) so let's see if we can move to more
current version of metalinter.

Signed-off-by: Šimon Lukašík <slukasik@redhat.com>
2018-11-10 10:52:24 +01:00
Matthew Heon
a26ec2a0d3 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-11-08 14:09:03 -05:00
Šimon Lukašík
c04e090380 Do never override podman with docker
Signed-off-by: Šimon Lukašík <slukasik@redhat.com>
2018-11-03 08:58:22 +01:00
Anders F Björklund
b2fef1a8ba Fix setting of version information
It was setting the wrong variable (CamelCase)
in the wrong module ("main", not "libpod")...

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2018-10-31 00:27:08 +01:00
Daniel J Walsh
9250747092
Eat our own dogfood
Switch all tests to use podman installed on the system, or Docker if podman
does not exist.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-10-23 17:36:37 -04:00
Matthew Heon
683d8b579b Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-10-17 18:51:37 -04:00
Matthew Heon
6a32daad08 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-10-17 11:34:13 -04:00
Matthew Heon
f98c4a9c73 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-10-16 13:52:16 -04:00
Matthew Heon
99d9012650 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-10-11 16:51:28 -04:00
Valentin Rothberg
08cab4ad3a remove hack/dind
The docker-in-docker was script was needed to run AppArmor tests in
Travis, which is not required anymore since Travis isn't being used
for a while.  Removing the script will also cure some hiccups on
some atomic testing nodes.

Signed-off-by: Valentin Rothberg <vrothberg@suse.com>
2018-10-10 18:05:50 +02:00
Matthew Heon
9bcf7ce83a
Merge pull request #818 from wking/python-2-clean
Makefile: Call contrib/python's clean regardless of HAS_PYTHON3
2018-09-27 09:42:43 -04:00
baude
4073541981 rework CI tests to test on VMs
This PR makes several key changes to our CI testing.  Firstly, we now test
podman on fedora 28, fedora 29, and centos VMS (rather than containers). Any
of these that having failing tests are not marked as required yet. We
still preserve the podman in podman and podman in docker tests as well and
they are marked as required.

The lint and validate work is now done on a openshift container.  We also
removed the rpm verification on papr and perform this test under the "images"
test on the openshift ci.

This PR exposes integration test fails on some of our OSs.  My expectation is we
will fix those in additional PRs and as they are fixed, we should be flipping
the boolean bit to required.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #1492
Approved by: mheon
2018-09-26 15:47:29 +00:00
Matthew Heon
8a8c44915f Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-25 16:20:49 -04:00
Matthew Heon
b1799d0839 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-21 18:24:28 -04:00
Jhon Honce
1fb8d7f248 Replace all usages of "install -D" with "install -d"
Fixes #1481

Signed-off-by: Jhon Honce <jhonce@redhat.com>

Closes: #1496
Approved by: rhatdan
2018-09-18 12:36:15 +00:00
Matthew Heon
e2f44f1045 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-17 12:03:01 -04:00
Matthew Heon
9cae1696f6 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-14 18:13:33 -04:00
Matthew Heon
0405555345
Merge pull request #1434 from rhatdan/wait
Add --interval flag to podman wait
2018-09-14 16:52:13 -04:00
Matthew Heon
2d6bfe5f50 Update gitvalidation epoch to avoid a bad commit
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-14 10:59:48 -04:00
W. Trevor King
af6d86dcdf Makefile: Drop PYTHON
This line landed in 8493dba2 (Initial varlink implementation,
2018-03-26, #627), but this Makefile has never consumed that variable.

Signed-off-by: W. Trevor King <wking@tremily.us>
2018-09-13 22:15:22 -07:00
W. Trevor King
da42c60307 Makefile: Call contrib/python's clean regardless of HAS_PYTHON3
The only Python dependency in contrib/python's clean is:

  $(PYTHON) setup.py clean --all

and our setup.pys work on both major Python versions:

  $ make -C contrib/python/podman PYTHON=python2 clean
  make: Entering directory `/.../libpod/contrib/python/podman'
  python2 setup.py clean --all
  /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
    warnings.warn(msg)
  running clean
  'build/lib' does not exist -- can't clean it
  'build/bdist.linux-x86_64' does not exist -- can't clean it
  'build/scripts-2.7' does not exist -- can't clean it
  rm -rf podman.egg-info dist
  find . -depth -name __pycache__ -exec rm -rf {} \;
  find . -depth -name \*.pyc -exec rm -f {} \;
  make: Leaving directory `/.../libpod/contrib/python/podman'
  $ echo $?
  0
  $ make -C contrib/python/pypodman PYTHON=python2 clean
  make: Entering directory `/.../libpod/contrib/python/pypodman'
  python2 setup.py clean --all
  /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
    warnings.warn(msg)
  running clean
  removing 'build/lib' (and everything under it)
  removing 'build/bdist.linux-x86_64' (and everything under it)
  'build/scripts-2.7' does not exist -- can't clean it
  removing 'build'
  rm -rf pypodman.egg-info dist
  find . -depth -name __pycache__ -exec rm -rf {} \;
  find . -depth -name \*.pyc -exec rm -f {} \;
  make: Leaving directory `/.../libpod/contrib/python/pypodman'
  $ echo $?
  0

This rolls back part of 390bd16d (tidy up the copr spec, 2018-05-20, #813).

I've also shifted the submake cleans to the end of the main clean
recipe.  That way, if one of the submake cleans dies (e.g. because the
system lacks Python entirely), the temp-file removal will still
happen.  The way I have it setup now, the podman clean dying will keep
any of the pypodman clean from happening.  You could probably work
around that with something like:

  $(MAKE) -C contrib/python/podman clean & \
    $(MAKE) -C contrib/python/pypodman clean & \
    wait

but that seems too fancy for such a corner case.

Signed-off-by: W. Trevor King <wking@tremily.us>
2018-09-13 22:10:58 -07:00
Daniel J Walsh
9ec82caa31
Add --interval flag to podman wait
Waiting uses a lot of CPU, so drop back to checking once/second
and allow user to pass in the interval.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-09-13 10:11:00 -04:00
baude
13ae41fbc2 dont make python when running make
Signed-off-by: baude <bbaude@redhat.com>

Closes: #1443
Approved by: mheon
2018-09-12 19:24:44 +00:00
Matthew Heon
ca3ede2693 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-10 16:20:23 -04:00
Matthew Heon
947a46e32d Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-07 14:55:16 -04:00
Matthew Heon
73a1e81924 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-08-31 16:43:59 -04:00
Matthew Heon
34ed359595 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-08-24 17:16:36 -04:00
Matthew Heon
714dbbda9e Swap from FFJSON to easyjson
FFJSON has serialization differences versus stock Go - namely, it
does not respect the MarshalText() and UnmarshalText() methods,
particularly on []byte, which causes incompatability with
pre-FFJSON containers which contained DNS servers.

EasyJSON does not have these issues, and might even be slightly
faster.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #1322
Approved by: mheon
2018-08-24 19:19:43 +00:00
Matthew Heon
bd080b4530 Make 'make clean' remove FFJSON generated code
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #1322
Approved by: mheon
2018-08-24 19:19:43 +00:00
Kunal Kushwaha
803dbf2041 make dbuild fixed on ubuntu/debian
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>

Closes: #1309
Approved by: mheon
2018-08-21 12:52:27 +00:00