diff options
-rw-r--r-- | README.md | 25 | ||||
-rw-r--r-- | deployment/zip/installer/install-latest.sh | 58 | ||||
-rw-r--r-- | deployment/zip/installer/install.sh | 41 | ||||
-rw-r--r-- | deployment/zip/pom.xml | 7 | ||||
-rw-r--r-- | framework/src/main/java/org/onap/cli/fw/utils/OnapCommandHelperUtils.java | 6 | ||||
-rw-r--r-- | framework/src/main/java/org/onap/cli/fw/utils/OnapCommandSchemaLoaderUtils.java | 21 | ||||
-rw-r--r-- | framework/src/main/resources/open-cli-schema/schema-refresh.yaml | 2 | ||||
-rw-r--r-- | plugins/sample/src/main/resources/open-cli-schema/hello-world-http.yaml | 4 |
8 files changed, 108 insertions, 56 deletions
@@ -2,20 +2,25 @@ Open Command-line interface Platform (OCLIP) ============================================ Provides unified commands to operate any cloud enabled software -products from Linux/Web console. Configure the following environment -variables, before using it: +products from Linux/Web console. + +Set the following environment variable, before using OCLIP: + +**OPEN_CLI_HOME** - Complete path of directory, where OCLIP is installed. + +To Run a command +----------------- +Configure the following environment variables: 1. **OPEN_CLI_HOST_URL** - Catalog service URL or a service URL 2. **OPEN_CLI_HOST_USERNAME** - Service user name 3. **OPEN_CLI_HOST_PASSWORD** - Service password -To Run a command ------------------ -Type **oclip <command>** from linux console. +Run **oclip <command>** from Linux console. To Run in Interactive mode -------------------------- -Type **oclip** from linux console. +Run **oclip** from Linux console. And use the directive set to set the values for following parameters: @@ -23,8 +28,8 @@ And use the directive set to set the values for following parameters: 2. **host-username** - Service user name 3. **host-password** - Service password -Set the product version ------------------------- +Select the product version +-------------------------- CLI framework is enhanced to handle multiple product versions at same time. so to choose the product version, set evironment variable **OPEN_CLI_PROUDCT_IN_USE**. @@ -32,7 +37,7 @@ time. so to choose the product version, set evironment variable NOTE: In interactive mode, product version can be selected using typing **use <product-version>** -Run *oclip [-v|--version]* to see the CLI and available product version details +Run *oclip [-v|--version]* to see the available product version details. Set the parameter values ------------------------ @@ -49,5 +54,3 @@ To run in debug mode, set following environment variables: 1. OPEN_CLI_DEBUG - By default its false, otherwise Set to true 2. OPEN_CLI_DEBUG_PORT - By default it is 5005, otherwise set to new TCP port number - - diff --git a/deployment/zip/installer/install-latest.sh b/deployment/zip/installer/install-latest.sh new file mode 100644 index 00000000..71488dae --- /dev/null +++ b/deployment/zip/installer/install-latest.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +#******************************************************************************* +# Copyright 2017 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#******************************************************************************* + +CLI_LATEST_BINARY="https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.cli&a=cli-zip&e=zip&v=LATEST" +CLI_INSTALL_DIR=/opt/onap/cli +CLI_ZIP=cli.zip +CLI_BIN=/usr/bin/onap +export OPEN_CLI_HOME=$CLI_INSTALL_DIR + +#create install dir +if [ -d $CLI_INSTALL_DIR ] +then + mv $CLI_INSTALL_DIR $CLI_INSTALL_DIR/../cli_`date +"%m-%d-%y-%H-%M-%S"` + rm $CLI_BIN +fi + +mkdir -p $CLI_INSTALL_DIR +cd $CLI_INSTALL_DIR + +#Download and unzip CLI +apt-get install -y wget unzip + +#check for java +java -version +if [ $? == 127 ] +then + apt-get install -y openjdk-8-jre +fi + +wget -O $CLI_ZIP $CLI_LATEST_BINARY + +unzip $CLI_ZIP +if [ ! -d ./data ]; then mkdir ./data; fi +if [ ! -d ./open-cli-schema ]; then mkdir ./open-cli-schema; fi +chmod +x ./bin/oclip.sh + +#Make oclip available in path +ln ./bin/oclip.sh $CLI_BIN + +#Print the version +onap -v + +cd - diff --git a/deployment/zip/installer/install.sh b/deployment/zip/installer/install.sh index 71488dae..ae702271 100644 --- a/deployment/zip/installer/install.sh +++ b/deployment/zip/installer/install.sh @@ -16,43 +16,20 @@ # limitations under the License. #******************************************************************************* -CLI_LATEST_BINARY="https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.cli&a=cli-zip&e=zip&v=LATEST" -CLI_INSTALL_DIR=/opt/onap/cli -CLI_ZIP=cli.zip -CLI_BIN=/usr/bin/onap -export OPEN_CLI_HOME=$CLI_INSTALL_DIR - -#create install dir -if [ -d $CLI_INSTALL_DIR ] -then - mv $CLI_INSTALL_DIR $CLI_INSTALL_DIR/../cli_`date +"%m-%d-%y-%H-%M-%S"` - rm $CLI_BIN -fi - -mkdir -p $CLI_INSTALL_DIR -cd $CLI_INSTALL_DIR - -#Download and unzip CLI -apt-get install -y wget unzip - -#check for java -java -version -if [ $? == 127 ] -then - apt-get install -y openjdk-8-jre -fi - -wget -O $CLI_ZIP $CLI_LATEST_BINARY - -unzip $CLI_ZIP +export OPEN_CLI_HOME=/opt/oclip +export OPEN_CLI_PRODUCT_IN_USE=open-cli + +cd $OPEN_CLI_HOME + if [ ! -d ./data ]; then mkdir ./data; fi if [ ! -d ./open-cli-schema ]; then mkdir ./open-cli-schema; fi + chmod +x ./bin/oclip.sh #Make oclip available in path -ln ./bin/oclip.sh $CLI_BIN +ln -sf ./bin/oclip.sh /usr/bin/oclip #Print the version -onap -v +oclip -v -cd - +cd -
\ No newline at end of file diff --git a/deployment/zip/pom.xml b/deployment/zip/pom.xml index e8cfa24b..b8e8b1f1 100644 --- a/deployment/zip/pom.xml +++ b/deployment/zip/pom.xml @@ -106,6 +106,13 @@ fileset(file: "${project.build.directory}/../../../README.md") } + + ant.copy(todir: + "${deployUnzip}") { + fileset(file: + "${project.build.directory}/../installer/install.sh") + } + ant.zip(destfile: "${deployFolder}/${outfileName}") { zipfileset(dir: "${deployUnzip}", excludes: "**/*.sh") diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandHelperUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandHelperUtils.java index c4a93370..f5ac764b 100644 --- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandHelperUtils.java +++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandHelperUtils.java @@ -77,8 +77,10 @@ public class OnapCommandHelperUtils { // Add description help += "\n\n" + cmd.getDescription(); - // Add service - help += "\n\nService: " + cmd.getInfo().getService(); + // Add info + help += "\n\nProduct: " + cmd.getInfo().getProduct(); + help += "\nService: " + cmd.getInfo().getService(); + help += "\nAuthor: " + cmd.getInfo().getAuthor(); // Add whole command String commandOptions = ""; diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandSchemaLoaderUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandSchemaLoaderUtils.java index e115fc02..ba72abd5 100644 --- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandSchemaLoaderUtils.java +++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandSchemaLoaderUtils.java @@ -20,6 +20,7 @@ import static org.onap.cli.fw.conf.Constants.ATTRIBUTES; import static org.onap.cli.fw.conf.Constants.AUTH; import static org.onap.cli.fw.conf.Constants.AUTH_VALUES; import static org.onap.cli.fw.conf.Constants.BODY; +import static org.onap.cli.fw.conf.Constants.BOOLEAN_TRUE; import static org.onap.cli.fw.conf.Constants.COMMAND_TYPE_VALUES; import static org.onap.cli.fw.conf.Constants.DEAFULT_PARAMETER_PASSWORD; import static org.onap.cli.fw.conf.Constants.DEAFULT_PARAMETER_USERNAME; @@ -172,9 +173,9 @@ public class OnapCommandSchemaLoaderUtils { validateSchemaVersion(DEFAULT_PARAMETER_FILE_NAME, cmd.getSchemaVersion()) : new HashMap<>(); //mrkanag default_parameter is supported only for parameters. if (defaultParameterMap.containsKey(INFO)) { - defaultParameterMap.remove(Constants.INFO); + defaultParameterMap.remove(Constants.INFO); } - + errors.addAll(OnapCommandSchemaLoaderUtils.parseSchema(cmd, defaultParameterMap, validateSchema)); } @@ -198,12 +199,12 @@ public class OnapCommandSchemaLoaderUtils { if (includeDefault) { Map<String, ?> defaultParameterMap = includeDefault ? validateSchemaVersion(DEFAULT_PARAMETER_HTTP_FILE_NAME, cmd.getSchemaVersion()) : new HashMap<>(); - + //mrkanag default_parameter is supported only for parameters. if (defaultParameterMap.containsKey(INFO)) { - defaultParameterMap.remove(Constants.INFO); + defaultParameterMap.remove(Constants.INFO); } - + errors.addAll(OnapCommandSchemaLoaderUtils.parseSchema(cmd, defaultParameterMap, validateSchema)); } @@ -402,7 +403,7 @@ public class OnapCommandSchemaLoaderUtils { IS_SECURED, parameter.get(key2))); } } - if ("true".equalsIgnoreCase(String.valueOf(parameter.get(key2)))) { + if (BOOLEAN_TRUE.equalsIgnoreCase(String.valueOf(parameter.get(key2)))) { param.setOptional(true); } else { param.setOptional(false); @@ -417,7 +418,7 @@ public class OnapCommandSchemaLoaderUtils { } } - if ("true".equalsIgnoreCase(String.valueOf(parameter.get(key2)))) { + if (BOOLEAN_TRUE.equalsIgnoreCase(String.valueOf(parameter.get(key2)))) { param.setSecured(true); } else { param.setSecured(false); @@ -432,7 +433,7 @@ public class OnapCommandSchemaLoaderUtils { } } - if ("true".equalsIgnoreCase(String.valueOf(parameter.get(key2)))) { + if (BOOLEAN_TRUE.equalsIgnoreCase(String.valueOf(parameter.get(key2)))) { param.setInclude(true); } else { param.setInclude(false); @@ -525,7 +526,7 @@ public class OnapCommandSchemaLoaderUtils { IS_SECURED, map.get(key4))); } } - if ("true".equals(String.valueOf(map.get(key4)))) { + if (BOOLEAN_TRUE.equals(String.valueOf(map.get(key4)))) { attr.setSecured(true); } else { attr.setSecured(false); @@ -669,6 +670,8 @@ public class OnapCommandSchemaLoaderUtils { } break; + //mrkanag: from auth command, add the parameters to the command's parameters list + case MODE: Object mode = serviceMap.get(key); srv.setMode(mode.toString()); diff --git a/framework/src/main/resources/open-cli-schema/schema-refresh.yaml b/framework/src/main/resources/open-cli-schema/schema-refresh.yaml index 86829534..e5c9b56f 100644 --- a/framework/src/main/resources/open-cli-schema/schema-refresh.yaml +++ b/framework/src/main/resources/open-cli-schema/schema-refresh.yaml @@ -1,6 +1,6 @@ open_cli_schema_version: 1.0 name: schema-refresh -description: Oclip command to refresh schemas stored in open_cli_schema folders. +description: Oclip command to refresh schemas stored in open-cli-schema folders. info: product: open-cli diff --git a/plugins/sample/src/main/resources/open-cli-schema/hello-world-http.yaml b/plugins/sample/src/main/resources/open-cli-schema/hello-world-http.yaml index e23b9594..04998ea3 100644 --- a/plugins/sample/src/main/resources/open-cli-schema/hello-world-http.yaml +++ b/plugins/sample/src/main/resources/open-cli-schema/hello-world-http.yaml @@ -2,7 +2,9 @@ open_cli_schema_version: 1.0 name: hello-world-http -description: First cmd hello world using http runing under lighttpd in cli at http://<cli-ip>:8080/version.json +description: | + First cmd hello world using http runing under + lighttpd in cli at http://<cli-ip>:8080/version.json info: product: sample-1.0 |