Compare commits

..

72 commits

Author SHA1 Message Date
Lokesh Mandvekar
df56c52305 podman-3:3.4.7-1
- built v3.4.7
- Resolves: #2070368, #2074164 - Security fix for CVE-2022-1227
- Resolves: #2045880, #2067448 - Security fix for CVE-2022-21698
- Resolves: #2064702, #2074267 - Security fix for CVE-2022-27191
- Resolves: #2066568, #2070102 - Security fix for CVE-2022-27649

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-04-21 13:32:50 -04:00
RH Container Bot
f4aa655e86 podman-3:3.4.4-1
autobuilt v3.4.4

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
(cherry picked from commit 034855d330)
2021-12-08 21:41:42 +00:00
RH Container Bot
ad0548587a podman-3:3.4.3-1
autobuilt v3.4.3

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
(cherry picked from commit 8f022cec4f)
2021-12-07 15:59:41 +00:00
RH Container Bot
f29898d0d8 podman-3:3.4.2-1
autobuilt v3.4.2

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
(cherry picked from commit 93b5ce1595)
2021-11-13 19:12:50 -05:00
Lokesh Mandvekar
eb4b9cf12e bump gvisor-tap-vsock to v0.3.0
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit c012857b0e)
2021-11-12 13:03:52 -05:00
RH Container Bot
f1c3277e0a podman-3:3.4.1-1
autobuilt v3.4.1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
(cherry picked from commit be57771f47)
(cherry picked from commit 64ca785f8f)
2021-10-20 10:29:51 -04:00
Stephen Gallagher
7e21454e4d Drop i686 support for RHEL >= 9
RHEL 9 does not have i686 support for golang

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
(cherry picked from commit 555a5a504d)
(cherry picked from commit b8150dda33)
2021-10-20 10:29:23 -04:00
Timm Bäder
d1e3082904 Remove hardcoded CFLAGS
Instead, use %set_build_flags to get the buildroot CFLAGS, then remove
the problematic ones.

(cherry picked from commit ec6ea5bdc9)
2021-10-01 10:44:08 -04:00
RH Container Bot
24781287fd podman-3:3.4.0-1
autobuilt v3.4.0

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
(cherry picked from commit de01250946)
2021-09-30 15:31:54 -04:00
Lokesh Mandvekar
1bd5b83a36 centos conditionals no longer needed
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit eaadc59b1f)
2021-09-28 10:33:13 -04:00
Lokesh Mandvekar
79febf0ef0 fix triggerpostuns 2021-09-27 08:21:58 -04:00
Lokesh Mandvekar
b579d78b6c podman-3:3.4.0-0.10.rc2
- build with libsubid buildtag

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit 60778e8502)
2021-09-27 08:12:41 -04:00
RH Container Bot
e890f39fce podman-3:3.4.0-0.7.rc2
autobuilt v3.4.0-rc2

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
(cherry picked from commit 30ef54bb13)
2021-09-27 08:11:09 -04:00
Daniel J Walsh
fac5da87d4 Add shadow-utils-subid-devel requirement
(cherry picked from commit 0cbb51c408)
2021-09-27 08:10:28 -04:00
Ed Santiago
2a8f18fd0b gating tests: run podman-remote too
A small handful of bugs have blocked us from running podman-remote
in gating tests. Those are all fixed; it's time to enable testing.

