Hello community,

here is the log from the commit of package podman for openSUSE:Factory checked 
in at 2019-06-30 10:16:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/podman (Old)
 and      /work/SRC/openSUSE:Factory/.podman.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "podman"

Sun Jun 30 10:16:57 2019 rev:44 rq:712138 version:1.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/podman/podman.changes    2019-06-12 
13:05:58.137191900 +0200
+++ /work/SRC/openSUSE:Factory/.podman.new.4615/podman.changes  2019-06-30 
10:16:58.903198912 +0200
@@ -1,0 +2,47 @@
+Wed Jun 26 11:24:32 UTC 2019 - Robert Frohl <[email protected]>
+
+- Update podman to v1.4.2 
+  - Fixed a bug where Podman could not run containers using an older version of
+    Systemd as init
+  - Updated vendored Buildah to v1.9.0 to resolve a critical bug with
+    Dockerfile RUN instructions
+  - The error message for running podman kill on containers that are not
+    running has been improved
+  - Podman remote client can now log to a file if syslog is not available
+  - The podman exec command now sets its error code differently based on
+    whether the container does not exist, and the command in the container does
+    not exist
+  - The podman inspect command on containers now outputs Mounts JSON that 
matches
+    that of docker inspect, only including user-specified volumes and
+    differentiating bind mounts and named volumes
+  - The podman inspect command now reports the path to a container's OCI spec
+    with the OCIConfigPath key (only included when the container is initialized
+    or running)
+  - The podman run --mount command now supports the bind-nonrecursive option 
for
+    bind mounts
+  - Fixed a bug where podman play kube would fail to create containers due to 
an
+    unspecified log driver
+  - Fixed a bug where Podman would fail to build with musl libc
+  - Fixed a bug where rootless Podman using slirp4netns networking in an
+    environment with no nameservers on the host other than localhost would
+    result in nonfunctional networking
+  - Fixed a bug where podman import would not properly set environment
+    variables, discarding their values and retaining only keys
+  - Fixed a bug where Podman would fail to run when built with Apparmor support
+    but run on systems without the Apparmor kernel module loaded
+  - Remote Podman will now default the username it uses to log in to remote
+    systems to the username of the current user
+  - Podman now uses JSON logging with OCI runtimes that support it, allowing 
for
+    better error reporting
+  - Updated vendored containers/image to v2.0
+- Update conmon to v0.3.0 
+  - Support OOM Monitor under cgroup V2
+  - Add config binary and make target for configuring conmon with a go library
+    for importing values
+
+-------------------------------------------------------------------
+Mon Jun 24 09:36:12 UTC 2019 - Robert Frohl <[email protected]>
+
+- update dependency for slirp4netns to 0.3.0 or newer 
+
+-------------------------------------------------------------------

Old:
----
  conmon-0.2.0.tar.xz
  podman-1.4.0.tar.xz

New:
----
  conmon-0.3.0.tar.xz
  podman-1.4.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ podman.spec ++++++
--- /var/tmp/diff_new_pack.iO2tEh/_old  2019-06-30 10:16:59.495199832 +0200
+++ /var/tmp/diff_new_pack.iO2tEh/_new  2019-06-30 10:16:59.495199832 +0200
@@ -18,13 +18,13 @@
 
 %define project        github.com/containers/libpod
 %define conmon_project conmon
-%define conmonver      0.2.0
+%define conmonver      0.3.0
 # Build with libostree-devel in Tumbleweed, Leap 15 and SLES 15
 %if 0%{?suse_version} >= 1500
 %define with_libostree 1
 %endif
 Name:           podman
-Version:        1.4.0
+Version:        1.4.2
 Release:        0
 Summary:        Daemon-less container engine for managing containers, pods and 
images
 License:        Apache-2.0
@@ -65,7 +65,7 @@
 Requires:       libcontainers-image
 Requires:       libcontainers-storage
 Requires:       runc >= 1.0.0~rc4
-Requires:       slirp4netns
+Requires:       slirp4netns >= 0.3.0
 Requires:       catatonit
 Requires:       fuse-overlayfs
 Recommends:     %{name}-cni-config = %{version}

++++++ _service ++++++
--- /var/tmp/diff_new_pack.iO2tEh/_old  2019-06-30 10:16:59.519199869 +0200
+++ /var/tmp/diff_new_pack.iO2tEh/_new  2019-06-30 10:16:59.519199869 +0200
@@ -4,8 +4,8 @@
 <param name="url">https://github.com/containers/libpod.git</param>
 <param name="scm">git</param>
 <param name="filename">podman</param>
-<param name="versionformat">1.4.0</param>
-<param name="revision">v1.4.0</param>
+<param name="versionformat">1.4.2</param>
+<param name="revision">v1.4.2</param>
 </service>
 
 <service name="set_version" mode="disabled">
@@ -16,8 +16,8 @@
 <param name="url">https://github.com/containers/conmon.git</param>
 <param name="scm">git</param>
 <param name="filename">conmon</param>
-<param name="versionformat">0.2.0</param>
-<param name="revision">v0.2.0</param>
+<param name="versionformat">0.3.0</param>
+<param name="revision">v0.3.0</param>
 </service>
 
 <service name="recompress" mode="disabled">

++++++ conmon-0.2.0.tar.xz -> conmon-0.3.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/.cirrus.yml new/conmon-0.3.0/.cirrus.yml
--- old/conmon-0.2.0/.cirrus.yml        2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/.cirrus.yml        2019-06-13 17:14:13.000000000 +0200
@@ -16,39 +16,32 @@
     PACKER_BASE: "./contrib/cirrus/packer"
     CRIO_REPO: "https://github.com/cri-o/cri-o.git";
     CRIO_SLUG: "github.com/cri-o/cri-o"
+    # Spoof self as travis, as cirrus has the same test issues as travis does
+    TRAVIS: "true"
 
     ####
-    #### Cache-image names to test with
+    #### Image names to test with
     ###
-    # Note rhel tests are disabled because crio rpms haven't been found for 
them
-    # PRIOR_RHEL_CACHE_IMAGE_NAME: 'rhel-7-conmon-75ea13be'
     FEDORA_CACHE_IMAGE_NAME: 'fedora-29-conmon-75ea13be'
-    #PRIOR_FEDORA_CACHE_IMAGE_NAME: "fedora-28-notready"
-    #RHEL_CACHE_IMAGE_NAME: "rhel-8-notready"
-    #CENTOS_CACHE_IMAGE_NAME: "centos-7-notready"
+    FEDORA_CONTAINER_FQIN: 'registry.fedoraproject.org/fedora:29'
+    PRIOR_FEDORA_CONTAINER_FQIN: 'registry.fedoraproject.org/fedora:28'
 
     ####
     #### Variables for composing new cache-images (used in PR testing) from
     #### base-images (pre-existing in GCE)
     ####
     # CSV of cache-image names to build (see $PACKER_BASE/libpod_images.json)
-    PACKER_BUILDS: "fedora-29" # ,rhel-7"
+    PACKER_BUILDS: "fedora-29"
     # Version of packer to use
     PACKER_VER: "1.3.5"
-    # RHEL images require special access to cri-o and cri-tools packages
-    # RHEL_CRIO_BASEURL: 
"https://cbs.centos.org/repos/paas7-crio-311-candidate/x86_64/os/";
     # Manually produced base-image names (see $SCRIPT_BASE/README.md)
     FEDORA_BASE_IMAGE: "fedora-cloud-base-29-1-2-1547237869"
