You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Introduction

Automatics system reads configuration data required for test execution from Automatics Props application. It is configuration management tool for Automatics system. User can configure automatics and partner specific config data and device model specific config data using this tool. The data from Automatics Properties will be consumed by  Automatics Core/Partner Implementation/Rest Implementation Projects for executing the test cases. Partner can also configure their environment specific config data to it.

There are two types of configuration data in Automatics Props. The templates of configuration files are available at source rdk/tools/automatics/automatics-props.

  • Automatics properties - Java properties file with key value pair.  (automatics.properties)
  • Device Props – Json file containing device configuration for each model. (device_config.json)


Following are the properties expected in automatics.properties file. In addition to this, partner can configure their data also.

Property

Description

Mandatory Properties

device.props

Holds url that renders device_config.json

Url format - {protocol}://{host}:{port}/AutomaticsProps/deviceProps.json

Core uses this property to fetch configuration on device models.

automatics.url

Holds base url of Automatics orchestration

Url format - {protocol}://{host}:{port}/Automatics/

Core uses this property to update results back to orchestration.

regex.test.log

This is used for Html report generation in Jenkins.

Default value to be configured is “core\\.test”. The regular expression to identify java package for tests

regex.utils.log

This is used for Html report generation in Jenkins.

Default value to be configured is rdkutils\\.” . The regular expression to identify java package for utils project which is part of RDKV and RDKB automation tests.

regex.package.log

This is used for Html report generation in Jenkins.

Default value to be configured is \\|com\\.automatics.*?.(.*?):.*?](.*)

Regular expression for java packages to be considered for html report generation. Those packages that which matches with regex, their logs will be added to html report. User can provide multiple regex values in comma separated format.

Optional Properties

regex.partner.log

This is used for Html report generation in Jenkins.

Java package regular expression for partner code. If logs from partner to be considered in html report generation, then this param to be configured. This is optional field

RACK_BASE_URL

Holds base url for partner’s rest-based implementation of device management or hardware providers like PowerProvider.

Url format - {protocol}://{host}:{port}/

This property is required if partner prefers to go with rest-based implementation of device management or hardware providers like PowerProvider.

partner.impl.deviceManager

By default, Automatics core expects rest-based implementation of device management. However, if partner prefer to go with Java implementation of device management for Core, then this property should be set to true. Orchestration always expects device management APIs in rest only. So in this case, partner has to provide rest implementation for API for orchestration and Java API implementation for Core separately.


DEVICE_MANAGER_BASE_URLIf REST API based implementation of Device Management to be configured with Automatics, then please configure the base url in this property.

partner.impl.powerProvider

By default, Automatics core expects rest-based implementation of hardware providers like PowerProvider.

However, if partner prefer to go with Java implementation of PowerProvider, then this property should be set to true.

partner.impl.deviceConnectionProvider

By default, Automatics core expects Java implementation of DeviceConnectionProvider.

However, if partner prefer to go with REST implementation of DeviceConnectionProvider, then this property should be set to false.

partner.impl.ocrProvider

By default, Automatics core provides default implementation of Ocr provider APIs.

However, if partner prefers to go with custom implementation of OcrProvider, then this property should be set to true.

partner.impl.snmpFactoryProvider

By default, Automatics core provides default implementation of SNMP v2 and v3.

However, if partner prefers to go with custom implementation of SnmpProvider, then this property should be set to true.

crash.analysis.enable

Default value false. When set to true, enables crash analysis during trace monitoring

crash.analysis.exclusionlistCan configure test automation ids to be excluded from crash analysis
alternative.minidump.filename.matcherRegex to identify mini dump crash file from device log
alternative.coredump.filename.matcherRegex to identify core dump crash file from device log
dump.data.buildId.matcherRegex to identify build id from device log
issue.management.enableDefault value false. When set to true, automated issue ticket will be created when a crash occurs.
issue.management.service.urlBase url of issue management(eg: Jira) service 
WEBPA_SERVER_URLWebPA server url for webpa related communication eg : https://{host_name}:{port}/api/v2/device/mac:
serverConfig.path

Core provides default implementation for ssh connection. To make ssh connection to destination, credentials are required to be configured in file server-config.xml and it can kept in any location in Jenkins VM. The path of the file can be configured via property 'serverConfig.path'. Core will use this file to read credentials for ssh login. Template of server-config.xml - server-config.xml


Login Page

Automatics Properties page will be displayed upn on login. Following are the default properties.

To edit, the properties, click on 'UNLOCKED' link on left top side of page. This will allow only one person to update the document at a time. We will get pop message, "Successfully Locked".

Now user can edit the values and finally click on 'Submit' button to save the values. On submit, the application will save the values and logout and display message "Updated Successfully".

Automatics properties file

  • Launch {protocol}//{host:port}/AutomaticsProps/automatics/props.
  • User will be redirected to automatics properties page where it contains all the Properties which can be changed based on the requirements.
  • Automatics Core/Partner Implementation/Rest Implementation Projects will read configuration values from this file.
  • To edit the values, please click on “unlocked” button. Update the values and click on submit. This will save the configuration values.

Device properties file

  • Launch {protocol}// {host:port}/AutomaticsProps/deviceProps.
  • User will be redirected to device json page, where it contains the device model based configuration.
  • To edit device properties, user has to update the file device_config.json deployed in tomcat server at path apache-tomcat/webapps/automatics/. Currently, UI support is not available to edit values of device_config.json.

Software Requirement

  • JDK 1.8

Following page provide the detailed to setup Java 1.8 on linux

Automatics Orchestration Setup#JDK1.8 

  • Tomcat 7.0.XX or above

Following page provide the detailed steps to setup Tomcat 7 version on linux

Automatics Orchestration Setup#Tomcat7.0.XX

  • Maven 3

Following page provide the detailed steps to setup maven on linux

Automatics Orchestration Setup#Maven3

Setup

  • Clone AutomaticsProps project from the repository (rdk/tools/automatics/automatics-props) with branch (“rdk-next”).
  • Execute “mvn clean install”, and war file will be generated at target directory.
  • Copy automaticsProps.war file to apache-tomcat/webapps directory and rename it to AutomaticsProps.war.
  • Create a directory named “backup_file”, in apache-tomcat and place the sample “automatics.properties” file.  When ever user edits automatics properties, a backup file will be generated inside this directory.
  • Create a directory “automatics” inside apache-tomcat/webapps.
  • Copy “automatics.properties”, "device_config.json" and “config.properties” from automatics-props\src to tomcat/webapps/automatics folder. 
  • Configure“config.properties” with username and password required for Automatics Properties UI login.
  •  Start the server using command ./startup.sh.
  • No labels