Signed-off-by: Ed Santiago <santiago@redhat.com>
(cherry picked from commit 967f9534f2)
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-09-24 13:22:06 -04:00
Lokesh Mandvekar
ee589f0ad3 bump conmon requirement for rootless gating tests
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-09-24 13:20:29 -04:00
Daniel J Walsh
ba3e40ee7f
Only remove defaultCNINetExits on updgrades from podman 3.2 or less 2021-09-23 15:13:10 -04:00
Daniel J Walsh
74e78026a2
rm -f /var/lib/containers/storage/libpod/defaultCNINetExists in post 2021-09-23 10:35:21 -04:00
RH Container Bot
646b15a98a podman-3:3.4.0-0.1.rc1
autobuilt v3.4.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
(cherry picked from commit 52a2adf76a)
2021-09-17 09:20:49 -04:00
Lokesh Mandvekar
feab53904c update dnsname and machine-cni to latest upstream tags
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit 6972e15200)
2021-09-15 13:04:55 -04:00
RH Container Bot
7feeda24fb podman-3:3.3.1-1
autobuilt v3.3.1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-30 20:41:02 +00:00
Lokesh Mandvekar
665eba56e7 podman-3:3.3.0-2
- update gvproxy binary name

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit 445da4204a)
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-08-27 09:59:22 -04:00
RH Container Bot
2a690986ee podman-3:3.3.0-1
autobuilt v3.3.0

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-20 19:30:43 +00:00
RH Container Bot
b1ace2517b podman-3:3.3.0-0.14.rc3
autobuilt v3.3.0-rc3

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-17 20:29:31 +00:00
Lokesh Mandvekar
16c5c2dc0d podman-3:3.3.0-0.13.rc2
- Bump to v3.3.0-rc2
- Include podman-gvproxy which provides
/usr/libexecdir/podman/podman-gvproxy
- Bump dnsname to v1.3.0 commit dc59f28

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-08-16 09:25:00 -04:00
RH Container Bot
7fb99d114f podman-3:3.3.0-0.12.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-10 19:52:20 +00:00
RH Container Bot
d12cb03ec9 podman-3:3.3.0-0.11.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-10 19:48:16 +00:00
RH Container Bot
f610b65ca2 podman-3:3.3.0-0.10.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-10 19:16:58 +00:00
RH Container Bot
989d6f7950 podman-3:3.3.0-0.9.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-05 19:43:02 +00:00
RH Container Bot
03ef34b4e9 podman-3:3.3.0-0.8.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-05 19:04:36 +00:00
RH Container Bot
b91a9a7e08 podman-3:3.3.0-0.7.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-05 18:04:28 +00:00
RH Container Bot
5c7289bef7 podman-3:3.3.0-0.6.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-05 17:05:58 +00:00
RH Container Bot
9b1147eb35 podman-3:3.3.0-0.5.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-05 16:04:35 +00:00
RH Container Bot
74d9c90c62 podman-3:3.3.0-0.4.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-05 15:05:08 +00:00
RH Container Bot
2f0a3f5ac6 podman-3:3.3.0-0.3.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-05 14:04:25 +00:00
Lokesh Mandvekar
8d8762e727 remove install.cni Makefile target, include podman-restart unitfiles
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-08-05 09:12:10 -04:00
RH Container Bot
36ab28f9c1 podman-3:3.3.0-0.2.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-04 19:24:37 +00:00
RH Container Bot
b42fa8cb49 podman-3:3.3.0-0.1.rc1
autobuilt v3.3.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-08-03 20:00:12 +00:00
Lokesh Mandvekar
337e5dfcf5 podman-3:3.2.3-2
- Resolves: #1983596, #1987739 - Security fix for CVE-2021-34558

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-08-02 15:28:50 -04:00
Lokesh Mandvekar
317e1cc820 podman-3:3.2.3-1
- Resolves: #1969264, #1982881 - Security fix for CVE-2021-3602
- bump to v3.2.3

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-07-16 16:27:03 -04:00
Lokesh Mandvekar
6423fbc98e podman-3:3.2.2-1
- bump to v3.2.2

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-25 19:45:31 -04:00
Lokesh Mandvekar
24b88181b5 update min containers-common
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-24 09:11:33 -04:00
RH Container Bot
5971499bec podman-3:3.2.1-1
autobuilt v3.2.1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-06-14 19:09:03 +00:00
Lokesh Mandvekar
58dac75c58 podman-3:3.2.0-5
- use latest containers-common

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-09 10:16:38 -04:00
Lokesh Mandvekar
e37f7a3596 podman-3:3.2.0-4
- remove max crun dep requirement - fixed in crun 0.20.1-1

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-09 09:53:26 -04:00
Lokesh Mandvekar
9f1960ebbb podman-3:3.2.0-3
- keep crun on 0.19.1-3

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-08 16:52:04 -04:00
Lokesh Mandvekar
8cd0a2dd63 podman-3:3.2.0-2
- include podman-machine-cni in podman-plugins subpackage

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-08 14:23:43 -04:00
RH Container Bot
7c0e4206b6 podman-3:3.2.0-1
autobuilt v3.2.0

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-06-04 19:09:18 +00:00
RH Container Bot
8a4834b70e podman-3:3.2.0-0.2.rc3
autobuilt v3.2.0-rc3

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-05-26 18:33:45 +00:00
Lokesh Mandvekar
c56edc6b67 remove patch merged upstream
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-05-20 22:26:33 -04:00
RH Container Bot
54e7ba886b podman-3:3.2.0-0.1.rc2
autobuilt v3.2.0-rc2

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-05-21 01:56:12 +00:00
Dusty Mabe
6f0c034094
Backport upstream bugfix: https://github.com/containers/podman/pull/10253
This fixes relabeling when running podman in --privileged mode.
2021-05-12 14:40:06 -04:00
Lokesh Mandvekar
2dd32ed7fb Revert "podman-3:3.2.0-0.1.rc1"
looks like there was an active gitlab pipeline which pushed this commit

This reverts commit b81a99de71.
2021-05-12 14:29:58 -04:00
RH Container Bot
b81a99de71 podman-3:3.2.0-0.1.rc1
autobuilt v3.2.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-05-11 14:49:58 +00:00
Lokesh Mandvekar
08d06c735e podman-3:3.1.2-2
- revert to v3.1.2 with Epoch bump to 3 to account for bad v3.2.0-rc1 in stable

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-05-11 09:45:24 -04:00
RH Container Bot
b328962129 podman-2:3.2.0-0.1.rc1
autobuilt v3.2.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-05-05 21:00:24 +00:00
Lokesh Mandvekar
8454f88970 buildah-2:3.1.2-1
- bump to v3.1.2

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-04-22 09:07:46 -04:00
Lokesh Mandvekar
6508688847 podman-2:3.1.1-2
- update containers-common and related deps

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-04-19 09:30:59 -04:00
RH Container Bot
8bc25b5d1d podman-2:3.1.1-1
autobuilt v3.1.1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-04-19 13:17:53 +00:00
Lokesh Mandvekar
894d8aa4f6 podman-2:3.1.0-3
- bump dependencies

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-04-12 10:08:14 -04:00
Lokesh Mandvekar
4d65d602b9 podman- 2:3.1.0-2
- requires crun instead of recommends

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-04-05 10:32:58 -04:00
RH Container Bot
4ff20902d5 podman-2:3.1.0-1
autobuilt v3.1.0

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-03-30 13:25:27 +00:00
Lokesh Mandvekar
54c0e54a1c podman-2:3.1.0-0.3.rc2
- bump dnsname and crun dep

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-03-25 11:43:24 -04:00
Lokesh Mandvekar
1e1651a3ef fix build issues on 32-bit
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-03-23 21:41:07 -04:00
Lokesh Mandvekar
d859d5df19 upload sources to lookaside cache
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-03-23 18:44:56 -04:00
RH Container Bot
96f08cac35 podman-2:3.1.0-0.2.rc2
autobuilt v3.1.0-rc2

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-03-23 22:27:42 +00:00
Lokesh Mandvekar
5be5a47b59 fix build issues
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-03-09 11:57:14 -05:00
RH Container Bot
75c7c8ca14 podman-2:3.1.0-0.1.rc1
autobuilt v3.1.0-rc1

Signed-off-by: RH Container Bot <rhcontainerbot@fedoraproject.org>
2021-03-08 22:02:09 +00:00
Lokesh Mandvekar
d0a3273daf update comment
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-03-04 15:35:45 -05:00
Lokesh Mandvekar
b0c0d9f5d0 podman-2:3.0.1-2
- bump min deps

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-03-01 13:17:54 -05:00
Lokesh Mandvekar
00fe9b9997 podman-2:3.0.1-1
- bump to v3.0.1

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-02-22 09:04:14 -05:00
Lokesh Mandvekar
49ace2f01d podman-2:3.0.0-1
- bump to v3.0.0

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-02-12 09:13:16 -05:00
25 changed files with 6397 additions and 894 deletions

