Commit Graph

3674 Commits

Author SHA1 Message Date
Matthew Heon
51fc8827f5 Add tests for SQL-backed state impl
Minor changes to container.go and sql_state.go to fix issues
identified by the tests

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-20 16:24:28 -05:00
Daniel J Walsh
5d52f74d21 Add support for Ulimits/Rlimits to kpod create/run
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #24
Approved by: mheon
2017-11-20 20:12:43 +00:00
Daniel J Walsh
6e0944f2f1 Merge pull request #26 from mheon/sql_state
Implementation of SQL-backed state
2017-11-20 14:45:01 -05:00
baude
3e04604dc2 Use cached images for integration tests
Add alpine and busybox as the two seeded images that can
be put into the tests' storage without the need to pull
it over the network.  Add the following to the kpod_TEST.bats
file:

function setup() {
    copy_images
}

Also, export several image names for shorter reference:

* BB -> docker.io/library/busybox:latest
* BB_GLIBC -> docker.io/library/busybox:glibc
* ALPINE -> docker.io/library/alpine:latest
* FEDORA_MINIMAL -> registry.fedoraproject.org/fedora-minimal:latest

And finally, there were two pervasive changes I made in
tests:

* Because we use temporary storage, we do not need to rmi at the end of each test
* We no longer need to pull most images because they are added via copy_images

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

Closes: #43
Approved by: mheon
2017-11-20 18:11:08 +00:00
Daniel J Walsh
57599f0075 Fix up handling of environment variables
The way docker works is if a user specifies a non `-e Name=Value`, IE
just a `-e Name`, then the environment variable Name from the clients
OS.ENV is used.

Also by default Docker containers run with the HOSTNAME environment set
to the HOSTNAME specified for the container.

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

Closes: #21
Approved by: baude
2017-11-20 16:25:31 +00:00
Matthew Heon
f2894eda68 Fix lint errors
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 13:17:03 -05:00
Matthew Heon
898138441d Need to provide ID of container being updated
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:58:48 -05:00
Matthew Heon
b10fb66c28 StopSignal is allowed to be 0
If StopSignal is 0, it is assumed that the default signal will be used.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:58:48 -05:00
Matthew Heon
12f19ca013 Resolve another segfault
This one cleans up after container creation fails

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:58:48 -05:00
Matthew Heon
657cb1b7f6 Fix lingering SQL error
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:58:48 -05:00
Matthew Heon
57300be94d Fix segfault cleaning up in after failing to create a Runtime
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:58:48 -05:00
Matthew Heon
4bc3acc7aa Rename Create to Init for containers to be less confusing
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:58:48 -05:00
Matthew Heon
763e372649 Wire SQL backed state into rest of libpod
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:58:48 -05:00
Matthew Heon
cb56716fc4 Address review comments, fix gofmt and lint
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:54:05 -05:00
Matthew Heon
c6fe4430b7 Compile-tested implementation of SQL-backed state
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-18 12:54:05 -05:00
Daniel J Walsh
3b72af6147 Turn off IRC reporting until we have our own channel
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #49
Approved by: rhatdan
2017-11-17 21:53:54 +00:00
baude
d2eda1a864 Enhancements to papr tests
The PR contains several enhancements to our CI testing.

- enable lint testing on Fedora
- add Centos Atomic as test platform
- integration tests on run on the OS natively (uncontainerized)
- builds are done in containers
- inclusion of Vagrant file for local testing

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

Closes: #18
Approved by: mheon
2017-11-17 02:07:18 +00:00
Daniel J Walsh
bf8b9a37df Merge pull request #47 from baude/terminal_attach
Fix terminal attach
2017-11-15 17:58:26 -05:00
baude
acd9c66864 Fix terminal attach
Re-order the startup of a new container via run from
initialize > start > attach to initialize > attach > start.

This fixes output when running:

kpod run -i -t IMAGE command

and

kpod run IMAGE command

Signed-off-by: baude <bbaude@redhat.com>
2017-11-15 16:27:57 -06:00
Daniel J Walsh
afe1a2e7f1 Fix bash command
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #45
Approved by: umohnani8
2017-11-15 18:00:19 +00:00
baude
5cfd7a313f Address run/create performance issues
Fixed the logic where we observed different performance
results when running an image by its fqname vs a shortname. In
the case of the latter, we resolve the name without using the
network.

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

Closes: #37
Approved by: rhatdan
2017-11-14 21:14:13 +00:00
baude
7df3221232 Remove all images
Add -a/--all to rmi so a user can remove
all images quickly.

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

Closes: #41
Approved by: mheon
2017-11-14 16:46:26 +00:00
baude
55c9cfb80e Add cpu-profiling to kpod
Add a global flag for cpu-profiling to allow us to
profile kpod for performance issues.

To parse its results, use:

go tool pprof --text <profile_path>

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

Closes: #36
Approved by: mheon
2017-11-09 17:36:11 +00:00
Colin Walters
a0476f6529 README.md: Typo fixes and small tweaks
Should be mostly self-evident. I dropped the `is meant to` as it feels too
passive.

Signed-off-by: Colin Walters <walters@verbum.org>

