Platform Enablement

This section outlines the recommended process for companies to efficiently prepare their platform for integration on the LAA and into a Linaro Remote Lab infrastructure such as ONELab.

        graph TD;
    Start --> Pre_Operational_Activities;
    Pre_Operational_Activities --> LAA_Integration;
    LAA_Integration --> Platform_Automations;
    Platform_Automations --> Enabled;
    

Each step listed in the workflow above is detailed in the following sections.

Pre-Operational Activities

Linaro Remote Labs utilize the Test Automation Framework (TAF) known as LAVA (Linaro Automated Validation Architecture). Therefore, a platform (DUT) must be automation-enabled and LAVA-enabled, with corresponding LAVA jobs created to support the DUT before they can be used in a Linaro Remote Lab. By default, a Remote Lab customer is responsible for this enablement.

        graph TD;

    A(Start Enablement) --> B[Enablement Tasks];

   subgraph **Pre-Operational Activities**

    B --> C["Run ACS Tests (optional)"];
    B --> F[Complete Questionnaire];

  subgraph **Validate Automation**
   F --> P[Automation Review]
   P --> I{Automatable? Yes or No}
   end
   I -->|Yes| G[Order LAA]
   G -->H[H/W Automation Prep]


   I -->|No| Q((End))
   end


   H --> E(Begin LAA Integration);
    

Pre-Operational Activity Phase

Enablement Tasks

Each platform (DUT) integrated into a Remote Lab instance such as ONELab must meet specific requirements for automation enablement. Requirements specific to such Remote Lab instances can be found in the associated Users Guide. Reference content and enablement tasks common to all Remote Labs can be found in this section.

For an overview of LAVA, see What is LAVA?

Here are some additional references for LAVA Device Type Enablement, Creating LAVA Device Dictionary and Creating a LAVA Test Definition.

Important Linaro Remote Labs Documents to become familiar with include the ONELab Users Guide as well as the Introduction to Automated Device Testing section of this document.

Run ACS Tests (optional)

This optional step is ONELab specific and further details can be found in the ONELab Users Guide here. It is included in the LAA flow as an example of the parallel activity an LAA user may consider when preparing to run workloads on the LAA.

Validate Automation

This section defines the process of verifying whether a platform can be automated and if so the steps to do so. Each Linaro Remote Lab instance has unique requirements from an assessment perspective, thus the details for each are in their associated User’s Guide. The list below is where these reviews can be found:

The output of this section is a go / no-go based upon the ability of the platform to be automated and work within an embedded Test Automation Framework (i.e. LAVA).

Order LAA

Once your platform is confirmed to be automatable and optionally running any desired pre-integration validation test suites, you are ready to obtain your subscription. This subscription grants you access to your accounts and initiates the process for shipping an LAA to your chosen location. While awaiting delivery, you can proceed with the next section to prepare for installing your DUT and connecting it to your Remote Lab.

Please contact linaro-sales@linaro.org for more information on attaining a your Remote Lab subscription(s).

Hardware Automation Prep

To execute tests leveraging the LMS - LAA infrastructure, several tasks must be performed by the customer. This section outlines the content required to be included by the customer and provided to Linaro to complete this task. This section outlines the steps the customer must perform in order to do so.

The primary task a customer must perform on their platform is to create a LAVA Device Type and Device Dictionary. See the Device-Type enablement section of this document for the steps to complete this task.

Upon completion of the above, you need to contact Linaro Support and provide the following information to Linaro:

  • Device Type Name: This is a text description of that the customer would like to use and displayed on User Interfaces such as the ONELab Explore Boards Page.

  • Device Type File: This is a text file outlining the Device Type using Jinja2 format. See the Device-Type enablement section of this document for the steps to complete this task.

  • Device Dictionary File: This is also a Jinja2 file. The purpose, formatting and creation of this file can also be found in the Device-Type enablement section of this document