View file

@ -1 +0,0 @@
1

264
.gitignore vendored
View file

@ -1628,153 +1628,22 @@
/podman-9da4169.tar.gz
/podman-f98605e.tar.gz
/podman-763d522.tar.gz
/podman-8600c3b.tar.gz
/podman-2d829ae.tar.gz
/podman-055e2dd.tar.gz
/podman-629a979.tar.gz
/podman-b4ca924.tar.gz
/podman-88ab83d.tar.gz
/podman-4d604c1.tar.gz
/podman-db64865.tar.gz
/podman-ca354f1.tar.gz
/podman-afe4ce6.tar.gz
/podman-a500d93.tar.gz
/podman-b38b143.tar.gz
/podman-1b284a2.tar.gz
/podman-291f596.tar.gz
/podman-73cf06a.tar.gz
/podman-1d15ed7.tar.gz
/podman-87b2722.tar.gz
/podman-9d57aa7.tar.gz
/podman-3ba0afd.tar.gz
/podman-30607d7.tar.gz
/podman-df8ba7f.tar.gz
/podman-ac9a048.tar.gz
/podman-8c444e6.tar.gz
/podman-aadb16d.tar.gz
/podman-58a4793.tar.gz
/podman-7fb347a.tar.gz
/podman-5004212.tar.gz
/podman-d55d80a.tar.gz
/podman-2e522ff.tar.gz
/podman-516dc6d.tar.gz
/podman-d48f4a0.tar.gz
/podman-c3419d2.tar.gz
/podman-b2bb05d.tar.gz
/podman-1c6c94d.tar.gz
/podman-6a9257a.tar.gz
/podman-b6db60e.tar.gz
/podman-4aaaa6c.tar.gz
/podman-7b52654.tar.gz
/podman-4a6582b.tar.gz
/podman-d92b946.tar.gz
/podman-10d52c0.tar.gz
/podman-6fbf73e.tar.gz
/podman-cb3af5b.tar.gz
/podman-f8ff172.tar.gz
/podman-a6e7d19.tar.gz
/podman-c69decc.tar.gz
/podman-d999328.tar.gz
/podman-96fc9d9.tar.gz
/podman-1702cbc.tar.gz
/podman-4dfcd58.tar.gz
/podman-ca0af71.tar.gz
/podman-49fa19d.tar.gz
/podman-dec06b1.tar.gz
/podman-25d8195.tar.gz
/podman-79e8032.tar.gz
/podman-9ec8106.tar.gz
/podman-b220d6c.tar.gz
/podman-bde1d3f.tar.gz
/podman-05410e8.tar.gz
/podman-397aae3.tar.gz
/podman-9600ea6.tar.gz
/podman-b154c51.tar.gz
/podman-b5827d8.tar.gz
/podman-8daa014.tar.gz
/podman-73044b2.tar.gz
/podman-8af6680.tar.gz
/podman-7497dcb.tar.gz
/podman-c726732.tar.gz
/podman-426178a.tar.gz
/podman-87e2056.tar.gz
/podman-17cacea.tar.gz
/podman-87a78c0.tar.gz
/podman-7a92de4.tar.gz
/podman-e65bcc1.tar.gz
/podman-4e5cc6a.tar.gz
/podman-05080a1.tar.gz
/podman-c6cefa5.tar.gz
/podman-0bac30d.tar.gz
/podman-44e6d20.tar.gz
/podman-2a78157.tar.gz
/podman-77a597a.tar.gz
/podman-a9fcd9d.tar.gz
/podman-b7c00f2.tar.gz
/podman-7c09752.tar.gz
/podman-6fe634c.tar.gz
/podman-b6079bc.tar.gz
/podman-1e1035c.tar.gz
/podman-b386d23.tar.gz
/podman-ba36d79.tar.gz
/podman-ff46d13.tar.gz
/podman-789d579.tar.gz
/podman-36ec835.tar.gz
/podman-66ac942.tar.gz
/podman-09473d4.tar.gz
/podman-1ac2fb7.tar.gz
/podman-5331096.tar.gz
/podman-786757f.tar.gz
/podman-e2d35e5.tar.gz
/podman-8d33bfa.tar.gz
/podman-81737b3.tar.gz
/podman-5b22ddd.tar.gz
/podman-fc02d16.tar.gz
/podman-e7dc592.tar.gz
/podman-df1d561.tar.gz
/podman-259004f.tar.gz
/podman-373f15f.tar.gz
/podman-35b62ef.tar.gz
/podman-cf2c3a1.tar.gz
/podman-476c76f.tar.gz
/podman-3148e01.tar.gz
/podman-99e5a76.tar.gz
/podman-4ca34fc.tar.gz
/podman-697ec8f.tar.gz
/podman-b6405c1.tar.gz
/podman-8cc96bd.tar.gz
/podman-b533fcb.tar.gz
/podman-5616887.tar.gz
/podman-141d3f1.tar.gz
/podman-54bed10.tar.gz
/podman-57b6425.tar.gz
/podman-59dd357.tar.gz
/podman-4dc52f6.tar.gz
/podman-2b0b971.tar.gz
/podman-90a12ac.tar.gz
/podman-a6a3df0.tar.gz
/podman-a7fa0da.tar.gz
/podman-353f04b.tar.gz
/podman-9a3a732.tar.gz
/v3.0.0.tar.gz
/v3.0.1.tar.gz
/v3.1.0-rc1.tar.gz
/v3.1.0-rc2.tar.gz
/dnsname-3b29247.tar.gz
/v3.1.0.tar.gz
/v3.1.1.tar.gz
/v3.1.2.tar.gz
/v3.2.0-rc1.tar.gz
/v3.2.0-rc2.tar.gz
/v3.2.0-rc3.tar.gz
/v3.2.0.tar.gz
/podman-machine-cni-afab2d8.tar.gz
/podman-da1bade.tar.gz
/podman-ea39735.tar.gz
/podman-ed983c9.tar.gz
/podman-45dc3d6.tar.gz
/podman-e549ca5.tar.gz
/podman-e2f51ee.tar.gz
/podman-092b2ec.tar.gz
/podman-814a8b6.tar.gz
/podman-ce04a3e.tar.gz
/podman-48db8d9.tar.gz
/podman-d8cd205.tar.gz
/podman-928687e.tar.gz
/podman-18bf92f.tar.gz
/podman-be15e69.tar.gz
/podman-d3afc6b.tar.gz
/podman-fc34f35.tar.gz
/podman-599b7d7.tar.gz
/podman-d32e566.tar.gz
/v3.2.1.tar.gz
/v3.2.2.tar.gz
/v3.2.3.tar.gz
/v3.3.0-rc1.tar.gz
/dnsname-dc59f28.tar.gz
/gvisor-tap-vsock-27590a0.tar.gz
@ -1792,105 +1661,4 @@
/v3.4.2.tar.gz
/v3.4.3.tar.gz
/v3.4.4.tar.gz
/v4.0.0-rc1.tar.gz
/v4.0.0-rc2.tar.gz
/v4.0.0-rc3.tar.gz
/v4.0.0-rc4.tar.gz
/v4.0.0-rc5.tar.gz
/v4.0.0.tar.gz
/v4.0.1.tar.gz
/v4.0.2.tar.gz
/v4.0.3.tar.gz
/v4.1.0-rc1.tar.gz
/v4.1.0-rc2.tar.gz
/v4.1.0.tar.gz
/dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84.tar.gz
/gvisor-tap-vsock-4ee84d66bd86668f011733d8873989b5862bcd07.tar.gz
/v4.1.1.tar.gz
/v4.2.0-rc1.tar.gz
/gvisor-tap-vsock-fdc231ae7b8fe1aec4cf0b8777274fa21b70d789.tar.gz
/v4.2.0-rc2.tar.gz
/v4.2.0-rc3.tar.gz
/v4.2.0.tar.gz
/v4.2.1.tar.gz
/v4.3.0-rc1.tar.gz
/v4.3.0.tar.gz
/v4.3.1.tar.gz
/v4.4.0-rc1.tar.gz
/v4.4.0-rc2.tar.gz
/gvisor-tap-vsock-aab0ac9367fc5142f5857c36ac2352bcb3c60ab7.tar.gz
/v4.4.0.tar.gz
/v4.4.1.tar.gz
/v4.4.2.tar.gz
/v4.4.3.tar.gz
/v4.4.4.tar.gz
/v4.5.0-rc1.tar.gz
/v4.5.0-rc2.tar.gz
/v4.5.0.tar.gz
/gvisor-tap-vsock-407efb5dcdb0f4445935f7360535800b60447544.tar.gz
/v4.5.1.tar.gz
/v4.6.0-rc1.tar.gz
/v4.6.0-rc2.tar.gz
/v4.6.0.tar.gz
/v4.6.1.tar.gz
/v4.6.2.tar.gz
/v4.7.0-rc1.tar.gz
/v4.7.0.tar.gz
/v4.7.1.tar.gz
/v4.7.2.tar.gz
/v4.8.0-rc1.tar.gz
/v4.8.0.tar.gz
/v4.8.1.tar.gz
/v4.8.2.tar.gz
/v4.8.3.tar.gz
/v4.9.0.tar.gz
/v4.9.1.tar.gz
/v4.9.2.tar.gz
/v5.0.0-rc1.tar.gz
/v5.0.0-rc2.tar.gz
/v5.0.0-rc3.tar.gz
/v5.0.0-rc4.tar.gz
/v5.0.0-rc5.tar.gz
/v5.0.0-rc6.tar.gz
/v5.0.0-rc7.tar.gz
/v5.0.0.tar.gz
/v5.0.1.tar.gz
/v5.0.2.tar.gz
/v5.0.3.tar.gz
/v5.1.0-rc1.tar.gz
/v5.1.0.tar.gz
/v5.1.1.tar.gz
/v5.1.2.tar.gz
/v5.2.0-rc1.tar.gz
/v5.2.0-rc2.tar.gz
/v5.2.0.tar.gz
/v5.2.1.tar.gz
/v5.2.2.tar.gz
/v5.2.3.tar.gz
/v5.2.4.tar.gz
/v5.2.5.tar.gz
/v5.3.0-rc1.tar.gz
/v5.3.0-rc2.tar.gz
/v5.3.0-rc3.tar.gz
/v5.3.0.tar.gz
/v5.3.1.tar.gz
/v5.3.2.tar.gz
/v5.4.0-rc2.tar.gz
/v5.4.0-rc3.tar.gz
/v5.4.0.tar.gz
/v5.4.1.tar.gz
/v5.4.2.tar.gz
/v5.5.0-rc1.tar.gz
/v5.5.0-rc2.tar.gz
/v5.5.0.tar.gz
/v5.5.1.tar.gz
/v5.5.2.tar.gz
/v5.6.0-rc1.tar.gz
/v5.6.0-rc2.tar.gz
/v5.6.0.tar.gz
/v5.6.1.tar.gz
/v5.6.2.tar.gz
/v5.7.0-rc1.tar.gz
/v5.7.0-rc2.tar.gz
/v5.7.0.tar.gz
/v5.7.1.tar.gz
/v3.4.7.tar.gz

