tiny-container-system-device-sharing automated

medium

Image Types:
tiny-lxc-armhf / tiny-lxc-arm64 / tiny-lxc-amd64
Image Deployment:
LXC
Type:
functional

Description

Test of device sharing between host and Tiny system-wide privileged container


Pre Conditions

  1. Clone the tests repository from another computer (Note that the branch being tested may change depending on the release, please make sure to clone the correct branch for the release in question):
  2. $ git clone --branch apertis/v2023dev0 https://gitlab.apertis.org/infrastructure/tiny-image-recipes.git
  3. Copy the test directory tiny-image-recipes to the target device:
  4. $ DUT_IP=<device-ip>
    $ scp -r tiny-image-recipes user@$DUT_IP:
  5. Log into the target device:
  6. $ ssh user@$DUT_IP

Execution Steps

  1. Enter test directory:
  2. $ cd tiny-image-recipes
  3. Setup the AppArmor profile for container:
  4. $ sed s/__NAMESPACE_PLACEHOLDER__/lxc-apertis-tiny-system/g lxc/lxc-tiny-connectivity-profile-template | apparmor_parser -qr
  5. Ensure we have loop device:
  6. $ modprobe loop
  7. Create the random file and map it to loop0 device on host:
  8. $ dd if=/dev/urandom of=/var/test.img bs=1M count=1
    $ losetup /dev/loop0 /var/test.img
  9. Check that a simple loop device created on the host can be shared with the container and accessed from inside it:
  10. $ lavatests/test-device-sharing --ospack "$OSPACK" -t lxc/lxc-tiny-connectivity --aa-namespace "lxc-apertis-tiny-system"
  11. Release the loop0 device on host after the test:
  12. $ losetup -d /dev/loop0

Expected

Test command should report "pass".