-    # RHEL image must be imported, google bills extra for their native image.
-    # RHEL_BASE_IMAGE: "rhel-guest-image-7-6-210-1547237869"
     # Special image w/ nested-libvirt + tools for creating new cache and base 
images
     IMAGE_BUILDER_CACHE_IMAGE_NAME: "image-builder-image-1547237869"
 
     ####
     #### Credentials and other secret-sauces, decrypted at runtime when 
authorized.
     ####
-    # Command to register a RHEL VM to install/update packages
-    RHSM_COMMAND: 
ENCRYPTED[fb73fe0b1f8cf1608ba614c6e0861c89d86513e8b0bdbb9038d99916bcd69dece90507462d623989f9e3340c029d0fd3]
     # Needed to build GCE images, within a GCE VM
     SERVICE_ACCOUNT: 
ENCRYPTED[0aad0b5961402c8b8e4abd48fc4d4ac762f608f32e9169381b911d19699990df1a1441897ffa94def46ff73a19ba7577]
     # User ID for cirrus to ssh into VMs
@@ -72,12 +65,14 @@
 # testing for every platform
 integration_task:
 
+    depends_on:
+        - 'config'
+
     gce_instance:
         # Generate multiple parallel tasks, covering all possible
         # 'matrix' combinations.
         matrix:
             # Images are generated separetly, from build_images_task (below)
-            # image_name: "${PRIOR_RHEL_CACHE_IMAGE_NAME}"
             image_name: "${FEDORA_CACHE_IMAGE_NAME}"
 
     env:
@@ -95,8 +90,8 @@
     # Runs within Cirrus's "community cluster"
     container:
         matrix:
-            image: "registry.fedoraproject.org/fedora:28"
-            image: "registry.fedoraproject.org/fedora:29"
+            image: "${FEDORA_CONTAINER_FQIN}"
+            image: "${PRIOR_FEDORA_CONTAINER_FQIN}"
         cpu: 4
         memory: 12
 
@@ -107,10 +102,30 @@
         - make -f .rpmbuild/Makefile
         - rpmbuild --rebuild conmon-*.src.rpm
         - dnf -y install ~/rpmbuild/RPMS/x86_64/conmon*.x86_64.rpm
-        - ls -l /usr/libexec/crio/conmon
+        - ls -l /usr/bin/conmon
 
     timeout_in: '20m'
 
+# Verify calls to bin/config were saved
+config_task:
+    env:
+        GOSRC: $CIRRUS_WORKING_DIR
+    # Runs within Cirrus's "community cluster"
+    container:
+        matrix:
+               # fedora:28 doesn't have go mod by default
+               # and we should only need one check to make sure
+               # config changes were synced
+            image: "${FEDORA_CONTAINER_FQIN}"
+        cpu: 4
+        memory: 12
+
+    script:
+        - dnf install -y make glib2-devel git gcc rpm-build golang
+        - cd $CIRRUS_WORKING_DIR
+        - GO111MODULE=on go mod init github.com/containers/conmon
+        - make config
+        - ./hack/tree_status.sh
 
 # Test building of new cache-images for future PR testing, in this PR.
 # Output images will be stored only for a very short time, then automaticly 
deleted.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/.clang-format 
new/conmon-0.3.0/.clang-format
--- old/conmon-0.2.0/.clang-format      1970-01-01 01:00:00.000000000 +0100
+++ new/conmon-0.3.0/.clang-format      2019-06-13 17:14:13.000000000 +0200
@@ -0,0 +1,116 @@
+---
+Language:        Cpp
+# BasedOnStyle:  LLVM
+AccessModifierOffset: -2
+AlignAfterOpenBracket: Align
+AlignConsecutiveAssignments: false
+AlignConsecutiveDeclarations: false
+AlignEscapedNewlines: DontAlign
+AlignOperands:   true
+AlignTrailingComments: true
+AllowAllParametersOfDeclarationOnNextLine: false
+AllowShortBlocksOnASingleLine: false
+AllowShortCaseLabelsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: false
+AllowShortIfStatementsOnASingleLine: false
+AllowShortLoopsOnASingleLine: false
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: true
+AlwaysBreakTemplateDeclarations: MultiLine
+BinPackArguments: true
+BinPackParameters: true
+BraceWrapping:
+  AfterClass:      false
+  AfterControlStatement: false
+  AfterEnum:       false
+  AfterFunction:   false
+  AfterNamespace:  false
+  AfterObjCDeclaration: false
+  AfterStruct:     false
+  AfterUnion:      false
+  AfterExternBlock: false
+  BeforeCatch:     false
+  BeforeElse:      false
+  IndentBraces:    false
+  SplitEmptyFunction: true
+  SplitEmptyRecord: true
+  SplitEmptyNamespace: true
+BreakBeforeBinaryOperators: NonAssignment
+BreakBeforeBraces: Linux
+BreakBeforeInheritanceComma: false
+BreakInheritanceList: BeforeColon
+BreakBeforeTernaryOperators: true
+BreakConstructorInitializersBeforeComma: false
+BreakConstructorInitializers: BeforeColon
+BreakAfterJavaFieldAnnotations: false
+BreakStringLiterals: false
+ColumnLimit:     140
+CommentPragmas:  '^ IWYU pragma:'
+CompactNamespaces: false
+ConstructorInitializerAllOnOneLineOrOnePerLine: false
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 8
+Cpp11BracedListStyle: true
+DerivePointerAlignment: false
+DisableFormat:   false
+ExperimentalAutoDetectBinPacking: false
+FixNamespaceComments: true
+ForEachMacros:
+  - foreach
+  - Q_FOREACH
+  - BOOST_FOREACH
+IncludeBlocks:   Preserve
+IncludeCategories:
+  - Regex:           '^"(llvm|llvm-c|clang|clang-c)/'
+    Priority:        2
+  - Regex:           '^(<|"(gtest|gmock|isl|json)/)'
+    Priority:        3
+  - Regex:           '.*'
+    Priority:        1
+IncludeIsMainRegex: '(Test)?$'
+IndentCaseLabels: false
+IndentPPDirectives: None
+IndentWidth:     8
+IndentWrappedFunctionNames: false
+JavaScriptQuotes: Leave
+JavaScriptWrapImports: true
+KeepEmptyLinesAtTheStartOfBlocks: true
+MacroBlockBegin: ''
+MacroBlockEnd:   ''
+MaxEmptyLinesToKeep: 2
+NamespaceIndentation: None
+ObjCBinPackProtocolList: Auto
+ObjCBlockIndentWidth: 2
+ObjCSpaceAfterProperty: false
+ObjCSpaceBeforeProtocolList: true
+PenaltyBreakAssignment: 2
+PenaltyBreakBeforeFirstCallParameter: 19
+PenaltyBreakComment: 300
+PenaltyBreakFirstLessLess: 120
+PenaltyBreakString: 1000
+PenaltyBreakTemplateDeclaration: 10
+PenaltyExcessCharacter: 1000000
+PenaltyReturnTypeOnItsOwnLine: 60
+PointerAlignment: Right
+ReflowComments:  true
+SortIncludes:    false
+SortUsingDeclarations: true
+SpaceAfterCStyleCast: false
+SpaceAfterTemplateKeyword: true
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
+SpaceBeforeParens: ControlStatements
+SpaceBeforeRangeBasedForLoopColon: true
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 1
+SpacesInAngles:  false
+SpacesInContainerLiterals: true
+SpacesInCStyleCastParentheses: false
+SpacesInParentheses: false
+SpacesInSquareBrackets: false
+Standard:        Cpp11
+TabWidth:        8
+UseTab:          Always
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/LICENSE new/conmon-0.3.0/LICENSE
--- old/conmon-0.2.0/LICENSE    2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/LICENSE    2019-06-13 17:14:13.000000000 +0200
@@ -186,7 +186,7 @@
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright {yyyy} {name of copyright owner}
+   Copyright 2018-2019 github.com/containers authors
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/Makefile new/conmon-0.3.0/Makefile
--- old/conmon-0.2.0/Makefile   2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/Makefile   2019-06-13 17:14:13.000000000 +0200
@@ -1,20 +1,31 @@
-include Makefile.inc
-
-GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
-GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
 VERSION := $(shell cat VERSION)