View file

@ -1,166 +0,0 @@
---
# See the documentation for more information:
# https://packit.dev/docs/configuration/
downstream_package_name: podman
upstream_tag_template: v{version}
# These files get synced from upstream to downstream (Fedora / CentOS Stream) on every
# propose-downstream job. This is done so tests maintained upstream can be run
# downstream in Zuul CI and Bodhi.
# Ref: https://packit.dev/docs/configuration#files_to_sync
files_to_sync:
- src: rpm/gating.yaml
dest: gating.yaml
delete: true
- src: plans/
dest: plans/
delete: true
mkpath: true
- src: test/tmt/
dest: test/tmt/
delete: true
mkpath: true
- src: .fmf/
dest: .fmf/
delete: true
- .packit.yaml
packages:
podman-fedora:
pkg_tool: fedpkg
specfile_path: rpm/podman.spec
podman-centos:
pkg_tool: centpkg
specfile_path: rpm/podman.spec
podman-eln:
specfile_path: rpm/podman.spec
# Disable automatic merging for Copr builds (and subsequent Testing Farm)
merge_pr_in_ci: false
srpm_build_deps:
- git-archive-all
- make
actions:
fix-spec-file: "bash .packit-copr-rpm.sh"
pre-sync: "bash .packit-rpm-git-commit.sh"
jobs:
- job: copr_build
trigger: pull_request
packages: [podman-fedora]
notifications: &packit_generic_failure_notification
failure_comment:
message: "[NON-BLOCKING] Packit jobs failed. @containers/packit-build please check. Everyone else, feel free to ignore."
enable_net: true
targets:
- fedora-all-x86_64
- fedora-all-aarch64
# Re-enable these scans if OpenScanHub starts scanning go packages
# https://packit.dev/posts/openscanhub-prototype
osh_diff_scan_after_copr_build: false
# Ignore until golang is updated in distro buildroot to go 1.23.3+
- job: copr_build
trigger: ignore
packages: [podman-eln]
notifications: *packit_generic_failure_notification
enable_net: true
targets:
fedora-eln-x86_64:
additional_repos:
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/"
fedora-eln-aarch64:
additional_repos:
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/"
# Ignore until golang is updated in distro buildroot to go 1.23.3+
- job: copr_build
trigger: ignore
packages: [podman-centos]
notifications: *packit_generic_failure_notification
enable_net: true
targets:
- centos-stream-9-x86_64
- centos-stream-9-aarch64
- centos-stream-10-x86_64
- centos-stream-10-aarch64
# Run on commit to main branch
- job: copr_build
trigger: commit
packages: [podman-fedora]
branch: main
owner: rhcontainerbot
project: podman-next
enable_net: true
# Tests on Fedora
- job: tests
trigger: pull_request
packages: [podman-fedora]
notifications: *packit_generic_failure_notification
targets:
- fedora-all
tmt_plan: "/plans/system/*"
- job: tests
identifier: cockpit-revdeps
trigger: pull_request
packages: [podman-fedora]
notifications:
failure_comment:
message: "Cockpit tests failed for commit {commit_sha}. @martinpitt, @jelly, @mvollmer please check."
targets:
- fedora-latest-stable
- fedora-development
tf_extra_params:
environments:
- artifacts:
- type: repository-file
id: https://copr.fedorainfracloud.org/coprs/g/cockpit/main-builds/repo/fedora-$releasever/group_cockpit-main-builds-fedora-$releasever.repo
tmt:
context:
revdeps: "yes"
- job: tests
identifier: tmt-revdeps
trigger: pull_request
packages: [podman-fedora]
notifications:
failure_comment:
message: "tmt tests failed for commit {commit_sha}. @lsm5, @psss, @thrix please check."
targets:
- fedora-latest
fmf_url: https://github.com/teemtee/tmt
fmf_path: /plans/friends
fmf_ref: main
tmt_plan: "/podman"
- job: propose_downstream
trigger: release
update_release: false
packages: [podman-fedora]
dist_git_branches: &fedora_targets
- fedora-all
- job: koji_build
trigger: commit
packages: [podman-fedora]
sidetag_group: podman-releases
dist_git_branches: *fedora_targets
- job: bodhi_update
trigger: koji_build
packages: [podman-fedora]
sidetag_group: podman-releases
# Dependencies are not rpm dependencies, but packages that should go in the
# same bodhi update
# Ref: https://packit.dev/docs/fedora-releases-guide/releasing-multiple-packages
dependencies:
- buildah
- containers-common
- skopeo
dist_git_branches: *fedora_targets

