Commit graph

10739 commits

Author SHA1 Message Date
baude
0360ec725a allow ppc64le to pass libpod integration tests
this pr allows the libpod integration suite to pass on the
ppc64le architecture.  in some cases, I had to skip tests.
eventually, these tests need to be fixed so that they properly pass. of
note for this PR is:

* changed the ppc64le default container os to be overlay (over vfs) as vfs seems non-performant on ppc64le
* still run vfs for rootless operations
* some images names for ppc64le had to change because they don't exist.
* this should help getting our CI to run on the platform

Signed-off-by: baude <bbaude@redhat.com>
2018-10-31 18:40:09 -05:00
OpenShift Merge Robot
e75469ab99
Merge pull request #1736 from giuseppe/rootless-drop-run-postfix
rootless: do not add an additional /run to runroot
2018-10-31 07:20:09 -07:00
Chris Evich
989affa2dd
Cirrus-CI: Add option to run system-tests
Normally, we would not run system-tests as part of PR-level CI, they're
simply too heavy-weight and complex.  However, in some instances it may
be desirable to provide a quick feedback loop, prior to release packaging
and official testing.  Enable this by executing the system-tests when
a magic string is present in the PR description:

``***CIRRUS: SYSTEM TEST***``

Signed-off-by: Chris Evich <cevich@redhat.com>
2018-10-31 09:50:53 -04:00
Chris Evich
91f398db4c
Cirrus: Skip rebuilding images unless instructed
Given frequent merges, it doesn't make sense to rebuild the VM testing
images every time.  Instead, monitor the PR title and description for
a magic string, only triggering builds on a match:

***CIRRUS: REBUILD IMAGES***

Signed-off-by: Chris Evich <cevich@redhat.com>
2018-10-31 09:48:31 -04:00
Chris Evich
02eec644f1
Cirrus: Disable image build job abort on push
Normally cirrus will abort jobs if another push is made to a branch.
However, with image builds, other VMs are created/managed by packer.
Therefor if cirrus aborts a task, it's possible some packer managed VMs
will be left behind.  Disable this behavior for image-building only.

Signed-off-by: Chris Evich <cevich@redhat.com>
2018-10-31 09:48:31 -04:00
Chris Evich
021ca5780c
Cirrus: Add a readme
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-10-31 09:48:31 -04:00
Chris Evich
4929662c8a
Ubuntu VM image build: try update twice
Occasionally, short-term temporary connectivity problems prevent ubuntu
from updating on GCE.  As a workaround, attempt these commands twice.

Signed-off-by: Chris Evich <cevich@redhat.com>
2018-10-31 09:48:30 -04:00
OpenShift Merge Robot
9c1985fc4e
Merge pull request #1731 from afbjorklund/version
Fix setting of version information
2018-10-31 06:48:12 -07:00
Chris Evich
ed67d302ef
Cirrus: Enable updating F28 image
Previously this was disabled as some package was breaking networking on
GCE after updating + rebooting.  This is fixed now, so we should update
packages when building the fedora test VM image.

https://pagure.io/cloud-sig/issue/292

Signed-off-by: Chris Evich <cevich@redhat.com>
2018-10-31 09:47:43 -04:00
OpenShift Merge Robot
cf4288e3cc
Merge pull request #1735 from giuseppe/slirp4netns-not-block
rootless: avoid hang on failed slirp4netns
2018-10-31 06:28:24 -07:00
Giuseppe Scrivano
89e9067dec
rootless: do not add an additional /run to runroot
we are currently using something like /run/user/UID/run as runroot, as
it is already done by Buildah.  This ends up with
/run/user/UID/run/runc for the runc directory.  Change to drop the
additional /run so that runc will use /run/user/UID/runc.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-10-31 13:58:55 +01:00
Giuseppe Scrivano
ea50ce6a59
rootless: avoid hang on failed slirp4netns
If for any reason slirp4netns fails at startup, podman waits
indefinitely.  Check every second if the process is still running so
that we avoid to hang.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-10-31 13:08:23 +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
OpenShift Merge Robot
ee513cca86
Merge pull request #1704 from giuseppe/attach-cuid-too-long
attach: fix attach when cuid is too long
2018-10-30 14:22:01 -07:00
OpenShift Merge Robot
319a7a7043
Merge pull request #1715 from baude/getusergroup
get user and group information using securejoin and runc's user library
2018-10-30 11:49:15 -07:00
Daniel J Walsh
dcb68d1aa2
Merge branch 'master' of github.com:containers/libpod into vendor 2018-10-30 10:12:40 -05:00
Daniel J Walsh
eb4c2035ae
Vendor in latest containers/storage
We need this to start testing metacopy up for podman.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-10-30 10:10:11 -05:00
OpenShift Merge Robot
ce24ce7c53
Merge pull request #1728 from baude/trunccommand
truncate command output in ps by default
2018-10-30 07:49:28 -07:00
Giuseppe Scrivano
c65b3599cc
runtime: do not allow runroot longer than 50 characters
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-10-30 15:35:24 +01:00
Giuseppe Scrivano
f77d846536
attach: fix attach when cuid is too long
conmon creates a symlink to avoid using a too long UNIX path.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1641800

