Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Setup

If you already have an existing setup of Automatics you can follow the steps in this page for upgrading the software's Automatics Technology Stack - Upgrade 

Software Requirement

  • JDK

    1.8
  • MySql 5.6
  • Tomcat 7.0.92
  • Maven 3
  • SMTP server (optional, if email feature in Automatics to be enabled)

MySQL Configuration           

  • 17

Please note that even though the recommended version of Orchestration is JDK17, it is reverse compatible with JDK11 also. So code also be compiled with JDK11. Follow Steps below to install Java 17 on CentOS/linux.

    • Update before installing any new program
Code Block
languagebash
sudo yum -y update
    • Install Java 17
Code Block
languagebash
sudo yum install java-17-openjdk


    • Verify Java is Installed
Code Block
languagebash
java -version


Sample output:

Image Added

  • MariaDB 10.11

Follow below steps to install and configure MariaDB on CentOS/linux

    • All the packages need to be up-to-date. Use the following command to update your packages.

      Code Block
      languagebash
      sudo yum update

      Create a new repo file for the latest version.

      Code Block
      languagebash
      vi /etc/yum.repos.d/MariaDB.repo

      Copy and paste the following contents into the /etc/yum.repos.d/mariadb.repo file.

      Code Block
      [mariadb]
      name = MariaDB
      baseurl = http://yum.mariadb.org/10.11/centos7-amd64
      gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
      gpgcheck=1

      To exit and save the Vim file, type :wq and press Enter.

    • Install the Latest Version of MariaDB

Install 10.11 of MariaDB and the most common packages, using the command below.

Code Block
languagebash
sudo yum install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common
    • Start MariaDB

      Start the MariaDB service with this command.

      Code Block
      languagebash
      sudo systemctl start mariadb

      To set MariaDB to start automatically when the VM boots up, use the following command.

      Code Block
      languagebash
      sudo systemctl enable mariadb

      Check the current status of MariaDB using this command.

      Code Block
      languagebash
      sudo systemctl status mariadb

      Check the currently installed MariaDB version with this command.

      Code Block
      languagebash
      sudo mysql -u root -p -V
  • Tomcat 9.0.XX

Follow below Steps to setup Tomcat server  on CentOs/linux.

Code Block
languagebash
wget -c https://downloads.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
    • Extract the Tomcat archive to the directory in which you want to deploy the Automatics Tools
      Code Block
      languagebash
      sudo tar -xvf apache-tomcat-9.0.85.tar.gz -C /opt/automatics/
    • Navigate to the tomcat file path and run ./bin/startup.sh cmd to start the tomcat server.

Sample Output:

Image Added

  • Maven 3

Follow below steps to setup maven on Centos/linux.

Image Added

    • Add maven bin folder path using cmd "export PATH=<MAVEN_FOLDER_PATH>:$PATH.

Example:

Image Added

    • Verfiy Maven is installed by giving "mvn -v" cmd.

Image Added

  • SMTP server (optional, if email feature in Automatics to be enabled)

MySQL Configuration           

  • Create database with name ‘automatics’.
  • Execute
  • Create database with name ‘automatics’.
  • Execute the script 'Automatics_DB.sql' that is available with Orchestration source at 'automatics\resources\'. Now the Automatics tables are created with basic configuration data.
  • Execute the script 'Automatics_RDKB' that is available with Orchestration source at 'automatics\resources\'. Now the Automatics tables are updated with basic Automatics_RDKB data.
  • Execute the script 'Automatics_MySqlProcedures.sql' that is available with Orchestration source at 'automatics\resources\'.  This is a stored procedure invoked by orchestration to update test pass/fail count in DB.

...

  • Pull the latest Automatics Orchestration tool project from the repository (rdk/tools/automatics) with branch “rdk-next”.
  • After taking the pull, do “mvn clean install” then war file will be generated and will be present inside Automatics/release/Automatics-v0.1v<version>/ folder inside the project.
  • Rename war to Automatics.war.

...

System Config Param

Description

DEFAULT_SYNDICATION_PARTNER

Default syndication partner. Eg: Company name

SYNDICATION_PARTNERS

Syndication partner names in comma separated format.  Eg: Company name1, Company name2

DEVICE_INVENTORY_BASE_URL

Base URL which is having the rest implementation of device management

EXECUTION_ENVIRONMENT_TYPES

Execution environment types in comma separated format. Supported values are RDKV, RDKB

JUN

Jenkins Username 

JUP

Jenkins Password 

LDAP

LDAP Configuration values

Test_Types

Test Types supported by Automatics, QUICK, QUICK_CI, 1HOUR, 4HOUR, 2DAYS, FAST_QUICK, FAST_QUICK_CIQUICK, FAST_QUICK_CI. New test types can also be created here using comma separated format. 

EXECUTION_PRIORITY

Test cases will be executed based on the priority. Default provided values in comma separated format for execution priority are P0,P1,P2,P3

JOB_NAME_PREFIX

Prefix of the Jenkins job name. Depending on the test environment partner can configure multiple jenkins jobs for test execution and they all should have name that is configured here with an index. Default provided value is “GENERIC_RDKM_JOB”. eg: GENERIC_RDKM_JOB1, GENERIC_RDKM_JOB2 ...GENERIC_RDKM_JOBN

