Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-846

Improve usability of jboss-admin.sh for scripting environments

    Details

    • Type: Feature Request
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 7.0.0.Beta3
    • Fix Version/s: 7.0.0.CR1
    • Component/s: CLI
    • Labels:
      None
    • Environment:

      sh based environments

      Description

      I want to be able to find out what deployments exist in a server in a
      scripting environment. There are a couple of issues in the
      jboss-admin.sh that prevent this from being done. The first is the dump
      of the environment header:

      =========================================================================

      JBoss Admin Command-line Interface

      JBOSS_HOME:
      /home/git/JBossAS/jboss-as/build/target/jboss-7.0.0.Beta4-SNAPSHOT

      JAVA:
      /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/java

      JAVA_OPTS:

      =========================================================================

      1. I would like to add a q/-quiet option that disables the output of
      this header. It would also suppress the "Connected..." and "Closed..."
      msgs as all I want to see is the output of the command that is being
      executed to simplify the script's parsing of the returned information.

      2. The second is the handling of arguments with strings. The way the
      launch of the org.jboss.as.cli module is done, arguments to the
      jboss-admin.sh with quotes around spaces are incorrectly interpretted as
      multiple arguments. For example, trying to list the deployments using:

      [130](ironmaiden:bin) > ./jboss-admin.sh --connect command='ls deployment'
      Connected to standalone controller at localhost:9999
      extension path subsystem
      deployment management-interfaces management
      interface socket-binding-group
      Closed connection to localhost:9999

      produced just the result of an "ls" command without any arguments. The
      reason is that the CommandLineMain.main saw 3 arguments instead of 2:

      {"--connect", "command=ls", "deployment"}

      . The "$@" list of arguments
      to the shell script needs to be hard quoted so that the eval command
      properly expands the arguments. With this, the previous command now
      produces the expected listing of the deployment node:

      [131](ironmaiden:bin) > ./jboss-admin.sh --connect command='ls deployment'
      Connected to standalone controller at localhost:9999
      ROOT.war
      Closed connection to localhost:9999

      In these examples I have not yet suppressed the "Connected..." and
      "Closed..." msgs coming from the CommandLineMain class.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                starksm64 Scott Stark
                Reporter:
                starksm64 Scott Stark
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Due:
                  Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1 hour
                  1h
                  Remaining:
                  Remaining Estimate - 1 hour
                  1h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified