From Fedora Project Wiki

(Created page with "{{QA/Test_Case |description=Install Fedora CoreOS and build and run containers. |setup= # Have access to a (or install a new) FCOS instance running the '''next''' stream. |ac...")
 
m (Since `fcct` has recently been renamed to `butane` so changing the reference in this test case)
 
(7 intermediate revisions by 4 users not shown)
Line 5: Line 5:
  
 
|actions=
 
|actions=
# Starting with either `podman` or `docker`, build a container from a Dockerfile. For example, you can try building [https://github.com/coreos/coreos-assembler coreos-assembler], which is what is used to build Fedora CoreOS itself. To do this:
+
Run the following commands on the Fedora CoreOS machine:
 +
<ol>
 +
<li>Using rootless `podman`, build `butane` from a Dockerfile, which is the tool you've used to convert FCCs to Ignition configs. To do this:
 
<pre>
 
<pre>
git clone https://github.com/coreos/coreos-assembler
+
git clone https://github.com/coreos/butane /tmp/butane
cd coreos-assembler
+
cd /tmp/butane
podman build -t cosa .
+
podman build -t rootless-test-butane .
 
</pre>
 
</pre>
# Try to run the container. If you've built coreos-assembler, you can try `podman run -ti --rm cosa shell`.
+
<li> Try running the container, e.g.:
# If you used `podman`, repeat the steps with `docker` and vice-versa. Note that it might be easier to use a new host since there are [https://docs.fedoraproject.org/en-US/fedora-coreos/faq/#_can_i_run_containers_via_docker_and_podman_at_the_same_time known conflicts between `podman` and `docker`]
+
<pre>podman run -ti --rm rootless-test-butane --help</pre>
 +
<li> Now try to build the same container, using privileged `podman`:
 +
<pre>
 +
cd /tmp/butane
 +
sudo podman build -t privileged-test-butane .
 +
</pre>
 +
<li> Try running the container, e.g.:
 +
<pre>sudo podman run -ti --rm privileged-test-butane --help</pre>
 +
<li> Now, use privileged `docker` to build the container. Note that this should be performed on a different fresh Fedora CoreOS machine since there are [https://docs.fedoraproject.org/en-US/fedora-coreos/faq/#_can_i_run_containers_via_docker_and_podman_at_the_same_time known conflicts between `podman` and `docker`]:
 +
<pre>
 +
git clone https://github.com/coreos/butane /tmp/butane
 +
cd /tmp/butane
 +
sudo docker build -t docker-butane .
 +
</pre>
 +
<li> Try running the container, e.g.:
 +
<pre>sudo docker run -ti --rm docker-butane --help</pre>
 +
</ol>
  
 
|results=
 
|results=
# You can build a container using both podman and docker.
+
# You can build a container using podman in rootless mode.
# You can run a built container using podman and docker.
+
# You can run a built container using podman in rootless mode.
 +
# You can build a container using podman in privileged mode.
 +
# You can run a built container using podman in privileged mode.
 +
# You can build a container using docker in privileged mode.
 +
# You can run a built container using docker in privileged mode.
  
 
|optional=
 
|optional=
# If you've built coreos-assembler and you have nested KVM enabled (or you're running on bare metal), try building Fedora CoreOS with it using the steps provided [https://github.com/coreos/coreos-assembler#create-a-build-working-directory here]. For the `COREOS_ASSEMBLER_CONTAINER`, use the tag you've specified above when building the image, e.g. `cosa`.
+
# If you're familiar with other containerized software, try building and running them too.
 
}}
 
}}
  
 
[[Category:CoreOS Test Cases]]
 
[[Category:CoreOS Test Cases]]

Latest revision as of 14:43, 26 April 2021

Description

Install Fedora CoreOS and build and run containers.

Setup

  1. Have access to a (or install a new) FCOS instance running the next stream.

How to test

Run the following commands on the Fedora CoreOS machine:

  1. Using rootless podman, build butane from a Dockerfile, which is the tool you've used to convert FCCs to Ignition configs. To do this:
    git clone https://github.com/coreos/butane /tmp/butane
    cd /tmp/butane
    podman build -t rootless-test-butane .
    
  2. Try running the container, e.g.:
    podman run -ti --rm rootless-test-butane --help
  3. Now try to build the same container, using privileged podman:
    cd /tmp/butane
    sudo podman build -t privileged-test-butane .
    
  4. Try running the container, e.g.:
    sudo podman run -ti --rm privileged-test-butane --help
  5. Now, use privileged docker to build the container. Note that this should be performed on a different fresh Fedora CoreOS machine since there are known conflicts between podman and docker:
    git clone https://github.com/coreos/butane /tmp/butane
    cd /tmp/butane
    sudo docker build -t docker-butane .
    
  6. Try running the container, e.g.:
    sudo docker run -ti --rm docker-butane --help

Expected Results

  1. You can build a container using podman in rootless mode.
  2. You can run a built container using podman in rootless mode.
  3. You can build a container using podman in privileged mode.
  4. You can run a built container using podman in privileged mode.
  5. You can build a container using docker in privileged mode.
  6. You can run a built container using docker in privileged mode.

Optional

  1. If you're familiar with other containerized software, try building and running them too.