MINIMUM_FAIL_PERCENTAGE_TO_RETRY_TEST

After test execution, orchestration will calculate the percentage of failed test steps in a test script. If the failure percentage is beyond the limit configured here, then test will be automatically selected for re-trigger. Default value is 20

USER_DEFAULT_MODULES

Values of the default modules that can be accessed by the guest user. Default provided values separated by hyphen -3-5-6-8-9-13-

MASTER

Comma separated string keywords to identify a build name as master

SPRINT

Comma separated string keywords to identify a build name as sprint

STABLE

Comma separated string keywords to identify a build name as stable

CI_BUILD

Comma separated string keywords to identify a build name as CI build

TM_TYPE

Automatics deployment environment. Valid values DEV or PROD

HEAD_ENDS

Head ends to which devices are connected. Values added in comma separated format

SERVICE_CI_VERIFICATION_VALUE

Value for service CI_VERFICATION. Supported value CI_VERIFICATION.

SERVICE_FUNCTIONAL_VERIFICATION_VALUE

Value for service FUNCTIONAL_VERIFICATION. Supported value FUNCTIONAL _VERIFICATION.

REASON_TYPES

Reasons for adding/updating/deleting scripts via 'Manage Script' page. Values added in comma separated format

MAX_DAILY_ACCEPTABLE_GRT_BUILD_FROM_PORTALIdeally automatics process one time only the same CI build for a device. If process/execution to be done multiple time on same CI build for same device this property can be configured.
RDK_PORTAL_BASE_URLRDK Portal base url; Required only for integration with Partner's CI Portal
RDK_PORTAL_AUTHAuthentication token to access the RDK portal. Currently, this is not used by Orchestration for communicationOrchestration for communication
ISSUE_MANAGEMENT_URLIssue/Defect Management service base url; Required only for automated defect creation
AUTOMATICS_BASE_URLBase URL of Automatics Orchestration Application
MICROSERVICE_URLBase URL of Scriptless Service
TEST_TYPE_MAPTest types enums are removed from orchestration and added here as key value pairs. Use the insert script from Automatics_DB.sql mentioned with a comment as 'Changes for Test type configuration' to insert this record.ISSUE_MANAGEMENT_URLIssue/Defect Management service base url; Required only for automated defect creation

 

Device Models

  • From Automatics UI, navigate to Settings -> Manage Scripts -> Run on Models

...

insert into source_code_details (NAME, CATEGORY_TYPE, SOURCE_REPO, SOURCE_BRANCH, DELETED_DATE, UPDATED_BY, UPDATED_DATE) values ('RDKV_CORE_TESTS', 'RDKV', 'generic-automation-tests', 'rdk-next', NULL,  'admin', now());

 Job Settings

         From From Automatics UI,User can navigate to the page Settings ->  Job Settings.

And verify (AUTO_QUICK_TEST_JOB, AUTO_QUICK_TEST_JOB_CI, AUTO_1HOUR_TEST_JOB, AUTO_4HOUR_TEST_JOB,AUTO_2DAYS_TEST_JOB,AUTO_COMPONENT_TEST_JOB..) jobs             are ,) jobs are created in the UI.

If job is not created please follow this Url Automatics Orchestration User Manual - Preferred Program - RDK Central Wiki

            For each test type in Automatics, job will be created during test execution. The jobs are created based on job templates. For each test type, a job template need to be created.

Image Removed

    • Click on Add New Job
    • Enter Job Name: Enter the Job Name with the prefix of AUTO followed by TEST_TYPE and JOB, all are separated by “_”.                                

Eg: AUTO_1HOUR_JOB. Quick Test is configured as parent of all other jobs. Child jobs are executed in the order of priority set for the job.

Image Removed

    • Please update the default value for each field here.
      • For CI integration, if results of test execution to be updated to CI portal, then set 'updateRdkPortal' to true here.
    • Click on Save.

Wiki

 If the jobs not configured you can follow the UI.

For the below test types configured in Automatics, user has to create a Job template from Job Settings page. The Job names and test types names should be configured as below.

Job templates are created . If it is not not created you can follow Automatics Orchestration User Manual - Preferred Program - RDK Central Wiki
User can create a new test type, map the test cases to the newly created test type and execute the test cases. To create a new test type add the test type using system configuration tab
under 'Test_Types' configuration name. If a new test type is created, then a new job as to be created based on test type name. The job name should be in the format of 'AUTO_'+'Test type name'+'_TEST_JOB'.
For example If a test type is created as 'REGRESSION', then the job name should be 'AUTO_REGRESSION_TEST_JOB'. Do not create new test types by using the use the test type name that are already present
in 'Test_Types' and 'TEST_TYPE_MAP' config values from the system_config tableFor the below test types configured in Automatics, user has to create a Job template from Job Settings page. The Job names and test types names should be configured as below.

Test TypeTemplate Job Name
QUICK, FAST_QUICKAUTO_QUICK_TEST_JOB
QUICK_CI, FAST_QUICK_CIAUTO_QUICK_TEST_JOB_CI
1HOURAUTO_1HOUR_TEST_JOB
4HOURAUTO_4HOUR_TEST_JOB
2DAYSAUTO_2DAYS_TEST_JOB
Tests not mapped to any groupAUTO_COMPONENT_TEST_JOB

...