summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cirrus.yml36
-rwxr-xr-xAPI.md66
-rw-r--r--Makefile2
-rw-r--r--changelog.txt202
-rw-r--r--contrib/spec/podman.spec.in2
-rwxr-xr-xhack/tree_status.sh4
-rw-r--r--version/version.go2
7 files changed, 309 insertions, 5 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index 0745b1e7b..514889969 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -176,10 +176,40 @@ vendor_task:
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh |& ${TIMESTAMP}'
+# This task runs `make varlink_api_generate` followed by ./hack/tree_status.sh to check
+# whether the git tree is clean.
+varlink_api_task:
+
+ depends_on:
+ - "gating"
+
+ env:
+ CIRRUS_WORKING_DIR: "/usr/src/libpod"
+ # Used by tree_status.sh
+ SUGGESTION: 'remove API.md, then "make varlink_api_generate" and commit changes.'
+
+ # Runs within Cirrus's "community cluster"
+ container:
+ image: "quay.io/libpod/gate:latest"
+ cpu: 4
+ memory: 12
+
+ timeout_in: 10m
+
+ vendor_script:
+ - '/usr/local/bin/entrypoint.sh varlink_api_generate'
+ - 'cd /go/src/github.com/containers/libpod && ./hack/tree_status.sh'
+
+ on_failure:
+ failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
+
+
build_each_commit_task:
depends_on:
- "gating"
+ - "vendor"
+ - "varlink_api"
# $CIRRUS_BASE_BRANCH is only set when testing a PR
only_if: $CIRRUS_BRANCH != 'master'
@@ -232,6 +262,8 @@ testing_task:
depends_on:
- "gating"
+ - "varlink_api"
+ - "vendor"
- "build_each_commit"
gce_instance:
@@ -275,6 +307,8 @@ special_testing_task:
depends_on:
- "gating"
+ - "varlink_api"
+ - "vendor"
- "build_each_commit"
gce_instance:
@@ -388,6 +422,8 @@ success_task:
depends_on: # ignores any dependent task conditions
- "gating"
+ - "varlink_api"
+ - "vendor"
- "build_each_commit_task"
- "testing"
- "rootless_testing_task"
diff --git a/API.md b/API.md
index 738449f43..11b9a462f 100755
--- a/API.md
+++ b/API.md
@@ -45,6 +45,10 @@ in the [API.md](https://github.com/containers/libpod/blob/master/API.md) file in
[func ExportImage(name: string, destination: string, compress: bool, tags: []string) string](#ExportImage)
+[func GenerateKube(name: string, service: bool) KubePodService](#GenerateKube)
+
+[func GenerateSystemd(name: string, restart: string, timeout: int, useName: bool) string](#GenerateSystemd)
+
[func GetAttachSockets(name: string) Sockets](#GetAttachSockets)
[func GetContainer(id: string) Container](#GetContainer)
@@ -57,6 +61,8 @@ in the [API.md](https://github.com/containers/libpod/blob/master/API.md) file in
[func GetContainersByContext(all: bool, latest: bool, args: []string) []string](#GetContainersByContext)
+[func GetContainersByStatus(status: []string) Container](#GetContainersByStatus)
+
[func GetContainersLogs(names: []string, follow: bool, latest: bool, since: string, tail: int, timestamps: bool) LogLine](#GetContainersLogs)
[func GetEvents(filter: []string, since: string, until: string) Event](#GetEvents)
@@ -73,6 +79,8 @@ in the [API.md](https://github.com/containers/libpod/blob/master/API.md) file in
[func GetPodsByContext(all: bool, latest: bool, args: []string) []string](#GetPodsByContext)
+[func GetPodsByStatus(statuses: []string) []string](#GetPodsByStatus)
+
[func GetVersion() string, string, string, string, string, int](#GetVersion)
[func GetVolumes(args: []string, all: bool) Volume](#GetVolumes)
@@ -87,6 +95,8 @@ in the [API.md](https://github.com/containers/libpod/blob/master/API.md) file in
[func ImportImage(source: string, reference: string, message: string, changes: []string, delete: bool) string](#ImportImage)
+[func InitContainer(name: string) string](#InitContainer)
+
[func InspectContainer(name: string) string](#InspectContainer)
[func InspectImage(name: string) string](#InspectImage)
@@ -153,6 +163,8 @@ in the [API.md](https://github.com/containers/libpod/blob/master/API.md) file in
[func TagImage(name: string, tagged: string) string](#TagImage)
+[func Top(nameOrID: string, descriptors: []string) []string](#Top)
+
[func TopPod(pod: string, latest: bool, descriptors: []string) []string](#TopPod)
[func UnmountContainer(name: string, force: bool) ](#UnmountContainer)
@@ -211,6 +223,8 @@ in the [API.md](https://github.com/containers/libpod/blob/master/API.md) file in
[type InfoStore](#InfoStore)
+[type KubePodService](#KubePodService)
+
[type ListPodContainerInfo](#ListPodContainerInfo)
[type ListPodData](#ListPodData)
@@ -249,6 +263,8 @@ in the [API.md](https://github.com/containers/libpod/blob/master/API.md) file in
[error ImageNotFound](#ImageNotFound)
+[error InvalidState](#InvalidState)
+
[error NoContainerRunning](#NoContainerRunning)
[error NoContainersInPod](#NoContainersInPod)
@@ -445,6 +461,17 @@ a booleon option to force compression. It also takes in a string array of tags
tags of the same image to a tarball (each tag should be of the form <image>:<tag>). Upon completion, the ID
of the image is returned. If the image cannot be found in local storage, an [ImageNotFound](#ImageNotFound)
error will be returned. See also [ImportImage](ImportImage).
+### <a name="GenerateKube"></a>func GenerateKube
+<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
+
+method GenerateKube(name: [string](https://godoc.org/builtin#string), service: [bool](https://godoc.org/builtin#bool)) [KubePodService](#KubePodService)</div>
+GenerateKube generates a Kubernetes v1 Pod description of a Podman container or pod
+and its containers. The description is in YAML. See also [ReplayKube](ReplayKube).
+### <a name="GenerateSystemd"></a>func GenerateSystemd
+<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
+
+method GenerateSystemd(name: [string](https://godoc.org/builtin#string), restart: [string](https://godoc.org/builtin#string), timeout: [int](https://godoc.org/builtin#int), useName: [bool](https://godoc.org/builtin#bool)) [string](https://godoc.org/builtin#string)</div>
+
### <a name="GetAttachSockets"></a>func GetAttachSockets
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -522,6 +549,11 @@ method GetContainersByContext(all: [bool](https://godoc.org/builtin#bool), lates
GetContainersByContext allows you to get a list of container ids depending on all, latest, or a list of
container names. The definition of latest container means the latest by creation date. In a multi-
user environment, results might differ from what you expect.
+### <a name="GetContainersByStatus"></a>func GetContainersByStatus
+<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
+
+method GetContainersByStatus(status: [[]string](#[]string)) [Container](#Container)</div>
+
### <a name="GetContainersLogs"></a>func GetContainersLogs
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -621,6 +653,11 @@ method GetPodsByContext(all: [bool](https://godoc.org/builtin#bool), latest: [bo
GetPodsByContext allows you to get a list pod ids depending on all, latest, or a list of
pod names. The definition of latest pod means the latest by creation date. In a multi-
user environment, results might differ from what you expect.
+### <a name="GetPodsByStatus"></a>func GetPodsByStatus
+<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
+
+method GetPodsByStatus(statuses: [[]string](#[]string)) [[]string](#[]string)</div>
+GetPodsByStatus searches for pods whose status is included in statuses
### <a name="GetVersion"></a>func GetVersion
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -669,6 +706,16 @@ the IDs of the removed images are returned.
method ImportImage(source: [string](https://godoc.org/builtin#string), reference: [string](https://godoc.org/builtin#string), message: [string](https://godoc.org/builtin#string), changes: [[]string](#[]string), delete: [bool](https://godoc.org/builtin#bool)) [string](https://godoc.org/builtin#string)</div>
ImportImage imports an image from a source (like tarball) into local storage. The image can have additional
descriptions added to it using the message and changes options. See also [ExportImage](ExportImage).
+### <a name="InitContainer"></a>func InitContainer
+<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
+
+method InitContainer(name: [string](https://godoc.org/builtin#string)) [string](https://godoc.org/builtin#string)</div>
+InitContainer initializes the given container. It accepts a container name or
+ID, and will initialize the container matching that ID if possible, and error
+if not. Containers can only be initialized when they are in the Created or
+Exited states. Initialization prepares a container to be started, but does not
+start the container. It is intended to be used to debug a container's state
+prior to starting it.
### <a name="InspectContainer"></a>func InspectContainer
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -1039,6 +1086,11 @@ $ varlink call -m unix:/run/podman/io.podman/io.podman.StopPod '{"name": "135d71
method TagImage(name: [string](https://godoc.org/builtin#string), tagged: [string](https://godoc.org/builtin#string)) [string](https://godoc.org/builtin#string)</div>
TagImage takes the name or ID of an image in local storage as well as the desired tag name. If the image cannot
be found, an [ImageNotFound](#ImageNotFound) error will be returned; otherwise, the ID of the image is returned on success.
+### <a name="Top"></a>func Top
+<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
+
+method Top(nameOrID: [string](https://godoc.org/builtin#string), descriptors: [[]string](#[]string)) [[]string](#[]string)</div>
+
### <a name="TopPod"></a>func TopPod
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -1445,6 +1497,8 @@ quiet [](#)
readonly [](#)
+readonlytmpfs [](#)
+
restart [](#)
rm [](#)
@@ -1666,6 +1720,13 @@ graph_root [string](https://godoc.org/builtin#string)
graph_status [InfoGraphStatus](#InfoGraphStatus)
run_root [string](https://godoc.org/builtin#string)
+### <a name="KubePodService"></a>type KubePodService
+
+
+
+pod [string](https://godoc.org/builtin#string)
+
+service [string](https://godoc.org/builtin#string)
### <a name="ListPodContainerInfo"></a>type ListPodContainerInfo
ListPodContainerInfo is a returned struct for describing containers
@@ -1924,6 +1985,9 @@ is includes as part of the error's text.
### <a name="ImageNotFound"></a>type ImageNotFound
ImageNotFound means the image could not be found by the provided name or ID in local storage.
+### <a name="InvalidState"></a>type InvalidState
+
+InvalidState indicates that a container or pod was in an improper state for the requested operation
### <a name="NoContainerRunning"></a>type NoContainerRunning
NoContainerRunning means none of the containers requested are running in a command that requires a running container.
@@ -1933,7 +1997,7 @@ NoContainersInPod means a pod has no containers on which to perform the operatio
the pod ID.
### <a name="PodContainerError"></a>type PodContainerError
-PodContainerError means a container associated with a pod failed to preform an operation. It contains
+PodContainerError means a container associated with a pod failed to perform an operation. It contains
a container ID of the container that failed.
### <a name="PodNotFound"></a>type PodNotFound
diff --git a/Makefile b/Makefile
index 0085537d0..86d0d99d2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
GO ?= go
DESTDIR ?= /
-EPOCH_TEST_COMMIT ?= 7b7397481960c85379d8eb1ed21e76da2ce8a4fc
+EPOCH_TEST_COMMIT ?= a9fc570dd844bf1ebd1f106f1b8091882b4a2b29
HEAD ?= HEAD
CHANGELOG_BASE ?= HEAD~
CHANGELOG_TARGET ?= HEAD
diff --git a/changelog.txt b/changelog.txt
index 92a17f8d0..c72117d7f 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,205 @@
+- Changelog for v1.3.0 (2019-05-06)
+ * Update release notes for 1.3.0 release
+ * Bump to Buildah v1.8.2
+ * Document events logger options in libpod.conf manpage
+ * Try and fix restart-policy tests
+ * fix logout message if login only with docker
+ * Fix manpage typos
+ * Small code fix
+ * Fix 'restart' event in journald
+ * change from sysregistries to sysregistriesv2
+ * Address review comments on restart policy
+ * Add a test for restart policy
+ * Add a restart event, and make one during restart policy
+ * Restart policy should not run if a container is running
+ * Restart policy conflicts with the --rm flag
+ * Move to using constants for valid restart policy types
+ * Add manpage information for restart policy
+ * Add support for retry count with --restart flag
+ * Sending signals to containers prevents restart policy
+ * Add container restart policy to Libpod & Podman
+ * Add a StoppedByUser field to the DB
+ * top: fallback to execing ps(1)
+ * clean up shared/parse/parse.go
+ * Generate systemd unit files for containers
+ * Fix podman-in-podman volume test
+ * Cirrus: Add pipefail confirmation check
+ * Cirrus: timestamp all output script output
+ * Update c/storage to v1.12.6
+ * Fix typo in init manpage
+ * Add an InvalidState varlink error for Init
+ * Bump Buildah to v1.8.1, ImageBuilder to v1.1.0
+ * Add variable for global flags to runlabel
+ * docs: Fix typo "healthcheck" pt2
+ * cirrus lib.sh: refactor req_env_var()
+ * Remove two bits of dead code
+ * http-proxy: improve docs
+ * Small fixes for #2950
+ * container: drop rootless check
+ * Add basic structure of podman init command
+ * Move handling of ReadOnlyTmpfs into new mounts code
+ * Begin adding volume tests
+ * Ensure that named volumes have their options parsed
+ * Add options parsing for tmpfs mounts
+ * Use EqualValues instead of reflect equality
+ * Hit a number of to-do comments in unified volumes code
+ * Fix options for non-bind and non-tmpfs volumes
+ * Migrate unit tests from cmd/podman into pkg/spec
+ * Migrate to unified volume handling code
+ * Always pass pod into MakeContainerConfig
+ * Remove non-config fields from CreateConfig
+ * Add a new function for converting a CreateConfig
+ * podman-remote port
+ * install.md contains hints for rootless setup on arch linux
+ * auto pass http_proxy into container
+ * enable podman-remote on windows
+ * Use 'sudo tee' in tutorial so install works as non-root
+ * Refactor container cleanup to use latest functions
+ * Move --mount in run man page
+ * Add details on rootless Podman to the readme
+ * podman-remote stop
+ * correct upstream vndr issues
+ * runtime: pass down the context
+ * system: add new subcommand "migrate"
+ * Vendor in latest buildah code
+ * remove manual install of libsystemd-dev
+ * Vendor in latest containers/storage
+ * Add --read-only-tmpfs options
+ * Fix remote-client testing reports
+ * podman-remote prune containers
+ * Do not hard fail on non-decodable events
+ * update psgo to v1.2.1
+ * Add System event type and renumber, refresh events
+ * enable podman remote top
+ * fix login supports credHelpers config
+ * Cirrus: Collect audit log on success and failure
+ * Add a debug message indicating that a refresh occurred
+ * image: rework parent/child/history matching
+ * images: add context to GetParent/IsParent/Remove/Prune...
+ * build podman-remote with Dockerfile.
+ * point to 3rd party tools for `docker-compose` format
+ * Update vendor of container/storage
+ * journald event logging
+ * podman remote-client restart containers
+ * Cirrus: Use freshly built images
+ * Cirrus: Bump up runc commit
+ * Cirrus: fix obsolete Ubuntu package
+ * Cirrus: Install libsystemd-dev on Ubuntu
+ * pull: special case all-tags semantics
+ * Fix test compile
+ * Trim whitespace from ps -q before comparing
+ * Enhance tests for stop to check results
+ * Add extra CI tests for stopping all containers
+ * Fix podman stop --all attempting to stop created ctrs
+ * Cirrus: Temp. override container-selinux on F29
+ * Refactor of 'podman prune' to better support remote
+ * bats - various small updates
+ * podman-remote pause|unpause
+ * Internal names do not match external names
+ * Add header to play kube output
+ * Clean up after play kube failure
+ * rootless: not close more FDs than needed
+ * Fix COPR builds to start working again
+ * Fix podman command --change CMD
+ * podman-remote start
+ * Vendor in latest Buildah
+ * Added remote pod prune
+ * Add podman pod prune
+ * podman-remote container commands
+ * Fix segfaults attribute to missing options
+ * Call the runtime with WithRenumber() when asked
+ * Add File mounts to play kube
+ * cmd, pkg: drop commented code
+ * pod: drop dead code
+ * rootless, mount: not create namespace
+ * Incorporate image and default environment variables in play kube
+ * Validate ENV/LABEL Change options in varlink
+ * oci: fix umount of /sys/kernel
+ * Revert "rootless: set controlling terminal for podman in the userns"
+ * Remove old crio reference from man pages
+ * create: fix segfault if container name already exists
+ * adding uidmap to install steps for ubuntu
+ * podman-remote generate kube
+ * rootless: do not block SIGTSTP
+ * rootless: set controlling terminal for podman in the userns
+ * Use GetContainer instead of LookupContainer for full ID
+ * pull: exit with error if the image is not found
+ * Use the same SELinux label for CRIU log files
+ * pull: remove cryptic error message
+ * new uidmap BATS test: fix
+ * adding additional update, needed for install
+ * Fix README.md -> rootless.md link
+ * Fixes for podman-remote run and attach
+ * remote-client checkpoint/restore
+ * Expand debugging for container cleanup errors
+ * spec: mask /sys/kernel when bind mounting /sys
+ * Add --include-volumes flag to 'podman commit'
+ * oci: add /sys/kernel to the masked paths
+ * userns: prevent /sys/kernel/* paths in the container
+ * imagefilter dangling handling corrected
+ * rootless: fix segfault on refresh if there are containers
+ * Add demo script and cast to images
+ * Initial remote flag clean up
+ * (minor): fix misspelled 'Healthcheck'
+ * BATS tests: start supporting podman-remote
+ * Add the ability to attach remotely to a container
+ * Print header for 'podman images' even with no images
+ * podman-remote ps
+ * Re-run (make vendor) to drop the now unnecessary collation code and tables
+ * Potentially breaking: Make hooks sort order locale-independent
+ * Implement podman-remote rm
+ * ps: now works with --size and nonroot
+ * Update invalid name errors to report the correct regex
+ * cirrus: enable remote tests for rootless
+ * test: fix remote tests for rootless
+ * test: enable userns e2e tests for rootless
+ * CI check for --help vs man pages: usability fix
+ * podman-remote create|run
+ * Correct varlink pull panic
+ * add image rmi event
+ * Revert "Switch to golangci-lint"
+ * Document shortcomings with rootless podman
+ * podman: enable kube for rootless
+ * kube: correctly set the default for MemorySwappiness
+ * rootless: enable healthcheck tests
+ * Respect image entrypoint in play kube
+ * Increase CI resources to help avoid hitting timeouts
+ * podman-remote image tree
+ * Added port forwarding and IP address hint.
+ * fix bug podman cp directory
+ * Fix E2E tests
+ * Drop LocalVolumes from our the database
+ * Major rework of --volumes-from flag
+ * Volume force-remove now removed dependent containers
+ * Add handling for new named volumes code in pkg/spec
+ * Create non-existing named volumes at container create
+ * Switch Libpod over to new explicit named volumes
+ * Add named volumes for each container to database
+ * Add varcheck linter
+ * Add deadcode linter
+ * Update lint to use golangci-lint
+ * Update registrar unit tests to match them of cri-o
+ * Update run tests to be skipped when not supported
+ * Fix Dockerfile dependencies for packer tests
+ * Update Dockerfile to use golang:1.12 image
+ * Fix a potential segfault in podman search
+ * Improve podman pod rm -a test
+ * Cirrus: Update F28 -> F29 container image
+ * --size does not work with rootless at present
+ * add remote-client diff
+ * Cirrus: Support special-case modes of testing
+ * rootless: use a single user namespace
+ * rootless: remove SkipStorageSetup()
+ * Update cri-o annotations
+ * Update README with current version
+ * docs/podman*.md: fix numerous option typos and spacing errors
+ * docs/podman-rm.1.md: delete "Not yet implemented" msg for volume removal
+ * docs/podman-inspect.1.md: add missing option hyphen for "-t"
+ * Bump gitvalidation epoch
+ * Bump to v1.3.0-dev
+ * Fix location of libpod.conf
+ * Capitalize global options help information
+
- Changelog for v1.2.0 (2019-03-30)
* Update release notes for v1.2.0
* Remove wait event
diff --git a/contrib/spec/podman.spec.in b/contrib/spec/podman.spec.in
index f3ee01bca..d69b673e0 100644
--- a/contrib/spec/podman.spec.in
+++ b/contrib/spec/podman.spec.in
@@ -39,7 +39,7 @@
%global shortcommit_conmon %(c=%{commit_conmon}; echo ${c:0:7})
Name: podman
-Version: 1.3.0
+Version: 1.3.1
Release: #COMMITDATE#.git%{shortcommit0}%{?dist}
Summary: Manage Pods, Containers and Container Images
License: ASL 2.0
diff --git a/hack/tree_status.sh b/hack/tree_status.sh
index 78fb4c6a3..ac874a347 100755
--- a/hack/tree_status.sh
+++ b/hack/tree_status.sh
@@ -1,12 +1,14 @@
#!/bin/bash
set -e
+SUGGESTION="${SUGGESTION:-sync the vendor.conf and commit all changes.}"
+
STATUS=$(git status --porcelain)
if [[ -z $STATUS ]]
then
echo "tree is clean"
else
- echo "tree is dirty, please commit all changes and sync the vendor.conf"
+ echo "tree is dirty, please $SUGGESTION"
echo ""
echo "$STATUS"
exit 1
diff --git a/version/version.go b/version/version.go
index 29a576317..c63f8b820 100644
--- a/version/version.go
+++ b/version/version.go
@@ -4,7 +4,7 @@ package version
// NOTE: remember to bump the version at the top
// of the top-level README.md file when this is
// bumped.
-const Version = "1.3.0-dev"
+const Version = "1.3.1-dev"
// RemoteAPIVersion is the version for the remote
// client API. It is used to determine compatibility