-PREFIX ?= ${DESTDIR}/usr/local
+PREFIX ?= /usr/local
 BINDIR ?= ${PREFIX}/bin
 LIBEXECDIR ?= ${PREFIX}/libexec
-MANDIR ?= ${PREFIX}/share/man
-ETCDIR ?= ${DESTDIR}/etc
+GO ?= go
+PROJECT := github.com/containers/conmon
+
+
 
-.PHONY: all
-all: bin bin/conmon
+.PHONY: all git-vars
+all: git-vars bin bin/conmon
+
+git-vars:
+ifneq ($(wildcard .git),)
+       $(eval COMMIT_NO :=$(shell git rev-parse HEAD 2> /dev/null || true))
+       $(eval GIT_COMMIT := $(if $(shell git status --porcelain 
--untracked-files=no),"${COMMIT_NO}-dirty","${COMMIT_NO}"))
+       $(eval GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 
2>/dev/null))
+       $(eval GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e 
"s/[^[:alnum:]]/-/g"))
+else
+       $(eval COMMIT_NO := unknown)
+       $(eval GIT_COMMIT := unknown)
+       $(eval GIT_BRANCH := unknown)
+       $(eval GIT_BRANCH_CLEAN := unknown)
+endif
 
 override LIBS += $(shell pkg-config --libs glib-2.0)
 
-CFLAGS ?= -std=c99 -Os -Wall -Wextra
+CFLAGS ?= -std=c99 -Os -Wall -Wextra -Werror
 override CFLAGS += $(shell pkg-config --cflags glib-2.0) 
-DVERSION=\"$(VERSION)\" -DGIT_COMMIT=\"$(GIT_COMMIT)\"
 
 # Conditionally compile journald logging code if the libraries can be found
@@ -37,6 +48,10 @@
 %.o: %.c
        $(CC) $(CFLAGS) -o $@ -c $<
 
+config: git-vars cmd/conmon-config/conmon-config.go runner/config/config.go 
runner/config/config_unix.go runner/config/config_windows.go
+       $(GO) build $(LDFLAGS) -tags "$(BUILDTAGS)" -o bin/config 
$(PROJECT)/cmd/conmon-config
+               ( cd src && $(CURDIR)/bin/config )
+
 src/cmsg.o: src/cmsg.c src/cmsg.h
 
 src/utils.o: src/utils.c src/utils.h
