1711 Commits

Author SHA1 Message Date
ecec1a5430 Remove duplicate code between create.go and run.go
Create two new createInit for checking if the cotnainer is initialized
correctly.
createContainer which creates the actual container and containerConfig

Also added libpodruntime.GetContainerRuntime to put common runtime code
into separate function.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-09-13 12:16:14 -04:00
61eda671ec Add podman rm --volumes flag
While this is not implemented yet, it is needed for working with existing
docker scripts.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1460
Approved by: mheon
2018-09-13 13:27:09 +00:00
facab2aec5 Vendor in latest containers/storage to eliminage deadlock
When running lots of podman commands simultaneously we were able to get
into a deadlock situation.  The updated containers/storage should fix this issue.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1454
Approved by: mheon
2018-09-12 23:27:09 +00:00
08936c3241 do not build with devicemapper
as of now, we do not want to build with device mapper because it cannot
handle parallel requests which would be common-place in podman.

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

Closes: #1445
Approved by: mheon
2018-09-12 22:21:50 +00:00
60e8e4fb2d run different cgroup tests depending on conditions
when running podman's integration tests, we need to be able to understand
our environment because the podman command will differ as will the results.

there is no 100% way to know if we are in a container, but using a combination
of container= and checking /proc seemed reasonable for our test suite.  non of this
code is run in podman proper.

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

Closes: #1441
Approved by: mheon
2018-09-12 20:20:50 +00:00
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
6e263fed35 Explicitly set default CNI network name in libpod.conf
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #1438
Approved by: TomSweeneyRedHat
2018-09-12 19:18:24 +00:00
d9580ec62b Pass on securityOpts from podInfraContainer to container added to pod.
This is an incomplete fix, as it would be best for the libpod library to be in charge of coordinating the container's dependencies on the infra container. A TODO was left as such. UTS is a special case, because the docker library that namespace handling is based off of doesn't recognize a UTS based on another container as valid, despite the library being able to handle it correctly. Thus, it is left in the old way.

Signed-off-by: haircommander <pehunt@redhat.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1347
Approved by: mheon
2018-09-11 13:31:55 +00:00
123de3087e Merge pull request #1436 from mheon/bump-0.9.1.1
Bump to v0.9.1.1
2018-09-10 16:21:22 -04:00
ca3ede2693 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-10 16:20:23 -04:00
9b85f2a986 Bump to v0.9.2-dev
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-10 16:20:22 -04:00
95dbcada74 Bump to v0.9.1.1
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
v0.9.1.1
2018-09-10 16:20:19 -04:00
6ffce631db Merge pull request #1435 from mheon/release_notes_0.9.1.1
Update release notes for 0.9.1.1
2018-09-10 16:19:05 -04:00
e4fac78d91 Update release notes for 0.9.1.1
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-10 16:17:50 -04:00
d377a51578 Replace existing iptables handler with firewall code
Use the new firewall code vendored from CNI to replace the
existing iptables rule addition handler we had in place. This
adds proper support for firewalld and should be much better at
interacting with the firewall.

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

Closes: #1431
Approved by: baude
2018-09-10 18:53:27 +00:00
9405e3704f Vendor CNI plugins firewall code
The upstream CNI project has a PR open for adding iptables and
firewalld support, but this has been stalled for the better part
of a year upstream.

On advice of several maintainers, we are vendoring this code into
libpod, to perform the relevant firewall configuration ourselves.

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

Closes: #1431
Approved by: baude
2018-09-10 18:53:27 +00:00
2afadeec66 Fix displaying size on size calculation error
With this change if an error is raised when fetching the size of the
image, the error string will be printed as the size (instead of
panicing). In this particular case, the error string is "unable to
determine size".

This fixes bug #1405

Signed-off-by: Steve Baker <sbaker@redhat.com>

Closes: #1423
Approved by: mheon
2018-09-07 21:31:32 +00:00
c325a18420 Merge pull request #1428 from mheon/bump-0.9.1
Bump to v0.9.1
2018-09-07 14:56:37 -04:00
947a46e32d Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-07 14:55:16 -04:00
3904680858 Bump to v0.9.2-dev
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-07 14:55:16 -04:00
aba58d1660 Bump to v0.9.1
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
v0.9.1
2018-09-07 14:55:12 -04:00
086f3732ab Merge pull request #1427 from mheon/release_notes_0.9.1
Update RELEASE_NOTES for 0.9.1 release
2018-09-07 14:52:05 -04:00
e647cd4287 Update RELEASE_NOTES for 0.9.1 release
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-09-07 14:51:58 -04:00
87f90ce14a Fix pod sharing for utsmode
We should be sharing cgroups namespace by default in pods
uts namespace sharing was broken in pods.

Create a new libpod/pkg/namespaces for handling of namespace fields
in containers

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1418
Approved by: mheon
2018-09-07 18:18:54 +00:00
ccc4a339cd Respect user-added mounts over default spec mounts
When there was a conflict between a user-added volume and a mount
already in the spec, we previously respected the mount already in
the spec and discarded the user-added mount. This is counter to
expected behavior - if I volume-mount /dev into the container, I
epxect it will override the default /dev in the container, and
not be ignored.

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

Closes: #1419
Approved by: TomSweeneyRedHat
2018-09-07 17:50:58 +00:00
2e89e5a204 Ensure we do not overlap mounts in the spec
When user-specified volume mounts overlap with mounts already in
the spec, remove the mount in the spec to ensure there are no
conflicts.

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

Closes: #1419
Approved by: TomSweeneyRedHat
2018-09-07 17:50:58 +00:00
6f2bd8d795 Change references to cri-o to point at new repository
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1425
Approved by: mheon
2018-09-07 17:47:45 +00:00
f0c962282b fix docs for podman build
podman build docs should now reflect that the --layers default value is true.

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

