diff options
45 files changed, 584 insertions, 118 deletions
@@ -1,21 +1,8 @@ -# Copyright 2018 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. - --- project: 'cli' project_creation_date: '2017-06-22' lifecycle_state: 'Incubation' +project_category: '' project_lead: &onap_releng_ptl name: 'Kanagaraj Manickam' email: 'kanagaraj.manickam@huawei.com' @@ -27,25 +14,32 @@ issue_tracking: type: 'jira' url: 'https://jira.onap.org/projects/CLI' key: 'CLI' +mailing_list: + type: 'groups.io' + url: 'lists.onap.org' + tag: '<[sub-project_name]>' +realtime_discussion: '' meetings: - type: 'zoom' - agenda: 'https://wiki.onap.org/display/DW/CLI+meetings' - url: 'https://wiki.onap.org/display/DW/CLI+meetings' - server: 'n/a' - channel: 'n/a' - repeats: 'weekly' - time: '13:00 UTC' + agenda: 'https://wiki.onap.org/display/DW/CLI+meetings' + url: 'https://wiki.onap.org/display/DW/CLI+meetings' + server: 'n/a' + channel: 'n/a' + repeats: 'weekly' + time: '13:00 UTC' +repositories: + - 'cli' committers: - <<: *onap_releng_ptl - name: 'Subhash Kumar' - email: 'subhash.kumar.singh@huawei.com' - company: 'Huawei' - id: 'subhash_singh' - timezone: 'India/Bangalore' + email: 'subhash.kumar.singh@huawei.com' + company: 'Huawei' + id: 'subhash_singh' + timezone: 'India/Bangalore' - name: 'Manoop Talasila' - email: 'talasila@research.att.com' - company: 'ATT' - id: 'talasila' - timezone: 'America/New York' + email: 'talasila@research.att.com' + company: 'ATT' + id: 'talasila' + timezone: 'America/New York' tsc: approval: 'https://lists.onap.org/pipermail/onap-tsc' diff --git a/deployment/docker/pom.xml b/deployment/docker/pom.xml index 89868f41..e9bc3b70 100644 --- a/deployment/docker/pom.xml +++ b/deployment/docker/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-deployment</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-docker</artifactId> diff --git a/deployment/pom.xml b/deployment/pom.xml index 22f0e16e..46c6f5a4 100644 --- a/deployment/pom.xml +++ b/deployment/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-deployment</artifactId> diff --git a/deployment/zip/pom.xml b/deployment/zip/pom.xml index 00a92f86..f9b244c7 100644 --- a/deployment/zip/pom.xml +++ b/deployment/zip/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-deployment</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-zip</artifactId> diff --git a/framework/pom.xml b/framework/pom.xml index 72b2a008..36a87d61 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-framework</artifactId> @@ -34,7 +34,7 @@ <dependency> <groupId>org.onap.cli</groupId> <artifactId>oclip-grpc-client</artifactId> - <version>1.0.2</version> + <version>1.0.3</version> </dependency> <dependency> <groupId>org.yaml</groupId> diff --git a/framework/src/main/java/org/onap/cli/fw/cmd/product/OnapServiceListCommand.java b/framework/src/main/java/org/onap/cli/fw/cmd/product/OnapServiceListCommand.java index 8cbfa36c..010cdc19 100644 --- a/framework/src/main/java/org/onap/cli/fw/cmd/product/OnapServiceListCommand.java +++ b/framework/src/main/java/org/onap/cli/fw/cmd/product/OnapServiceListCommand.java @@ -72,7 +72,7 @@ public class OnapServiceListCommand extends OnapCommand { } } - for (String service : rslt.get(product)) { + for (String service : rslt.getOrDefault(product, new HashSet<String>())) { this.getResult().getRecordsMap().get("service").getValues().add(service); this.getResult().getRecordsMap().get("description").getValues().add( serviceDescs.containsKey(service) ? serviceDescs.get(service) : ""); diff --git a/framework/src/main/java/org/onap/cli/fw/store/OnapCommandArtifactStore.java b/framework/src/main/java/org/onap/cli/fw/store/OnapCommandArtifactStore.java index f01f9a21..2e63b03e 100644 --- a/framework/src/main/java/org/onap/cli/fw/store/OnapCommandArtifactStore.java +++ b/framework/src/main/java/org/onap/cli/fw/store/OnapCommandArtifactStore.java @@ -50,11 +50,7 @@ public class OnapCommandArtifactStore { private static boolean storeReady = false; - private static SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US); - - static { - dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); - } + private SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US); private static String SEPARATOR = "__"; @@ -138,7 +134,7 @@ public class OnapCommandArtifactStore { private static OnapCommandArtifactStore store = null; private OnapCommandArtifactStore() { - + this.dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); } public static OnapCommandArtifactStore getStore() { @@ -222,7 +218,7 @@ public class OnapCommandArtifactStore { searchPattern += SEPARATOR; - if (category != null && !namePattern.isEmpty()) { + if (category != null && !category.isEmpty()) { searchPattern += category; } else { searchPattern += "*"; diff --git a/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java b/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java index 71cd245f..4fc2508a 100644 --- a/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java +++ b/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java @@ -43,11 +43,7 @@ public class OnapCommandExecutionStore { private static boolean storeReady = false; - private static SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US); - - static { - dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); - } + private SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US); private static String SEPARATOR = "__"; @@ -170,7 +166,7 @@ public class OnapCommandExecutionStore { private static OnapCommandExecutionStore store = null; private OnapCommandExecutionStore() { - + this.dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); } public static OnapCommandExecutionStore getStore() { @@ -306,9 +302,7 @@ public class OnapCommandExecutionStore { for (String dir: dirs) { list.add(this.makeExecution(dir)); } - } catch (IOException e) { - throw new OnapCommandExecutionFailed(e, "Failed to search the executions"); - } catch (InterruptedException e) { + } catch (Exception e) { throw new OnapCommandExecutionFailed(e, "Failed to search the executions"); } diff --git a/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java b/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java index b373a913..9b896230 100644 --- a/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java +++ b/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java @@ -144,23 +144,4 @@ public class ProcessRunner { public String getError() { return this.error; } - - public static void main(String[] args) { - try { - ProcessRunner pr = new ProcessRunner("dir", null); - pr.run(); - System.out.println(pr.getOutput()); - System.out.println(pr.getError()); - System.out.println(pr.getExitCode()); - - pr = new ProcessRunner(new String [] {"dir", "c:"}, null); - pr.run(); - System.out.println(pr.getOutput()); - System.out.println(pr.getError()); - System.out.println(pr.getExitCode()); - - } catch (InterruptedException | IOException e) { - e.printStackTrace(); - } - } }
\ No newline at end of file diff --git a/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java b/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java index 69b718d4..df94d594 100644 --- a/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java +++ b/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java @@ -145,13 +145,6 @@ public class OnapCommandUtilsTest { } @Test - public void replaceLineForSpecialValues_envVariable() { - String replacedLine = OnapCommandUtils.replaceLineForSpecialValues("$s{env:USER}"); - - assertEquals(System.getenv("USER"), replacedLine); - } - - @Test public void replaceLineForSpecialValues_multipleVariables() { String replacedLine = OnapCommandUtils.replaceLineForSpecialValues("$s{A} $s{B}"); @@ -485,6 +478,26 @@ public class OnapCommandUtilsTest { } } + @Test + public void testProcessRunner() { + try { + ProcessRunner pr = new ProcessRunner("dir", null); + pr.run(); + System.out.println(pr.getOutput()); + System.out.println(pr.getError()); + System.out.println(pr.getExitCode()); + + pr = new ProcessRunner(new String [] {"dir", "c:"}, null); + pr.run(); + System.out.println(pr.getOutput()); + System.out.println(pr.getError()); + System.out.println(pr.getExitCode()); + + } catch (Exception e) { + e.printStackTrace(); + } + } + private void mockPrintMethodException() { new MockUp<OnapCommandResult>() { boolean isMock = true; diff --git a/grpc/grpc-client/pom.xml b/grpc/grpc-client/pom.xml index 15e4f5b0..a8763857 100644 --- a/grpc/grpc-client/pom.xml +++ b/grpc/grpc-client/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>oclip-grpc</artifactId> - <version>1.0.2</version> + <version>1.0.3</version> </parent> <artifactId>oclip-grpc-client</artifactId> <name>oclip/grpc/client</name> diff --git a/grpc/grpc-client/src/main/java/org/open/infc/grpc/client/OpenInterfaceGrpcClient.java b/grpc/grpc-client/src/main/java/org/open/infc/grpc/client/OpenInterfaceGrpcClient.java index 2d9d32fc..9a818d7a 100644 --- a/grpc/grpc-client/src/main/java/org/open/infc/grpc/client/OpenInterfaceGrpcClient.java +++ b/grpc/grpc-client/src/main/java/org/open/infc/grpc/client/OpenInterfaceGrpcClient.java @@ -37,6 +37,25 @@ public class OpenInterfaceGrpcClient { private final ManagedChannel channel; private final OpenInterfaceGrpc.OpenInterfaceBlockingStub blockingStub; + public static class OpenInterfaceGrpcExecption extends Exception { + private static final long serialVersionUID = -8755636432217894246L; + + private int errorCode = -1; + + public OpenInterfaceGrpcExecption(int errorCode, String message) { + super(message); + this.errorCode = errorCode; + } + } + + public static class OpenInterfaceGrpcTimeoutExecption extends OpenInterfaceGrpcExecption { + private static int errorCode = 1; + + public OpenInterfaceGrpcTimeoutExecption(String message) { + super(errorCode, message); + } + } + public OpenInterfaceGrpcClient(String host, int port) { this(ManagedChannelBuilder.forAddress(host, port) // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid @@ -54,27 +73,31 @@ public class OpenInterfaceGrpcClient { channel.shutdown().awaitTermination(5, TimeUnit.SECONDS); } - public Output invoke(Input input) { + public Output invoke(Input input) throws OpenInterfaceGrpcTimeoutExecption { logger.info("Input " + input.toString()); Output result = Output.newBuilder().build(); try { - result = blockingStub.invoke(input); + result = blockingStub.withDeadlineAfter(10, TimeUnit.SECONDS).invoke(input); } catch (StatusRuntimeException e) { logger.warn("RPC failed: {0}", e.getStatus()); + //Status{code=DEADLINE_EXCEEDED} + throw new OpenInterfaceGrpcTimeoutExecption(e.getMessage()); } logger.info("Output: " + result.toString()); return result; } - public Result remoteCli(Args args) { + public Result remoteCli(Args args) throws OpenInterfaceGrpcTimeoutExecption { logger.info(args.toString()); Result result = Result.newBuilder().setExitCode(1).build(); try { - result = blockingStub.remoteCli(args); + result = blockingStub.withDeadlineAfter(10, TimeUnit.SECONDS).remoteCli(args); } catch (StatusRuntimeException e) { logger.warn("RPC failed: {0}", e.getStatus()); + //Status{code=DEADLINE_EXCEEDED} + throw new OpenInterfaceGrpcTimeoutExecption(e.getMessage()); } logger.info("Result: " + result.toString()); diff --git a/grpc/grpc-server/pom.xml b/grpc/grpc-server/pom.xml index a91cb884..e4d1a288 100644 --- a/grpc/grpc-server/pom.xml +++ b/grpc/grpc-server/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>oclip-grpc</artifactId> - <version>1.0.2</version> + <version>1.0.3</version> </parent> <artifactId>oclip-grpc-server</artifactId> <name>oclip/grpc/server</name> @@ -32,7 +32,7 @@ <dependency> <groupId>org.onap.cli</groupId> <artifactId>cli-main</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </dependency> </dependencies> <build> diff --git a/grpc/grpc-server/src/main/java/org/open/infc/grpc/server/OpenInterfaceGrpcServer.java b/grpc/grpc-server/src/main/java/org/open/infc/grpc/server/OpenInterfaceGrpcServer.java index 45a64084..afbd7682 100644 --- a/grpc/grpc-server/src/main/java/org/open/infc/grpc/server/OpenInterfaceGrpcServer.java +++ b/grpc/grpc-server/src/main/java/org/open/infc/grpc/server/OpenInterfaceGrpcServer.java @@ -208,7 +208,10 @@ public class OpenInterfaceGrpcServer { Builder reply = Output.newBuilder(); reply.setSuccess(true); reply.putAttrs(OnapCommandConstants.ERROR, "{}"); - reply.putAddons("execution-id", executionStoreContext.getExecutionId()); + + if (executionStoreContext != null) + reply.putAddons("execution-id", executionStoreContext.getExecutionId()); + try { reply.putAttrs(OnapCommandConstants.RESULTS, new ObjectMapper().readTree(printOut).toString()); } catch (IOException e) { diff --git a/grpc/grpc-stub/pom.xml b/grpc/grpc-stub/pom.xml index 00e34391..1fecb3aa 100644 --- a/grpc/grpc-stub/pom.xml +++ b/grpc/grpc-stub/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>oclip-grpc</artifactId> - <version>1.0.2</version> + <version>1.0.3</version> </parent> <artifactId>oclip-grpc-stub</artifactId> <name>oclip/grpc/stub</name> diff --git a/grpc/pom.xml b/grpc/pom.xml index 32104a63..4924ac72 100644 --- a/grpc/pom.xml +++ b/grpc/pom.xml @@ -18,9 +18,9 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> - <version>1.0.2</version> + <version>1.0.3</version> <artifactId>oclip-grpc</artifactId> <packaging>pom</packaging> <name>oclip/grpc</name> diff --git a/main/pom.xml b/main/pom.xml index f664bf17..466df77a 100644 --- a/main/pom.xml +++ b/main/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-main</artifactId> @@ -25,7 +25,7 @@ <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> <packaging>pom</packaging> <name>cli</name> diff --git a/products/onap-casablanca/auth/pom.xml b/products/onap-casablanca/auth/pom.xml index a9196aef..860d0fd1 100644 --- a/products/onap-casablanca/auth/pom.xml +++ b/products/onap-casablanca/auth/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-casablanca</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca-auth</artifactId> diff --git a/products/onap-casablanca/catalog/pom.xml b/products/onap-casablanca/catalog/pom.xml index dbbb5965..573a0757 100644 --- a/products/onap-casablanca/catalog/pom.xml +++ b/products/onap-casablanca/catalog/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-casablanca</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca-catalog</artifactId> diff --git a/products/onap-casablanca/features/aai/pom.xml b/products/onap-casablanca/features/aai/pom.xml index c0bc4951..5efb84c8 100644 --- a/products/onap-casablanca/features/aai/pom.xml +++ b/products/onap-casablanca/features/aai/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-casablanca-features</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca-features-aai</artifactId> diff --git a/products/onap-casablanca/features/msb/pom.xml b/products/onap-casablanca/features/msb/pom.xml index b3cdf1c6..bc7f3ebf 100644 --- a/products/onap-casablanca/features/msb/pom.xml +++ b/products/onap-casablanca/features/msb/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-casablanca-features</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca-features-msb</artifactId> diff --git a/products/onap-casablanca/features/pom.xml b/products/onap-casablanca/features/pom.xml index 917851b9..e8e35b6d 100644 --- a/products/onap-casablanca/features/pom.xml +++ b/products/onap-casablanca/features/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-casablanca</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca-features</artifactId> diff --git a/products/onap-casablanca/features/sdc/pom.xml b/products/onap-casablanca/features/sdc/pom.xml index eecdad7d..2e05adcc 100644 --- a/products/onap-casablanca/features/sdc/pom.xml +++ b/products/onap-casablanca/features/sdc/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-casablanca-features</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca-features-sdc</artifactId> diff --git a/products/onap-casablanca/features/vnfsdk/pom.xml b/products/onap-casablanca/features/vnfsdk/pom.xml index 22cb74ae..eb85afb6 100644 --- a/products/onap-casablanca/features/vnfsdk/pom.xml +++ b/products/onap-casablanca/features/vnfsdk/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-casablanca-features</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca-features-vnfsdk</artifactId> diff --git a/products/onap-casablanca/pom.xml b/products/onap-casablanca/pom.xml index fba2a9ca..ef75c8e6 100644 --- a/products/onap-casablanca/pom.xml +++ b/products/onap-casablanca/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-onap-casablanca</artifactId> diff --git a/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-create-schema-dublin.yaml b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-create-schema-dublin.yaml new file mode 100644 index 00000000..772062ec --- /dev/null +++ b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-create-schema-dublin.yaml @@ -0,0 +1,98 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 + +name: vnfm-create + +description: Register a VNFM in Onap + + +info: + product: onap-dublin + service: aai + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vim-id + description: Onap VIM unique id + type: uuid + short_option: x + long_option: vim-id + is_optional: false + - name: vnfm-id + description: Onap VNFM unique id + type: uuid + short_option: y + long_option: vnfm-id + is_optional: false + - name: name + description: Onap VNFM name + type: string + short_option: b + long_option: name + is_optional: false + - name: type + description: Onap VNFM type + type: string + short_option: c + long_option: type + is_optional: false + - name: vendor + description: Onap VNFM vendor + type: string + short_option: e + long_option: vendor + is_optional: false + - name: vnfm-version + description: Onap VNFM version + type: string + short_option: q + long_option: vnfm-version + is_optional: false + - name: url + description: Onap VNFM URL + type: string + short_option: g + long_option: url + is_optional: false + - name: username + description: Onap VNFM username + type: string + short_option: i + long_option: username + is_optional: false + - name: password + description: Onap VNFM password + type: string + short_option: j + long_option: password + is_optional: false + - name: certificate-url + description: Onap VNFM certificate-url + type: string + short_option: z + long_option: certificate-url + is_optional: true + +http: + service: + auth: basic + mode: direct + request: + uri: /aai/v13/external-system/esr-vnfm-list/esr-vnfm/${vnfm-id} + method: PUT + body: '{"vnfm-id":"${vnfm-id}","vim-id":"${vim-id}","certificate-url":"${certificate-url}","esr-system-info-list":{"esr-system-info":[{"esr-system-info-id":"${vnfm-id}","system-name":"${name}","type":"${type}","vendor":"${vendor}","version":"${vnfm-version}","service-url":"${url}","user-name":"${username}","password":"${password}","system-type":"vnfm","protocal":"","ssl-cacert":"","ssl-insecure":"","ip-address":"","port":"","cloud-domain":"","default-tenant":""}]}}' + success_codes: + - 201 diff --git a/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-delete-schema-dublin.yaml b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-delete-schema-dublin.yaml new file mode 100644 index 00000000..8e9e2afa --- /dev/null +++ b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-delete-schema-dublin.yaml @@ -0,0 +1,50 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 + +name: vnfm-delete + +description: Un-register a VNFM in Onap + + +info: + product: onap-dublin + service: aai + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vnfm-id + description: Onap VNFM unique id + type: uuid + short_option: x + long_option: vnfm-id + is_optional: false + - name: resource-version + description: Onap vim resource version + type: string + short_option: y + long_option: resource-version + is_optional: true +http: + service: + auth: basic + mode: direct + request: + uri: /aai/v13/external-system/esr-vnfm-list/esr-vnfm/${vnfm-id}?resource-version=${resource-version} + method: DELETE + + success_codes: + - 204 + - 404 diff --git a/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-list-schema-dublin.yaml b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-list-schema-dublin.yaml new file mode 100644 index 00000000..05cd3b29 --- /dev/null +++ b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-list-schema-dublin.yaml @@ -0,0 +1,60 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 + +name: vnfm-list + +description: List the configured vnfm + + +info: + product: onap-dublin + service: aai + author: ONAP CLI Team onap-discuss@lists.onap.org + +results: + direction: landscape + attributes: + - name: vnfm-id + description: Onap vnfm id + scope: short + type: string + - name: vim-id + description: Onap vnfm id + scope: short + type: string + - name: certificate-url + description: Onap vnfm certificate-url + scope: short + type: string + - name: resource-version + description: Onap vnfm resource version + scope: short + type: string + +http: + service: + auth: basic + mode: direct + request: + uri: /aai/v13/external-system/esr-vnfm-list + method: GET + success_codes: + - 200 + result_map: + vnfm-id: $b{$.esr-vnfm.[*].vnfm-id} + vim-id: $b{$.esr-vnfm.[*].vim-id} + certificate-url: $b{$.esr-vnfm.[*].certificate-url} + resource-version: $b{$.esr-vnfm.[*].resource-version} diff --git a/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-show-schema-dublin.yaml b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-show-schema-dublin.yaml new file mode 100644 index 00000000..0ae7a946 --- /dev/null +++ b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-show-schema-dublin.yaml @@ -0,0 +1,79 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 + +name: vnfm-show + +description: Show the VNFM in Onap + + +info: + product: onap-dublin + service: aai + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vnfm-id + description: Onap VNFM unique id + type: uuid + short_option: x + long_option: vnfm-id + is_optional: false + +results: + direction: portrait + attributes: + - name: name + description: Onap vnfm name + scope: short + type: string + - name: type + description: Onap vnfm type + scope: short + type: string + - name: vendor + description: Onap vnfm vendor + scope: short + type: string + - name: version + description: Onap vnfm version + scope: short + type: string + - name: url + description: Onap vnfm url + scope: short + type: string + - name: username + description: Onap vnfm username + scope: long + type: string + +http: + service: + auth: basic + mode: direct + request: + uri: /aai/v13/external-system/esr-vnfm-list/esr-vnfm/${vnfm-id}/esr-system-info-list/esr-system-info/${vnfm-id} + method: GET + + success_codes: + - 200 + result_map: + name: $b{$.system-name} + type: $b{$.type} + vendor: $b{$.vendor} + version: $b{$.version} + url: $b{$.service-url} + username: $b{$.user-name} diff --git a/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-create-schema-dublin.yaml b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-create-schema-dublin.yaml new file mode 100644 index 00000000..f46bebde --- /dev/null +++ b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-create-schema-dublin.yaml @@ -0,0 +1,48 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 +name: cloud-create +description: Create a cloud region in Onap + +info: + product: onap-dublin + service: aai + author: ONAP CLI Team onap-discuss@lists.onap.org + + +parameters: + - name: cloud-name + description: Onap cloud name + type: string + short_option: x + long_option: cloud-name + is_optional: false + - name: region-name + description: Onap region name + type: string + short_option: y + long_option: region-name + is_optional: false + +http: + service: + auth: basic + mode: direct + request: + uri: /aai/v13/cloud-infrastructure/cloud-regions/cloud-region/${cloud-name}/${region-name} + method: PUT + body: '{"sriov-automation": false, "cloud-region-id": "${region-name}", "cloud-owner": "${cloud-name}", "new-attribute-for-demo": "blah", "number-attribute-for-demo": 1 }' + success_codes: + - 201 diff --git a/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-delete-schema-dublin.yaml b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-delete-schema-dublin.yaml new file mode 100644 index 00000000..25822a84 --- /dev/null +++ b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-delete-schema-dublin.yaml @@ -0,0 +1,52 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 +name: cloud-delete +description: Delete a cloud region from Onap + +info: + product: onap-dublin + service: aai + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: cloud-name + description: Onap cloud name + type: string + short_option: x + long_option: cloud-name + is_optional: false + - name: region-name + description: Onap cloud region name + type: string + short_option: y + long_option: region-name + is_optional: false + - name: resource-version + description: Onap cloud region version + type: uuid + short_option: z + long_option: resource-version + is_optional: true +http: + service: + auth: basic + mode: direct + request: + uri: /aai/v13/cloud-infrastructure/cloud-regions/cloud-region/${cloud-name}/${region-name}?resource-version=${resource-version} + method: DELETE + success_codes: + - 204 + - 404 diff --git a/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-list-schema-dublin.yaml b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-list-schema-dublin.yaml new file mode 100644 index 00000000..deb2d48a --- /dev/null +++ b/products/onap-dublin/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-list-schema-dublin.yaml @@ -0,0 +1,71 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 +name: cloud-list +description: List the configured clouds and Onap service subscriptions + +info: + product: onap-dublin + service: aai + author: ONAP CLI Team onap-discuss@lists.onap.org + +results: + direction: landscape + attributes: + - name: cloud + description: Onap cloud + scope: short + type: string + - name: region + description: Onap cloud region + scope: short + type: string + - name: tenant + description: Onap cloud tenat + scope: long + type: string + - name: tenant-id + description: Onap cloud tenat id + scope: long + type: string + - name: customer + description: Onap cloud customer + scope: long + type: string + - name: service + description: Onap cloud service + scope: long + type: string + - name: resource-version + description: Onap cloud resource version + scope: short + type: string +http: + service: + auth: basic + mode: direct + request: + uri: /aai/v13/cloud-infrastructure/cloud-regions + method: GET + success_codes: + - 200 + result_map: + cloud: $b{cloud-region.[*].cloud-owner} + region: $b{cloud-region.[*].cloud-region-id} + resource-version: $b{cloud-region.[*].resource-version} + tenant: $b{cloud-region.[*].tenants.tenant.[*].tenant-name} + tenant-id: $b{cloud-region.[*].tenants.tenant.[*].tenant-id} + customer: $b{cloud-region.[*].tenants.tenant.[*].relationship-list.relationship.[*].relationship-data.[?(@.relationship-key == 'customer.global-customer-id')].relationship-value} + service: $b{cloud-region.[*].tenants.tenant.[*].relationship-list.relationship.[*].relationship-data.[?(@.relationship-key == 'service-subscription.service-type')].relationship-value} diff --git a/products/pom.xml b/products/pom.xml index 585ac4ad..136ef981 100644 --- a/products/pom.xml +++ b/products/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products</artifactId> diff --git a/products/sample/pom.xml b/products/sample/pom.xml index a3e3cc8f..e0dd362d 100644 --- a/products/sample/pom.xml +++ b/products/sample/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-products-sample</artifactId> diff --git a/profiles/command/pom.xml b/profiles/command/pom.xml index 673cd985..b40cf3e1 100644 --- a/profiles/command/pom.xml +++ b/profiles/command/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-profiles</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-profiles-command</artifactId> diff --git a/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java b/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java index 69987d9b..8e94db85 100644 --- a/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java +++ b/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java @@ -138,7 +138,7 @@ public class OpenCommandShellCmd extends OnapCommand { cwd); try { pr.run(); - } catch (InterruptedException | IOException e) { + } catch (Exception e) { throw new OnapCommandExecutionFailed(this.getName(), e); } @@ -251,21 +251,25 @@ public class OpenCommandShellCmd extends OnapCommand { bodyProcessedLine += processedPattern.substring(currentIdx); break; } - int idxE = idxS + 2; // %s + + int idxEnd = idxS + 2; // %s + try { - Object value = values.get(positionalIdx); - String valueS = String.valueOf(value); - if (value instanceof JSONArray) { - JSONArray arr = (JSONArray) value; - if (!arr.isEmpty()) { - valueS = arr.get(i).toString(); + Object val = values.get(positionalIdx); + String valStr = String.valueOf(val); + + if (val instanceof JSONArray) { + JSONArray aJson = (JSONArray) val; + + if (!aJson.isEmpty()) { + valStr = aJson.get(i).toString(); } else { throw new OnapCommandResultEmpty(); } } - bodyProcessedLine += processedPattern.substring(currentIdx, idxS) + valueS; - currentIdx = idxE; + bodyProcessedLine += processedPattern.substring(currentIdx, idxS) + valStr; + currentIdx = idxEnd; positionalIdx++; } catch (OnapCommandResultEmpty e) { throw e; diff --git a/profiles/http/pom.xml b/profiles/http/pom.xml index e6d2bd71..edd00648 100644 --- a/profiles/http/pom.xml +++ b/profiles/http/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-profiles</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-profiles-http</artifactId> diff --git a/profiles/pom.xml b/profiles/pom.xml index dac4b47a..b457aebf 100644 --- a/profiles/pom.xml +++ b/profiles/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-profiles</artifactId> diff --git a/profiles/snmp/pom.xml b/profiles/snmp/pom.xml index cfd5f228..48698580 100644 --- a/profiles/snmp/pom.xml +++ b/profiles/snmp/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-profiles</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-profiles-snmp</artifactId> diff --git a/validate/pom.xml b/validate/pom.xml index 8f763900..603394e2 100644 --- a/validate/pom.xml +++ b/validate/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-validate</artifactId> diff --git a/validate/sample-mock-generator/pom.xml b/validate/sample-mock-generator/pom.xml index 7c684753..bd963304 100644 --- a/validate/sample-mock-generator/pom.xml +++ b/validate/sample-mock-generator/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-validate</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-sample-mock-generator</artifactId> diff --git a/validate/sample-yaml-generator/pom.xml b/validate/sample-yaml-generator/pom.xml index 552b7d5b..d54459af 100644 --- a/validate/sample-yaml-generator/pom.xml +++ b/validate/sample-yaml-generator/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-validate</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-sample-yaml-generator</artifactId> diff --git a/validate/validation/pom.xml b/validate/validation/pom.xml index 8b01ed22..9ac3ee9f 100644 --- a/validate/validation/pom.xml +++ b/validate/validation/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-validate</artifactId> - <version>2.0.5</version> + <version>2.0.6</version> </parent> <artifactId>cli-validation</artifactId> diff --git a/version.properties b/version.properties index 6848e3e2..77e2b345 100644 --- a/version.properties +++ b/version.properties @@ -16,7 +16,7 @@ major=2 minor=0 -patch=5 +patch=6 base_version=${major}.${minor}.${patch} |