@@ -53,8 +68,23 @@
        rm -f bin/conmon src/*.o
        rmdir bin
 
-.PHONY: install install.bin
+.PHONY: install install.bin install.crio install.podman podman crio
 install: install.bin
 
+podman: install.podman
+
+crio: install.crio
+
 install.bin: bin/conmon
-       install ${SELINUXOPT} -D -m 755 bin/conmon $(LIBEXECDIR)/crio/conmon
+       install ${SELINUXOPT} -D -m 755 bin/conmon $(DESTDIR)$(BINDIR)/conmon
+
+install.crio: bin/conmon
+       install ${SELINUXOPT} -D -m 755 bin/conmon 
$(DESTDIR)$(LIBEXECDIR)/crio/conmon
+
+install.podman: bin/conmon
+       install ${SELINUXOPT} -D -m 755 bin/conmon 
$(DESTDIR)$(LIBEXECDIR)/podman/conmon
+
+.PHONY: fmt
+fmt:
+       find . '(' -name '*.h' -o -name '*.c' ')'  -exec clang-format -i {} \+
+       git diff --exit-code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/Makefile.inc 
new/conmon-0.3.0/Makefile.inc
--- old/conmon-0.2.0/Makefile.inc       2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/Makefile.inc       1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-COMMIT_NO := $(shell git rev-parse HEAD 2> /dev/null || true)
-GIT_COMMIT := $(if $(shell git status --porcelain 
--untracked-files=no),"${COMMIT_NO}-dirty","${COMMIT_NO}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/VERSION new/conmon-0.3.0/VERSION
--- old/conmon-0.2.0/VERSION    2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/VERSION    2019-06-13 17:14:13.000000000 +0200
@@ -1 +1 @@
-0.2.0
+0.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/cmd/conmon-config/conmon-config.go 
new/conmon-0.3.0/cmd/conmon-config/conmon-config.go
--- old/conmon-0.2.0/cmd/conmon-config/conmon-config.go 1970-01-01 
01:00:00.000000000 +0100
+++ new/conmon-0.3.0/cmd/conmon-config/conmon-config.go 2019-06-13 
17:14:13.000000000 +0200
@@ -0,0 +1,24 @@
+package main
+
+import (
+       "fmt"
+       "io/ioutil"
+
+       "github.com/containers/conmon/runner/config"
+)
+
+func main() {
+       output := `
+#if !defined(CONFIG_H)
+#define CONFIG_H
+
+#define BUF_SIZE %d
+#define STDIO_BUF_SIZE %d
+#define DEFAULT_SOCKET_PATH "%s"
+
+#endif // CONFIG_H
+`
+       if err := ioutil.WriteFile("config.h", []byte(fmt.Sprintf(output, 
config.BufSize, config.BufSize, config.ContainerAttachSocketDir)), 0644); err 
!= nil {
+               fmt.Errorf(err.Error())
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/README.md 
new/conmon-0.3.0/contrib/cirrus/README.md
--- old/conmon-0.2.0/contrib/cirrus/README.md   2019-05-21 17:59:48.000000000 
+0200
+++ new/conmon-0.3.0/contrib/cirrus/README.md   2019-06-13 17:14:13.000000000 
+0200
@@ -101,15 +101,6 @@
        or [end-user
        
credentials](https://cloud.google.com/docs/authentication/end-user#creating_your_client_credentials]
 
-    *  ``RHEL_IMAGE_FILE`` and ``RHEL_CSUM_FILE`` complete paths
-       to a `rhel-server*.qcow2` and it's cooresponding
-       checksum file.  These must be supplied manually because
-       they're not available directly via URL like other images.
-
-    * ``RHSM_COMMAND`` contains the complete string needed to register
-      the VM for installing package dependencies.  The VM will be de-registered
-      upon completion.
-
     *  CSV's of builders to use must be specified to ``PACKER_BUILDS``
        to limit the base-images produced.  For example,
        ``PACKER_BUILDS=fedora,image-builder-image``.
@@ -144,8 +135,6 @@
 ```
 $ make conmon_base_images GCP_PROJECT_ID=<VALUE> \
     GOOGLE_APPLICATION_CREDENTIALS=<VALUE> \
-    RHEL_IMAGE_FILE=<VALUE> \
-    RHEL_CSUM_FILE=<VALUE> \
     PACKER_BUILDS=<OPTIONAL>
 ```
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/build_vm_images.sh 
new/conmon-0.3.0/contrib/cirrus/build_vm_images.sh
--- old/conmon-0.2.0/contrib/cirrus/build_vm_images.sh  2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/build_vm_images.sh  2019-06-13 
17:14:13.000000000 +0200
@@ -15,16 +15,13 @@
 PACKER_BASE $PACKER_BASE
 PACKER_VER $PACKER_VER
 PACKER_BUILDS $PACKER_BUILDS
-RHEL_CRIO_BASEURL $RHEL_CRIO_BASEURL
 BUILT_IMAGE_SUFFIX $BUILT_IMAGE_SUFFIX
 
 CRIO_REPO $CRIO_REPO
 CRIO_SLUG $CRIO_SLUG
 
 FEDORA_BASE_IMAGE $FEDORA_BASE_IMAGE
-RHEL_BASE_IMAGE $RHEL_BASE_IMAGE
 
-RHSM_COMMAND $RHSM_COMMAND
 SERVICE_ACCOUNT $SERVICE_ACCOUNT
 GCE_SSH_USERNAME $GCE_SSH_USERNAME
 GCP_PROJECT_ID $GCP_PROJECT_ID
@@ -58,11 +55,9 @@
     PACKER_BASE=$PACKER_BASE \
     PACKER_VER=$PACKER_VER \
     PACKER_BUILDS=$PACKER_BUILDS \
-    RHEL_CRIO_BASEURL=$RHEL_CRIO_BASEURL \
     BUILT_IMAGE_SUFFIX=$BUILT_IMAGE_SUFFIX \
     CRIO_REPO=$CRIO_REPO \
     CRIO_SLUG=$CRIO_SLUG \
-    RHEL_BASE_IMAGE=$RHEL_BASE_IMAGE \
     FEDORA_BASE_IMAGE=$FEDORA_BASE_IMAGE \
     POST_MERGE_BUCKET_SUFFIX=$POST_MERGE_BUCKET_SUFFIX
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/integration_test.sh 
new/conmon-0.3.0/contrib/cirrus/integration_test.sh
--- old/conmon-0.2.0/contrib/cirrus/integration_test.sh 2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/integration_test.sh 2019-06-13 
17:14:13.000000000 +0200
@@ -12,15 +12,11 @@
 
 cd "$GOSRC"
 case "$OS_REL_VER" in
-    fedora-29) ;&
-    rhel-7)
-        PATCH1="$SRC/$SCRIPT_BASE/network_bats.patch"
-        PATCH2="$SRC/$SCRIPT_BASE/spoof_travis.patch"
+    fedora-29)
+        PATCH="$SRC/$SCRIPT_BASE/network_bats.patch"
         cd "$GOSRC"
-        echo "WARNING: Applying $PATCH1"
-        git apply --index --apply --ignore-space-change --recount "$PATCH1"
-        echo "WARNING: Applying $PATCH2"
-        git apply --index --apply --ignore-space-change --recount "$PATCH2"
+        echo "WARNING: Applying $PATCH"
+        git apply --index --apply --ignore-space-change --recount "$PATCH"
         ;;
     *) bad_os_id_ver ;;
 esac
@@ -34,4 +30,4 @@
 
 echo "Executing cri-o integration tests (typical 10 - 20 min)"
 cd "$GOSRC"
-timeout --foreground --kill-after=90m 60m ./test/test_runner.sh
+timeout --foreground --kill-after=5m 60m ./test/test_runner.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/lib.sh 
new/conmon-0.3.0/contrib/cirrus/lib.sh
--- old/conmon-0.2.0/contrib/cirrus/lib.sh      2019-05-21 17:59:48.000000000 
+0200
+++ new/conmon-0.3.0/contrib/cirrus/lib.sh      2019-06-13 17:14:13.000000000 
+0200
@@ -162,38 +162,13 @@
     _finalize
 }
 
-rhel_exit_handler() {
-    set +ex
-    req_env_var "
-        RHSMCMD $RHSMCMD
-    "
-    cd /
-    sudo rm -rf "$RHSMCMD"
-    sudo subscription-manager unsubscribe --all
-    sudo subscription-manager remove --all
-    sudo subscription-manager unregister
-    sudo subscription-manager clean
-}
-
-rhsm_enable() {
-    req_env_var "
-        RHSM_COMMAND $RHSM_COMMAND
-    "
-    export RHSMCMD="$(mktemp)"
-    trap "rhel_exit_handler" EXIT
-    # Avoid logging sensitive details
-    echo "$RHSM_COMMAND" > "$RHSMCMD"
-    ooe.sh sudo bash "$RHSMCMD"
-    sudo rm -rf "$RHSMCMD"
-}
-
 setup_gopath() {
     req_env_var "
         CRIO_REPO $CRIO_REPO
         CRIO_SLUG $CRIO_SLUG
     "
     echo "Configuring persistent Go environment for all users"
-    sudo mkdir -p /var/tmp/go/src  # Works with atomic
+    sudo mkdir -p /var/tmp/go/src
     sudo chown -R $USER:$USER /var/tmp/go
     sudo chmod g=rws /var/tmp/go
     ENVLIB=/etc/profile.d/go.sh
@@ -284,7 +259,7 @@
 
     NEWNAME=.original_packaged_conmon
     echo "Renaming conmon binaries from RPMs"
-    find /usr/libexec -type f -name conmon |
+    find /usr -type f -name conmon |
     while read CONMON_FILEPATH
     do
         NEWPATH="$(dirname $CONMON_FILEPATH)/$NEWNAME"
@@ -296,8 +271,8 @@
 
     ooe.sh make
     echo "Installing conmon"
-    ooe.sh sudo make install PREFIX=/usr
+    ooe.sh sudo make crio PREFIX=/usr
     # Use same version for podman in case ever needed
     ooe.sh sudo ln -fv /usr/libexec/crio/conmon /usr/libexec/podman/conmon
-    ooe.sh sudo restorecon -R /usr/libexec
+    ooe.sh sudo restorecon -R /usr/bin
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/packer/Makefile 
new/conmon-0.3.0/contrib/cirrus/packer/Makefile
--- old/conmon-0.2.0/contrib/cirrus/packer/Makefile     2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/packer/Makefile     2019-06-13 
17:14:13.000000000 +0200
@@ -62,18 +62,12 @@
 ifndef GCE_SSH_USERNAME
        $(error GCE_SSH_USERNAME is undefined, expected user with ssh access to 
base-image.)
 endif
-ifndef RHSM_COMMAND
-       $(error RHSM_COMMAND is undefined, expected complete command-line to 
register/subscribe RHEL VM.)
-endif
 ifndef SERVICE_ACCOUNT
        $(error SERVICE_ACCOUNT is undefined, expected GCE service account name 
for managing VMs.)
 endif
 ifndef BUILT_IMAGE_SUFFIX
        $(error BUILT_IMAGE_SUFFIX is undefined, expected suffix string to make 
produced image names unique.)
 endif
-ifndef RHEL_CRIO_BASEURL
-       $(error RHEL_CRIO_BASEURL is undefined, expected yum repository baseurl 
for cri-o and cri-tools packages.)
-endif
 ifndef CRIO_REPO
        $(error CRIO_REPO is undefined, expected URL to CRI-O repository to use)
 endif
@@ -83,9 +77,6 @@
 ifndef FEDORA_BASE_IMAGE
        $(error FEDORA_BASE_IMAGE is undefined, expected name of existing 
base-image.)
 endif
-ifndef RHEL_BASE_IMAGE
-       $(error RHEL_BASE_IMAGE is undefined, expected name of existing 
base-image.)
-endif
 
 .PHONY: base_image_checkenv
 base_image_checkenv: check_common_env
@@ -95,32 +86,19 @@
 ifndef GOOGLE_APPLICATION_CREDENTIALS
        $(error GOOGLE_APPLICATION_CREDENTIALS is undefined, expected path to 
JSON file.  See 
https://cloud.google.com/docs/authentication/end-user#creating_your_client_credentials)
 endif
-ifndef RHEL_IMAGE_FILE
-       $(error RHEL_IMAGE_FILE is undefined, expected full path to a 
rhel-server-ec2-*.raw.xz file)
-endif
-ifndef RHEL_CSUM_FILE
-       $(error RHEL_CSUM_FILE is undefined, expected full path to a 
rhel-server-ec2-*.raw.xz.SHA256SUM file)
-endif
-ifndef RHSM_COMMAND
-       $(error RHSM_COMMAND is undefined, expected string required for 
temporarily registering VM)
-endif
-
 
 .PHONY: conmon_images
 conmon_images: cache_image_checkenv conmon_images.json packer
        @GCE_SSH_USERNAME=${GCE_SSH_USERNAME} \
        GCP_PROJECT_ID=${GCP_PROJECT_ID} \
-       RHSM_COMMAND="${RHSM_COMMAND}" \
        SERVICE_ACCOUNT="${SERVICE_ACCOUNT}" \
        ./packer build -only=${PACKER_BUILDS} \
                -var SRC=${SRC} \
                -var SCRIPT_BASE=${SCRIPT_BASE} \
                -var PACKER_BASE=${PACKER_BASE} \
-               -var RHEL_CRIO_BASEURL=${RHEL_CRIO_BASEURL} \
                -var BUILT_IMAGE_SUFFIX=${BUILT_IMAGE_SUFFIX} \
                -var CRIO_REPO=${CRIO_REPO} \
                -var CRIO_SLUG=${CRIO_SLUG} \
-               -var RHEL_BASE_IMAGE=${RHEL_BASE_IMAGE} \
                -var FEDORA_BASE_IMAGE=${FEDORA_BASE_IMAGE} \
                conmon_images.json
        @echo ""
@@ -150,7 +128,6 @@
 conmon_base_images: base_image_checkenv conmon_base_images.json cidata.iso 
cidata.ssh packer
        @PACKER_CACHE_DIR=/tmp \
        GOOGLE_APPLICATION_CREDENTIALS="${GOOGLE_APPLICATION_CREDENTIALS}" \
-       RHSM_COMMAND="${RHSM_COMMAND}" \
        GCP_PROJECT_ID=${GCP_PROJECT_ID} \
                ./packer build \
                        -var TIMESTAMP=${TIMESTAMP} \
@@ -158,9 +135,6 @@
                        -var SRC=${SRC} \
                        -var PACKER_BASE=${PACKER_BASE} \
                        -var SCRIPT_BASE=${SCRIPT_BASE} \
-                       -var RHEL_BASE_IMAGE_NAME=$(shell basename 
${RHEL_IMAGE_FILE} | tr -d '[[:space:]]' | sed -r -e 's/\.x86_64\.qcow2//' | tr 
'[[:upper:]]' '[[:lower:]]' | tr '[[:punct:]]' '-') \
-                       -var RHEL_IMAGE_FILE=${RHEL_IMAGE_FILE} \
-                       -var RHEL_CSUM_FILE=${RHEL_CSUM_FILE} \
                        -only ${PACKER_BUILDS} \
                        conmon_base_images.json
        @echo ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conmon-0.2.0/contrib/cirrus/packer/conmon_base_images.yml 
new/conmon-0.3.0/contrib/cirrus/packer/conmon_base_images.yml
--- old/conmon-0.2.0/contrib/cirrus/packer/conmon_base_images.yml       
2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/packer/conmon_base_images.yml       
2019-06-13 17:14:13.000000000 +0200
@@ -11,14 +11,8 @@
     TIMESTAMP:
     # Required for output from qemu builders
     TTYDEV:
-    # RHEL images require click-through agreements to obtain (required)
-    RHEL_BASE_IMAGE_NAME:
-    RHEL_IMAGE_FILE:
-    RHEL_CSUM_FILE:
 
     # These are also required, but come in via env-vars to protect contents
-    # RHEL requires a subscription to install/update packages
-    RHSM_COMMAND: '{{env `RHSM_COMMAND`}}'
     # Path to json file (required, likely 
~/.config/gcloud/legacy_credentials/*/adc.json)
     GOOGLE_APPLICATION_CREDENTIALS: '{{env `GOOGLE_APPLICATION_CREDENTIALS`}}'
     # The complete project ID (required, not the short name)
