From Fedora Project Wiki
(added setup for testing rootless podman)
 
(9 intermediate revisions by 2 users not shown)
Line 4: Line 4:
= Setup =
= Setup =
This testcase can be run on either an image or installation, on hardware or in virtualization.
This testcase can be run on either an image or installation, on hardware or in virtualization.
to test unprivilaged (rootless) podman, install slirp4netns for network namespaces with
  rpm-ostree install --reboot slirp4netns


= How to test =
= How to test =
Boot image or Installation and log in locally or SSH into booted image.
Boot image or Installation and log in locally or SSH into booted image. For this test, use a regular user account to ensure rootless podman is working.  


Check if podman is installed
Check if podman is installed
Line 15: Line 12:


Check to see if you can pull an image from the registry
Check to see if you can pull an image from the registry
  sudo podman pull fedora
  podman pull registry.fedoraproject.org/fedora:latest
 
Note when testing aarch64 you may need to include '--override-arch arm64' due to this [https://bugzilla.redhat.com/show_bug.cgi?id=1793927 bug]


Run hello-world to test.
Run hello-world to test.
  sudo podman run -it fedora echo Hello-World
  podman run -it registry.fedoraproject.org/fedora:latest echo Hello-World


= Create a container from Dockerfile =  
= Create a container from Dockerfile =  
Line 24: Line 23:
<pre>
<pre>
cat << EOF >> Dockerfile
cat << EOF >> Dockerfile
FROM fedora:latest
FROM registry.fedoraproject.org/fedora:latest
RUN /usr/bin/dnf install -y httpd
RUN /usr/bin/dnf install -y httpd
EXPOSE 80
EXPOSE 80
Line 33: Line 32:


Build an image
Build an image
  sudo podman build -t f29-httpd $(pwd)
  sudo podman build -t fedora-httpd $(pwd)


Verify the image
Verify the image
Line 39: Line 38:


Run the container
Run the container
  sudo podman run -d -p 80:80 localhost/f29-httpd
  sudo podman run -d -p 80:80 localhost/fedora-httpd


Verify the container is running
Verify the container is running
Line 46: Line 45:
Test apache is working, this should display the Test page html.  
Test apache is working, this should display the Test page html.  
  curl http://localhost/
  curl http://localhost/
Open the firewall to accept connections on port 80
  firewall-cmd --permanent --zone=trusted --add-interface=cni-podman0
  firewall-cmd --permanent --zone=trusted --add-port=80/tcp


Open a web browser on another computer and enter the IP address to test the page is visible.
Open a web browser on another computer and enter the IP address to test the page is visible.
Line 53: Line 57:
# podman is installed
# podman is installed
# Hello World is displayed
# Hello World is displayed
# Image booted to a bash shell
# Custom container created, httpd test page visible on a browser or using curl.
# Custom container created, httpd test page visible on a browser or using curl.

Latest revision as of 18:20, 6 May 2020

Description

A simple validation test case for Podman on Fedora IoT Edition.

Setup

This testcase can be run on either an image or installation, on hardware or in virtualization.

How to test

Boot image or Installation and log in locally or SSH into booted image. For this test, use a regular user account to ensure rootless podman is working.

Check if podman is installed

 rpm -q podman

Check to see if you can pull an image from the registry

podman pull registry.fedoraproject.org/fedora:latest

Note when testing aarch64 you may need to include '--override-arch arm64' due to this bug

Run hello-world to test.

podman run -it registry.fedoraproject.org/fedora:latest echo Hello-World

Create a container from Dockerfile

For this test you can use a Dockerfile of your own or use this basic example below:

cat << EOF >> Dockerfile
FROM registry.fedoraproject.org/fedora:latest
RUN /usr/bin/dnf install -y httpd
EXPOSE 80
CMD ["-D", "FOREGROUND"]
ENTRYPOINT ["/usr/sbin/httpd"]
EOF

Build an image

sudo podman build -t fedora-httpd $(pwd)

Verify the image

sudo podman images

Run the container

sudo podman run -d -p 80:80 localhost/fedora-httpd

Verify the container is running

sudo podman container ls

Test apache is working, this should display the Test page html.

curl http://localhost/

Open the firewall to accept connections on port 80

 firewall-cmd --permanent --zone=trusted --add-interface=cni-podman0
 firewall-cmd --permanent --zone=trusted --add-port=80/tcp


Open a web browser on another computer and enter the IP address to test the page is visible.

Results

  1. Latest image pulled successfully from the Registry
  2. podman is installed
  3. Hello World is displayed
  4. Custom container created, httpd test page visible on a browser or using curl.