aboutsummaryrefslogtreecommitdiffstats
path: root/docs/release-notes.rst
blob: e77b85eaa0b935ee463c1b7e467087a55e588bad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
.. This work is licensed under a Creative Commons Attribution 4.0 International License.

CLI Release Notes
=================

Version: 2.0.0
--------------

:Release Date: 2018-06-07

**New Features**

In this release, CLI provides all those features supported in previous release. In addition,
following features are enabled:

* Profile support (like Heat environment file)
* Batch support to run same command with different set of arguments feed from param-file)
* Policy management
* VNF/PNF management
* OCLIP SNMP profile support (get command)
* OCLIP CLI verification support (--verify)
* Portal CLI application is enabled for all users.

Similar to earlier release, user can perform customer, subscription, cloud and tenant management only
by using CLI as portal does not support.

In addition, it made following changes to OCS 1.0

* http profile is enabled with

# service to capture micro-service catalog and auth information

# body section could be customized using context

* New default parameters verify and context are added.

**Bug Fixes**

* CLI-105   Ignore those yamls which does not have open cli schema version
* CLI-103   Support HTTP delete with http body (SO, AAI requires)
* CLI-101   Add context parameter for ignoring empty json nodes in http body
* CLI-99    Optional parameter's default value is set to blank
* CLI-95    Add profile support for multiple sessions
* CLI-94    EOL openecomp CLIs
* CLI-86    Create documentation for end to end cli commands for onap
* CLI-74    Setup Mock environment for a command
* CLI-61    Add validation for results section in yaml

**Security Notes**

CLI code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities
 have been addressed, items that remain open have been assessed for risk and determined to be false
 positive. The CLI open Critical security vulnerabilities and their risk assessment have been
documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=28377287>`_.

Quick Links:
    - `CLI project page <https://wiki.onap.org/display/DW/Command+Line+Interface+Project>`_

    - `Passing Badge information for CLI <https://bestpractices.coreinfrastructure.org/en/projects/1540>`_

    - `Project Vulnerability Review Table for CLI <https://wiki.onap.org/pages/viewpage.action?pageId=28377287>`_

Version: 1.1.0
--------------

:Release Date: 2017-11-16

:ref:`cli_index` helps user to operate ONAP from Linux command console and web command console.

**New Features**

In ONAP Amsterdam release, CLI provides following ONAP operations as command:

* ONAP micro-service discovery
* External system on-boarding (VIM, VNFM, EMS & SDNC)
* Customer and Subscription management (Only available thru CLI)
* Cloud and Tenant on-boarding (Only available thru CLI)
* Design-time artifacts (VSP, VF, Service model) management
* Network-service (vFW, vLB, etc)  life-cycle management
#0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2016 Cisco and/or its affiliates.
  ~
  ~ 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.
  -->

<!--
    Modifications copyright © 2017 AT&T Intellectual Property
-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">


<parent>
    <groupId>org.onap.demo.vnf</groupId>
    <artifactId>demo-aggregator</artifactId>
    <version>1.6.0-SNAPSHOT</version>
    <relativePath>../../../pom.xml</relativePath>
</parent>

    <properties>
        <nexusproxy>http://nexus.fd.io/content</nexusproxy>
        <start.script.template>
#!/bin/sh -
STATUS=100

while [ $STATUS -eq 100 ]
do
  %s
  STATUS=$?
  echo "Honeycomb exited with status: $STATUS"
  if [ $STATUS -eq 100 ]
  then
    echo "Restarting..."
  fi