@@ -38,7 +32,6 @@
 sensitive-variables:
     - 'GOOGLE_APPLICATION_CREDENTIALS'
     - 'GCP_PROJECT_ID'
-    - 'RHSM_COMMAND'
 
 # What images to produce in which cloud
 builders:
@@ -97,12 +90,6 @@
       ssh_private_key_file: 'cidata.ssh'
       ssh_username: 'root'
 
-    - <<: *nested_virt
-      name: 'rhel'
-      iso_url: 'file://{{user `RHEL_IMAGE_FILE`}}'
-      iso_checksum_url: 'file://{{user `RHEL_CSUM_FILE`}}'
-      disk_size: 10240
-
 provisioners:
     - type: 'shell'
       inline:
@@ -132,7 +119,6 @@
           - 'SRC=/tmp/conmon'
           - 'SCRIPT_BASE={{user `SCRIPT_BASE`}}'
           - 'PACKER_BASE={{user `PACKER_BASE`}}'
-          - 'RHSM_COMMAND={{user `RHSM_COMMAND`}}'
 
     - <<: *shell_script
       inline: ['{{user `SRC`}}/{{user 
`PACKER_BASE`}}/{{build_name}}_base-setup.sh']
@@ -143,7 +129,7 @@
 
 post-processors:
     - - type: "compress"
-        only: ['fedora', 'rhel']
+        only: ['fedora']
         output: '/tmp/{{build_name}}/disk.raw.tar.gz'
         format: '.tar.gz'
         compression_level: 9
@@ -157,9 +143,4 @@
         image_name: "{{user `FEDORA_BASE_IMAGE_NAME`}}-{{user `TIMESTAMP`}}"
         image_description: 'Based on {{user `FEDORA_IMAGE_URL`}}'
         image_family: '{{user `FEDORA_BASE_IMAGE_NAME`}}'
-      - <<: *gcp_import
-        only: ['rhel']
-        image_name: "{{user `RHEL_BASE_IMAGE_NAME`}}-{{user `TIMESTAMP`}}"
-        image_description: 'Based on {{user `RHEL_IMAGE_FILE`}}'
-        image_family: '{{user `RHEL_BASE_IMAGE_NAME`}}'
       - type: 'manifest'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/packer/conmon_images.yml 
new/conmon-0.3.0/contrib/cirrus/packer/conmon_images.yml
--- old/conmon-0.2.0/contrib/cirrus/packer/conmon_images.yml    2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/packer/conmon_images.yml    2019-06-13 
17:14:13.000000000 +0200
@@ -6,16 +6,13 @@
     SRC:
     SCRIPT_BASE:
     PACKER_BASE:
-    RHEL_CRIO_BASEURL:
     BUILT_IMAGE_SUFFIX:
     CRIO_REPO:
     CRIO_SLUG:
     FEDORA_BASE_IMAGE:
-    RHEL_BASE_IMAGE:
     # Protected credentials, decrypted by Cirrus at runtime
     GCE_SSH_USERNAME: '{{env `GCE_SSH_USERNAME`}}'
     GCP_PROJECT_ID: '{{env `GCP_PROJECT_ID`}}'
-    RHSM_COMMAND: '{{env `RHSM_COMMAND`}}'
     SERVICE_ACCOUNT: '{{env `SERVICE_ACCOUNT`}}'
     # Used to separate images produced during PR testing from those
     # produced from post-merge testing.  Must be empty for PR testing.