There is still one issue when the path length of the symlink has the
same length of the attach socket parent directory since conmon fails
to create the symlink, but that must be addressed in conmon first.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-10-30 15:35:24 +01:00
baude
aa49675e29 truncate command output in ps by default
when the PS command was reworked for performance and formatting improvements,
i forgot to truncate the command field.  Long container commands was throwing
the formatting off. we now truncated to 17 characters plus the elipses.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-30 08:35:22 -05:00
OpenShift Merge Robot
24d4f114ea
Merge pull request #1725 from cevich/newer_runc_commit
Use newer runc commit in VM images
2018-10-30 04:21:39 -07:00
Chris Evich
8126eb8a39
Update the runc commit used for testing
Use image ubuntu-1804-bionic-v20180911-libpod-63a86a18 which was built
with RUNC_COMMIT 78ef28e63bec2ee4c139b5e3e0d691eb9bdc748d.

Signed-off-by: Chris Evich <cevich@redhat.com>
2018-10-29 18:32:41 -04:00
OpenShift Merge Robot
d5b600171d
Merge pull request #1721 from vrothberg/fix-1695
unmount: fix error logic
2018-10-29 15:29:32 -07:00
OpenShift Merge Robot
5e071f47c0
Merge pull request #1720 from vrothberg/contributing-describe-changes
CONTRIBUTING.md: add section about describing changes
2018-10-29 15:29:27 -07:00
OpenShift Merge Robot
a1b961af50
Merge pull request #1724 from baude/psformatchanges
make various changes to ps output
2018-10-29 15:17:13 -07:00
OpenShift Merge Robot
7052c8534e
Merge pull request #1723 from afbjorklund/local_config
Sync default config with libpod.conf
2018-10-29 15:17:04 -07:00
OpenShift Merge Robot
60ba26ab21
Merge pull request #1722 from baude/ps2space
Use two spaces to pad PS fields
2018-10-29 14:49:33 -07:00
baude
058f0e3681 make various changes to ps output
for backwards compatibility and auto-test, we needed a few changes
that slipped in when i reworked ps to be faster to be reverted. the
follow behaviours were reverted:

1. the is_infra column was redacted.  that appears to be a mistake on my
part.
2. a newline after ps prints its format was added
3. a newline prior to printing the headers was removed.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-29 14:33:32 -05:00
Anders F Björklund
1c4880d3ef Sync default config with libpod.conf
Only changed libpod.conf file, which might not even be in use.

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2018-10-29 19:11:47 +01:00
baude
13b05ea476 Use two spaces to pad PS fields
Ed has asked that we revert to using two spaces for padding between PS fields.  I assume
this is for docker autotests.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-29 12:08:41 -05:00
Valentin Rothberg
079208cdbc unmount: fix error logic
Only return `ErrCtrStateInvalid` errors when the mount counter is equal
to 1.  Also fix the "can't unmount [...] last mount[..]" error which
hasn't been returned when the error passed to `errors.Errorf()` is nil.

Fixes: #1695
Signed-off-by: Valentin Rothberg <vrothberg@suse.com>
2018-10-29 15:46:54 +01:00
baude
1dd7f13dfb get user and group information using securejoin and runc's user library
for the purposes of performance and security, we use securejoin to contstruct
the root fs's path so that symlinks are what they appear to be and no pointing
to something naughty.

