.. This work is licensed under a Creative Commons Attribution 4.0 International .. License. .. http://creativecommons.org/licenses/by/4.0 .. Copyright 2017 Bell Canada & Amdocs Intellectual Property. All rights .. reserved. .. _release_notes: ONAP Operations Manager Release Notes ===================================== Version 6.0.0 (Frankfurt Release) --------------------------------- :Release Date: 2020-xx-xx Summary ------- The focus of this release is to strengthen the foundation of OOM installer. A list of issues resolved in this release can be found here: https://jira.onap.org/projects/OOM/versions/10826 **Software Requirements** * Upgraded to Kubernetes 1.15.x and Helm 2.16.x **Hardcoded Password removal** * All mariadb galera password are not hardcoded **New Features** * Ingress deployment is getting more and more usable * Use of dynamic Persistent Volume is available **Bug Fixes** **Known Issues** The following known issues will be addressed in a future release: * [`OOM-2075 `_] - https://jira.onap.org/browse/OOM-2075 **Security Notes** *Fixed Security Issues* * In default deployment OOM (consul-server-ui) exposes HTTP port 30270 outside of cluster. [`OJSI-134 `_] * CVE-2019-12127 - OOM exposes unprotected API/UI on port 30270 [`OJSI-202 `_] *Known Security Issues* * Hard coded password used for all oom deployments [`OJSI-188 `_] *Known Vulnerabilities in Used Modules* OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. Quick Links: - `OOM project page `_ - `Passing Badge information for OOM `_ Version 5.0.1 (El Alto Release) ------------------------------- :Release Date: 2019-10-10 Summary ------- The focus of this release was on maintanence and as such no new features were delivered. A list of issues resolved in this release can be found here: https://jira.onap.org/projects/OOM/versions/10726 **New Features** **Bug Fixes** * 25 defects addressed (see link above) **Known Issues** The following known issues will be addressed in a future release: * [`OOM-1480 `_] - postgres chart does not set root password when installing on an existing database instances * [`OOM-1966 `_] - ONAP on HA Kubernetes Cluster - Documentation update * [`OOM-1995 `_] - Mariadb Galera cluster pods keep failing * [`OOM-2061 `_] - Details Missing for installing the kubectl section * [`OOM-2075 `_] - Invalid MTU for Canal CNI interfaces * [`OOM-2080 `_] - Need for "ReadWriteMany" access on storage when deploying on Kubernetes? * [`OOM-2091 `_] - incorrect release deployed * [`OOM-2132 `_] - Common Galera server.cnf does not contain Camunda required settings **Security Notes** *Fixed Security Issues* *Known Security Issues* * In default deployment OOM (consul-server-ui) exposes HTTP port 30270 outside of cluster. [`OJSI-134 `_] * Hard coded password used for all oom deployments [`OJSI-188 `_] * CVE-2019-12127 - OOM exposes unprotected API/UI on port 30270 [`OJSI-202 `_] *Known Vulnerabilities in Used Modules* OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. Quick Links: - `OOM project page `_ - `Passing Badge information for OOM `_ Version 5.0.0 (El Alto Early Drop) ---------------------------------- :Release Date: 2019-08-19 Summary ------- **Software Requirements** * Upgraded to Kubernetes 1.15.x and Helm 1.14.x Version 4.0.0 (Dublin Release) ------------------------------ :Release Date: 2019-06-26 Summary ------- **Platform Resiliency** * Documenation of a Highly-Available Kubernetes Cluster Deployment * Availability of a Default Storage Class Provisioner for improved Persistent Storage resiliency * Availability of a CNI reference integration for Multi-site support * applications can take advantage of multi-site by using POD and/or Node (anti)affinity, taints/tolerations, labels per application **Footprint Optimization** * Shared MariaDB-Galera Cluster - current clients in Dublin: SO, SDNC * Shared Cassandra Cluster - current clients in Dublin: AAI, SDC * Optional deployment of independent clusters (backward compatibility) **Platform Upgradability** * Introduction of an Upgrade Framework supporting: * Automated rolling upgrades for applications * In-place schema and data migrations * Blue-Green deployment environment migration (e.g. Pre-prod to Prod) * Upgrades from embedded database instance into shared database instance * Release-to-release upgrade support delivered for the following projects * A&AI * SDNC * SO **Security Notes** *Fixed Security Issues* *Known Security Issues* * In default deployment OOM (consul-server-ui) exposes HTTP port 30270 outside of cluster. [`OJSI-134 `_] * Hard coded password used for all oom deployments [`OJSI-188 `_] * CVE-2019-12127 - OOM exposes unprotected API/UI on port 30270 [`OJSI-202 `_] *Known Vulnerabilities in Used Modules* OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. Quick Links: - `OOM project page `_ - `Passing Badge information for OOM `_ **Known Issues** Version 3.0.0 Casablanca Release -------------------------------- :Release Date: 2018-11-30 Summary ------- The focus of this release was on incremental improvements in the following areas: * Pluggable persistent storage with support for GlusterFS as the first storage class provisioner * CPU and Memory limits in Helm Charts to improve Pod placement based on resource availablity in Kubernetes Cluster * Support of Node Selectors for Pod placement * Common "shared" Helm Charts referencing common images - mariadb-galera - postgres - cassandra - mysql - mongo * Integration of ARK Backup and Restore solution * Introduction of Helm deploy and undeploy plugins to better manage ONAP deployments **Security Notes** OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. Quick Links: - `OOM project page `_ - `Passing Badge information for OOM `_ **Known Issues** * **Problem**: kubectl connections to pods (kubectl exec|logs) will fail after a while due to a known bug in Kubernetes (1.11.2) **Workaround**: Restart of the kubelet daemons on the k8s hosts **Fix**: Will be delivered in the next release via a new Kubernetes version (1.12) - `K8S Bug Report `_ - `OOM-1532 `_ - `OOM-1516 `_ - `OOM-1520 `_ Version 2.0.0 Beijing Release ----------------------------- :Release Date: 2018-06-07 Epic **** * [`OOM-6 `_] - Automated platform deployment on Docker/Kubernetes * [`OOM-7 `_] - Platform monitoring and auto-healing * [`OOM-8 `_] - Automated platform scalability * [`OOM-9 `_] - Platform upgradability & rollbacks * [`OOM-10 `_] - Platform configuration management * [`OOM-46 `_] - Platform infrastructure deployment with TOSCA * [`OOM-109 `_] - Platform Centralized Logging * [`OOM-138 `_] - Using Optimization framework * [`OOM-346 `_] - Platform Resiliency (including Recoverability, High-Availability, Backup/Restore, Geo-Redundancy) * [`OOM-376 `_] - ONAP deployment options standardization * [`OOM-486 `_] - HELM upgrade from 2.3 to 2.8.0 * [`OOM-535 @media only all and (prefers-color-scheme: dark) { .highlight .hll { background-color: #49483e } .highlight .c { color: #75715e } /* Comment */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */ .highlight .k { color: #66d9ef } /* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #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 */ }
/*-
 * ============LICENSE_START=======================================================
 * SDC
 * ================================================================================
 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 * 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.
 * ============LICENSE_END=========================================================
 */

