Removal of Light-UI 26/10726/4
authorbeierlm <mark.beierl@canonical.com>
Mon, 3 May 2021 20:29:14 +0000 (16:29 -0400)
committersousaedu <eduardo.sousa@canonical.com>
Fri, 7 May 2021 14:54:25 +0000 (16:54 +0200)
With the only supported UI being the NG-UI, and approval from
the TSC, the Light UI is being completely removed from the
build process and installers.

Change-Id: I9a0c099fedcac411a0e31dce4bf64895d1092a37
Signed-off-by: beierlm <mark.beierl@canonical.com>
19 files changed:
docker/light-ui/Dockerfile [deleted file]
installers/charm/grafana/files/summary_dashboard.json
installers/charm/ui-k8s/.yamllint.yaml [deleted file]
installers/charm/ui-k8s/README.md [deleted file]
installers/charm/ui-k8s/config.yaml [deleted file]
installers/charm/ui-k8s/icon.svg [deleted file]
installers/charm/ui-k8s/layer.yaml [deleted file]
installers/charm/ui-k8s/metadata.yaml [deleted file]
installers/charm/ui-k8s/reactive/spec_template.yaml [deleted file]
installers/charm/ui-k8s/reactive/ui.py [deleted file]
installers/charm/ui-k8s/tox.ini [deleted file]
installers/docker/docker-compose-lightui.yaml [deleted file]
installers/docker/osm_pods/light-ui.yaml [deleted file]
installers/full_install_osm.sh
installers/install_osm.sh
installers/k8s/summary-dashboard.yaml
installers/osm_health.sh
jenkins/ci-pipelines/ci_stage_3.groovy
tools/osm-report

