java.lang.IllegalArgumentException running Server Automation adapter reuqest in Atrium Orchestrator

Version 1
    Share:|

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    BMC Atrium Orchestrator Runbooks


    APPLIES TO:

    BMC Atrium Orchestrator Content 20.xx.xx



    PROBLEM:

    When I trigger a workflow in BMC Atrium Orchestrator (BAO), the BMC Server Automation command fails with this error:

    Command execution failed. com.bladelogic.om.infra.cli.factory.CommandNotFoundException: Found command 'Utility.simpleExportComplianceRun' but with mismatching arguments. : java.lang.IllegalArgumentException: Wrong number of arguments provided to method : simpleExportComplianceRun expected : 7 received : 6

    The adapter is only sending six parameters:

    <command timeout-secs="300" terminate-on-exit="false">blcli_execute Utility simpleExportComplianceRun "" "" "" "Closed Loop-Compliance" "12345" "C:\tmp\\12345.csv"  </command>

    What is the seventh parameter, and how can I make BAO send it?


    CAUSE:

    The missing parameter is the job group, which BAO gets by looking up the job name in its module configuration and looking for a        element. If there is no job group, or if the job name is not in the configuration, the lookup will fail.  


    SOLUTION:

    Open the module Closed_Loop_Server-SA-Compliance in BAO Development Studio. Open its "configuration" list. Expand configuration -> BLADELOGIC -> Runbook_Defaults -> Jobs. This should contain XML like this, or something close:

    <result>
      <jobs>
        <job>
          <!-- one or more jobs -->
          <job-group>/Closed Loop Folder/CLSC</job-group>
          <!-- Fully qualified parent folder for job -->
          <job-name>compliance job</job-name>
          <!-- job name -->
        </job>
      </jobs>
    </result>


    Add a new <job> element to that corresponds to the job you are running and include an appropriate path:

    <jobs>
      <job>
        <!-- one or more jobs -->
        <job-group>/Closed Loop Folder/CLSC</job-group>
        <!-- Fully qualified parent folder for job -->
        <job-name>compliance job</job-name>
        <!-- job name -->
      </job>
      <job>
        <job-group>/testFolder/subfolder</job-group>
        <job-name>Closed Loop-Compliance</job-name>
      </job>
    </jobs>


    Save this, export the module to the grid, and activate the new version. You can also make this change in Grid Manager in the Manage -> Modules -> Closed_Loop_Server-SA-Compliance page, but changing it via Studio will let it persist through later module versions.


    Article Number:

    000124782


    Article Type:

    Solutions to a Product Problem



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles