RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Table of Contents |
---|
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
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.
Code Block | ||
---|---|---|
| ||
sudo yum -y update |
Code Block | ||
---|---|---|
| ||
sudo yum install java-17-openjdk |
Code Block | ||
---|---|---|
| ||
java -version |
Sample output:
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 | ||
---|---|---|
| ||
sudo yum update |
Create a new repo file for the latest version.
Code Block | ||
---|---|---|
| ||
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 10.11 of MariaDB and the most common packages, using the command below.
Code Block | ||
---|---|---|
| ||
sudo yum install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common |
Start the MariaDB service with this command.
Code Block | ||
---|---|---|
| ||
sudo systemctl start mariadb |
To set MariaDB to start automatically when the VM boots up, use the following command.
Code Block | ||
---|---|---|
| ||
sudo systemctl enable mariadb |
Check the current status of MariaDB using this command.
Code Block | ||
---|---|---|
| ||
sudo systemctl status mariadb |
Check the currently installed MariaDB version with this command.
Code Block | ||
---|---|---|
| ||
sudo mysql -u root -p -V |
Follow below Steps to setup Tomcat server on CentOs/linux.
Code Block | ||
---|---|---|
| ||
wget -c https://downloads.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz |
Code Block | ||
---|---|---|
| ||
sudo tar -xvf apache-tomcat-9.0.85.tar.gz -C /opt/automatics/ |
Sample Output:
Follow below steps to setup maven on Centos/linux.
Extract distribution archive in any directory.
Example:
-DAutomatics -DhibernateUI.config.file = {path to hibernate config file}
Add the following param to JAVA_OPTS inside apache-tomcat/bin/catalina.sh file
-DloggerUI.properties.file = {path to log properties file}
-Dlog4j.configurationFile={path_to_custom_log4j2-test.xml}
...
...
System Config Param | Description | ||
DEFAULT_SYNDICATION_PARTNER | Default syndication partner. Eg: Company name | ||
SYNDICATION_PARTNERS | Syndication partner names in comma separated format. Eg: Company namename1, 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_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” | RDK_PORTAL_AUTH | Authentication token to access the RDK portal. eg: GENERIC_RDKM_JOB1, GENERIC_RDKM_JOB2 ...GENERIC_RDKM_JOBN |
MINIMUM_FAIL_PERCENTAGE_TO_RETRY_TEST | The percentage limit to test retry the failed tests. Default provided 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 | Device head end values provided 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_PORTAL | Ideally 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_URL | RDK Portal base url; Required only for integration with Partner's CI Portal | ||
RDK_PORTAL_AUTH | Authentication token to access the RDK portal. Currently, this is not used by Orchestration for communication | ||
ISSUE_MANAGEMENT_URL | Issue/Ticket Defect Management service base url; Required only for automated defect creation | ||
AUTOMATICS_BASE_URL | Base URL of Automatics Orchestration Application | ||
MICROSERVICE_URL | Base URL of Scriptless Service | ||
TEST_TYPE_MAP | Test 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. |
User needs to configure all device models that is going to execute from Automatics.
Automatics identifies a device model from its build name. For this, admin user has to configure device model and its corresponding build name. It requires only to map the device model and initial starting sub string of build name. The starting few letters(image prefix) in build name should be unique to a device model and this should be added in 'Image Name Prefix' text.
...
For Automatics to use devices from partner's inventory, device groups have to be configured. The device group name in inventory should be added here so that user can execute tests on devices from configured device within these groups only. Admin user can map device groups to users so that only those users mapped to device group can execute tests on device.
...
User can configure Jenkins details in resource details. The test execution happens at jenkins. The jenkins job name should be configured in 'System Configuration' page for param 'JOB_NAME_PREFIX'.
User can Admin user has to configure source repository repositories of test project projects in Automatics . Test project repository path and branch are passed to jenkins during execution. Jenkins will clone the repository and execute the tests. It requires user to add details from database.
...
Orchestration.
User can update source repo details via DB. UI support is not available now.
Following are the source repository details to be configured for RDKB. Please execute following SQL Queries.
Configure generic core tests
insert into source_code_details (NAME, CATEGORY_TYPE, SOURCE_REPO, SOURCE_BRANCH, DELETED_DATE, UPDATED_BY, UPDATED_DATE) values ('RDKB_CORE_TESTS', 'RDKB', 'generic-automation-tests', 'rdk-next', NULL, 'admin', now());
Configure RDKB tests
insert into source_code_details (NAME, CATEGORY_TYPE, SOURCE_REPO, SOURCE_BRANCH, DELETED_DATE, UPDATED_BY, UPDATED_DATE) values ('RDKB_TESTS', 'RDKB', 'rdkb-tests', 'rdk-next', NULL, 'admin', now());
Following are the source repository details to be configured for RDKV. Please execute following SQL Queries.
Configure generic core tests
...
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());
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 created in the UI.
If job is not created please follow this Url Automatics Orchestration User Manual - Preferred Program - RDK Central 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 table.
Test Type | Template Job Name |
---|---|
QUICK, FAST_QUICK | AUTO_QUICK_TEST_JOB |
QUICK_CI, FAST_QUICK_CI | AUTO_QUICK_TEST_JOB_CI |
1HOUR | AUTO_1HOUR_TEST_JOB |
4HOUR | AUTO_4HOUR_TEST_JOB |
2DAYS | AUTO_2DAYS_TEST_JOB |
Tests not mapped to any group | AUTO_COMPONENT_TEST_JOB |
Automatics Orchestration has the support to update test execution details and other updates to users via automated email notification.
To enable this feature, admin user has to configure following fields in System Configuration page:
System Config Param | Description |
---|---|
MAIL_FROM | Email sender id |
SMTP_HOST | SMTP server host details eg: {smtpHost:port} |
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.
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.
...
Following features should be given permission only to Admin.
...
...