RHEL 9.0.0 Alpha bootstrap

The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/cockpit-podman#5778509184a7ad2df572b5b02e08ec7387d75c62
This commit is contained in:
Petr Šabata 2020-10-14 23:01:52 +02:00
parent 66e6cf8ded
commit 8564b76592
10 changed files with 348 additions and 0 deletions

25
.gitignore vendored
View File

@ -0,0 +1,25 @@
/cockpit-podman-1.tar.gz
/cockpit-podman-2.tar.gz
/cockpit-podman-3.tar.gz
/cockpit-podman-4.tar.gz
/cockpit-podman-5.tar.gz
/cockpit-podman-6.tar.gz
/cockpit-podman-7.tar.gz
/cockpit-podman-8.tar.gz
/cockpit-podman-9.tar.gz
/cockpit-podman-10.tar.gz
/cockpit-podman-11.tar.gz
/cockpit-podman-12.tar.gz
/cockpit-podman-13.tar.gz
/cockpit-podman-14.tar.gz
/cockpit-podman-15.tar.gz
/cockpit-podman-16.tar.gz
/cockpit-podman-17.tar.gz
/cockpit-podman-18.tar.gz
/cockpit-podman-19.tar.gz
/cockpit-podman-20.tar.gz
/cockpit-podman-21.tar.gz
/cockpit-podman-22.tar.gz
/cockpit-podman-23.tar.gz
/cockpit-podman-24.tar.gz
/cockpit-podman-25.tar.gz

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# cockpit-podman
The cockpit-podman package

185
cockpit-podman.spec Normal file
View File