The Linaro LMS backend also requires several additional text fields to associate the automations with your platform. These may or may not be leveraged in a front end UI such as ONELab, but are available in case they’re needed. They include the following:

  • Platform Name: Desired User Friendly name for the platform being enabled

  • Vendor Name: You companies name

  • SoC Name: The name of the SoC for this Device Type / Platform combination

  • Device Tree Name: For a Device Type, there is often a less friendly name used in the upstream Linux Device Tree configurations. This may also be included.

  • URL to a location describing the device

  • URL to PSA certification if certified

  • LAVA and ONELab perform regular, minimal health checks by running a small job that simply boots the device to a command prompt.

    For customers who require a more comprehensive health check—such as those involving device reflashing or requiring special customer-supplied scripts—those scripts must be provided to Linaro.

    Please note: Developing health checks that are more complex than the standard boot test may incur an incrementa fee. If you require advanced health checks, please contact Linaro via the Support portal to discuss your specific needs and potential funding requirements.

Tip

To check the timing, sum the seconds in all sleep commands in the power_off_command list. The total must be less than 10 seconds – otherwise, LAVA will throw an error during shutdown handling.

The method to provide the above is service specific. For example, if a ONELab customer, you can provide all of the above through the ONELab Support Portal. If unsure of which way to provide the information to Linaro, please contact Technical Support.

LAA Integration Tasks

This section outlines the steps to configure your newly received LAA and prepare it for use.

        graph TD;

    R(Receive LAA) -.-> A
    style R fill:#00AA00,stroke:#000,color:#FFF;

    A(Begin LAA Integration)--> C[LAA Unboxing];


   subgraph **Integration Tasks**
    C;

    subgraph **Set Up LAA Platform**
    C --> D[MIB Installation];
    D --> E[Connect DUT]
    E --> F[Power Up];
    end

    F --> G[Verify Platform Activation];
    G --> H[LAA Integration Complete];
   end

    H --> I(Begin Platform Automations);
    

Remote Lab Integration Phase

Set Up LAA Platform

Upon receipt of your LAA, you’re ready to set up your LAA, connect your DUT, and get it connected to the ONELab service. This process is detailed in the LAA Unboxing section of the LAA Users Guide.

To update

Notes from presentation on unboxing:

  • FlyLead MIB 2:00 mark

Verify Platform Activation

This step verifies that you can log into ONELab, navigate to the Platform section, and confirm that your platform is visible and marked as “online.” Once fully configured and powered up, the system automatically connects to the Linaro Remote Labs backend. If successful, your newly enabled platform will appear in your ONELab Dashboard, confirming a successful connection.

TODO

Add a picture of DashBoard showing the LAA OR video

The User Interface section of the ONELab Users Guide provides detailed information on how to log in and confirm the LAA is now present.

Platform Automations

With the DUT connected to the LAA/MIB, you’re now able to go through the process of creating the needed automations to enable your platform into the ONELab CI.

        graph TD;

    A[Begin Platform Automations] --> F[Complete Questionnaire];
    A --> C[Integrate Device Type];

   subgraph **Platform Automations**
    C;
    F[Document Platform Mods];

    subgraph **Enable CI Automations**
    C --> H[Integrate Device Dictionary];
    H --> I[Integrate Health Check Job]
    I -->L[Integrate Payload Jobs]
    L -->D[Integrate ACS Test Job];
    end

    subgraph **Validate Automation**
        F --> G[Modify DUT if required];
    end

    D --> K[Upload Jobs]

   end

    G --> E(Congratulations!);
    K --> E

    

Platform Automation Phase

Enable CI Automations

Preparing your platform with the needed software/CI automations consists primarily of LAVA enablement on your platform. This consists of several steps outlined in the Hardware Automation Prep section. Once the customer deliverables from the referenced section are provided to Linaro, they are then integrated into ONELab and the customer can begin testing their newly integrated platform.

Validate Automation

Note that a section in the LAA User’s Guide to document the modifications needed by various platforms is located here. Adding your platform to this section is optional. If you wish to have your platform modification published in this section, please contact Linaro.

Ready for Operation

Congratulations! You’re now ready to use the LAA in a remote labs solution!

Please see the Users Guide for the Linaro Remote Labs solution you’re using for next steps.