'use strict';
import {WorkspaceMode, ComponentState} from "./constants";
import {IAppConfigurtaion, IAppMenu, Component} from "../models";
import {ComponentFactory} from "./component-factory";
import {ModalsHandler} from "./modals-handler";

export class MenuItem {
    text:string;
    callback:(...args:Array<any>) => ng.IPromise<boolean>;
    state:string;
    action:string;
    params:any;
    isDisabled:boolean;
    disabledRoles:Array<string>;
    blockedForTypes:Array<string>;  // This item will not be shown for specific components types.

    //TODO check if needed
    alertModal:string;
    conformanceLevelModal: boolean; // Call validateConformanceLevel API and shows conformanceLevelModal if necessary, then continue with action or invokes another action
    confirmationModal:string;       // Open confirmation modal (user should select "OK" or "Cancel"), and continue with the action.
    emailModal:string;              // Open email modal (user should fill email details), and continue with the action.
    url:string;                     // Data added to menu item, in case the function need to use it, example: for function "changeLifecycleState", I need to pass also the state "CHECKOUT" that I want the state to change to.


    constructor(text:string, callback:(...args:Array<any>) => ng.IPromise<boolean>, state:string, action:string, params?:any, blockedForTypes?:Array<string>) {
        this.text = text;
        this.callback = callback;
        this.state = state;
        this.action = action;
        this.params = params;
        this.blockedForTypes = blockedForTypes;
    }
}

export class MenuItemGroup {
    selectedIndex:number;
    menuItems:Array<MenuItem>;
    itemClick:boolean;

    constructor(selectedIndex?:number, menuItems?:Array<MenuItem>, itemClick?:boolean) {
        this.selectedIndex = selectedIndex;
        this.menuItems = menuItems;
        this.itemClick = itemClick;
    }

    public updateSelectedMenuItemText(newText:string) {
        this.menuItems[this.selectedIndex].text = newText;
    }
}


export class MenuHandler {

    static '$inject' = [
        'sdcConfig',
        'sdcMenu',
        'ComponentFactory',
        '$filter',
        'ModalsHandler',
        '$state',
        '$q'
    ];