Closes: #35
Approved by: mheon
2017-11-09 16:48:07 +00:00
Matthew Heon
0a2cb93fc2 Update tarsplit vendor to address CVE-2017-14992
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #34
Approved by: rhatdan
2017-11-08 21:58:26 +00:00
baude
b8dca1874d Do not attempt to use command --args as cli flags
i.e. kpod run fedora python --version

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

Closes: #33
Approved by: rhatdan
2017-11-08 21:49:15 +00:00
Daniel J Walsh
84e3bdceda Fix panic when no image is given
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #31
Approved by: mheon
2017-11-08 21:18:08 +00:00
Daniel J Walsh
0e2fc603d9 Cleanup missing whitespace
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #20
Approved by: rhatdan
2017-11-07 21:44:06 +00:00
Urvashi Mohnani
23979f8e06 Add 'kpod import' command
Imports a tarball and saves it as a filesystem image

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

Closes: #12
Approved by: rhatdan
2017-11-07 19:16:31 +00:00
Urvashi Mohnani
d086beb7ab Vendor in latest containers/image
Adds the tarball transport, which is used by the kpod import command

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

Closes: #12
Approved by: rhatdan
2017-11-07 19:16:31 +00:00
Daniel J Walsh
df54adeaae Respect the quiet flag.
When setting the `kpod load -q` flag, output was still going to the
screen.  This patch adds a check to not output to the terminal unless
there is an io.Writer specified, and then to write to the io.Writer.

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

Closes: #23
Approved by: rhatdan
2017-11-07 15:37:50 +00:00
Daniel J Walsh
a39ec628e7 SELinux tests are mistakenly not running.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #22
Approved by: rhatdan
2017-11-07 13:33:07 +00:00
Daniel J Walsh
006a8bd6f3 Convert tmpfs mounts to use generate
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #19
Approved by: baude
2017-11-06 14:43:06 +00:00
Daniel J Walsh
402c30333f Remove defaults and use runtime-tools/generate for spec
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #19
Approved by: baude
2017-11-06 14:43:06 +00:00
Daniel J Walsh
dbd524e3d1 Merge pull request #17 from rhatdan/caps
Add support for Caps Options.
2017-11-05 17:06:25 -05:00
Daniel J Walsh
b06190e0da Merge pull request #8 from baude/clicontext
Clicontext
2017-11-05 06:43:20 -05:00
baude
0026075d59 libpod/runtime_img_test.go Unit Tests
Unit tests for getRegistry related functions.

Signed-off-by: baude <bbaude@redhat.com>
2017-11-04 11:12:14 -05:00
Daniel J Walsh
619637a919 Handle Linux Capabilities from command line
Had to revendor in docker/docker again, which dropped a bunch of packages

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-11-04 09:07:47 +00:00
baude
69cecb049a spec_test.go: Unit tests for spec.go
Unit tests for spec.go which includes testing
parts of the oci spec.

Signed-off-by: baude <bbaude@redhat.com>
2017-11-03 20:37:41 -05:00
baude
aa19565d8d spec.go: Remove cli context as func arg
Remove cli context as a func arg to make unit tests
easier.

Signed-off-by: baude <bbaude@redhat.com>
2017-11-03 20:37:33 -05:00
baude
99ca35f185 util_test.go: Unittests for util.go
Add unit tests for func StringInSlice.

Signed-off-by: baude <bbaude@redhat.com>
2017-11-03 20:37:27 -05:00
baude
46d762176e create_cli_test.go: Unittests
Create unittests for the create_cli helper functions. As
such, remove cli context usage from the functions to
further divide between cli input and parsing.  Also, simplifies
unit testing.

Signed-off-by: baude <bbaude@redhat.com>
2017-11-03 20:37:19 -05:00
baude
9f5fa7f2eb Vendor in testify/assert and deps
Signed-off-by: baude <bbaude@redhat.com>
2017-11-03 20:37:09 -05:00
Daniel J Walsh
098389dc3e Parse SecurityOpts
This should turn on handling of SELinux, NoNewPrivs, seccomp and Apparmor

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

Closes: #15
Approved by: rhatdan
2017-11-03 20:55:10 +00:00
Matthew Heon
79a26cbd6d Merge pull request #14 from baude/gitvalidation
Makefile: Add repo EPOCH
2017-11-03 14:00:57 -04:00
baude
5b6fb0411a Makefile: Add repo EPOCH
The git ID for the repo's EPOCH was incorrect in the Makefile
so .gitvalidation would not run correctly.

Signed-off-by: baude <bbaude@redhat.com>
2017-11-03 10:12:44 -05:00
Daniel J Walsh
7bb1d24028 Merge pull request #6 from rhatdan/papr
Add Papr support
2017-11-02 19:35:33 -04:00
Daniel J Walsh
6e37df18ef Remove tip from testing in yaml
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-11-02 18:10:50 -04:00
Daniel J Walsh
f590429592 Add .papr support
Don't run lint for now, since we seem to be running out of memory.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-11-02 18:10:50 -04:00
Daniel J Walsh
0847e770bb Fix lint error on spec being shadowed
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-11-02 16:29:34 -04:00