@ -0,0 +1,185 @@
# This spec file has been automatically updated
Version: 25
Release: 1%{?dist}
#
# Copyright (C) 2017-2020 Red Hat, Inc.
#
# Cockpit is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Cockpit is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with Cockpit; If not, see <http://www.gnu.org/licenses/>.
#
Name: cockpit-podman
Summary: Cockpit component for Podman containers
License: LGPLv2+
URL: https://github.com/cockpit-project/cockpit-podman
Source0: https://github.com/cockpit-project/cockpit-podman/releases/download/%{version}/cockpit-podman-%{version}.tar.gz
BuildArch: noarch
BuildRequires: libappstream-glib
Requires: cockpit-bridge >= 138
Requires: cockpit-shell >= 138
Requires: podman >= 2.0.4
%description
The Cockpit user interface for Podman containers.
%prep
%setup -q -n cockpit-podman
%build
# Nothing to build
%install
%make_install
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*
%files
%doc README.md
%license LICENSE
%{_datadir}/cockpit/*
%{_datadir}/metainfo/*
%changelog
* Wed Oct 14 2020 Sanne Raymaekers <sanne.raymaekers@gmail.com> - 25-1
- Listen for image build event
* Wed Sep 30 2020 Marius Vollmer <mvollmer@redhat.com> - 24-1
- Use sentence case in the UI
* Wed Sep 02 2020 Martin Pitt <martin@piware.de> - 23-1
- Translation updates
* Wed Aug 19 2020 Marius Vollmer <mvollmer@redhat.com> - 22-1
- Support for pod group deletion
* Wed Aug 05 2020 Matej Marusak <mmarusak@redhat.com> - 21-1
- Support for pod groups
- Support checkpoint and restore
- Registry selection in "download image" dialog
- Selected tag removal during deletion
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 22 2020 Katerina Koukiou <kkoukiou@redhat.com> - 20-1
- Show networking information for containers
- Enable filtering images and containers by owner
- Optionally show intermediate images
- Enable setting up SELinux label when mounting volumes
* Wed Jul 15 2020 Matej Marusak <mmarusak@redhat.com> - 19-1
- Switch to the new Podman REST API
- Improve displaying on small screens
* Mon Jun 15 2020 Matej Marusak <mmarusak@redhat.com> - 18-1
- Bump NPM dependencies to their latest versions
- Stop importing cockpit's deprecated base1/patternfly.css
- Synchronize style with the newest Cockpit
* Thu May 14 2020 Matej Marusak <mmarusak@redhat.com> - 17-1
- Translation updates
- Adjust tests to changed Services page in Cockpit 218
* Wed Apr 29 2020 Martin Pitt <martin@piware.de> - 16-1
- Restyle buttons and dropdowns to be consistent with Cockpit
- Disable button and show a spinner while delete operation is in progress
- Translation updates
* Thu Apr 16 2020 Martin Pitt <martin@piware.de> - 15-3
- Drop obsolete functionality for Fedora Atomic
- Localize dates and times
- Make tests non-destructive, to support Fedora gating
* Wed Mar 04 2020 Martin Pitt <martin@piware.de> - 14-1
- Fix crash on filtering anonymous images
- Translation updates
* Wed Feb 05 2020 sanne raymaekers <sanne.raymaekers@gmail.com> - 13-1
- Show historical logs
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jan 08 2020 Katerina Koukiou <kkoukiou@redhat.com> - 12-1
- Configure CPU share for system containers
* Wed Nov 27 2019 Martin Pitt <martin@piware.de> - 11-1
- Fix Alert notification in Image Search Modal
- Allow more than a single Error Notification for Container action errors
- Various Alert cleanups
- Translation updates
* Wed Oct 30 2019 Sanne Raymaekers <sanne.raymaekers@gmail.com> - 10-1
- Support for user containers
* Wed Oct 02 2019 Martin Pitt <martin@piware.de> - 9-1
- Minimize CSS in production builds
- Bump NPM dependencies to latest versions
* Wed Sep 04 2019 Martin Pitt <martin@piware.de> - 8-1
- Show list of containers that use given image
- Show placeholder while loading containers and images
- Fix setting memory limit
* Wed Jul 31 2019 Martin Pitt <martin@piware.de> - 7-1
- Fix AppStream ID
- Adjust tests to changed Cockpit Services page
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Jul 19 2019 Martin Pitt <martin@piware.de> - 6-1
- Fix various UI regressions from Cockpit's PatternFly 4 switch
- Add packit configuration (https://packit.dev/)
* Wed Jul 10 2019 Martin Pitt <martin@piware.de> - 5-1
- Add container Terminal
* Wed Jun 26 2019 Katerina Koukiou <kkoukiou@redhat.com> - 4-1
- Fix regression in container commit
* Mon Jun 17 2019 Martin Pitt <martin@piware.de> - 3-1
- Enable Commit button for running containers
- Fix race condition with container deletion
- Stop fetching all containers/images for each container/image event
* Fri May 24 2019 Cockpit Project <cockpituous@gmail.com> - 2-1
- Update to upstream 2 release
* Wed Apr 17 2019 Cockpit Project <cockpituous@gmail.com> - 1-2
- Update to upstream 1 release

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (cockpit-podman-25.tar.gz) = b64eae2a03c2d17425514175ed813bae42e1f5f7bdc34adc9c715737e026e8afdb309e240b5db7022da6cd3714b531ead22768052773382a25363eb8acbf91b9

3
tests/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*.retry
artifacts/
source/

66
tests/browser.sh Executable file
View File

@ -0,0 +1,66 @@
#!/bin/sh
set -eux
# from standard-test-source
SOURCE="$(pwd)/source"
LOGS="$(pwd)/logs"
TESTS="$(pwd)/tests"
mkdir -p "$LOGS"
chmod a+w "$LOGS"
# install browser; on RHEL, use chromium from epel
if ! rpm -q chromium-headless; then
if grep -q 'ID=.*rhel' /etc/os-release; then
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf config-manager --enable epel
fi
dnf install -y chromium-headless
fi
# create user account for logging in
if ! id admin 2>/dev/null; then
useradd -c Administrator -G wheel admin
echo admin:foobar | chpasswd
fi
# avoid sudo lecture during tests
su -c 'echo foobar | sudo --stdin whoami' - admin
# create user account for running the test
if ! id runtest 2>/dev/null; then
useradd -c 'Test runner' runtest
# allow test to set up things on the machine
mkdir -p /root/.ssh
curl https://raw.githubusercontent.com/cockpit-project/bots/master/machine/identity.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
fi
chown -R runtest "$SOURCE"
# disable core dumps, we rather investigate them upstream where test VMs are accessible
echo core > /proc/sys/kernel/core_pattern
# pull images for system podman tests
podman pull docker.io/busybox
podman pull docker.io/alpine
podman pull docker.io/registry:2
# HACK: avoid leftover user podman processes between login sessions: https://github.com/containers/podman/issues/7021
mkdir -p /etc/systemd/user/podman.service.d
printf '[Service]\nKillMode=\n' > /etc/systemd/user/podman.service.d/cleanup.conf
# pull images for user podman tests; podman insists on user session
loginctl enable-linger $(id -u admin)
sudo -i -u admin bash << EOF
podman pull docker.io/busybox
podman pull docker.io/alpine
podman pull docker.io/registry:2
EOF
loginctl disable-linger $(id -u admin)
systemctl enable --now cockpit.socket podman.socket
# Run tests as unprivileged user
su - -c "env SOURCE=$SOURCE LOGS=$LOGS $TESTS/run-test.sh" runtest
RC=$(cat $LOGS/exitcode)
exit ${RC:-1}

View File

@ -0,0 +1,27 @@
---
- name: upgrade critical packages to the latest version
dnf:
name:
- podman
- conmon
state: latest
- include_role:
name: standard-test-source
- include_role:
name: standard-test-basic
vars:
required_packages:
- cockpit-podman
- cockpit-ws
- git
- libvirt-python3
- make
- npm
- python3
tests:
- cockpit-podman:
dir: .
run: "{{ test_script_dir | default('.') }}/browser.sh"
save-files: ["logs/*"]

26
tests/run-test.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/sh
set -eux
# tests need cockpit's bots/ libraries and test infrastructure
cd $SOURCE
git init
make bots test/common
# only install a subset to save time/space
rm -f package-lock.json # otherwise the command below installs *everything*, argh
npm install chrome-remote-interface sizzle
. /etc/os-release
export TEST_OS="${ID}-${VERSION_ID/./-}"
export TEST_AUDIT_NO_SELINUX=1
# FIXME: Internal Server Error: statfs /tmp/bin: no such file or directory
EXCLUDES="--exclude TestApplication.testRunImageUser"
RC=0
test/common/run-tests --trace --verbose --nondestructive --machine 127.0.0.1:22 --browser 127.0.0.1:9090 $EXCLUDES || RC=$?
echo $RC > "$LOGS/exitcode"
cp --verbose Test* "$LOGS" || true
# deliver test result via exitcode file
exit 0

6
tests/tests.yml Normal file
View File

@ -0,0 +1,6 @@
---
- hosts: localhost
tags:
- classic
roles:
- test