1 Overview of the WebLogic Scripting Tool for Oracle Traffic Director

The WebLogic Scripting Tool (WLST) is a command-line scripting environment that you can use to create, manage, and monitor Oracle Traffic Director configurations and instances. WLST is based on the Java scripting interpreter, Jython. In addition to supporting standard Jython features such as local variables, conditional variables, and flow control statements, WLST provides a set of scripting functions (commands) that are specific to Oracle Traffic Director. You can invoke the WLST by executing the wlst.sh, as follows:

cd ORACLE_HOME/oracle_common/common/bin
./wlst.sh

ORACLE_HOME is the Oracle Home directory you specified at installation.

Note:

As of 12.2.1.4.0, Oracle Traffic Director is deprecated. In the future, use Oracle HTTP Server, Microsoft IIS Web Server, or Apache HTTP Server plug-ins, or a native Kubernetes load balancer, such as Traefik for equivalent functionality.

This guide defines all the custom WLST commands supported for configuring and administering Oracle Traffic Director.

Changes from Release 11g

Oracle Traffic Director administration is now built on a Common Administration Model (CAM). CAM includes system components such as, Oracle HTTP Server, and Oracle Traffic Director in the WebLogic domain. An Oracle Traffic Director Administration Server is no longer required. You must install Oracle WebLogic Server, create an Oracle WebLogic domain and use Oracle WebLogic Administration Server to manage Oracle Traffic Director.

WLST is now the equivalent of the Oracle Traffic Director tadm command line in Release 11g. You can only run the commands in script mode and not in standalone mode. The commands are implemented as WLST custom command functions, they are not hyphenated and follow the pattern 'otd_MixedCaseCommandName'. For example, the create-config command in Release 11g is the otd_createConfiguration command.

Changes in 12c

The following table lists the 11g commands that have been modified in 12c

11g commands 12c command Comments
 

Path to the directory that contains Oracle Traffic Director domain

Mandatory.

 

Name of the Oracle Traffic Director instance.

Mandatory.

Usage Modes

You can use the following techniques to invoke Oracle Traffic Director custom commands. For more information on using WLST in these modes, see Interactive Mode, Script Mode, and Embedded Mode in Understand WebLogic Scripting Tool Guide.

Interactive Mode

In the interactive mode, the WLST scripting shell maintains a persistent connection with an instance of WebLogic Server. You can enter an Oracle Traffic Director command and view the response at the command line prompt.

# Launch wlst.sh
<oracle_home>/otd/common/bin/wlst.sh
 
# Connect to WLS admin server
> connect('weblogic', 'password',"t3://localhost:7001")
 
# Execute an OTD command - list existing configurations
> otd_listConfigurations()
['origin-server-1', 'test', 'origin-server-2', 'origin-server-3']
 
# Execute another command - get http properties of configuration 'test'
> props={'configuration': 'test'}
> ret = otd_getHttpProperties(props)
> print ret
{'ecid': 'true', 'unchunk-timeout': '60', 'discard-misquoted-cookies': 'true', 'max-request-headers': '64', 'favicon': 'true',
'request-body-timeout': '-1', 'request-header-buffer-size': '8192', 'etag': 'true', 'max-unchunk-size': '8192', 'io-timeout': '30',
'body-buffer-size': '1024', 'output-buffer-size': '8192', 'websocket-strict-upgrade': 'false', 'strict-request-headers': 'false',
'request-header-timeout': '30', 'server-header': None}

Script Mode

Scripts invoke a sequence of WLST commands without requiring interactive input, much like a shell script. Scripts contain WLST commands in a text file with a .py file extension.

Embedded Mode

In embedded mode, the WLST interpreter can be instantiated in Java code and used to run WLST commands and scripts. To run Oracle Traffic Director commands in embedded mode, you must extend the environment to include Oracle Traffic Director commands and libraries as follows:

  1. Extend the Java classpath to include <oracle_home>/otd/lib/admin.jar.
  2. Set the weblogic.wlstHome Java system property to point to <oracle_home>/otd/common/wlst.

    For example, -Dweblogic.wlstHome=<oracle_home>/otd/common/wlst

  3. Write a Java program to invoke Oracle Traffic Director commands:
    package oracle.otd.wlst;
     
    import weblogic.management.scripting.utils.WLSTInterpreter;
    import org.python.util.InteractiveInterpreter;
     
    public class WLSTClient
    {
       public static void main(String[] args)
       {
           InteractiveInterpreter interpreter = new WLSTInterpreter();
           interpreter.exec("connect('weblogic', 'weblogic1','t3://localhost:1894')");
           interpreter.exec("print otd_listConfigurations()");
       }
    }
    

