Add OSM charms
[osm/devops.git] / installers / charm / ui-k8s / README.md
diff --git a/installers/charm/ui-k8s/README.md b/installers/charm/ui-k8s/README.md
new file mode 100755 (executable)
index 0000000..8cfa784
--- /dev/null
@@ -0,0 +1,117 @@
+<!--
+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/
+```