done
        </start.script.template>
        <exec.parameters>-Xms32m -Xmx128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=128m</exec.parameters>
        <exec.parameters.minimal>-client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify</exec.parameters.minimal>
        <debug.parameters>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</debug.parameters>
        <guice.version>4.1.0</guice.version>
        <guice.config.version>1.2.0</guice.config.version>
        <jersey.version>1.19.1</jersey.version>
        <jetty.version>9.3.11.v20160721</jetty.version>
        <servlet.version>3.1.0</servlet.version>
    </properties>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>hc-onap</artifactId>
    <packaging>pom</packaging>

    <!-- Generate executable shell script -->
  <modules>
    <module>../stream-count/stream-count-api</module>
    <module>../stream-count/stream-count-impl</module>
    <module>../stream-count/stream-count-distribution</module>
    <module>../../vLBMS/apis/vlb-business-vnf-onap-plugin/vlb-business-vnf-onap-plugin-api</module>
    <module>../../vLBMS/apis/vlb-business-vnf-onap-plugin/vlb-business-vnf-onap-plugin-impl</module>
    <module>../../vLBMS/apis/health-vnf-onap-plugin/health-vnf-onap-plugin-api</module>
    <module>../../vLBMS/apis/health-vnf-onap-plugin/health-vnf-onap-plugin-impl</module>
    <module>../../vLBMS/apis/vlb-vnf-onap-distribution</module>
  </modules>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</version>
                    <configuration>
                        <!-- Use google's error-prone static analysis-->
                        <compilerId>javac-with-errorprone</compilerId>
                        <forceJavacCompilerUse>true</forceJavacCompilerUse>
                        <showWarnings>true</showWarnings>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-compiler-javac-errorprone</artifactId>
                            <version>2.5</version>
                        </dependency>
                        <!-- override plexus-compiler-javac-errorprone's dependency on
                             Error Prone with the latest version -->
                        <dependency>
                            <groupId>com.google.errorprone</groupId>
                            <artifactId>error_prone_core</artifactId>
                            <version>2.0.9</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>${main.class}</mainClass>
                                <addClasspath>true</addClasspath>
                                <classpathPrefix>lib/</classpathPrefix>
                                <useUniqueVersions>false</useUniqueVersions>
                                <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
                            </manifest>
                            <manifestEntries>
                                <Class-Path>config/ cert/</Class-Path>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>

                <!-- Copy all dependencies -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.10</version>
                    <executions>
                        <execution>
                            <id>copy-dependencies</id>
                            <phase>package</phase>
                            <goals>
                                <goal>copy-dependencies</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${project.build.directory}/lib</outputDirectory>
                                <useBaseVersion>true</useBaseVersion>
                                <useRepositoryLayout>true</useRepositoryLayout>
                                <excludeArtifactIds>yang-jmx-generator</excludeArtifactIds>
                            </configuration>
                        </execution>
                        <execution>
                            <id>unpack-configuration</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>unpack-dependencies</goal>
                            </goals>
                            <configuration>
                                <includes>**/honeycomb-minimal-resources/</includes>
                                <outputDirectory>${project.build.outputDirectory}/</outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <!-- Generate shell script -->
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>groovy-maven-plugin</artifactId>
                    <version>2.0</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>execute</goal>
                            </goals>
                            <configuration>
                                <!-- TODO add remote debug option -->
                                <!-- TODO add clean option -->
                                <!-- TODO add shutdown script -->
                                <!-- TODO add restart script -->
                                <!-- TODO pass options to JVM? -->
                                <source>
                                    import java.nio.file.Paths

                                    log.info "Generating shell exec script"
                                    def scriptTemplate = properties.getOrDefault("start.script.template", "")
                                    def args = properties.getOrDefault("exec.parameters", "")
                                    log.debug "Additional shell exec script properties: ${args}"
                                    def javaArgs = "${args} -jar \$(dirname \$0)/${project.artifactId}-${project.version}.jar"
                                    def scriptParent = Paths.get(project.build.outputDirectory, "honeycomb-minimal-resources")
                                    scriptParent.toFile().mkdirs()
                                    def scriptContent = "java " + javaArgs
                                    log.info "Generating shell exec script as ${scriptContent}"
                                    def scriptPath = Paths.get(scriptParent.toString(), "honeycomb")
                                    log.info "Writing shell exec script to ${scriptPath}"
                                    scriptPath.toFile().text = String.format(scriptTemplate, scriptContent)
                                    scriptPath.toFile().setExecutable(true)

                                    scriptPath = Paths.get(scriptParent.toString(), "honeycomb-start")
                                    log.info "Writing shell exec script to ${scriptPath}"
                                    scriptPath.toFile().text = "\$(dirname \$0)/honeycomb &amp;"
                                    scriptPath.toFile().setExecutable(true)

                                    def debug_args = properties.getOrDefault("debug.parameters", "")
                                    def debugScriptContent = "java" + " ${debug_args} " + javaArgs
                                    log.info "Generating shell debug script as ${debugScriptContent}"
                                    scriptPath = Paths.get(scriptParent.toString(), "honeycomb-debug")
                                    log.info "Writing shell debug script to ${scriptPath}"
                                    scriptPath.toFile().text = String.format(scriptTemplate, debugScriptContent)
                                    scriptPath.toFile().setExecutable(true)
                                </source>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <!-- Build archives -->
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.5.3</version>
                    <dependencies>
                        <dependency>
                            <groupId>io.fd.honeycomb.common</groupId>
                            <artifactId>minimal-assembly-descriptor</artifactId>
                            <version>1.18.10</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>create-archive</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <descriptorRefs>
                                    <descriptorRef>honeycomb-minimal</descriptorRef>
                                </descriptorRefs>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>none</phase>
                        </execution>
                    </executions>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>