diff --git a/docker/light-ui/Dockerfile b/docker/light-ui/Dockerfile
deleted file mode 100644 (file)
index eee9416..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2019 ETSI
-#
-# 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.
-
-FROM ubuntu:18.04
-
-#RUN apt-get update && apt-get install -y npm git python-pip nginx supervisor curl software-properties-common libssl-dev libmysqlclient-dev mysql-client
-RUN apt-get update \
-    && DEBIAN_FRONTEND=noninteractive apt-get install -y curl \
-                          software-properties-common \
-                          apt-transport-https \
-                          git \
-                          python-pip \
-                          nginx \
-                          supervisor \
-                          libmariadbclient-dev \
-                          mysql-client \
-                          libssl-dev \
-                          apt-utils \
-    && curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
-    && echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \
-    && echo "deb-src https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \
-    && apt-get update \
-    && DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs
-
-RUN node -v
-RUN npm -v
-
-RUN echo "daemon off;" >> /etc/nginx/nginx.conf
-
-ARG REPOSITORY_BASE=http://osm-download.etsi.org/repository/osm/debian
-ARG RELEASE=ReleaseNINE-daily
-ARG REPOSITORY_KEY=OSM%20ETSI%20Release%20Key.gpg
-ARG REPOSITORY=testing
-ARG LWUI_VERSION
-
-RUN curl ${REPOSITORY_BASE}/${RELEASE}/${REPOSITORY_KEY} | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
-RUN add-apt-repository -y "deb ${REPOSITORY_BASE}/${RELEASE} ${REPOSITORY} LW-UI" && apt-get update
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y osm-lightui${LWUI_VERSION} \
-    && apt-get clean \
-    && rm -rf /var/lib/apt/lists/*
-
-WORKDIR /usr/share/osm-lightui
-RUN npm install -g npm@latest
-RUN npm install
-RUN mv node_modules ./static
-RUN pip install -r requirements.txt
-RUN pip install uwsgi
-RUN cp /usr/share/osm-lightui/nginx-app.conf /etc/nginx/sites-available/default
-RUN cp /usr/share/osm-lightui/supervisor-app.conf /etc/supervisor/conf.d/
-
-# delete the copy of the database inside the container (if exists)
-RUN rm -f db.sqlite3
-
-ENV DJANGO_ENV=prod
-ENV OSM_SERVER=nbi
-# ENV OSMUI_SQL_DATABASE_URI=mysql://root:secret@mysql:3306/lwui
-RUN python manage.py collectstatic --noinput
-RUN chmod +x /usr/share/osm-lightui/entrypoint.sh
-
-EXPOSE 80
-
-HEALTHCHECK --start-period=130s --interval=10s --timeout=5s --retries=12 \
-  CMD curl --silent --fail localhost:80 || exit 1
-
-CMD ["/usr/share/osm-lightui/entrypoint.sh"]
index b938810..bf709d6 100644 (file)
       ],
       "valueName": "current"
     },
-    {
-      "cacheTimeout": null,
-      "colorBackground": false,
-      "colorValue": false,
-      "colors": [
-        "#d44a3a",
-        "rgba(237, 129, 40, 0.89)",
-        "#299c46"
-      ],
-      "datasource": "prometheus - Juju generated source",
-      "fieldConfig": {
-        "defaults": {
-          "custom": {}
-        },
-        "overrides": []
-      },
-      "format": "none",
-      "gauge": {
-        "maxValue": 1,
-        "minValue": 0,
-        "show": true,
-        "thresholdLabels": false,
-        "thresholdMarkers": false
-      },
-      "gridPos": {
-        "h": 4,
-        "w": 3,
-        "x": 4,
-        "y": 14
-      },
-      "id": 79,
-      "interval": null,
-      "links": [],
-      "mappingType": 1,
-      "mappingTypes": [
-        {
-          "name": "value to text",
-          "value": 1
-        },
-        {
-          "name": "range to text",
-          "value": 2
-        }
-      ],
-      "maxDataPoints": 100,
-      "nullPointMode": "connected",
-      "nullText": null,
-      "pluginVersion": "6.3.5",
-      "postfix": "",
-      "postfixFontSize": "50%",
-      "prefix": "",
-      "prefixFontSize": "50%",
-      "rangeMaps": [
-        {
-          "from": "null",
-          "text": "N/A",
-          "to": "null"
-        }
-      ],
-      "sparkline": {
-        "fillColor": "rgba(31, 118, 189, 0.18)",
-        "full": false,
-        "lineColor": "rgb(31, 120, 193)",
-        "show": false,
-        "ymax": null,
-        "ymin": null
-      },
-      "tableColumn": "",
-      "targets": [
-        {
-          "expr": "kube_deployment_status_replicas_available{deployment=\"ng-ui\"}",
-          "instant": true,
-          "refId": "A"
-        }
-      ],
-      "thresholds": "0,1",
-      "timeFrom": null,
-      "timeShift": null,
-      "title": "light-ui",
-      "type": "singlestat",
-      "valueFontSize": "100%",
-      "valueMaps": [
-        {
-          "op": "=",
-          "text": "0",
-          "value": "null"
-        }
-      ],
-      "valueName": "avg"
-    },
     {
       "cacheTimeout": null,
       "colorBackground": false,
diff --git a/installers/charm/ui-k8s/.yamllint.yaml b/installers/charm/ui-k8s/.yamllint.yaml
deleted file mode 100644 (file)
index d24a69d..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020 Canonical 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.
----
-extends: default
-
-yaml-files:
-  - "*.yaml"
-  - "*.yml"
-  - ".yamllint"
-ignore: |
-  reactive/
-  .tox
-  release/
diff --git a/installers/charm/ui-k8s/README.md b/installers/charm/ui-k8s/README.md
deleted file mode 100755 (executable)
index 8cfa784..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<!--
-Copyright 2020 Canonical 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. -->
-
-# Overview
-
-UI for Juju CAAS
-
-## Testing
-
-The tests of this charm are done using tox and Zaza.
-
-
-
-### Prepare environment
-
-The machine in which the tests are run needs access to a juju k8s controller. The easiest way to approach this is by executing the following commands:
-
-```
-sudo apt install tox -y
-sudo snap install microk8s --classic
-sudo snap install juju
-
-microk8s.status --wait-ready
-microk8s.enable storage dashboard dns
-
-juju bootstrap microk8s k8s-cloud
-```
-
-If /usr/bin/python does not exist, you should probably need to do this:
-
-```
-sudo ln -s /usr/bin/python3 /usr/bin/python
-```
-
-### Build Charm
-
-**Download dependencies:**
-
-```
-mkdir -p ~/charm/layers ~/charm/build ~/charm/interfaces
-git clone --single-branch --branch master https://git.launchpad.net/canonical-osm ~/canonical-osm
-
-cd ~/charm/layers
-git clone --single-branch --branch=master https://git.launchpad.net/charm-osm-ui ui-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-k8s-grafana grafana-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-k8s-prometheus prometheus-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-k8s-mariadb mariadb-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-osm-lcm lcm-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-osm-mon mon-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-osm-nbi nbi-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-osm-pol pol-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-osm-ro ro-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-k8s-keystone keystone-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-k8s-kafka kafka-k8s ~/charm/interfaces
-git clone --single-branch --branch=master https://git.launchpad.net/charm-k8s-zookeeper zookeeper-k8s
-git clone --single-branch --branch=master https://git.launchpad.net/charm-k8s-mongodb mongodb-k8s
-
-cd ~/charm/interfaces
-mv ~/canonical-osm/charms/interfaces/* .
-git clone https://git.launchpad.net/interface-mongodb mongodb
-git clone https://git.launchpad.net/interface-osm-mon mon
-git clone https://git.launchpad.net/interface-osm-nbi osm-nbi
-git clone https://git.launchpad.net/interface-osm-ro osm-ro
-
-```
-
-**Charm structure:**
-
-```
-├── config.yaml
-├── icon.svg
-├── layer.yaml
-├── metadata.yaml
-├── reactive
-│   ├── spec_template.yaml
-│   └── ui.py
-├── README.md
-└── tox.ini
-```
-
-**Setup environment variables:**
-
-```
-export CHARM_LAYERS_DIR=~/charm/layers
-export CHARM_BUILD_DIR=~/charm/build
-export CHARM_INTERFACES_DIR=~/charm/interfaces
-```
-
-**Build:**
-
-```
-mkdir ~/charm/layers/ui-k8s/tests/build
-export https_proxy=\$PROXY
-charm build ~/charm/layers/ui-k8s
-charm build ~/charm/layers/grafana-k8s
-charm build ~/charm/layers/prometheus-k8s
-charm build ~/charm/layers/mariadb-k8s
-charm build ~/charm/layers/lcm-k8s
-charm build ~/charm/layers/mon-k8s
-charm build ~/charm/layers/nbi-k8s
-charm build ~/charm/layers/pol-k8s
-charm build ~/charm/layers/ro-k8s
-charm build ~/charm/layers/keystone-k8s
-charm build ~/charm/layers/kafka-k8s
-charm build ~/charm/layers/zookeeper-k8s
-charm build ~/charm/layers/mongodb-k8s
-mv ~/charm/build/* ~/charm/layers/ui-k8s/tests/build/
-```
diff --git a/installers/charm/ui-k8s/config.yaml b/installers/charm/ui-k8s/config.yaml
deleted file mode 100755 (executable)
index ae0a140..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020 Canonical 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.
-options:
-  advertised-hostname:
-    description: Advertised hostname
-    type: string
-    default: "ui"
-  advertised-port:
-    description: UI Port
-    type: int
-    default: 80
-  mysql_database:
-    description: Mysql Database for UI
-    type: string
-    default: lwui
-  image:
-    type: string
-    description: OCI image
-    default: opensourcemano/light-ui:latest
-  image_username:
-    description: Docker repository username
-    type: string
-    default: ""
-  image_password:
-    description: Docker repository password
-    type: string
-    default: ""
diff --git a/installers/charm/ui-k8s/icon.svg b/installers/charm/ui-k8s/icon.svg
deleted file mode 100644 (file)
index 0177a69..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<!-- # Copyright 2020 Canonical 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. -->
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="100px"
-   height="100px"
-   viewBox="0 0 100 100"
-   version="1.1"
-   id="svg18"
-   sodipodi:docname="template.svg"
-   inkscape:version="0.92.4 (f8dce91, 2019-08-02)">
-  <metadata
-     id="metadata22">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title>eclispe-che</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="2880"
-     inkscape:window-height="1736"
-     id="namedview20"
-     showgrid="false"
-     inkscape:pagecheckerboard="true"
-     inkscape:zoom="2.36"
-     inkscape:cx="100.57842"
-     inkscape:cy="-9.2650043"
-     inkscape:window-x="0"
-     inkscape:window-y="27"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="layer2" />
-  <!-- Generator: Sketch 45.2 (43514) - http://www.bohemiancoding.com/sketch -->
-  <title
-     id="title2">eclispe-che</title>
-  <desc
-     id="desc4">Created with Sketch.</desc>
-  <defs
-     id="defs7">
-    <path
-       d="M50.0004412,4.04252804e-14 C22.3871247,4.04252804e-14 0,22.3848726 0,49.9995588 C0,77.6133626 22.3871247,100 50.0004412,100 C77.6137577,100 100,77.6133626 100,49.9995588 C100,22.3848726 77.6128753,3.55271368e-14 50.0004412,4.04252804e-14 Z"
-       id="path-1" />
-  </defs>
-  <g
-     inkscape:groupmode="layer"
-     id="layer1"
-     inkscape:label="BACKGROUND">
-    <g
-       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-opacity:1"
-       id="Page-1">
-      <g
-         id="eclispe-che"
-         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1">
-        <g
-           id="path3023-path"
-           style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1">
-          <use
-             xlink:href="#path-1"
-             id="use9"
-             style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
-             x="0"
-             y="0"
-             width="100%"
-             height="100%" />
-          <path
-             d="M 50.000441,0.5 C 22.662621,0.5 0.5,22.661661 0.5,49.999559 0.5,77.337051 22.663098,99.5 50.000441,99.5 77.337613,99.5 99.5,77.337222 99.5,49.999559 99.5,22.661796 77.337514,0.5 50.000441,0.5 Z"
-             id="path11"
-             style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-opacity:1"
-             inkscape:connector-curvature="0" />
-        </g>
-      </g>
-    </g>
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer2"
-     inkscape:label="PLACE LOGO HERE">
-    <image
-       y="-9.851697"
-       x="-8.0254316"
-       id="image829"
-       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApgAAAK8CAYAAABLDM/pAAAABHNCSVQICAgIfAhkiAAAIABJREFU eJzs3Xl4lOX1//E3mRkyZMhkCCEJIWwJ+yaJC6CIYhBFEBUQUNEiUpeqaGttbYtLrf3a6te2or/S 9mvBonVDEbAURFDECogCsexLMJAQSEJ2AjNMJvz+GCaGECDLJM/M5PO6rlxKMs/znEhMTu773OeA iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIhRWhkdgIhICLMAQ4DOQDmwCThkaEQiIiIiErQeBrKAUzXe VgADDIxLRERERIKMBfgnZyeW1d9KgFFGBSgi0tS0RS4ioaI9YD391ub0P6n2vpqcp998ik7/sxg4 CZQ1MI4ngOfr8LpCoBdQ0MDniIgELCWYIhKoOgEdgQSg6+l/xgFRQCzgOP1mP/3WFEpPvx0FcvHW UebhTUJzTr8/HzgCHDh9TXY94nkZeNSP8YqIBAQlmCJilEigNzAYSAa6nH7rCCQC4Q25qcVqA6B1 dPyZ77d9n/O5y0vPuu5k4RFOuU9S4XE35LE+Luoetwc4jPcAkIhISFGCKSJNrT2QAvQF+gHdgf54 k8jzsjpisXboRHT3zlijY7C2a094ZBStI+2E2x2ERzkItzto3TYSS0RbTOENyknP4izy7lqfPFaG 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 NCuTVT97iM1zf0f+ti2UHz6Au6yIipICCvbtJPvLT6sS1YYmhyZLGAc+W05pTi4DbpveuE8ywGWs WMyqR+/meN5BrI5Yrvn9XPpNmd7geu/sdWvYvfhNrI5Yhv/qeb/UjZvbRNA60k72l59yInsr7VNv JMwSmN+X/MHWqS+cOsWxA+kA44ANwH5jo5LmpC1yaQrJwDMAl//q+SZt6ZK/PZ1l901j5SN3Ubx3 C2aThYfih7Kp/0ye6nJNs7UaaqgyjwuACHMbgyORxhpm78KKftOZ32Miia3tlOdksPKRu1h237Qz tqmz161hye1jzui76lO9ufwp90k2z32RZfdNa9C2e7eRYzCbLJTnZJC/Pb0hn1LA87hcrPnVQ3z+ 5CzcznLiUkcw4b2PG90cf9+y9wFIun6cX3uf9r31Lhw9U3A7yzmy+kW/3TdQJYycQVzqCIBw4ANg gLERSXPSCqY0haVAUlzqCIb8+JdN8oDSrEzWvzCbr1565oytcN+KpTWs+U+qN8RRdzmv522mgymc ++IvMzocaSRTqzB6tYlhaswgTp06xeYTuZTlfMee99/kREkRAJ/+5B4q3M4L3ss3StSVl8ORbdvo deOEesUSZjZT9N1eijJ2Y7a2CaqJRHVRfdwjQOoDj5933GNdOYsKWPebn1N5qpKrnn3Z77svMX36 smfx25QfPkBk99SQGyNZU9vk4TiPbMVZeCQcGA8sQCMlWwStYIq/PQwMt1htXDn7Ob/f3FlUwIaX nmHxrWnsX7kU8M7s3jjg3qBYsaypuMKbaLTTCmZIiTJbearLNWwccC9pUclUeNzseGceKx+564xV yrqo8LjJ3byWnQsX1DuOHmMnAXBg7ef1vjaQ7Vy4gOX3TKQ8JwOrI5YbX1/K4BkP++Xe361aRoXH jaNnSpPsvnToP5h+U2cAcGjln6isOOn3ZwSSMHNrut78LFZHLEAisByINDYqaQ5KMMWfOgHPAVwy 6xd+/+acsWIxiyZfx4535lHhcZMWlcznA2YyJ2mcIQ3S/aGwQr/Ih7LE8Cje7j2FJX2mkdja3qh7 bfnbHDwuV72u6XjxMCxWW8hskzuLCljzq4dY/8JsKjxukkaPZ8J7H/u1Q8V/35wPQN9bJvrtnjUN nvEwVkcs5TkZHN38ryZ7TqAwR0SRfMcfsFhtAJcCfzE4JGkGSjDFn/4O2ONSR9RpDFtd+eosP39y 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 WYlWJEUkgilgikg4SbKdpDUAAAJjSURBVMK8LT0QRtcbQCL9m9luAB7ACziBVsABNANnu351dn3M C9Rjhkg3agckIiIiEnaqgPMDeNvQx+uk9nqzDWvVIiIiIhKynqD/4bIZc9VTRERERKRPqUAD/QuY /2ZRjSIiIiISZtZgrk5eLly+aFl1IiIiIhKWZgJbAT8XBssq4AsW1iUiMurpFrmIhLtMzH6aCUAt GpkoIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IhIR/j/m1Gy2udUkpAAAAABJRU5ErkJggg== "
-       style="image-rendering:optimizeQuality"
-       preserveAspectRatio="none"
-       height="120.55085"
-       width="113.50848" />
-  </g>
-</svg>
diff --git a/installers/charm/ui-k8s/layer.yaml b/installers/charm/ui-k8s/layer.yaml
deleted file mode 100644 (file)
index 40a4a70..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2020 Canonical 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.
-includes:
-  - "layer:caas-base"
-  - "layer:status"
-  - "layer:leadership"
-  - "layer:osm-common"
-  - "interface:juju-relation-mysql"
-  - "interface:osm-nbi"
-
-repo: https://code.launchpad.net/osm-k8s-bundle
diff --git a/installers/charm/ui-k8s/metadata.yaml b/installers/charm/ui-k8s/metadata.yaml
deleted file mode 100755 (executable)
index 5c3fe9e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2020 Canonical 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.
-name: "ui-k8s"
-summary: "OSM User Interface (UI)"
-maintainers:
-  - "SolutionsQA <solutionsqa@lists.canonical.com>"
-description: |
-  A CAAS charm to deploy OSM's Northbound Interface (NBI).
-tags:
-  - "application"
-series:
-  - "kubernetes"
-requires:
-  mysql:
-    interface: mysql
-  nbi:
-    interface: osm-nbi
-deployment:
-  type: stateless
-  service: cluster
diff --git a/installers/charm/ui-k8s/reactive/spec_template.yaml b/installers/charm/ui-k8s/reactive/spec_template.yaml
deleted file mode 100644 (file)
index 4b3eef3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2020 Canonical 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.
-version: 2
-containers:
-  - name: %(name)s
-    imageDetails:
-      imagePath: %(image)s
-      username: %(image_username)s
-      password: %(image_password)s
-    ports:
-    - containerPort: %(advertised-port)s
-      protocol: TCP
-    config:
-      ALLOW_ANONYMOUS_LOGIN: 'yes'
-      OSM_SERVER: %(nbi_host)s
-      OSMUI_SQL_DATABASE_URI: mysql://root:%(mysql_root_password)s@%(mysql_host)s:%(mysql_port)s/%(mysql_database)s
-    kubernetes:
-      readinessProbe:
-        tcpSocket:
-          port: %(advertised-port)s
-        periodSeconds: 10
-        timeoutSeconds: 5
-        successThreshold: 1
-        failureThreshold: 3
-      livenessProbe:
-        tcpSocket:
-          port: %(advertised-port)s
-        initialDelaySeconds: 30
-        periodSeconds: 10
-        timeoutSeconds: 5
-        successThreshold: 1
-        failureThreshold: 3
\ No newline at end of file
diff --git a/installers/charm/ui-k8s/reactive/ui.py b/installers/charm/ui-k8s/reactive/ui.py
deleted file mode 100644 (file)
index eb53daf..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2020 Canonical 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.
-#
-from charms.layer.caas_base import pod_spec_set
-from charms.reactive import endpoint_from_flag
-from charms.reactive import when, when_not, hook
-from charms.reactive.flags import set_flag, clear_flag
-from charmhelpers.core.hookenv import (
-    log,
-    metadata,
-    config,
-)
-from charms import layer
-
-
-@hook("upgrade-charm")
-@when("leadership.is_leader")
-def upgrade():
-    clear_flag("ui-k8s.configured")
-
-
-@when("config.changed")
-@when("leadership.is_leader")
-def restart():
-    clear_flag("ui-k8s.configured")
-
-
-@when_not("mysql.available")
-@when_not("ui-k8s.configured")
-@when("leadership.is_leader")
-def waiting_for_mysql():
-    layer.status.waiting("Waiting for mysql to be available")
-
-
-@when_not("nbi.ready")
-@when_not("ui-k8s.configured")
-@when("leadership.is_leader")
-def waiting_for_nbi():
-    layer.status.waiting("Waiting for nbi to be available")
-
-
-@when("mysql.available", "nbi.ready")
-@when_not("ui-k8s.configured")
-@when("leadership.is_leader")
-def configure():
-
-    layer.status.maintenance("Configuring ui container")
-    try:
-        mysql = endpoint_from_flag("mysql.available")
-        nbi = endpoint_from_flag("nbi.ready")
-        nbi_unit = nbi.nbis()[0]
-        nbi_host = "{}".format(nbi_unit["host"])
-        spec = make_pod_spec(
-            mysql.host(),
-            mysql.port(),
-            mysql.user(),
-            mysql.password(),
-            mysql.root_password(),
-            nbi_host,
-        )
-        log("set pod spec:\n{}".format(spec))
-        pod_spec_set(spec)
-        set_flag("ui-k8s.configured")
-    except Exception as e:
-        layer.status.blocked("k8s spec failed to deploy: {}".format(e))
-
-
-@when("mysql.available", "nbi.ready")
-@when_not("leadership.is_leader")
-def non_leaders_active():
-    layer.status.active("ready")
-
-
-@when("ui-k8s.configured")
-def set_ui_active():
-    layer.status.active("ready")
-
-
-def make_pod_spec(
-    mysql_host, mysql_port, mysql_user, mysql_password, mysql_root_password, nbi_host
-):
-    """Make pod specification for Kubernetes
-
-    Args:
-        mysql_name (str): UI DB name
-        mysql_host (str): UI DB host
-        mysql_port (int): UI DB port
-        mysql_user (str): UI DB user
-        mysql_password (str): UI DB password
-        nbi_uri (str): NBI URI
-    Returns:
-        pod_spec: Pod specification for Kubernetes
-    """
-
-    with open("reactive/spec_template.yaml") as spec_file:
-        pod_spec_template = spec_file.read()
-
-    md = metadata()
-    cfg = config()
-
-    data = {
-        "name": md.get("name"),
-        "mysql_host": mysql_host,
-        "mysql_port": mysql_port,
-        "mysql_user": mysql_user,
-        "mysql_password": mysql_password,
-        "mysql_root_password": mysql_root_password,
-        "nbi_host": nbi_host,
-    }
-    data.update(cfg)
-
-    return pod_spec_template % data
-
-
-def get_ui_port():
-    """Returns UI port"""
-    cfg = config()
-    return cfg.get("advertised-port")
diff --git a/installers/charm/ui-k8s/tox.ini b/installers/charm/ui-k8s/tox.ini
deleted file mode 100644 (file)
index 50375f3..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2020 Canonical 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.
-[tox]
-envlist = pep8
-skipsdist = True
-
-[testenv]
-setenv = VIRTUAL_ENV={envdir}
-         PYTHONHASHSEED=0
-whitelist_externals = juju
-                      sleep
-passenv = HOME TERM CS_API_* OS_* AMULET_*
-install_command =
-  pip install {opts} {packages}
-
-[testenv:build]
-basepython = python3
-passenv=HTTP_PROXY HTTPS_PROXY NO_PROXY
-setenv = CHARM_LAYERS_DIR = ../layers
-         CHARM_INTERFACES_DIR = ../interfaces/
-whitelist_externals = git
-                      charm
-                      rm
-                      mv
-commands =
-    rm -rf release
-    rm -rf ../interfaces/juju-relation-mysql
-    rm -rf /tmp/canonical-osm
-    git clone https://git.launchpad.net/canonical-osm/ /tmp/canonical-osm
-    mv /tmp/canonical-osm/charms/interfaces/juju-relation-mysql ../interfaces/juju-relation-mysql
-    charm build . --build-dir /tmp
-    mv /tmp/ui-k8s/ release/
-
-[testenv:lint]
-basepython = python3
-deps =
-    black
-    yamllint
-    flake8
-commands =
-    black --check --diff . --exclude "release/|.tox/"
-    yamllint .
-    flake8 reactive/ --max-line-length=100
-
-[testenv:pep8]
-basepython = python3
-deps=charm-tools
-commands = charm-proof
-
-[testenv:venv]
-commands = {posargs}
diff --git a/installers/docker/docker-compose-lightui.yaml b/installers/docker/docker-compose-lightui.yaml
deleted file mode 100644 (file)
index 3795a4c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-##
-# Copyright 2019 ETSI
-#
-# 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.
-##
-
-########################################################################
-
-version: '3'
-networks:
-  netOSM:
-    external:
-      name: ${OSM_NETWORK:-netosm}
-    #driver: overlay
-    #driver_opts:
-    #  com.docker.network.driver.mtu: "1446"
-services:
-  light-ui:
-    image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-9}
-    networks:
-      - netOSM
-    environment:
-      OSM_SERVER: nbi
-    #depends_on:
-    #  - nbi
-    env_file:
-      - ./lwui.env
-    ports:
-      - "${OSM_UI_PORTS:-80:80}"
-    logging:
-      driver: "json-file"
-      options:
-        max-size: "100m"
-        max-file: "2"
-
diff --git a/installers/docker/osm_pods/light-ui.yaml b/installers/docker/osm_pods/light-ui.yaml
deleted file mode 100644 (file)
index 720c395..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2019 TATA ELXSI
-#
-# 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
-# Author: Vijay Nag B S (vijaynag.bs@tataelxsi.co.in)
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: light-ui
-spec:
-  ports:
-  - nodePort: 80
-    port: 80
-    protocol: TCP
-    targetPort: 80
-  selector:
-    app: light-ui
-  type: NodePort
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: light-ui
-  labels:
-    app: light-ui
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: light-ui
-  template:
-    metadata:
-      labels:
-        app: light-ui
-    spec:
-      containers:
-      - name: light-ui
-        image: opensourcemano/light-ui:9
-        envFrom:
-        - secretRef:
-            name: lwui-secret
-        ports:
-        - containerPort: 80
-          protocol: TCP
-        env:
-        - name: OSM_SERVER
-          value: nbi
index 42c2ed5..0eb184c 100755 (executable)
@@ -29,7 +29,6 @@ function usage(){
     echo -e "                     -b tags/v1.1.0     (a specific tag)"
     echo -e "                     ..."
     echo -e "     -c <orchestrator> deploy osm services using container <orchestrator>. Valid values are <k8s> or <swarm>.  If -c is not used then osm will be deployed using default orchestrator. When used with --uninstall, osm services deployed by the orchestrator will be uninstalled"
-    echo -e "     -n <ui> install OSM with Next Gen UI. Valid values are <lwui> or <ngui>. If -n is not specified osm will be installed with light-ui. When used with uninstall, osm along with the UI specified will be uninstalled"
     echo -e "     -s <stack name> or <namespace>  user defined stack name when installed using swarm or namespace when installed using k8s, default is osm"
     echo -e "     -H <VCA host>   use specific juju host controller IP"
     echo -e "     -S <VCA secret> use VCA/juju secret key"
@@ -39,7 +38,7 @@ function usage(){
     echo -e "     --vimemu:       additionally deploy the VIM emulator as a docker container"
     echo -e "     --elk_stack:    additionally deploy an ELK docker stack for event logging"
     echo -e "     --pla:          install the PLA module for placement support"
-    echo -e "     -m <MODULE>:    install OSM but only rebuild or pull the specified docker images (LW-UI, NG-UI, NBI, LCM, RO, MON, POL, PLA, KAFKA, MONGO, PROMETHEUS, PROMETHEUS-CADVISOR, KEYSTONE-DB, NONE)"
+    echo -e "     -m <MODULE>:    install OSM but only rebuild or pull the specified docker images (NG-UI, NBI, LCM, RO, MON, POL, PLA, KAFKA, MONGO, PROMETHEUS, PROMETHEUS-CADVISOR, KEYSTONE-DB, NONE)"
     echo -e "     -o <ADDON>:     ONLY (un)installs one of the addons (vimemu, elk_stack, k8s_monitor)"
     echo -e "     -O <openrc file path/cloud name>: Install OSM to an OpenStack infrastructure. <openrc file/cloud name> is required. If a <cloud name> is used, the clouds.yaml file should be under ~/.config/openstack/ or /etc/openstack/"
     echo -e "     -N <openstack public network name/ID>: Public network name required to setup OSM to OpenStack"
@@ -229,11 +228,7 @@ for module in ro lcm keystone nbi mon pol pla osmclient; do
 done
 EONG
 
-        if [ -n "$NGUI" ]; then
-            sg docker -c "docker image rm ${DOCKER_REGISTRY_URL}${DOCKER_USER}/ng-ui:${OSM_DOCKER_TAG}"
-        else
-            sg docker -c "docker image rm ${DOCKER_REGISTRY_URL}${DOCKER_USER}/light-ui:${OSM_DOCKER_TAG}"
-        fi
+        sg docker -c "docker image rm ${DOCKER_REGISTRY_URL}${DOCKER_USER}/ng-ui:${OSM_DOCKER_TAG}"
 
         if [ -n "$KUBERNETES" ]; then
             OSM_NAMESPACE_VOL="${OSM_HOST_VOL}/${OSM_STACK_NAME}"
@@ -536,6 +531,17 @@ function docker_login() {
 }
 
 function generate_docker_images() {
+    cat << EOF
+========================================================================================
+
+
+
+
+
+========================================================================================
+EOF
+    set -x
+    sleep 5
     echo "Pulling and generating docker images"
     [ -n "${DOCKER_REGISTRY_URL}" ] && docker_login
 
@@ -572,18 +578,8 @@ function generate_docker_images() {
 
     if [ -n "$PULL_IMAGES" ]; then
         echo "Pulling OSM docker images"
-        for module in MON POL NBI KEYSTONE RO LCM NG-UI LW-UI PLA osmclient; do
+        for module in MON POL NBI KEYSTONE RO LCM NG-UI PLA osmclient; do
             module_lower=${module,,}
-            if [ $module == "LW-UI" ]; then
-                if [ -n "$NGUI" ]; then
-                    continue
-                else
-                    module_lower="light-ui"
-                fi
-            fi
-            if [ $module == "NG-UI" -a ! -n "$NGUI" ]; then
-                continue
-            fi
             if [ $module == "PLA" -a ! -n "$INSTALL_PLA" ]; then
                 continue
             fi
@@ -599,19 +595,9 @@ function generate_docker_images() {
         [ -z "$_build_from" ] && _build_from="latest"
         echo "OSM Docker images generated from $_build_from"
 
-        for module in MON POL NBI KEYSTONE RO LCM NG-UI LW-UI PLA; do
+        for module in MON POL NBI KEYSTONE RO LCM NG-UI PLA; do
             if [ -z "$TO_REBUILD" ] || echo $TO_REBUILD | grep -q ${module} ; then
                 module_lower=${module,,}
-                if [ $module == "LW-UI" ]; then
-                    if [ -n "$NGUI" ]; then
-                        continue
-                    else
-                        module_lower="light-ui"
-                    fi
-                fi
-                if [ $module == "NG-UI" -a ! -n "$NGUI" ]; then
-                    continue
-                fi
                 if [ $module == "PLA" -a ! -n "$INSTALL_PLA" ]; then
                     continue
                 fi
@@ -647,13 +633,7 @@ function cmp_overwrite() {
 
 function generate_docker_compose_files() {
     $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/docker-compose.yaml $OSM_DOCKER_WORK_DIR/docker-compose.yaml
-    if [ -n "$NGUI" ]; then
-        # For NG-UI
-        $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/docker-compose-ngui.yaml $OSM_DOCKER_WORK_DIR/docker-compose-ui.yaml
-    else
-        # Docker-compose
-        $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/docker-compose-lightui.yaml $OSM_DOCKER_WORK_DIR/docker-compose-ui.yaml
-    fi
+    $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/docker-compose-ngui.yaml $OSM_DOCKER_WORK_DIR/docker-compose-ui.yaml
     if [ -n "$INSTALL_PLA" ]; then
         $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/osm_pla/docker-compose.yaml $OSM_DOCKER_WORK_DIR/osm_pla/docker-compose.yaml
     fi
@@ -663,11 +643,7 @@ function generate_k8s_manifest_files() {
     #Kubernetes resources
     $WORKDIR_SUDO cp -bR ${OSM_DEVOPS}/installers/docker/osm_pods $OSM_DOCKER_WORK_DIR
     $WORKDIR_SUDO rm -f $OSM_K8S_WORK_DIR/mongo.yaml
-    if [ -n "$NGUI" ]; then
-        $WORKDIR_SUDO rm -f $OSM_K8S_WORK_DIR/light-ui.yaml
-    else
-        $WORKDIR_SUDO rm -f $OSM_K8S_WORK_DIR/ng-ui.yaml
-    fi
+    $WORKDIR_SUDO rm -f $OSM_K8S_WORK_DIR/ng-ui.yaml
 }
 
 function generate_prometheus_grafana_files() {
@@ -693,7 +669,6 @@ function generate_docker_env_files() {
     $WORKDIR_SUDO cp $OSM_DOCKER_WORK_DIR/keystone-db.env{,~}
     $WORKDIR_SUDO cp $OSM_DOCKER_WORK_DIR/keystone.env{,~}
     $WORKDIR_SUDO cp $OSM_DOCKER_WORK_DIR/lcm.env{,~}
-    $WORKDIR_SUDO cp $OSM_DOCKER_WORK_DIR/lwui.env{,~}
     $WORKDIR_SUDO cp $OSM_DOCKER_WORK_DIR/mon.env{,~}
     $WORKDIR_SUDO cp $OSM_DOCKER_WORK_DIR/nbi.env{,~}
     $WORKDIR_SUDO cp $OSM_DOCKER_WORK_DIR/pol.env{,~}
@@ -825,11 +800,6 @@ function generate_docker_env_files() {
         echo "OSMPOL_SQL_DATABASE_URI=mysql://root:${MYSQL_ROOT_PASSWORD}@mysql:3306/pol" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/pol.env
     fi
 
-    # LW-UI
-    if [ ! -f $OSM_DOCKER_WORK_DIR/lwui.env ]; then
-        echo "OSMUI_SQL_DATABASE_URI=mysql://root:${MYSQL_ROOT_PASSWORD}@mysql:3306/lwui" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/lwui.env
-    fi
-
     echo "Finished generation of docker env files"
 }
 
@@ -925,7 +895,6 @@ function kube_secrets(){
     kubectl create secret generic ro-db-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/ro-db.env
     kubectl create secret generic ro-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/ro.env
     kubectl create secret generic keystone-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/keystone.env
-    kubectl create secret generic lwui-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/lwui.env
     kubectl create secret generic pol-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/pol.env
 }
 
@@ -1015,22 +984,14 @@ function parse_yaml() {
 }
 
 function update_manifest_files() {
-    if [ -n "$NGUI" ]; then
-        osm_services="nbi lcm ro pol mon ng-ui keystone pla"
-    else
-        osm_services="nbi lcm ro pol mon light-ui keystone pla"
-    fi
+    osm_services="nbi lcm ro pol mon ng-ui keystone pla"
     list_of_services=""
     for module in $osm_services; do
         module_upper="${module^^}"
-        if [ "$module_upper" == "LIGHT-UI" ]; then
-            module_upper="LW-UI"
-        fi
         if ! echo $TO_REBUILD | grep -q $module_upper ; then
             list_of_services="$list_of_services $module"
         fi
     done
-    list_of_services_to_rebuild=$(echo ${TO_REBUILD,,} |sed "s/lw-ui/light-ui/g")
     if [ ! "$OSM_DOCKER_TAG" == "9" ]; then
         parse_yaml $OSM_DOCKER_TAG $list_of_services
     fi
@@ -1573,7 +1534,6 @@ function dump_vars(){
     echo "OSM_STACK_NAME=$OSM_STACK_NAME"
     echo "PULL_IMAGES=$PULL_IMAGES"
     echo "KUBERNETES=$KUBERNETES"
-    echo "NGUI=$NGUI"
     echo "DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL"
     echo "DOCKER_PROXY_URL=$DOCKER_PROXY_URL"
     echo "SHOWOPTS=$SHOWOPTS"
@@ -1633,7 +1593,6 @@ INSTALL_NOLXD=""
 INSTALL_NODOCKER=""
 INSTALL_NOJUJU=""
 KUBERNETES="y"
-NGUI="y"
 INSTALL_K8S_MONITOR=""
 INSTALL_NOHOSTCLIENT=""
 INSTALL_NOCACHELXDIMAGES=""
@@ -1690,12 +1649,6 @@ while getopts ":b:r:c:n:k:u:R:D:o:O:m:N:H:S:s:w:t:U:P:A:l:L:K:d:p:T:f:F:-: hy" o
             echo -e "Invalid argument for -i : ' $OPTARG'\n" >&2
             usage && exit 1
             ;;
-        n)
-            [ "${OPTARG}" == "lwui" ] && NGUI="" && REPO_ARGS+=(-n "${OPTARG}") && continue
-            [ "${OPTARG}" == "ngui" ] && continue
-            echo -e "Invalid argument for -n : ' $OPTARG'\n" >&2
-            usage && exit 1
-            ;;
         k)
             REPOSITORY_KEY="${OPTARG}"
             REPO_ARGS+=(-k "$REPOSITORY_KEY")
@@ -1736,7 +1689,6 @@ while getopts ":b:r:c:n:k:u:R:D:o:O:m:N:H:S:s:w:t:U:P:A:l:L:K:d:p:T:f:F:-: hy" o
             OPENSTACK_PUBLIC_NET_NAME="${OPTARG}"
             ;;
         m)
-            [ "${OPTARG}" == "LW-UI" ] && TO_REBUILD="$TO_REBUILD LW-UI" && continue
             [ "${OPTARG}" == "NG-UI" ] && TO_REBUILD="$TO_REBUILD NG-UI" && continue
             [ "${OPTARG}" == "NBI" ] && TO_REBUILD="$TO_REBUILD NBI" && continue
             [ "${OPTARG}" == "LCM" ] && TO_REBUILD="$TO_REBUILD LCM" && continue
index 37e0467..5501c58 100755 (executable)
@@ -33,7 +33,6 @@ function usage(){
     echo -e "                     -b tags/v1.1.0     (a specific tag)"
     echo -e "                     ..."
     echo -e "     -c <orchestrator> deploy osm services using container <orchestrator>. Valid values are <k8s> or <swarm>.  If -c is not used then osm will be deployed using default orchestrator. When used with --uninstall, osm services deployed by the orchestrator will be uninstalled"
-    echo -e "     -n <ui> install OSM with Next Gen UI. Valid values are <lwui> or <ngui>. If -n is not specified osm will be installed with light-ui. When used with uninstall, osm along with the UI specified will be uninstalled"
     echo -e "     -s <stack name> or <namespace>  user defined stack name when installed using swarm or namespace when installed using k8s, default is osm"
     echo -e "     -H <VCA host>   use specific juju host controller IP"
     echo -e "     -S <VCA secret> use VCA/juju secret key"
index 8f26b59..f729083 100644 (file)
@@ -1343,91 +1343,6 @@ data:
           ],
           "valueName": "current"
         },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "#d44a3a",
-            "rgba(237, 129, 40, 0.89)",
-            "#299c46"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 1,
-            "minValue": 0,
-            "show": true,
-            "thresholdLabels": false,
-            "thresholdMarkers": false
-          },
-          "gridPos": {
-            "h": 4,
-            "w": 3,
-            "x": 4,
-            "y": 14
-          },
-          "id": 79,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "pluginVersion": "6.3.5",
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false,
-            "ymax": null,
-            "ymin": null
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "kube_deployment_status_replicas_available{deployment=\"ng-ui\"}",
-              "instant": true,
-              "refId": "A"
-            }
-          ],
-          "thresholds": "0,1",
-          "timeFrom": null,
-          "timeShift": null,
-          "title": "light-ui",
-          "type": "singlestat",
-          "valueFontSize": "100%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "0",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
         {
           "cacheTimeout": null,
           "colorBackground": false,
index e7c8065..e26e762 100755 (executable)
 # limitations under the License.
 
 WAIT_TIME=340  # LCM healthcheck needs 2x(30+140) senconds
-SERVICES_WITH_HEALTH="nbi ro zookeeper lcm mon light-ui pol kafka"
+SERVICES_WITH_HEALTH="nbi ro zookeeper lcm mon pol kafka"
 NUM_SERVICES_WITH_HEALTH=$(echo $SERVICES_WITH_HEALTH | wc -w)
 WAIT_FINAL=30
-OSM_DEPLOYMENT="light-ui nbi lcm ro mon pol keystone"
+OSM_DEPLOYMENT="nbi lcm ro mon pol keystone"
 OSM_STATEFULSET="zookeeper kafka mongo mysql prometheus"
 NUM_K8S_PODS=$(echo $OSM_DEPLOYMENT $OSM_STATEFULSET | wc -w)
 
index b080ebe..ef6a908 100644 (file)
@@ -223,7 +223,7 @@ node("${params.NODE}") {
                     }
 
                     parallelSteps = [:]
-                    def list = ["RO", "openvim", "osmclient", "IM", "devops", "MON", "N2VC", "NBI", "common", "LCM", "POL", "LW-UI", "NG-UI", "PLA", "tests"]
+                    def list = ["RO", "openvim", "osmclient", "IM", "devops", "MON", "N2VC", "NBI", "common", "LCM", "POL", "NG-UI", "PLA", "tests"]
                     if (upstreamComponent.length()>0) {
                         println("Skipping upstream fetch of "+upstreamComponent)
                         list.remove(upstreamComponent)
index 471fdd4..e18c4b0 100755 (executable)
@@ -35,14 +35,14 @@ dpkg -l |grep osm-devops
 echo "osm-imdocs osm-im deb package:"
 dpkg -l |grep osm-im
 echo "python-osmclient deb package:"
-dpkg -l |grep 
+dpkg -l |grep
 echo "whereis osm:"
 whereis osm
 echo "which osmclient:"
 which osm
 #dockers deb packages
 echo "dockers deb packages"
-for i in kafka keystone lcm light-ui mon mongo nbi pol prometheus ro mysql zookeeper; do
+for i in kafka keystone lcm mon mongo nbi pol prometheus ro mysql zookeeper; do
     echo "docker osm_$i"
     docker exec $(docker ps -q -f name=osm_$i -l) dpkg -l |grep osm
 done
@@ -56,8 +56,6 @@ echo "LCM"
 docker exec -it $(docker ps -aqf "name=osm_lcm" -n 1) dpkg -l |egrep -i "osm|n2vc"
 echo "NBI"
 docker exec -it $(docker ps -aqf "name=osm_nbi" -n 1) dpkg -l |egrep -i "osm|n2vc"
-echo "LW-UI"
-docker exec -it $(docker ps -aqf "name=osm_light-ui" -n 1) dpkg -l |egrep -i "osm|n2vc"
 echo "RO"
 docker exec -it $(docker ps -aqf "name=osm_ro.1" -n 1) dpkg -l |egrep -i "osm|n2vc"
 echo "OSMCLIENT"
@@ -76,9 +74,6 @@ docker exec $(docker ps -q -f name=osm_lcm -l) git -C /app describe --tags --lon
 echo "docker osm_nbi"
 docker exec $(docker ps -q -f name=osm_nbi -l) git -C /app/NBI rev-parse HEAD
 docker exec $(docker ps -q -f name=osm_nbi -l) git -C /app/NBI describe --tags --long --dirty
-echo "docker osm_light-ui"
-docker exec $(docker ps -q -f name=osm_light-ui -l) git -C /usr/share/osm-lightui rev-parse HEAD
-docker exec $(docker ps -q -f name=osm_light-ui -l) git -C /usr/share/osm-lightui describe --tags --long --dirty
 echo "docker osm_mon"
 docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon rev-parse HEAD
 docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon describe --tags --long --dirty