View file

@ -1,3 +0,0 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.12.0.post1.dev22+gfe66fd850.

View file

@ -1,17 +1,14 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_stable
- bodhi_update_push_testing
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
# recipients: jnovy, lsm5, santiago
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -1,37 +0,0 @@
# reverse dependency test for https://github.com/cockpit-project/cockpit-podman/
# packit should automatically notify the cockpit maintainers on failures.
# For questions, please contact @martinpitt, @jelly, @mvollmer
enabled: false
adjust+:
when: revdeps == yes
enabled: true
discover:
how: fmf
url: https://github.com/cockpit-project/cockpit-podman
ref: "main"
execute:
how: tmt
# not relevant for testing podman
environment:
TEST_AUDIT_NO_SELINUX: 1
TEST_ALLOW_JOURNAL_MESSAGES: ".*"
# This has to duplicate cockpit-podman's plan structure; see https://github.com/teemtee/tmt/issues/1770
/podman-system:
summary: Run cockpit-podman system tests
discover+:
test: /test/browser/system
/podman-user:
summary: Run cockpit-podman user tests
discover+:
test: /test/browser/user
/podman-misc:
summary: Run other cockpit-podman tests
discover+:
test: /test/browser/other

View file

@ -1,50 +0,0 @@
discover:
how: fmf
execute:
how: tmt
prepare:
- how: shell
script: modprobe null_blk nr_devices=1
order: 5
- when: distro == centos-stream or distro == rhel
how: shell
script: |
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm --eval '%{?rhel}').noarch.rpm
dnf -y config-manager --set-enabled epel
order: 10
adjust+:
- enabled: false
when: revdeps == yes
provision:
how: artemis
hardware:
memory: ">= 16 GB"
cpu:
cores: ">= 4"
threads: ">=8"
disk:
- size: ">= 512 GB"
/local-root:
summary: Local rootful tests
discover+:
filter: 'tag:local & tag:root'
/local-rootless:
summary: Local rootless tests
discover+:
filter: 'tag:local & tag:rootless'
/remote-root:
summary: Remote rootful tests
discover+:
filter: 'tag:remote & tag:root'
/remote-rootless:
summary: Remote rootless tests
discover+:
filter: 'tag:remote & tag:rootless'

View file