@@ -25,18 +22,15 @@
 sensitive-variables:
     - 'GCE_SSH_USERNAME'
     - 'GCP_PROJECT_ID'
-    - 'RHSM_COMMAND'
     - 'SERVICE_ACCOUNT'
 
 # What images to produce in which cloud
 builders:
-    #  v----- is a YAML anchor, allows referencing this object by name (below)
-    - &gce_hosted_image
-      name: 'rhel-7'
+    - name: 'fedora-29'
       type: 'googlecompute'
       image_name: '{{build_name}}{{user `BUILT_IMAGE_SUFFIX`}}'
       image_family: '{{build_name}}-conmon'
-      source_image: '{{user `RHEL_BASE_IMAGE`}}'
+      source_image: '{{user `FEDORA_BASE_IMAGE`}}'
       disk_size: 20
       project_id: '{{user `GCP_PROJECT_ID`}}'
       service_account_email: '{{user `SERVICE_ACCOUNT`}}'
@@ -46,11 +40,6 @@
       # The only supported zone in Cirrus-CI, as of addition of this comment
       zone: 'us-central1-f'
 
-    #      v----- is a YAML alias, allows partial re-use of the anchor object
-    - <<: *gce_hosted_image
-      name: 'fedora-29'
-      source_image: '{{user `FEDORA_BASE_IMAGE`}}'
-
 # The brains of the operation, making actual modifications to the base-image.
 provisioners:
     - type: 'file'
@@ -63,8 +52,6 @@
         - 'SRC=/tmp/conmon'
         - 'SCRIPT_BASE={{user `SCRIPT_BASE`}}'
         - 'PACKER_BASE={{user `PACKER_BASE`}}'
-        - 'RHEL_CRIO_BASEURL={{user `RHEL_CRIO_BASEURL`}}'
-        - 'RHSM_COMMAND={{user `RHSM_COMMAND`}}'
         - 'BUILT_IMAGE_SUFFIX={{user `BUILT_IMAGE_SUFFIX`}}'
         - 'CRIO_REPO={{user `CRIO_REPO`}}'
         - 'CRIO_SLUG={{user `CRIO_SLUG`}}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conmon-0.2.0/contrib/cirrus/packer/rhel_base-setup.sh 
new/conmon-0.3.0/contrib/cirrus/packer/rhel_base-setup.sh
--- old/conmon-0.2.0/contrib/cirrus/packer/rhel_base-setup.sh   2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/packer/rhel_base-setup.sh   1970-01-01 
01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-#!/bin/bash
-
-# N/B: This script is not intended to be run by humans.  It is used to 
configure the
-# rhel base image for importing, so that it will boot in GCE
-
-set -e
-
-[[ "$1" == "post" ]] || exit 0  # pre stage is not needed
-
-# Load in library (copied by packer, before this script was run)
-source $SRC/$SCRIPT_BASE/lib.sh
-
-req_env_var "
-    SRC $SRC
-    RHSM_COMMAND $RHSM_COMMAND
-"
-
-install_ooe
-
-rhsm_enable
-
-echo "Setting up repos"
-ooe.sh sudo yum -y update
-# Frequently needed
-ooe.sh sudo yum -y install 
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-
-# Required for google to manage ssh keys
-ooe.sh sudo tee /etc/yum.repos.d/google-cloud-sdk.repo << EOM
-[google-cloud-compute]
-name=google-cloud-compute
-baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-compute-el7-x86_64
-enabled=1
-gpgcheck=1
-repo_gpgcheck=1
-gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
-       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
-EOM
-
-echo "Installing/removing packages"
-ooe.sh sudo yum -y install google-compute-engine google-compute-engine-oslogin 
rng-tools
-ooe.sh sudo yum -y erase "cloud-init" "rh-amazon-rhui-client*" || true
-
-echo "Enabling google services and rngd"
-for service in google-accounts-daemon \
-               google-clock-skew-daemon \
-               google-instance-setup \
-               google-network-daemon \
-               google-shutdown-scripts \
-               google-startup-scripts \
-               rngd;
-do
-    sudo systemctl enable $service
-done
-
-rhel_exit_handler  # release subscription!
-
-rh_finalize
-
-echo "SUCCESS!"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/packer/rhel_setup.sh 
new/conmon-0.3.0/contrib/cirrus/packer/rhel_setup.sh
--- old/conmon-0.2.0/contrib/cirrus/packer/rhel_setup.sh        2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/packer/rhel_setup.sh        1970-01-01 
01:00:00.000000000 +0100
@@ -1,139 +0,0 @@
-#!/bin/bash
-
-# This script is called by packer on the subject CentOS VM, to setup the conmon
-# build/test environment.  It's not intended to be used outside of this 
context.
-
-set -e
-
-# Load in library (copied by packer, before this script was run)
-source $SRC/$SCRIPT_BASE/lib.sh
-
-req_env_var "
-    SRC $SRC
-    SCRIPT_BASE $SCRIPT_BASE
-    PACKER_BASE $PACKER_BASE
-    RHEL_CRIO_BASEURL $RHEL_CRIO_BASEURL
-    BUILT_IMAGE_SUFFIX $BUILT_IMAGE_SUFFIX
-    CRIO_REPO $CRIO_REPO
-    CRIO_SLUG $CRIO_SLUG
-"
-
-install_ooe
-
-rhsm_enable
-
-echo "Enabling OpenShift 3.11"
-ooe.sh sudo subscription-manager refresh
-ooe.sh sudo subscription-manager attach --pool=8a85f98960dbf6510160df23e3367451
-
-echo "Isolating repositories"
-
-ooe.sh sudo subscription-manager repos "--disable=*"
-ooe.sh sudo subscription-manager repos \
-    --enable=rhel-7-server-rpms \
-    --enable=rhel-7-server-optional-rpms \
-    --enable=rhel-7-server-extras-rpms \
-    --enable=rhel-server-rhscl-7-rpms \
-    --enable=rhel-7-server-ose-3.11-rpms
-
-echo "Updating packages"
-
-ooe.sh sudo yum -y update
-
-echo "Installing dependencies"
-
-ooe.sh sudo yum -y install \
-    PyYAML \
-    atomic-registries \
-    buildah \
-    container-selinux \
-    containernetworking-plugins \
-    cri-o \
-    cri-tools \
-    curl \
-    device-mapper-devel \
-    e2fsprogs-devel \
-    expect \
-    findutils \
-    gcc \
-    glib2-devel \
-    glibc-devel \
-    glibc-static \
-    golang \
-    gpgme \
-    gpgme-devel \
-    grubby \
-    hostname \
-    iproute \
-    iptables \
-    krb5-workstation \
-    kubernetes \
-    libassuan \
-    libassuan-devel \
-    libblkid-devel \
-    libffi-devel \
-    libgpg-error-devel \
-    libguestfs-tools \
-    libseccomp-devel \
-    libselinux-devel \
-    libselinux-python \
-    libsemanage-python \
-    libvirt-client \
-    libvirt-python \
-    libxml2-devel \
-    libxslt-devel \
-    make \
-    mlocate \
-    nfs-utils \
-    nmap-ncat \
-    oci-register-machine \
-    oci-systemd-hook \
-    oci-umount \
-    openssl \
-    openssl-devel \
-    ostree-devel \
-    pkgconfig \
-    podman \
-    policycoreutils \
-    python \
-    python-devel \
-    python-rhsm-certificates \
-    python-virtualenv \
-    python2-crypto \
-    python34 \
-    python34-PyYAML \
-    redhat-rpm-config \
-    rpcbind \
-    rsync \
-    runc \
-    sed \
-    skopeo-containeras \
-    socat \
-    tar \
-    vim \
-    wget \
-    zlib-devel
-
-setup_gopath
-
-install_scl_git
-
-install_crio_repo  # git-repo for test-content
-
-match_crio_tag  # git repo to cri-o rpm version
-
-# Include quota support kernel command line option
-echo "Adding rootflags=pquota kernel argument"
-ooe.sh sudo grubby --update-kernel=ALL --args="rootflags=pquota"
-
-echo "Enabling localnet routing"
-echo "net.ipv4.conf.all.route_localnet = 1" | sudo tee 
/etc/sysctl.d/route_localnet.conf
-
-echo "Enabling container management of cgroups"
-ooe.sh sudo setsebool -P container_manage_cgroup 1
-
-rhel_exit_handler
-
-rh_finalize
-
-echo "SUCCESS!"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/setup_environment.sh 
new/conmon-0.3.0/contrib/cirrus/setup_environment.sh
--- old/conmon-0.2.0/contrib/cirrus/setup_environment.sh        2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/setup_environment.sh        2019-06-13 
17:14:13.000000000 +0200
@@ -64,8 +64,7 @@
     setup_gopath
 
     case "$OS_REL_VER" in