Closes: #1424
Approved by: mheon
2018-09-07 13:37:52 +00:00
d92650a922 use layer cache when building images
to more closely mimic docker default behavior, the --layers
cli option is set to true by default for podman.  the buildah
environment variable of BUILDAH_LAYERS is still honored and will
override the command line input.

this should be considered in place of PR #1383.

Many thanks for Scott McCarty for inspiring this welcome change.

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

Closes: #1422
Approved by: rhatdan
2018-09-07 12:57:09 +00:00
782caea801 Add first pass for baseline pod tests
This bash script is meant to compliment the podman baseline
test script.  It primarily focuses on exercising the common
actions of pods.

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

Closes: #1421
Approved by: rhatdan
2018-09-07 12:32:16 +00:00
43bcf99e6d Change shm test to be less flaky.
This tests fails a lot, I think because of a race condition. Changing to
just make sure the inode of the /dev/shm on the host is the same as inside
the container.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1420
Approved by: mheon
2018-09-07 12:05:54 +00:00
8b2b88ebff Update WaitForTimeOut to output OutputString to help with debugging.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1416
Approved by: baude
2018-09-06 21:26:15 +00:00
a6811c89fc Fixups for baseline test script
Small amount of clean up on the baseline script to handle failing
on error.  I also added an option to not use docker at all for platoforms
where docker cannot be installed.

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

Closes: #1411
Approved by: rhatdan
2018-09-06 20:54:08 +00:00
dc025819f4 Fix nameing of Namespaces to be more consistent
Figuring out the difference between a User and a USERNS
as well as Cgroup and CGROUPNS

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1417
Approved by: TomSweeneyRedHat
2018-09-06 17:54:52 +00:00
a40aa7e9c8 Start pod infra container when pod is created
When we create a pod that also has an infra container, we should
start the infra container automatically.  This allows users to add
running containers to the pod immediately.

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

Closes: #1415
Approved by: rhatdan
2018-09-06 16:16:59 +00:00
bbbbfa582b vendor containerd/cgroups
We need to vendor in the latest containerd/cgroups for a fix related to
slice delegation and systemd <= 239. The opencontainer/runtime-spec is
brought along for the ride.

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

Closes: #1414
Approved by: mheon
2018-09-06 15:19:25 +00:00
2e6243b185 Fix up libpod.conf man pages and referencese to it.
Remove podman --config option, since it does not do anything.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1410
Approved by: mheon
2018-09-06 14:48:51 +00:00
490cc82d0b Print errors from individual pull attempts
Right now, we don't print errors from c/image while trying to
pull images. This prints the errors when log-level=debug is set
so we can debug errors while pulling.

Signed-off-by: Matthew Heon <mheon@redhat.com>

Closes: #1409
Approved by: baude
2018-09-05 23:38:28 +00:00
9ae6d773b4 Added GOPATH/bin to PATH install.md
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #1408
Approved by: rhatdan
2018-09-05 23:38:19 +00:00
1ee466eee4 We should fail Podman with ExitCode 125 by default
$ ./bin/podman  --foo
$ echo $?
125
$ ./bin/podman  foo
Command "foo" not found.
See `podman --help`.
$ echo $?
1

After this change

$ ./bin/podman  foo
Command "foo" not found.
See `podman --help`.
$ echo $?
125

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1398
Approved by: vrothberg
2018-09-05 14:04:50 +00:00
7ffb8a7900 Add CRI logs parsing to podman logs
Podman logs was not parsing CRI logs well, especially
the F and P logs. Now using the same parsing code as
in kube here.

Signed-off-by: umohnani8 <umohnani@redhat.com>

Closes: #1403
Approved by: rhatdan
2018-09-05 13:48:20 +00:00
4ddcbd7941 rmi remove all not error when no images are present
When running podman rm -a on a storage where no images exist,
the exit code should NOT be non-zero.

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

Closes: #1402
Approved by: rhatdan
2018-09-05 11:06:59 +00:00
807f6f8d8f rootless: check uid with Geteuid() instead of Getuid()
change the tests to use chroot to set a numeric UID/GID.

Go syscall.Credential doesn't change the effective UID/GID of the
process.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #1372
Approved by: mheon
2018-09-04 14:36:57 +00:00
bdee681409 rootless, tests: add tests for the pod command
also refactor the rootless_test.go to facilitate running a test in a
rootless context.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #1372
Approved by: mheon
2018-09-04 14:36:57 +00:00
1ac1c54027 rootless, create: support --pod
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #1372
Approved by: mheon
2018-09-04 14:36:57 +00:00
8ca67d2794 rootless, run: support --pod
move re-exec later on, so that we can check whether we need to join
the infra container user namespace or we need to create another one.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #1372
Approved by: mheon
2018-09-04 14:36:57 +00:00
4d12974214 rootless: create compatible pod infra container
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #1372
Approved by: mheon
2018-09-04 14:36:57 +00:00
14c0f9d63c rootless: be in an userns to initialize the runtime
be sure to be in an userns for a rootless process before initializing
the runtime.  In case we are not running as uid==0, take advantage of
"podman info" that creates the runtime.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #1372
Approved by: mheon
2018-09-04 14:36:57 +00:00
daa28349c8 commandNotFoundHandler: use stderr and exit code 1
Fixes: #1395
Signed-off-by: Valentin Rothberg <vrothberg@suse.com>

Closes: #1397
Approved by: mheon
2018-09-01 19:26:24 +00:00
4a910e1c2b Merge pull request #1394 from mheon/bump-0.8.5
Bump to 0.8.5
2018-08-31 16:45:03 -04:00