summaryrefslogtreecommitdiff
path: root/contrib/python
Commit message (Collapse)AuthorAge
* * Update documenationJhon Honce2018-10-01
| | | | Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Implement pod varlink bindingsJhon Honce2018-10-01
| | | | | | | | | | | | * Update varlink document * Add NoContainersInPod error in go and python * Add support for varlink pod interface * New code passes pylint * Fix bug in test_runner.sh * Update integration tests for race condition on status check * Add missing port config file support Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Merge pull request #818 from wking/python-2-cleanMatthew Heon2018-09-27
|\ | | | | Makefile: Call contrib/python's clean regardless of HAS_PYTHON3
| * contrib/python/*/Makefile: Fallback to unversioned 'python'W. Trevor King2018-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And pull these from the PATH by default. This way systems like CentOS that don't have a python3 can still execute 'make clean', which doesn't care about the Python major version. The setup.py shebang, mode change, and ./ prefixing helps address cases where PYTHON is empty. This could be the result of improper user configuration: $ make PYTHON='' clean It could also be the state on systems with no Python installed, in which case you'll see: $ make PYTHON='' clean ./setup.py clean --all /usr/bin/env: 'python': No such file or directory make: *** [Makefile:13: clean] Error 127 I've also shifted the Python invocations to the end of the clean recipies so that as much as possible gets cleaned up even on systems without Python installed. Signed-off-by: W. Trevor King <wking@tremily.us>
* | Updates from reviewsJhon Honce2018-09-21
| | | | | | | | | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1519 Approved by: rhatdan
* | Implement new subcommandsJhon Honce2018-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor create subparser to share arguments with run subparser * Add argparse.*Action subclasses to reduce duplicate code in parsers * Using BooleanAction now accept True/False value as expected * .pylintrc added to loosen variable name policing * Update AbstractBaseAction to remove unset arguments before transmitting to podman service * Align logging messages to podman output * Renamed global argument from --user to --username, to avoid conflict with create/run podman commands * Add new subcommands: run, create, history, import, info, push, restart and search Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1519 Approved by: rhatdan
* | Don't output inodes created to run a containerDaniel J Walsh2018-09-21
|/ | | | | | | | | | | | | | | | | | | | | | | | | | There is a group of inodes that get created when running a container if they do not exist. containerMounts = map[string]bool{ "/dev": true, "/etc/hostname": true, "/etc/hosts": true, "/etc/resolv.conf": true, "/proc": true, "/run": true, "/run/.containerenv": true, "/run/secrets": true, "/sys": true, } If the destination inode does not exist, libpod/runc will create the inode. This can cause programs like podman diff to see the image as having changed, when actually it has not. This patch ignores changes in these inodes. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #1508 Approved by: giuseppe
* Turn on test debuggingJhon Honce2018-08-31
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1369 Approved by: rhatdan
* Add support for remote commandsJhon Honce2018-08-31
| | | | | | | | | | | | | | * Add support for commit, export, inspect, kill, logs, mount, pause port commands * Refactored Report class to allow column lengths to be optionally driven by data * Refactored Ps class to truncate image names on the left vs right * Bug fixes Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1369 Approved by: rhatdan
* Add retry decorator for flakey testsJhon Honce2018-08-20
| | | | | | | | | * Update doc strings Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1302 Approved by: baude
* Update error message from reviewsJhon Honce2018-08-20
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1296 Approved by: rhatdan
* Support Attach subcommand in pypodmanJhon Honce2018-08-20
| | | | | | | | | * Fix some random error handling Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1296 Approved by: rhatdan
* Fix handling of socket connection refusal.Daniel J Walsh2018-08-17
| | | | | | | | | | | | | | | Currently if the socket was never started you get an error about the service being started. But if the service was started and later stopped, you get a useless error. This change causes the error to always be the same for connection refused. The error message was also repeating the address twice which looked bad. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #1287 Approved by: baude
* switch projectatomic to containersDaniel J Walsh2018-08-16
| | | | | | | | | | Need to get some small changes into libpod to pull back into buildah to complete buildah transition. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #1270 Approved by: mheon
* Add create and pull commandsJhon Honce2018-08-14
| | | | | | | | | | | * Rename id_ to ident, make non-PEP8'ers happier * Fix bug where port was required on local connections * Improve error messages for exceptions Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1246 Approved by: rhatdan
* Fix python tests againMatthew Heon2018-08-10
| | | | Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* Fix python tests to use cgroupfsMatthew Heon2018-08-10
| | | | Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* Force cgroupfs for python testsMatthew Heon2018-08-10
| | | | Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
* Pass DESTDIR down to python MakefileDaniel J Walsh2018-08-07
| | | | | | | | | | | | In order to get a cleaner build out of the rpms we should pass down the DESTDIR to the python Makefiles. Then we can use them instead of hard coding other inteligence into the spec files. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #1214 Approved by: baude
* Remove inotify work aroundJhon Honce2018-08-06
| | | | | | | | | PR#1215 fixed issue with podman blowing up inotify Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1222 Approved by: baude
* Rename varlink socket and interfacebaude2018-08-06
| | | | | | | | | io.projectatomic.podman -> io.podman Signed-off-by: baude <bbaude@redhat.com> Closes: #1204 Approved by: mheon
* Add missing dependencies to build systemJhon Honce2018-08-05
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1199 Approved by: rhatdan
* Port to MacOSJhon Honce2018-08-05
| | | | | | | | | | | | | | | * Refactor Tunnel to support selecting port for remote sshd * Refactor ssh tunnel to support MacOS version of ssh * Refactor Tunnel.close() to find and kill off zombie siblings * Add psutil dependency * Add logging setup, letting library produce debugging records * Clean up Tunnel API * Fix test_runner.sh to propagate returncode to caller Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1199 Approved by: rhatdan
* Clean up pylint warnings and errors for podmanJhon Honce2018-07-28
| | | | | | | | | | | * Some of the pedantic errors were not corrected * Clean up prep for porting to MacOS and PyPi hosting * Fix broken unittest Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1159 Approved by: rhatdan
* Clean up pylint warnings and errorsJhon Honce2018-07-25
| | | | | | | | | | * Some of the pedantic errors were not corrected * Clean up prep for porting to MacOS and PyPi hosting Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1155 Approved by: baude
* [WIP] Refactor and simplify python buildsJhon Honce2018-07-23
| | | | | | | | | | | * pypodman namespaced in site-packages * version numbers pulled from requirements.txt * add python-podman spec file to install eggs Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1106 Approved by: rhatdan
* Downgrade setup.pyJhon Honce2018-07-14
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1095 Approved by: mheon
* Update python directories to better support setup.pyJhon Honce2018-07-13
| | | | Signed-off-by: Jhon Honce <jhonce@redhat.com>
* remote python client for podmanJhon Honce2018-07-13
| | | | | | | | * Use podman library for access * Verbose error checking * Planned windows and macosx ports Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Refactor attach()/start() after podman changesJhon Honce2018-07-12
| | | | | | | | | | | * Update examples * Update/Clean up unittests * Add Mixins for container attach()/start() Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1080 Approved by: baude
* Refactor unittest for change in history APIJhon Honce2018-07-06
| | | | | | | | | | | * test_images.TestImages.test_history changed to allow '<missing>' as legal image ID. Previously all layers used the image ID. Now layer 0 reports '<missing>'. Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1056 Approved by: jwhonce
* contrib/python/test/test_tunnel: Fix -nNT -> -nNTqW. Trevor King2018-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | Catching the tests up with 60427ab3 (add podman remote client, 2018-06-22, #986) to avoid non-fatal smoketest failures like [1]: ====================================================================== FAIL: test_tunnel (test.test_tunnel.TestTunnel) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib64/python3.6/unittest/mock.py", line 1179, in patched return func(*args, **keywargs) File "/go/src/github.com/projectatomic/libpod/contrib/python/test/test_tunnel.py", line 79, in test_tunnel mock_Popen.assert_called_once_with(cmd, close_fds=True) File "/usr/lib64/python3.6/unittest/mock.py", line 825, in assert_called_once_with return self.assert_called_with(*args, **kwargs) File "/usr/lib64/python3.6/unittest/mock.py", line 814, in assert_called_with raise AssertionError(_error_message()) from cause AssertionError: Expected call: Popen(['ssh', '-nNT', '-L', '/tmp/user/socket:/run/podman/socket', '-i', '~/.ssh/id_rsa', 'ssh://user@hostname'], close_fds=True) Actual call: Popen(['ssh', '-nNTq', '-L', '/tmp/user/socket:/run/podman/socket', '-i', '~/.ssh/id_rsa', 'ssh://user@hostname'], close_fds=True) [1]: https://s3.amazonaws.com/aos-ci/ghprb/projectatomic/libpod/0d792d5c92900ebd07c75bc3c0cb11753319682e.1.1529764423989739036/output.log Signed-off-by: W. Trevor King <wking@tremily.us> Closes: #1035 Approved by: mheon
* add podman remote clientbaude2018-06-27
| | | | | | | | | | | | | | | | podman client that is capable of: * images * ps * rm * rmi this is only a mockup to frame out and prove python library and ssh tunnelling usage. Signed-off-by: baude <bbaude@redhat.com> Closes: #986 Approved by: rhatdan
* Add unittests and fix bugsJhon Honce2018-06-22
| | | | | | | | | | * Improved error messages * Improved checking of user input Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #978 Approved by: mheon
* Implement SSH tunnels between client and podman serverJhon Honce2018-06-19
| | | | | | | | * client currently forks ssh client pending finding a well maintained ssh library for python. Including support for AF_UNIX forwarding. Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Add support for BuildImageJhon Honce2018-06-05
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #908 Approved by: baude
* Provide examples for python podman APIJhon Honce2018-06-01
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #870 Approved by: rhatdan
* Use Version from spec file in setup.pyJhon Honce2018-06-01
| | | | | | | | | - If envvar PODMAN_VERSION not set use default version of 0.0.0 Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #807 Approved by: rhatdan
* Fix lable handlingJhon Honce2018-06-01
| | | | Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Implement container attachJhon Honce2018-05-31
| | | | Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Implement python podman create and startJhon Honce2018-05-25
| | | | | | | | | | | | | | | - Added alias 'container()' to image model for CreateContainer() - Fixed return in containers_create.go to wrap error in varlink exception - Added a wait time to container.kill(), number of seconds to wait for the container to change state - Refactored cached_property() to use system libraries - Refactored tests to speed up performance Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #821 Approved by: rhatdan
* Spell check strings and commentsJhon Honce2018-05-25
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #831 Approved by: rhatdan
* Fix test_runner call of podman varlinkJhon Honce2018-05-23
| | | | | | | | | | - Updated some tests due to slippage between tests and code - Skipped tests will be reinstated in a separate PR Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #825 Approved by: rhatdan
* Add support for Zulu timestamp parsingJhon Honce2018-05-23
| | | | | | | | | - Improve error message when podman varlink service is not running Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #800 Approved by: rhatdan
* set varlink timeout to 1 secondsbaude2018-05-22
| | | | | | | | | Add option to varlink for --timeout. Input for this option is in milliseconds Signed-off-by: baude <bbaude@redhat.com> Closes: #814 Approved by: baude
* Implement podman.containers.commit()Jhon Honce2018-05-18
| | | | | | | | | | | - Add API support - Update tests - Make changes from reviews Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #798 Approved by: mheon
* Skip tests that are flaking, holding up merge queueJhon Honce2018-05-16
| | | | | | | Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #783 Approved by: baude
* Refactor libpod python varlink bindingsJhon Honce2018-05-16
- More pythonic - Leverage context managers to help with socket leaks - Add system unittest's - Add image unittest's - Add container unittest's - Add models for system, containers and images, and their collections - Add helper functions for datetime parsing/formatting - GetInfo() implemented - Add support for setuptools - Update documentation - Support for Python 3.4-3.6 Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #748 Approved by: baude