-        fedora-29) ;&  # Continue to the next item
-        rhel-7)
+        fedora-29)
             match_crio_tag  # in case it changed and to display version
             install_testing_deps
             build_and_replace_conmon
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/cirrus/spoof_travis.patch 
new/conmon-0.3.0/contrib/cirrus/spoof_travis.patch
--- old/conmon-0.2.0/contrib/cirrus/spoof_travis.patch  2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/cirrus/spoof_travis.patch  1970-01-01 
01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-diff --git a/test/ctr.bats b/test/ctr.bats
-index d2945c3da..bc8f39a91 100644
---- a/test/ctr.bats
-+++ b/test/ctr.bats
-@@ -1075,7 +1075,7 @@ function teardown() {
- }
- 
- @test "ctr oom" {
--      if [[ "$TRAVIS" == "true" ]]; then
-+      if [[ "true" == "true" ]]; then
-               skip "travis container tests don't support testing OOM"
-       fi
-       start_crio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/contrib/spec/conmon.spec.in 
new/conmon-0.3.0/contrib/spec/conmon.spec.in
--- old/conmon-0.2.0/contrib/spec/conmon.spec.in        2019-05-21 
17:59:48.000000000 +0200
+++ new/conmon-0.3.0/contrib/spec/conmon.spec.in        2019-06-13 
17:14:13.000000000 +0200
@@ -45,7 +45,7 @@
 %files
 %license LICENSE
 %doc README.md
-%{_libexecdir}/crio/%{name}
+%{_usr}/bin/%{name}
 
 %changelog
 * Mon Oct 01 2018 Lokesh Mandvekar <[email protected]> - 0-0.1.gite7805e2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/hack/tree_status.sh 
new/conmon-0.3.0/hack/tree_status.sh
--- old/conmon-0.2.0/hack/tree_status.sh        1970-01-01 01:00:00.000000000 
+0100
+++ new/conmon-0.3.0/hack/tree_status.sh        2019-06-13 17:14:13.000000000 
+0200
@@ -0,0 +1,17 @@
+#!/bin/bash
+# this script is based off of the similarly named in 
github.com/containers/libpod/hack/tree_status.sh
+
+set -e
+
+SUGGESTION="${SUGGESTION:-call 'make config' and commit all changes.}"
+
+STATUS=$(git status --porcelain)
+if [[ -z $STATUS ]]
+then
+       echo "tree is clean"
+else
+       echo "tree is dirty, please $SUGGESTION"
+       echo ""
+       echo "$STATUS"
+       exit 1
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/runner/config/config.go 
new/conmon-0.3.0/runner/config/config.go
--- old/conmon-0.2.0/runner/config/config.go    1970-01-01 01:00:00.000000000 
+0100
+++ new/conmon-0.3.0/runner/config/config.go    2019-06-13 17:14:13.000000000 
+0200
@@ -0,0 +1,6 @@
+package config
+
+const (
+       // BufSize is the size of buffers passed in to sockets
+       BufSize = 8192
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/runner/config/config_unix.go 
new/conmon-0.3.0/runner/config/config_unix.go
--- old/conmon-0.2.0/runner/config/config_unix.go       1970-01-01 
01:00:00.000000000 +0100
+++ new/conmon-0.3.0/runner/config/config_unix.go       2019-06-13 
17:14:13.000000000 +0200
@@ -0,0 +1,7 @@
+// +build !windows
+
+package config
+
+const (
+       ContainerAttachSocketDir = "/var/run/crio"
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/runner/config/config_windows.go 
new/conmon-0.3.0/runner/config/config_windows.go
--- old/conmon-0.2.0/runner/config/config_windows.go    1970-01-01 
01:00:00.000000000 +0100
+++ new/conmon-0.3.0/runner/config/config_windows.go    2019-06-13 
17:14:13.000000000 +0200
@@ -0,0 +1,7 @@
+// +build windows
+
+package config
+
+const (
+       ContainerAttachSocketDir = "C:\\crio\\run\\"
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/src/cmsg.c new/conmon-0.3.0/src/cmsg.c
--- old/conmon-0.2.0/src/cmsg.c 2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/src/cmsg.c 2019-06-13 17:14:13.000000000 +0200
@@ -66,7 +66,7 @@
 
        /*
         * We need to send some other data along with the ancillary data,
-        * otherwise the other side won't recieve any data. This is very
+        * otherwise the other side won't receive any data. This is very
         * well-hidden in the documentation (and only applies to
         * SOCK_STREAM). See the bottom part of unix(7).
         */
@@ -119,7 +119,7 @@
                error("recvfd: failed to allocate file.tag buffer");
 
        /*
-        * We need to "recieve" the non-ancillary data even though we don't
+        * We need to "receive" the non-ancillary data even though we don't
         * plan to use it at all. Otherwise, things won't work as expected.
         * See unix(7) and other well-hidden documentation.
         */
@@ -149,7 +149,7 @@
 
        fdptr = (int *)CMSG_DATA(cmsg);
        if (!fdptr || *fdptr < 0)
-               error("recvfd: recieved invalid pointer");
+               error("recvfd: received invalid pointer");
 
        file.fd = *fdptr;
        return file;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conmon-0.2.0/src/conmon.c 
new/conmon-0.3.0/src/conmon.c
--- old/conmon-0.2.0/src/conmon.c       2019-05-21 17:59:48.000000000 +0200
+++ new/conmon-0.3.0/src/conmon.c       2019-06-13 17:14:13.000000000 +0200
@@ -24,6 +24,7 @@
 #include <inttypes.h>
 #include <sys/statfs.h>
 #include <linux/magic.h>
+#include <sys/inotify.h>
 
 #if __STDC_VERSION__ >= 199901L
 /* C99 or later */
@@ -48,6 +49,8 @@
 static gboolean opt_stdin = FALSE;
 static gboolean opt_leave_stdin_open = FALSE;
 static gboolean opt_syslog = FALSE;
+static gboolean is_cgroup_v2 = FALSE;
+static char *cgroup2_path = NULL;
 static char *opt_cid = NULL;
 static char *opt_cuuid = NULL;
 static char *opt_name = NULL;
@@ -138,7 +141,7 @@
  * Returns the path for specified controller name for a pid.
  * Returns NULL on error.
  */
-static char *process_cgroup_subsystem_path(int pid, const char *subsystem)
+static char *process_cgroup_subsystem_path(int pid, bool cgroup2, const char 
*subsystem)
 {
        _cleanup_free_ char *cgroups_file_path = 
g_strdup_printf("/proc/%d/cgroup", pid);
        _cleanup_fclose_ FILE *fp = NULL;
@@ -169,6 +172,11 @@
                }
                *path = 0;
                path++;
+               if (cgroup2) {
+                       subsystem_path = g_strdup_printf("%s%s", CGROUP_ROOT, 
path);
+                       subsystem_path[strlen(subsystem_path) - 1] = '\0';
+                       return subsystem_path;
+               }
                subsystems = g_strsplit(ptr, ",", -1);
                for (i = 0; subsystems[i] != NULL; i++) {
                        if (strcmp(subsystems[i], subsystem) == 0) {
@@ -274,6 +282,7 @@
 static int attach_socket_fd = -1;
 static int console_socket_fd = -1;
 static int terminal_ctrl_fd = -1;
+static int inotify_fd = -1;
 
 static gboolean timed_out = FALSE;
 
@@ -479,7 +488,7 @@
        return G_SOURCE_REMOVE;
 }
 
-static gboolean oom_cb(int fd, GIOCondition condition, G_GNUC_UNUSED gpointer 
user_data)
+static gboolean oom_cb_cgroup_v1(int fd, GIOCondition condition, G_GNUC_UNUSED 
gpointer user_data)
 {
        uint64_t oom_event;
        ssize_t num_read = 0;
@@ -510,6 +519,77 @@
        return G_SOURCE_REMOVE;
 }
 
+
+static gboolean check_cgroup2_oom()
+{
+       _cleanup_free_ char *memory_events_file_path = NULL;
+       _cleanup_free_ char *line = NULL;
+       _cleanup_fclose_ FILE *fp = NULL;
+       static long int last_counter = 0;
+       size_t len = 0;
+       ssize_t read;
+
+       if (!is_cgroup_v2)
+               return G_SOURCE_REMOVE;
+
+       memory_events_file_path = g_build_filename(cgroup2_path, 
"memory.events", NULL);
+
+       fp = fopen(memory_events_file_path, "re");
+       if (fp == NULL) {
+               nwarnf("Failed to open cgroups file: %s", 
memory_events_file_path);
+               return G_SOURCE_CONTINUE;
+       }
+       while ((read = getline(&line, &len, fp)) != -1) {
+               long int counter;
+
+               if (read < 6 || memcmp(line, "oom ", 4))
+                       continue;
+
+               counter = strtol(&line[4], NULL, 10);
+               if (counter == LONG_MAX) {
+                       nwarnf("Failed to parse %s", &line[4]);
+               }
+
+               if (counter != last_counter) {
+                       _cleanup_close_ int oom_fd = -1;
+
+                       ninfo("OOM received");
+                       oom_fd = open("oom", O_CREAT, 0666);
+                       if (oom_fd < 0) {
+                               nwarn("Failed to write oom file");
+                       } else {
+                               last_counter = counter;
+                       }
+               }
+               return G_SOURCE_CONTINUE;
+       }
+       return G_SOURCE_REMOVE;
+}
+
+static gboolean oom_cb_cgroup_v2(int fd, GIOCondition condition, G_GNUC_UNUSED 
gpointer user_data)
+{
+       struct inotify_event events[10];
+       gboolean ret = G_SOURCE_REMOVE;
+
+       /* Drop the inotify events.  */
+       ssize_t num_read = read(fd, &events, sizeof(events));
+       if (num_read < 0) {
+               pwarn("Failed to read events");
+       }
+
+       if ((condition & G_IO_IN) != 0) {
+               ret = check_cgroup2_oom();
+       }
+
+       if (ret == G_SOURCE_REMOVE) {
+               /* End of input */
+               close(fd);
+               inotify_fd = -1;
+       }
+
+       return ret;
+}
+
 #define CONN_SOCK_BUF_SIZE 32 * 1024 /* Match the write size in CopyDetachable 
*/
 static gboolean conn_sock_cb(int fd, GIOCondition condition, gpointer 
user_data)
 {
@@ -883,20 +963,44 @@
        return dummyfd;
 }
 
-static void setup_oom_handling(int container_pid)
+static void setup_oom_handling_cgroup_v2(int container_pid)
+{
+       _cleanup_close_ int ifd = -1;
+       int wd;
+
+       cgroup2_path = process_cgroup_subsystem_path(container_pid, true, "");
+       if (!cgroup2_path) {
+               nwarn("Failed to get cgroup path. Container may have exited");
+               return;
+       }
+
+       _cleanup_free_ char *memory_events_file_path = 
g_build_filename(cgroup2_path, "memory.events", NULL);
+
+       if ((ifd = inotify_init()) < 0) {
+               nwarnf("Failed to create inotify fd");
+               return;
+       }
+
+       if ((wd = inotify_add_watch(ifd, memory_events_file_path, IN_MODIFY)) < 
0) {
+               nwarnf("Failed to add inotify watch for %s", 
memory_events_file_path);
+               return;
+       }
+
+       /* Move ownership to inotify_fd.  */
+       inotify_fd = ifd;
+       ifd = -1;
+
+       g_unix_fd_add(inotify_fd, G_IO_IN, oom_cb_cgroup_v2, NULL);
+}
+
+static void setup_oom_handling_cgroup_v1(int container_pid)
 {
        /* Setup OOM notification for container process */
        _cleanup_free_ char *memory_cgroup_path = NULL;
        _cleanup_close_ int cfd = -1;
-       struct statfs sfs;
        int ofd = -1; /* Not closed */
 
-       if (statfs("/sys/fs/cgroup", &sfs) == 0 && sfs.f_type == 
CGROUP2_SUPER_MAGIC) {
-               nwarnf("cgroup v2 unified mode detected.  Skipping OOM 
handling");
-               return;
-       }
-
-       memory_cgroup_path = process_cgroup_subsystem_path(container_pid, 
"memory");
+       memory_cgroup_path = process_cgroup_subsystem_path(container_pid, 
false, "memory");
        if (!memory_cgroup_path) {
                nexit("Failed to get memory cgroup path");
        }
@@ -919,7 +1023,19 @@
        if (write_all(cfd, data, strlen(data)) < 0)
                pexit("Failed to write to cgroup.event_control");
 
-       g_unix_fd_add(oom_event_fd, G_IO_IN, oom_cb, NULL);
+       g_unix_fd_add(oom_event_fd, G_IO_IN, oom_cb_cgroup_v1, NULL);
+}
+
+static void setup_oom_handling(int container_pid)
+{
+       struct statfs sfs;
+
+       if (statfs("/sys/fs/cgroup", &sfs) == 0 && sfs.f_type == 
CGROUP2_SUPER_MAGIC) {
+               is_cgroup_v2 = TRUE;
+               setup_oom_handling_cgroup_v2(container_pid);
+               return;
+       }
+       setup_oom_handling_cgroup_v1(container_pid);
 }
 
 static void do_exit_command()
@@ -1388,6 +1504,8 @@
 
        g_main_loop_run(main_loop);
 
+       check_cgroup2_oom();
+
        /* Drain stdout and stderr only if a timeout doesn't occur */
        if (masterfd_stdout != -1 && !timed_out) {
                g_unix_set_fd_nonblocking(masterfd_stdout, TRUE, NULL);

++++++ podman-1.4.0.tar.xz -> podman-1.4.2.tar.xz ++++++
++++ 11693 lines of diff (skipped)


Reply via email to