summaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAge
* Cirrus: Migrate PAPR testing of F28 to CirrusChris Evich2018-12-14
| | | | | | | | | | | Since the most recent TWO versions of Fedora are officially supported upstream, both need to be tested. Implement the concept of a 'prior' Fedora release in both base-image and cache-image production. Utilize the produced cache-image to test libpod. Remove F28 testing from PAPR. Much thanks to @baude @giuseppe for help with this. Signed-off-by: Chris Evich <cevich@redhat.com>
* Fix documentation links and flowChris Evich2018-12-12
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Update base-image build docsChris Evich2018-12-10
| | | | | | | Mostly minor tweaks and clarifications. Though there was one missing (required) make value I fixed. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #1893 from jwhonce/bug/1869OpenShift Merge Robot2018-12-07
|\ | | | | Refactor CLI booleans to be consistent and defined behavior
| * Refactor BooleanAction to mimic golang interfaceJhon Honce2018-12-05
| | | | | | | | | | | | | | | | | | | | * Change all store_true or store_false to use store_bool. New behavior documented in BooleanAction docstring. * Remove any extraneous code identified by pylint in files from above. Fixes #1869 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Merge pull request #1788 from cevich/cirrus_base_imagesOpenShift Merge Robot2018-12-07
|\ \ | | | | | | Codify and document base-image production + Enable testing with Fedora
| * | Cirrus: Document and codify base-image productionChris Evich2018-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A number of images required for future testing are not present in GCE. Importing them is a long proscribed process prone to errors and complications. Improve this situation by documenting, and encoding the majority of the steps required. Due to the required complexity, these are clearly identified as 'semi-automated'. This means a discerning eye is sometimes needed to address unforeseen problems (networking issues, format or packaging changes, etc). Nevertheless, having these steps in writing, will reduce current and future maintenance burden while supporting future testing needs of RHEL, Fedora and Fedora Atomic Host. Also: * Add necessary configuration, scripts, and Makefile updates needed to prepare RHEL, Fedora, & FAH cloud images for use in GCE. This is a complex, multi-step process where the cloud image is booted un a local user-mod qemu-kvm instance, where it can be modified. From there, it's converted into a specific format, and imported into GCE. Lastly, the imported raw disk data is made available as a GCE VM image. Note: As of this commit, the RHEL base-image builds (CentOS has native image), however neither RHEL or CentOS cache-images build correctly. * Left testing on FAH disabled, the GCE/Cirrus integration needs needs more work. Specifically, the python3-based google startup script service throws a permission-denied (as root) when trying to create a temp. directory. Did not investigate further, though manually running the startup script does allow the libpod tests to start running. * Enabled Fedora 29 image to execute tests and general use. * Utilize the standardized F28-based container image for gating of more the intensive unit and integration testing. Update documentation to reflect this as the standard platform for these checks. Rename tasks with shorter names and to better reflect their purpose. * Cirrus: Trim unnecessary env vars before testing since the vast majority are only required for orchestration purposes. Since most are defined within `.cirrus.yml`, it's a good place to store the list of undesirables. Since each of the cirrus-scripts runs in it's own shell, unsetting these near the end will have no consequence. Also trim down the number of calls to show_env_vars() Signed-off-by: Chris Evich <cevich@redhat.com>
| * | Cirrus: Use Makefile for image-buildingChris Evich2018-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Bump to v0.12.2-devMatthew Heon2018-12-06
| | | | | | | | | | | | Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* | | Bump to v0.12.1v0.12.1Matthew Heon2018-12-06
|/ / | | | | | | Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* / Invert tlsverify default in APIJhon Honce2018-12-05
|/ | | | | | Fixes #1929 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Merge pull request #1894 from jwhonce/bug/1876OpenShift Merge Robot2018-12-04
|\ | | | | Only include container SizeRootFs when requested
| * Only include container SizeRootFs when requestedJhon Honce2018-11-28
| | | | | | | | | | | | | | | | * API always returns value, so we remove it if not asked for Fixes #1876 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | tests: always install runc on UbuntuGiuseppe Scrivano2018-12-01
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | cirrus: make apt noninteractiveGiuseppe Scrivano2018-11-30
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | pypod create/run: ignore args for container commandEd Santiago2018-11-28
|/ | | | | | | | | | | | | Don't try to argparse command-line arguments on the right-hand side of the image; those are intended for the container command: pypodman create fedora ls -l pypodman run fedora find / -name foo pypodman run fedora bash -c 'echo hi' If/when `pypodman exec` gets implemented, it should use this too. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #1851 from jwhonce/wip/cmdOpenShift Merge Robot2018-11-28
|\ | | | | Add support for --all in pypodman ps command
| * Add support for --all in pypodman ps commandJhon Honce2018-11-28
| | | | | | | | | | | | | | | | * Updated field widths to match changes in go code Fixes #1654 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Merge pull request #1885 from edsantiago/split_token_noneOpenShift Merge Robot2018-11-28
|\ \ | | | | | | _split_token(): handle None
| * | _split_token(): handle NoneEd Santiago2018-11-27
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conditional + list comprehension in images.py:_split_token() wasn't quite working as intended; in particular, when fed None, it chokes with TypeError: 'NoneType' object is not iterable This is the correct behavior: comprehensions iterate first, then apply the conditional. Solution: special-case None, and remove the now-unnecessary conditional. Context: seen when trying 'pypodman run' against docker.io/stackbrew/centos:7, which has no .ContainerConfig.Eng Signed-off-by: Ed Santiago <santiago@redhat.com>
* / Fixes #1867Jhon Honce2018-11-28
|/ | | | | | * Some items included in the CLI and currently not supported by the API. Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Actually set version for podman module / pypodmanAnders F Björklund2018-11-25
| | | | | | | | | | The environment variable wasn't set, giving 0.0.0 It is a still a problem if you use python3 to build, rather than make. You *need* to set $PODMAN_VERSION, or your module and packages won't have the version. Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
* Improve speed of containers.list()Jhon Honce2018-11-19
| | | | | | | | * Clean up code in containers.py * Pass pylint tests * Pass tox tests Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Merge pull request #1824 from afbjorklund/pypodman_userOpenShift Merge Robot2018-11-19
|\ | | | | pypodman: Don't use $HOST and $USER variables for remote
| * Don't use $HOST and $USER variables for remoteAnders F Björklund2018-11-18
| | | | | | | | | | | | | | | | | | | | Also, don't use $PORT. These are too generic. Make sure to read $LOGNAME _after_ the config. Prefix all the remote variables with PODMAN_ Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
* | Merge pull request #1823 from jwhonce/wip/cmdOpenShift Merge Robot2018-11-19
|\ \ | | | | | | Implement pypodman start command
| * | Implement pypodman start commandJhon Honce2018-11-16
| |/ | | | | | | | | | | | | | | | | * Improve error messages from argparse Actions * Silence more pylint errors when supporting a given API * Refactor BooleanAction to support lower and mixed case input * Remove spurious print() Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Merge pull request #1780 from cevich/un-magicOpenShift Merge Robot2018-11-19
|\ \ | |/ |/| Reveal magic, parallel system-testing and system-testing simplification
| * Cirrus: Add documentation for system-testingChris Evich2018-11-13
| | | | | | | | | | | | ***CIRRUS: REBUILD IMAGES*** Signed-off-by: Chris Evich <cevich@redhat.com>
| * Cirrus: Simplify optional system-test scriptChris Evich2018-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously it was required to call the verify, unit, and integration scripts in order to build/install dependencies, and libpod. This wastes time during the (optional) system-testing, since the actual unit/integration testing is also happening in parallel. Consolidate only the distribution-specific build steps into the system-testing script. This way, only the required steps are performed in their respective (parallel) tasks. Signed-off-by: Chris Evich <cevich@redhat.com>
| * Cirrus: Reveal magic, parallel system-testingChris Evich2018-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, several magic strings were in place to affect cirrus-ci operations. Two were buried within scripts. One to optionally execute system-tests within a PR. Another to avoid re-building cache-images upon every merge. Move these magic strings out into the open, buy locating their logic up-front in the ``.cirrus.yml`` file. This improves readability and reduces surprise/astonishment at runtime. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Add version command to pypodmanDaniel J Walsh2018-11-15
|/ | | | | | | | | | pypodman does not currently support the version command. We want to have as close to the same functionality between podman and pypodman, so adding this command. Also had to fix some validate errors. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #1804 from cevich/lint_verify_imageOpenShift Merge Robot2018-11-13
|\ | | | | Standardized container image for gofmt and lint
| * Standardized container image for gofmt and lintChris Evich2018-11-13
| | | | | | | | | | | | | | | | | | Having a standardized image allows uniform application of format and lint checking across multiple host platforms. This ensures all contributors and disparate CI systems to play by a common set of basic rules. It also makes it easier to maintain the common rules over-time. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cleanup podman spec to not show git checkout is dirtyDaniel J Walsh2018-11-12
|/ | | | | | | Currently we modify the git checkout which ends up showing that the checkout is dirty. This patch sets the PYTHON_VERSION so that python code will handle it correctly without having to modify the actual code. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #1784 from cevich/cirrus_ignore_ircOpenShift Merge Robot2018-11-08
|\ | | | | Cirrus: Ignore any error from the IRC messenger
| * Cirrus: Ignore any error from the IRC messengerChris Evich2018-11-08
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Bump to v0.11.2-devMatthew Heon2018-11-08
| | | | | | | | Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* | Bump to v0.11.1v0.11.1Matthew Heon2018-11-08
|/ | | | Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* Merge pull request #1762 from mheon/fix_python_testsOpenShift Merge Robot2018-11-07
|\ | | | | Temporarily fix the Python tests to fix some PRs
| * Temporarily fix the Python tests to fix some PRsMatthew Heon2018-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Python podman bindings have issues around kill - specifically attempting to make it act like stop, when it should not. We provide no guarantee of what state a container if in after kill - it should be stopped, but we might have sent something that's not SIGKILL. If you want a container or pod stopped, guaranteed, use Stop(). The Python code attempted to ensure a container was actually stopped after kill was run, which runs counter the above. This was holding up some PRs that caused changes in how libpod obtains its state, so for now, change pod kill to pod stop until the proper changes in the Python code can be made. Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* | Merge pull request #1616 from cevich/cirrus_add_systemtestOpenShift Merge Robot2018-11-07
|\ \ | |/ |/| Cirrus-CI: Add option to run system-tests
| * Cirrus-CI: Add option to run system-testsChris Evich2018-10-31
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #1743 from jwhonce/issue/1702OpenShift Merge Robot2018-11-05
|\ \ | | | | | | Add ChangeAction to parse sub-options from --change
| * | Add ChangeAction to parse sub-options from --changeJhon Honce2018-11-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Covers both commit and import commands * Cleaned up export command * Removed unneeded calls to super().__init__() Fixes #1702 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | Fix long image name handlingJhon Honce2018-11-01
|/ / | | | | | | | | | | | | | | * Fixed issue where podman printed '<none>' and pypodman skipped the image * Fixed issue where port was printed in place of tags Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Merge pull request #1624 from cevich/update_fedoraOpenShift Merge Robot2018-11-01
|\ \ | | | | | | Cirrus: Enable updating F28 image
| * | Cirrus: Enable updating F28 imageChris Evich2018-10-31
| |/ | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #1603 from cevich/fix_cirrus_image_buildOpenShift Merge Robot2018-11-01
|\ \ | | | | | | Fix Cirrus/Packer VM image building
| * | Cirrus: Skip rebuilding images unless instructedChris Evich2018-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>