Skip to content

Deploying applications in the QM partition

The AutoSD architecture isolates quality managed (QM) applications from Automotive Safety Integrity Level (ASIL) applications. This isolation mechanism is the QM software partition. In this architecture, the QM partition is an imageless container that uses a subsection of the host filesystem as its root filesystem. This means that you must place your applications in one of two locations:

  • Configure OSBuild to copy ASIL applications to /etc/containers/systemd
  • Configure OSBuild to copy QM applications to /etc/containers/systemd inside the QM software partition, which is mounted at /usr/share/qm/. The resulting path for QM applications is /usr/share/qm/etc/containers/systemd.

To configure the placement of applications in the QM partition, create a new qm stage in your manifest file, and configure QM-specific operations in the QM partition.

Embedding RPM packages in the QM partition

Place all QM-level RPM packages in the QM partition. When you write your OSBuild manifest, place all QM-specific operations inside the qm stage.

Prerequisites

Procedure

  1. To configure your custom OSBuild manifest to install your auto-apps application into the QM partition of the OS image, include the qm stage in your manifest file. Create a content section in the the qm stage and define the repository that you want to enable, as well as the RPM that you want to install:

    OSBuild manifest
    qm:
      content:
        repos:
          - id: auto-apps
            baseurl: file:///var/tmp/my_repo
        rpms:
          - auto-apps
    

Next steps

Now that you have configured your custom OSBuild manifest to initialize the QM partition and install your RPM package, you can build your AutoSD image. For more information, see Building an AutoSD image.

Embedding containerized applications in the QM partition

Place all QM-level containerized applications in the QM partition. When you write your OSBuild manifest, place all QM-specific operations inside the qm stage.

To configure your custom OSBuild manifest to install one or more container images in the QM partition, include the qm stage in your manifest file. Create a content section in the the qm stage and define the source URL, tag, and name of the container image.

You can view a complete example manifest for QM container configuration in the demos/container_qm/container_qm.aib.yml file.

Prerequisites

  • One or more container images available from a local or remote registry.

    Note

    Installing container images from local storage is appropriate only for development and experimental purposes.

Procedure

  1. Include the qm stage in your manifest to initialize the QM partition. Add content and container_images sections to the qm stage so that you can define the container images that you want to install:

    OSBuild manifest
    qm:
      content:
        container_images:
          # Get the CS10 base container in from a local container registry
          - source: quay.io/centos/centos
            tag: stream10
            name: localhost/cs10
            containers-transport: containers-storage
          # Get the auto-apps container image from a remote container registry
          # here gitlab
          - source: registry.gitlab.com/centos/automotive/sample-images/demo/auto-apps
            tag: latest
            name: localhost/auto-apps
    

    Note

    To install a container image from local storage, set the containers-transport: containers-storage parameter.

  2. Optional. If you have container configuration files that you want to copy to the image, use the add_files section within the content stage. For example, copy the example radio.container and engine.container files to the image:

    OSBuild manifest
      add_files:
        - path: /etc/containers/systemd/radio.container
          source_path: ../radio.container
        - path: /etc/containers/systemd/engine.container
          source_path: ../engine.container
    

    Note

    The source_path: option resolves a relative path. In this example, the container configuration files are in the ../demos directory.

Next steps

Now that you have included your containerized application in your OSBuild manifest, you can build your AutoSD image. For more information, see Building an AutoSD image.


© Red Hat