    constructor(private sdcConfig:IAppConfigurtaion,
                private sdcMenu:IAppMenu,
                private ComponentFactory:ComponentFactory,
                private $filter:ng.IFilterService,
                private ModalsHandler:ModalsHandler,
                private $state:ng.ui.IStateService,
                private $q:ng.IQService) {

    }


    generateBreadcrumbsModelFromComponents = (components:Array<Component>, selected:Component):MenuItemGroup => {
        let result = new MenuItemGroup(0, [], false);
        if (components) {

            // Search the component in all components by uuid (and not uniqueid, gives access to an assets's minor versions).
            let selectedItem = _.find(components, (item:Component) => {
                return item.uuid === selected.uuid;
            });

            // If not found search by invariantUUID
            if (undefined == selectedItem) {
                selectedItem = _.find(components, (item:Component) => {
                    //invariantUUID && Certified State matches between major versions
                    return item.invariantUUID === selected.invariantUUID && item.lifecycleState === ComponentState.CERTIFIED;
                });
            }

            // If not found search by name (name is unique).
            if (undefined == selectedItem) {
                selectedItem = _.find(components, (item:Component) => {
                    return item.name === selected.name;
                });
            }

            if(!selectedItem){
                result.selectedIndex = components.length;
            }else{
                result.selectedIndex = components.indexOf(selectedItem);
            }
            components[result.selectedIndex] = selected;
            let clickItemCallback = (component:Component):ng.IPromise<boolean> => {
                this.$state.go('workspace.general', {
                    id: component.uniqueId,
                    type: component.componentType.toLowerCase(),
                    mode: WorkspaceMode.VIEW
                });
                return this.$q.when(true);
            };

            components.forEach((component:Component) => {
                let menuItem = new MenuItem(
                    //  component.name,
                    component.getComponentSubType() + ': ' + this.$filter('resourceName')(component.name),
                    clickItemCallback,
                    null,
                    null,
                    [component]
                );
                //  menuItem.text = component.name;
                result.menuItems.push(menuItem);
            });
        }
        return result;
    };
}
es in DCAE input files * [`OOM-1011 `_] - Policy config correction after Service Name changes because of OOM-906 * [`OOM-1013 `_] - Update DCAE container versions * [`OOM-1014 `_] - Portal login not working due to inconsistent zookeeper naming * [`OOM-1015 `_] - Champ fails to start * [`OOM-1016 `_] - DOC-OPS Review: Helm install command is wrong on oom_user_guide - missing namespace * [`OOM-1017 `_] - DOC-OPS review: Docker/Kubernetes versions wrong for master in oom_cloud_setup_guide * [`OOM-1018 `_] - DOC-OPS review: global repo override does not match git in oom quick start guide * [`OOM-1019 `_] - DOC-OPS review: Add Ubuntu 16.04 reference to oom_user_guide to avoid 14/16 confusion * [`OOM-1021 `_] - Update APPC resources for Nitrogen ODL * [`OOM-1022 `_] - Fix SDC startup dependencies * [`OOM-1023 `_] - "spring.datasource.cldsdb.url" in clamp has wrong clampdb name * [`OOM-1024 `_] - Cassandra data not persisted * [`OOM-1033 `_] - helm error during deployment 20180501:1900 - all builds under 2.7.2 * [`OOM-1034 `_] - VID Ports incorrect in deployment.yaml * [`OOM-1037 `_] - Enable CLI health check * [`OOM-1039 `_] - Service distribution to SO fails * [`OOM-1041 `_] - aai-service was renamed, but old references remain * [`OOM-1042 `_] - portalapps service was renamed, but old references remain * [`OOM-1045 `_] - top level values.yaml missing entry for dmaap chart * [`OOM-1049 `_] - SDNC_UEB_LISTENER db * [`OOM-1050 `_] - Impossible to deploy consul using cache docker registry * [`OOM-1051 `_] - Fix aaf deployment * [`OOM-1052 `_] - SO cloud config file points to Rackspace cloud * [`OOM-1054 `_] - Portal LoadBalancer Ingress IP is on the wrong network * [`OOM-1060 `_] - Incorrect MR Kafka references prevent aai champ from starting * [`OOM-1061 `_] - ConfigMap size limit exceeded * [`OOM-1064 `_] - Improve docker registry secret management * [`OOM-1066 `_] - Updating TOSCA blueprint to sync up with helm configuration changes (add dmaap and oof/delete message-router) * [`OOM-1068 `_] - Update SO with new AAI cert * [`OOM-1076 `_] - some charts still using readiness check image from amsterdam 1.x * [`OOM-1077 `_] - AAI resources and traversal deployment failure on non-rancher envs * [`OOM-1079 `_] - Robot charts dont allow over ride of pub_key, dcae_collector_ip and dcae_collector_port * [`OOM-1081 `_] - Remove component 'mock' from TOSCA deployment * [`OOM-1082 `_] - Wrong pv location of dcae postgres * [`OOM-1085 `_] - appc hostname is incorrect in url * [`OOM-1086 `_] - clamp deployment changes /dockerdata-nfs/ReleaseName dir permissions * [`OOM-1088 `_] - APPC returns error for vCPE restart message from Policy * [`OOM-1089 `_] - DCAE pods are not getting purged * [`OOM-1093 `_] - Line wrapping issue in redis-cluster-config.sh script * [`OOM-1094 `_] - Fix postgres startup * [`OOM-1095 `_] - common makefile builds out of order * [`OOM-1096 `_] - node port conflict SDNC (Geo enabled) & other charts * [`OOM-1097 `_] - Nbi needs dep-nbi - crash on make all * [`OOM-1099 `_] - Add External Interface NBI project into OOM TOSCA * [`OOM-1102 `_] - Incorrect AAI services * [`OOM-1103 `_] - Cannot disable NBI * [`OOM-1104 `_] - Policy DROOLS configuration across container restarts * [`OOM-1110 `_] - Clamp issue when connecting Policy * [`OOM-1111 `_] - Please revert to using VNFSDK Postgres container * [`OOM-1114 `_] - APPC is broken in latest helm chart * [`OOM-1115 `_] - SDNC DGBuilder cant operate on DGs in database - need NodePort * [`OOM-1116 `_] - Correct values needed by NBI chart * [`OOM-1124 `_] - Update OOM APPC chart to enhance AAF support * [`OOM-1126 `_] - Incorrect Port mapping between CDT Application and APPC main application * [`OOM-1127 `_] - SO fails healthcheck * [`OOM-1128 `_] - AAF CS fails to start in OpenLab Sub-task ******** * [`OOM-304 `_] - Service endpoint annotation for Data Router * [`OOM-306 `_] - Handle mariadb secrets * [`OOM-510 `_] - Increase vm.max_map_count to 262144 when running Rancher 1.6.11+ via helm 2.6+ - for elasticsearch log mem failure * [`OOM-512 `_] - Push the reviewed and merged ReadMe content to RTD * [`OOM-641 `_] - Segregating of configuration for SDNC-UEB component * [`OOM-655 `_] - Create alternate prepull script which provides more user feedback and logging * [`OOM-753 `_] - Create Helm Sub-Chart for SO's embedded mariadb * [`OOM-754 `_] - Create Helm Chart for SO * [`OOM-774 `_] - Create Helm Sub-Chart for APPC's embedded mySQL database * [`OOM-775 `_] - Create Helm Chart for APPC * [`OOM-778 `_] - Replace NFS Provisioner with configurable PV storage solution * [`OOM-825 `_] - Apache 2 License updation for All sqls and .js file * [`OOM-849 `_] - Policy Nexus component needs persistent volume for /sonatype-work * [`OOM-991 `_] - Adjust SDC-BE init job timing from 10 to 30s to avoid restarts on single node systems * [`OOM-1036 `_] - update helm from 2.7.2 to 2.8.2 wiki/rtd * [`OOM-1063 `_] - Document Portal LoadBalancer Ingress IP Settings **Security Notes** OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. Quick Links: - `OOM project page `_ - `Passing Badge information for OOM `_ Version: 1.1.0 -------------- :Release Date: 2017-11-16 **New Features** The Amsterdam release is the first release of the ONAP Operations Manager (OOM). The main goal of the Amsterdam release was to: - Support Flexible Platform Deployment via Kubernetes of fully containerized ONAP components - on any type of environment. - Support State Management of ONAP platform components. - Support full production ONAP deployment and any variation of component level deployment for development. - Platform Operations Orchestration / Control Loop Actions. - Platform centralized logging with ELK stack. **Bug Fixes** The full list of implemented user stories and epics is available on `JIRA `_ This is the first release of OOM, the defects fixed in this release were raised during the course of the release. Anything not closed is captured below under Known Issues. If you want to review the defects fixed in the Amsterdam release, refer to Jira link above. **Known Issues** - `OOM-6 `_ Automated platform deployment on Docker/Kubernetes VFC, AAF, MSB minor issues. Workaround: Manual configuration changes - however the reference vFirewall use case does not currently require these components. - `OOM-10 `_ Platform configuration management. OOM ONAP Configuration Management - Handling of Secrets. Workaround: Automated workaround to be able to pull from protected docker repositories. **Security Issues** N/A **Upgrade Notes** N/A **Deprecation Notes** N/A **Other** N/A End of Release Notes