@ -1,21 +0,0 @@
summary: Run tmt container provision test (downstream only)
enabled: false
adjust+:
- enabled: true
when: initiator != packit and distro != rhel
discover:
how: fmf
filter: 'tag:tmt & tag:downstream'
execute:
how: tmt
prepare:
- when: distro == centos-stream or distro == rhel
how: shell
script: |
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm --eval '%{?rhel}').noarch.rpm
dnf -y config-manager --set-enabled epel
order: 10

View file

@ -1,29 +0,0 @@
summary: Run toolbox tests (downstream only)
enabled: false
adjust+:
- enabled: true
when: initiator != packit and distro == fedora
provision:
how: artemis
hardware:
memory: ">= 16 GB"
cpu:
cores: ">= 4"
threads: ">=8"
disk:
- size: ">= 512 GB"
prepare:
- name: packages
how: install
package: [toolbox-tests]
discover:
how: fmf
url: https://src.fedoraproject.org/rpms/toolbox
ref: "rawhide"
execute:
how: tmt

File diff suppressed because it is too large Load diff

View file

@ -1 +1,4 @@
SHA512 (v5.7.1.tar.gz) = 81fd4c27ff1d16dcb85229d4e4fd2cb06943ddfe966b5324fa8a8a957b2d2ec2aed7c5da05d6c009148f53b76545b27b0cba506622c8861f70bf7cad6c214a08
SHA512 (dnsname-18822f9.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8
SHA512 (gvisor-tap-vsock-4ee84d6.tar.gz) = 6b0e97f25f0c9ec0f018edcf9c1801daaeacc4d97d05cc2b453467e071c50693bb44d483bac34e64e0c9de71e78e47810a7c46d028553adee9fd6f593df8eb1a
SHA512 (podman-machine-cni-0749884.tar.gz) = fe5f6a69118c0d3475c76c61bf1b50f1d5772fe9a4d20b23e59010e72f8cbd7fb7d4091ce8ab43af8becf77e5234b63191e3e01932f30f8386235822de2e42f4
SHA512 (v3.4.7.tar.gz) = 0f0700a630b6289a08ded15a256128a1cf7a13b92ab12f869a3827fc26624111ade71cc13148b55dec802ccc8698902fe926a66f11ef4805babd5d0421519908

View file

@ -1,51 +0,0 @@
require:
- podman-tests
- psmisc
environment:
# PODMAN_TESTING envvar is set in system.sh
PODMAN: /usr/bin/podman
QUADLET: /usr/libexec/podman/quadlet
ROOTLESS_USER: "fedora"
adjust+:
- when: distro == centos-stream
environment+:
ROOTLESS_USER: "ec2-user"
- when: distro == rhel
environment+:
ROOTLESS_USER: "cloud-user"
- when: initiator != "packit"
environment+:
RELEASE_TESTING: true
/local-root:
tag: [ local, root ]
summary: local rootful test
test: bash ./system.sh
duration: 30m
/local-rootless:
tag: [ local, rootless ]
summary: rootless test
test: bash ./system.sh rootless
duration: 30m
/remote-root:
tag: [ remote, root ]
summary: remote rootful test
test: bash ./system.sh
duration: 30m
environment+:
PODMAN: /usr/bin/podman-remote
require+:
- podman-remote
/remote-rootless:
tag: [ remote, rootless ]
summary: remote rootless test
test: bash ./system.sh rootless
duration: 30m
environment+:
PODMAN: /usr/bin/podman-remote
require+:
- podman-remote

View file

@ -1,44 +0,0 @@
#!/usr/bin/env bash
set -exo pipefail
uname -r
loginctl enable-linger "$ROOTLESS_USER"
rpm -q \
aardvark-dns \
buildah \
conmon \
container-selinux \
containers-common \
criu \
crun \
netavark \
passt \
podman \
podman-tests \
skopeo \
slirp4netns \
systemd
export system_service_cmd="/usr/bin/podman system service --timeout=0 &"
export test_cmd="whoami && cd /usr/share/podman/test/system && PODMAN_TESTING=/usr/bin/podman-testing bats ."
if [[ -z $1 ]]; then
if [[ $PODMAN == "/usr/bin/podman-remote" ]]; then
eval "$system_service_cmd"
fi
eval "$test_cmd"
elif [[ $1 == "rootless" ]]; then
if [[ $PODMAN == "/usr/bin/podman-remote" ]]; then
su - "$ROOTLESS_USER" -c "eval $system_service_cmd"
fi
su - "$ROOTLESS_USER" -c "eval $test_cmd"
fi
# Kill all podman processes for remote tests
if [[ $PODMAN == "/usr/bin/podman-remote" ]]; then
killall -q podman
fi
exit 0

View file

@ -1,13 +0,0 @@
enabled: false
adjust:
enabled: true
when: initiator != packit && distro != rhel
summary: Make sure that TMT container provision works
tag: [downstream]
require:
- tmt+provision-container
test:
tmt run --verbose --remove
provision --how container --image fedora
login --command 'cat /etc/os-release'
finish

25
tests/README Normal file
View file

@ -0,0 +1,25 @@
I'm sorry. The playbooks here are a much-too-complicated way of saying:
- test podman (root and rootless) under cgroups v2
- reboot into cgroups v1
- repeat the same podman tests
We can't use standard-test-basic any more because, tl;dr, that has to
be the last stanza in the playbook and it doesn't offer any mechanism
for running a reboot in the middle of tests. (I actually found a way
but it was even uglier than this approach).
The starting point is tests.yml . From there:
tests.yml
\- test_podman.yml
|- roles/rootless_user_ready/
\- test_podman_cgroups_vn.yml (runs twice: cgroups v2, v1)
|- roles/set_cgroups/
\- roles/run_bats_tests/ (runs tests: root, rootless)
Principal result is the file 'artifacts/test.log'. It will contain
one line for each test run, format will be '(PASS|FAIL|ERROR) <test name>'
For each completed test there will also be a 'test.<name>.bats.log'
containing some setup blurbs (RPMs, environment) and the full BATS log.

36
tests/check_results.yml Normal file
View file

@ -0,0 +1,36 @@
---
# Copied from standard-test-basic
# ...and, 2020-05-13, updated, looks like they changed the whole thing around
- name: Check the results
local_action:
module: shell
cmd: |
log="{{ artifacts }}/test.log"
if [ ! -f "$log" ]; then
echo ERROR
echo "Test results not found." 1>&2
elif grep ^ERROR "$log" 1>&2; then
echo ERROR
elif grep ^FAIL "$log" 1>&2; then
echo FAIL
elif grep -q ^PASS "$log"; then
echo PASS
else
echo ERROR
echo "No test results found." 1>&2
fi
register: test_results
- name: Set role result
set_fact:
role_result: "{{ test_results.stdout }}"
role_message: "{{ test_results.stderr|d('test execution error.') }}"
- name: display results
vars:
msg: |
role_result: {{ role_result|d('Undefined') }}
{{ role_message|d('[No error messages found]') }}
debug:
msg: "{{ msg.split('\n') }}"
failed_when: role_message|d("") != ""

View file

@ -0,0 +1,6 @@
---
- name: make sure rootless account exists
user: name={{ rootless_user }}
- name: rootless account | enable linger
shell: loginctl enable-linger {{ rootless_user }}

View file

@ -0,0 +1,69 @@
#!/bin/bash
#
# Run bats tests for a given $TEST_PACKAGE, e.g. buildah, podman
#
# This is invoked by the 'run_bats_tests' role; we assume that
# the package foo has a foo-tests subpackage which provides the
# directory /usr/share/foo/test/system, containing one or more .bats
# test files.
#
# We create two files:
#
# /tmp/test.summary.log - one-liner with FAIL, PASS, ERROR and a blurb
# /tmp/test.bats.log - full log of this script, plus the BATS run
#
export PATH=/usr/local/bin:/usr/sbin:/usr/bin
FULL_LOG=/tmp/test.bats.log
rm -f $FULL_LOG
touch $FULL_LOG
# Preserve output to a log file, but also emit on stdout. This covers
# RHEL (which preserves logfiles but runs ansible without --verbose)
# and Fedora (which hides logfiles but runs ansible --verbose).
exec &> >(tee -a $FULL_LOG)
# Log program versions
echo "Packages:"
rpm -qa |\
egrep 'podman|conmon|crun|runc|iptable|slirp|systemd|container-selinux' |\
sort |\
sed -e 's/^/ /'
divider='------------------------------------------------------------------'
echo $divider
printenv | sort
echo $divider
testdir=/usr/share/${TEST_PACKAGE}/test/system
if ! cd $testdir; then
echo "FAIL ${TEST_NAME} : cd $testdir" > /tmp/test.summary.log
exit 0
fi
if [[ $PODMAN =~ remote ]]; then
${PODMAN%%-remote} system service -t0 &>/dev/null &
PODMAN_SERVER_PID=$!
fi
echo "\$ bats ."
bats .
rc=$?
if [[ -n "$PODMAN_SERVER_PID" ]]; then
kill $PODMAN_SERVER_PID
fi
echo $divider
echo "bats completed with status $rc"
status=PASS
if [ $rc -ne 0 ]; then
status=FAIL
fi
echo "${status} ${TEST_NAME}" > /tmp/test.summary.log
# FIXME: for CI purposes, always exit 0. This allows subsequent tests.
exit 0

View file

@ -0,0 +1,10 @@
---
# Create empty results file, world-writable
- name: initialize test.log file
copy: dest=/tmp/test.log content='' force=yes mode=0666
- name: execute tests
include: run_one_test.yml
with_items: "{{ tests }}"
loop_control:
loop_var: test

View file

@ -0,0 +1,87 @@
---
- name: "{{ test.name }} | install test packages"
dnf: name="{{ test.package }}-tests" state=installed
- name: "{{ test.name }} | define helper variables"
set_fact:
test_name_oneword: "{{ test.name | replace(' ','-') }}"
# UGH. This is necessary because our caller sets some environment variables
# and we need to set a few more based on other caller variables; then we
# need to combine the two dicts when running the test. This seems to be
# the only way to do it in ansible.
- name: "{{ test.name }} | define local environment"
set_fact:
local_environment:
TEST_NAME: "{{ test.name }}"
TEST_PACKAGE: "{{ test.package }}"
TEST_ENV: "{{ test.environment }}"
- name: "{{ test.name }} | setup/teardown helper | see if exists"
local_action: stat path={{ role_path }}/files/helper.{{ test_name_oneword }}.sh
register: helper
- name: "{{ test.name }} | setup/teardown helper | install"
copy: src=helper.{{ test_name_oneword }}.sh dest=/tmp/helper.sh
when: helper.stat.exists
# This is what runs the BATS tests.
- name: "{{ test.name }} | run test"
script: ./run_bats_tests.sh
args:
chdir: /usr/share/{{ test.package }}/test/system
become: "{{ true if test.become is defined else false }}"
become_user: "{{ rootless_user }}"
environment: "{{ local_environment | combine(test.environment) }}"
# BATS tests will always exit zero and should leave behind two files:
# a full log (test.bats.log) and a one-line PASS/FAIL file (.summary.log)
- name: "{{ test.name }} | pull logs"
fetch:
src: "/tmp/test.{{ item }}.log"
dest: "{{ artifacts }}/test.{{ test_name_oneword }}.{{ item }}.log"
flat: yes
with_items:
- bats
- summary
# Collect all the one-line PASS/FAIL results in one file, test.log
# Write the same thing, in a different format, to results.yml
# https://docs.fedoraproject.org/en-US/ci/standard-test-interface/
- name: "{{ test.name }} | keep running tally of test results"
local_action:
module: shell
cmd: |
cd {{ artifacts }}
cat "test.{{ test_name_oneword }}.summary.log" >>test.log
status=$(awk '{print $1}' <test.{{ test_name_oneword }}.summary.log | tr A-Z a-z)
echo "- test: {{ test.name }}" >>results.yml
echo " result: $status" >>results.yml
echo " logs: test.{{ test_name_oneword }}.bats.log" >>results.yml
# delete the oneliner file, to keep artifacts dir clean
rm -f test.{{ test_name_oneword }}.summary.log
- name: "{{ test.name }} | remove remote logs and helpers"
file:
dest=/tmp/{{ item }}
state=absent
with_items:
- test.bats.log
- test.summary.log
- helper.sh
# AAAAARGH!
#
# Fedora gating tests are failing, because str-common-final/tasks/main.yml
# tries to pull test.log and other logs from $remote_host:/tmp/artifacts .
# Those don't exist, because I track status and artifacts locally, because
# with the reboot I can't rely on /tmp being preserved.
# I see no way to tell str-common-final to skip this step; so let's just
# push logs over upon completion of each subtest.
- name: keep remote artifacts synced
synchronize:
src: "{{ artifacts }}/"
dest: "{{ remote_artifacts|d('/tmp/artifacts') }}/"
mode: push

View file

@ -0,0 +1,75 @@
---
# Check the CURRENT cgroup level; we get this from /proc/cmdline
- name: check current kernel options
shell: fgrep systemd.unified_cgroup_hierarchy=0 /proc/cmdline
register: result
ignore_errors: true
- name: determine current cgroups | assume v2
set_fact: current_cgroups=2
- name: determine current cgroups | looks like v1
set_fact: current_cgroups=1
when: result is succeeded
- debug:
msg: "want: v{{ want_cgroups }} actual: v{{ current_cgroups }}"
- name: grubenv, pre-edit, cat
shell: cat /boot/grub2/grubenv
register: grubenv
- name: grubenv, pre-edit, show
debug:
msg: "{{ grubenv.stdout_lines }}"
# Update grubenv file to reflect the desired cgroup level
- name: remove cgroup option from kernel flags
shell:
cmd: sed -i -e "s/^\(kernelopts=.*\)systemd\.unified_cgroup_hierarchy=.\(.*\)/\1 \2/" /boot/grub2/grubenv
warn: false
- name: add it with the desired value
shell:
cmd: sed -i -e "s/^\(kernelopts=.*\)/\1 systemd.unified_cgroup_hierarchy=0/" /boot/grub2/grubenv
warn: false
when: want_cgroups == 1
- name: grubenv, post-edit, cat
shell: cat /boot/grub2/grubenv
register: grubenv
- name: grubenv, post-edit, show
debug:
msg: "post: {{ grubenv.stdout_lines }}"
# If want != have, reboot
- name: reboot and wait
block:
- name: reboot
reboot:
reboot_timeout: 900
ignore_errors: yes
- name: wait and reconnect
wait_for_connection:
timeout: 900
when: want_cgroups|int != current_cgroups|int
- set_fact:
expected_fstype:
- none
- tmpfs
- cgroup2fs
- name: confirm cgroups setting
shell: stat -f -c "%T" /sys/fs/cgroup
register: fstype
- debug:
msg: "stat(/sys/fs/cgroup) = {{ fstype.stdout }}"
- name: system cgroups is the expected type
assert:
that:
- fstype.stdout == expected_fstype[want_cgroups|int]
fail_msg: "stat(/sys/fs/cgroup) = {{ fstype.stdout }} (expected {{ expected_fstype[want_cgroups|int] }})"

50
tests/test_podman.yml Normal file
View file

@ -0,0 +1,50 @@
---
- hosts: localhost
tags:
- classic
- container
vars:
- artifacts: ./artifacts
rootless_user: testuser
roles:
- role: rootless_user_ready
tasks:
# At the start of a run, clean up state. Useful for test reruns.
- name: local artifacts directory exists
local_action: file path="{{ artifacts }}" state=directory
- name: remove stale log files
local_action: shell rm -f {{ artifacts }}/test*.log
- name: clear test results (test.log)
local_action: command truncate --size=0 {{ artifacts }}/test.log
- name: clear test results (results.yml)
local_action: copy content="results:\n" dest={{ artifacts }}/results.yml
# These are the actual tests: set cgroups vN, then run root/rootless tests.
#
# FIXME FIXME FIXME: 2020-05-21: 'loop' should be '2, 1' but there's some
# nightmarish bug in CI wherein reboots hang forever. There's a bug open[1]
# but it seems dead. Without a working reboot, there's no way to test v1.
# [1] https://redhat.service-now.com/surl.do?n=PNT0808530
# I'm leaving this as a 'loop' in (foolish? vain?) hope that the bug will
# be fixed. Let's revisit this after, say, 2020-08. If the bug persists
# then let's just revert the entire cgroups v1 change, and go back to
# using standard-test-basic.
- name: set cgroups and run podman tests
include_tasks: test_podman_cgroups_vn.yml
loop: [ 2 ]
loop_control:
loop_var: want_cgroups
- name: test podman-remote
include_tasks: test_podman_remote.yml
- name: test toolbox
include_tasks: test_toolbox.yml
# Postprocessing: check for FAIL or ERROR in any test, exit 1 if so
- name: check results
include_tasks: check_results.yml

View file

@ -0,0 +1,19 @@
---
# Requires: 'want_cgroups' variable set to 1 or 2
- include_role:
name: set_cgroups
- include_role:
name: run_bats_tests
vars:
tests:
# Yes, this is horrible duplication, but trying to refactor in ansible
# yields even more horrible unreadable code. This is the lesser evil.
- name: podman root cgroupsv{{ want_cgroups }}
package: podman
environment:
PODMAN: /usr/bin/podman
- name: podman rootless cgroupsv{{ want_cgroups }}
package: podman
environment:
PODMAN: /usr/bin/podman
become: true

View file

@ -0,0 +1,17 @@
---
- name: "podman-remote | install"
dnf: name="podman-remote" state=installed
- include_role:
name: run_bats_tests
vars:
tests:
- name: podman-remote root
package: podman
environment:
PODMAN: /usr/bin/podman-remote
- name: podman-remote rootless
package: podman
environment:
PODMAN: /usr/bin/podman-remote
become: true

1
tests/tests.yml Normal file
View file

@ -0,0 +1 @@
- import_playbook: test_podman.yml