then instead of chrooting to parse /etc/passwd|/etc/group, we now use the runc user/group
methods which saves us quite a bit of performance.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-29 08:59:46 -05:00
Valentin Rothberg
a36974585f CONTRIBUTING.md: add section about describing changes
Add a section about describing changes in commit messages.  GitHub tends
to drive the large part of discussions and change descriptions to the
corresponding pull requests and issues, but such information is lost in
the git history.  Not providing sufficient information in commit
messages is painful for reviewing and can cause issues while debugging.
It also complicates studying source code, where reading commit messages
and the code's git history is a common approach to better understand the
code.

Following the descriptions should be enforced by the maintainers of the
libpod project.  Pull requests containing commits without proper
descriptions should not be merged.

This change bases on the documentation of the Linux kernel v4.17:
https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html

Signed-off-by: Valentin Rothberg <vrothberg@suse.com>
2018-10-29 13:13:34 +01:00
OpenShift Merge Robot
aef9d56ae2
Merge pull request #1696 from QiWang19/ExportForCrio
Change ParseDevice to exported name
2018-10-29 04:09:16 -07:00
Qi Wang
22390b3b04 Change to exported name in ParseDevice
Signed-off-by: Qi Wang <qiwan@redhat.com>
2018-10-29 06:39:39 -04:00
OpenShift Merge Robot
49555721ec
Merge pull request #1718 from rhatdan/vendor
Vendor in latest containers/storage
2018-10-26 11:44:09 -07:00
OpenShift Merge Robot
a36dbc8a3f
Merge pull request #1717 from jwhonce/wip/unittest
Ensure test container in running state
2018-10-26 10:11:09 -07:00
Daniel J Walsh
1896f16a55
Vendor in latest containers/storage
We need this to start testing metacopy up for podman.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-10-26 11:17:27 -04:00
OpenShift Merge Robot
aa853b2091
Merge pull request #1585 from rhatdan/labels
Add tests for selinux labels
2018-10-26 07:30:39 -07:00
OpenShift Merge Robot
6e1aeb06f8
Merge pull request #1637 from vrothberg/runlabel-execute-any-command
runlabel: run any command
2018-10-26 04:33:12 -07:00
OpenShift Merge Robot
a2dc29746f
Merge pull request #1716 from baude/rmallps
fix bug in rm -fa parallel deletes
2018-10-26 01:32:36 -07:00
baude
f641c2d938 fix bug in rm -fa parallel deletes
Signed-off-by: baude <bbaude@redhat.com>
2018-10-25 16:15:11 -05:00
OpenShift Merge Robot
f6e7807fa5
Merge pull request #1709 from baude/parallelheur
Add --max-workers and heuristics for parallel operations
2018-10-25 13:08:45 -07:00
Jhon Honce
d62fa127a1 Ensure test container in running state
* Save storage if tests fail

Fixes #1643

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2018-10-25 12:20:11 -07:00
Daniel J Walsh
f9fb62c737
Add tests for selinux labels
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-10-25 09:33:08 -04:00
OpenShift Merge Robot
3efa068528
Merge pull request #1699 from baude/rund
run performance improvements
2018-10-25 05:59:31 -07:00
baude
3e5a5c68da Add --max-workers and heuristics for parallel operations
add a global flag for --max-workers so users can limit the number
of parallel operations for a given function.  also, when not limited
by max-workers, we implement a heuristic function that returns the
number of preferred parallel workers based on the number of CPUs and
the given operation.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-25 07:50:46 -05:00
OpenShift Merge Robot
76d20f0735
Merge pull request #1712 from baude/cyphar
Increase security and performance when looking up groups
2018-10-25 05:35:59 -07:00
baude
6246942d37 Increase security and performance when looking up groups
We implement the securejoin method to make sure the paths to /etc/passwd and
/etc/group are not symlinks to something naughty or outside the container
image. And then instead of actually chrooting, we use the runc functions to
get information about a user.  The net result is increased security and
a a performance gain from 41ms to 100us.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-25 06:42:43 -05:00