Offline Commands

The following Oracle Traffic Director WLST commands can be executed in offline mode directly on the host where the Oracle Traffic Director instance/admin server is configured.

Offline Provisioning

After creating and extending the domain with Oracle Traffic Director domain template, use the following offline commands to create and delete Oracle Traffic Director configurations and instances on the administration server. These commands do not require the administration server to be running. Run these commands on the host where the administration server resides.

As these are offline commands, you need not execute activate for changes to be applied. Ensure that there is no open edit session while running these commands as these would manipulate the config-store directly and the changes will not be applied in the edit session unless the administration server is restarted.

Note:

You cannot invoke the above commands in offline mode until a domain has been read using readDomain. Make sure to update the domain using updateDomain after the command for changes to be applied.

Monitoring

The following commands can be used for monitoring the statistics pertaining to an instance by executing the commands directly on the host where the OTD instance resides.

SNMP Runtime Management

The following commands can be used to start/stop SNMP sub-agent by executing the commands directly on the host corresponding to the machine.

Failover Runtime Management

The following commands can be executed to start/stop failover on the instance by executing the commands directly on the host where the OTD instance resides:

Custom WLST Command Usage

All Oracle Traffic Director custom WLST commands are implemented as Jython functions with options (if any) passed as function arguments.

Syntax

> <otd_custom_command>(props) or <otd_custom_command>()

Use with WLST

Unless specified otherwise, the commands can only be executed online where the connection to a running server is needed. If mentioned as Offline, the command can be executed directly on the host where the Oracle Traffic Director instances are to be configured.

While specifying the path in WLST commands in a Microsoft Windows system, ensure that the path is provided with double backslash only. For example, C:\\newline.

Arguments

The commands either take no argument or a python dictionary as an argument. All the properties are passed to the command in python dictionary as name-value pairs with both name and the value being strings.

Return Values

Unless specified otherwise, all the getter commands (otd_getX) return a python dictionary with properties as name (string)-value (string) pairs, setters (otd_setX) and create/delete do not return any value while list methods (otd_listX) return a list of python dictionaries of name (string)-value (string) pairs

Error Messages

In case of an error, all the commands throw a WLSTException with an exception message ID in the format 'OTD-XXXXX', and a description. For example:

WLSTException: OTD-67853 Object does not exist: oracle.otd.admin:type=Configuration,configuration=test1

Unable to Unset/Disable the URI Mapping on a Route

To unset a value for any property, ensure that you enter "None". Leaving an empty string does not unset a property.

List of Commands

This section contains the functional list of WLST commands that are used in Oracle Fusion Middleware. Using this section you can look for specific commands based on the functional role of Oracle Fusion Middleware.

Provisioning

Commands for provisioning a collocated or standalone domain.

Collocated Domain
Standalone Domain

The following commands are for provisioning a standalone domain.

Instance Management

The following are instance management commands:

Configuration Deployment

TCP Load Balancer Management

Server Pool Management

Commands for server pool management.

Health Check

The following are health check commands:

SSL Management

Commands for managing SSL.

Ciphers

The following are the ciphers supported by the server and are enabled by default.

  • TLS_RSA_WITH_AES_128_CBC_SHA

  • TLS_RSA_WITH_AES_128_CBC_SHA256

  • TLS_RSA_WITH_AES_256_CBC_SHA256

  • TLS_RSA_WITH_AES_128_GCM_SHA256

  • TLS_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

The following ciphers are disabled by default and are now deprecated.

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

  • TLS_RSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA

  • SSL_RSA_WITH_3DES_EDE_CBC_SHA

Monitoring

Commands for monitoring.

Runtime Statistics

The following are commands for displaying runtime statistics:

SNMP Configuration

The following are commands for SNMP configuration:

SNMP Runtime Management

The following are commands for SNMP runtime management:

Failover Management

The following are failover management commands:

Runtime Management

The following are runtime management commands:

Multi-tenancy (with WebLogic Server MT)

Commands for use with Oracle Traffic Director in a WebLogic Server MT environment.

Service Management

Commands used for creating or deleting operating system services for Oracle Traffic Director instances.