Configure QPLMS

QNX SDP8.0PLMS User's GuideAPIConfigurationDeveloper

This chapter contains a sample configuration and describes adjustable parameters and their possible values.

Configuration overview

The QPLMS launcher specification is provided as a configuration file on the plms command line. plms accepts additional configuration files to support modular configuration. Additional configuration files can be specified using the include keyword in a configuration file, or with the fsp_plms_LoadConfig() library function. For debug or test purposes, additional configuration files can also be loaded with the plmsctrl debug utility.

Configuration file structure

include "path_to_include_file"    //includes a cfg file

component "component_name" {
    depend      = ["comp1:session|stateless",
                   "comp2:session|stateless",
                   "comp3:session|stateless"]
    coptions    = ["NOTIFY_ALL"]

    task "main" {
        command     = "executable_path"
        args        = "executable args"
        stype       = "security policy type name"
        runmask     = integer value
        priority    = "policy:priority:parameters"
        ability     = [“ABILITY1”, “ABILITY2”]
        cwd         = "change process working directory"
        groups      = [gid1, gid2]
        user        = "uid"|":gid"|"uid:gid"
        aps         = "partition_name"
        stdin       = "filename:mode"
        stdout      = "filename:mode"
        stderr      = "filename:mode"
        tty         = "tty_filename"
        aslr        = "on|off"

        rlimits     = ["rlimit:cur[:max]", "rlimit:cur[:max]"]
        options     = ["PATHNAME", "CLEAR_ENV_LOGIN", "CLEAR_ENV_ALL", "CRITICAL"]
        env         = ["var1=value1", "var2=value2"]

        pathmgr_symlink("path", "symlink")
        pathmgr_unlink("path")

        exec()
        exec_waitfor_exit(timeout)
        exec_expect_exit(expected_exit_value, timeout)
        waitfor_pathname("path", poll_time, timeout)
        waitfor_attachname("path", timeout)
        waitfor_delay(delay)
        test_env("var", "expected_value")
        load_config("filename")
        start_components("module/component name to start")
        stop_components("module/component name to stop")
    }

    task "stop" {
        signal       = signal_number
        term_timeout = "time out"
        options      = [TERMINATE_CHILD, STOP_ON_CLIENT_TERMINATION]
    }

    task "recovery" {
        repair      = "NONE|STOP|RESTART|FAULT|DSS"
        max_tries   = retry_value
        wait_time   = value_to_wait_between_restarts
    }

    task "monitor" {
        interval    = "Heartbeat time interval"
        max_miss    = value
        start_delay = timeValue
    }

    start_sequence   = [main]
    stop_sequence    = [stop]
    on_fault         = "DSS|fault_task"
}

module "module_name" {
    "component_name1"
    "component_name2"
    "module_1"
} 

Configuration statements

Number formats

The numbers you add to the configuration file may be in decimal, octal, or hexadecimal format. If the first characters are 0x or 0X, the digits are treated as a hexadecimal. If the first character is 0, the digits are treated as an octal. Otherwise, the digits are treated as a decimal. Negative numbers are not supported.

Quoted strings

Quoted strings can include spaces but can’t contain further quotes. The character set for strings is limited to the ISO/IEC 8859-1:1998 character set.

Comments

Use the double slash (//) to add comments. You can add comments within components, modules, and task blocks. The double slash (//) within double quotes ("") are treated as a string and not a comment.

Page updated: