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 (fixup git clone command to write output to /tmp/fcct/)
(5 intermediate revisions by 3 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:
<ol>
<li>Using rootless `podman`, build `fcct` 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/fcct /tmp/fcct
cd coreos-assembler
cd /tmp/fcct
podman build -t cosa .
podman build -t rootless-test-fcct .
</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-fcct --help</pre>
<li> Now try to build the same container, using privileged `podman`:
<pre>
cd /tmp/fcct
sudo podman build -t privileged-test-fcct .
</pre>
<li> Try running the container, e.g.:
<pre>sudo podman run -ti --rm privileged-test-fcct --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/fcct /tmp/fcct
cd /tmp/fcct
sudo docker build -t docker-fcct .
</pre>
<li> Try running the container, e.g.:
<pre>sudo docker run -ti --rm docker-fcct --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]]

Revision as of 14:29, 8 June 2020

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

  1. Using rootless podman, build fcct 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/fcct /tmp/fcct
    cd /tmp/fcct
    podman build -t rootless-test-fcct .
    
  2. Try running the container, e.g.:
    podman run -ti --rm rootless-test-fcct --help
  3. Now try to build the same container, using privileged podman:
    cd /tmp/fcct
    sudo podman build -t privileged-test-fcct .
    
  4. Try running the container, e.g.:
    sudo podman run -ti --rm privileged-test-fcct --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/fcct /tmp/fcct
    cd /tmp/fcct
    sudo docker build -t docker-fcct .
    
  6. Try running the container, e.g.:
    sudo docker run -ti --rm docker-fcct --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.