Remove unneeded mysql interface in PLA, fix osm-ha bundle, and add README.md to bundles 88/9488/5 v8.0.0 v8.0.0rc3
authorDavid Garcia <david.garcia@canonical.com>
Tue, 21 Jul 2020 07:35:44 +0000 (09:35 +0200)
committergarciadav <david.garcia@canonical.com>
Wed, 22 Jul 2020 11:58:47 +0000 (13:58 +0200)
Change-Id: I7761efaa174ce46eb3c3cc6c99f846340ba8e93c
Signed-off-by: David Garcia <david.garcia@canonical.com>
installers/charm/bundles/osm-ha/README.md [new file with mode: 0644]
installers/charm/bundles/osm-ha/bundle.yaml
installers/charm/bundles/osm/README.md [new file with mode: 0644]
installers/charm/bundles/osm/bundle.yaml
installers/charm/pla/metadata.yaml
installers/charm/pla/src/charm.py

diff --git a/installers/charm/bundles/osm-ha/README.md b/installers/charm/bundles/osm-ha/README.md
new file mode 100644 (file)
index 0000000..84dbde4
--- /dev/null
@@ -0,0 +1,32 @@
+<!--
+ 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.
+-->
+# Charmed OSM
+
+
+Charmed OSM is an OSM distribution, developed and maintained by Canonical, which uses Juju charms to simplify its deployments and operations. Charmed OSM enables TSPs to easily deploy pure upstream OSM in highly available, production-grade and scalable clusters.
+
+- Industry‐aligned and fully compliant with upstream
+- Predictable release cadence and upgrade path
+- Simplified deployments and operations
+- Stable and secure
+- Highly Available and resilient against failures
+- Supported with [Ubuntu Advantage](https://ubuntu.com/advantage)
+- Availability of managed services
+
+
+## Quick start
+
+Go to the [OSM User Guide](https://osm.etsi.org/docs/user-guide/03-installing-osm.html#charmed-installation)
index 9976679..ea3d7a1 100644 (file)
@@ -121,7 +121,7 @@ applications:
   ng-ui:
     charm: "%(prefix)s/ng-ui%(suffix)s"
     channel: "%(channel)s"
-    scale: 1
+    scale: 3
     series: kubernetes
     options:
       port: 80
@@ -184,7 +184,7 @@ applications:
     annotations:
       gui-x: -250
       gui-y: 550
-  pla-k8s:
+  pla:
     charm: "%(prefix)s/pla%(suffix)s"
     channel: "%(channel)s"
     scale: 3
@@ -252,7 +252,5 @@ relations:
     - "kafka-k8s:kafka"
   - - "pla:mongo"
     - "mongodb-k8s:mongo"
-  - - "pla:mysql"
-    - "mariadb-k8s:mysql"
   - - 'ng-ui:nbi'
     - 'nbi-k8s:nbi'
diff --git a/installers/charm/bundles/osm/README.md b/installers/charm/bundles/osm/README.md
new file mode 100644 (file)
index 0000000..84dbde4
--- /dev/null
@@ -0,0 +1,32 @@
+<!--
+ 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.
+-->
+# Charmed OSM
+
+
+Charmed OSM is an OSM distribution, developed and maintained by Canonical, which uses Juju charms to simplify its deployments and operations. Charmed OSM enables TSPs to easily deploy pure upstream OSM in highly available, production-grade and scalable clusters.
+
+- Industry‐aligned and fully compliant with upstream
+- Predictable release cadence and upgrade path
+- Simplified deployments and operations
+- Stable and secure
+- Highly Available and resilient against failures
+- Supported with [Ubuntu Advantage](https://ubuntu.com/advantage)
+- Availability of managed services
+
+
+## Quick start
+
+Go to the [OSM User Guide](https://osm.etsi.org/docs/user-guide/03-installing-osm.html#charmed-installation)
index 6207fd8..c4567ac 100644 (file)
@@ -252,7 +252,5 @@ relations:
     - "kafka-k8s:kafka"
   - - "pla:mongo"
     - "mongodb-k8s:mongo"
-  - - "pla:mysql"
-    - "mariadb-k8s:mysql"
   - - 'ng-ui:nbi'
     - 'nbi-k8s:nbi'
index afd4574..90c9d40 100644 (file)
@@ -27,5 +27,3 @@ requires:
     interface: kafka
   mongo:
     interface: mongodb
-  mysql:
-    interface: mysql
\ No newline at end of file
index f90b407..2e199b3 100755 (executable)
@@ -43,8 +43,6 @@ class PLACharm(CharmBase):
         self.state.set_default(kafka_host=None)
         self.state.set_default(kafka_port=None)
         self.state.set_default(mongodb_uri=None)
-        self.state.set_default(mysql_host=None)
-        self.state.set_default(mysql_port=None)
 
         # Observe Charm related events
         self.framework.observe(self.on.config_changed, self.on_config_changed)
@@ -58,9 +56,6 @@ class PLACharm(CharmBase):
         self.framework.observe(
             self.on.mongo_relation_changed, self.on_mongo_relation_changed
         )
-        self.framework.observe(
-            self.on.mysql_relation_changed, self.on_mysql_relation_changed
-        )
 
     def _apply_spec(self):
         # Only apply the spec if this unit is a leader.
@@ -74,9 +69,6 @@ class PLACharm(CharmBase):
         if not self.state.mongodb_uri:
             unit.status = WaitingStatus("Waiting for MongoDB")
             return
-        if not self.state.mysql_host or not self.state.mysql_port:
-            unit.status = WaitingStatus("Waiting for MySQL")
-            return
 
         unit.status = MaintenanceStatus("Applying new pod spec")
 
@@ -91,12 +83,6 @@ class PLACharm(CharmBase):
     def make_pod_spec(self):
         config = self.framework.model.config
 
-        mysql_uri = "mysql://root:{}@{}:{}/{}".format(
-            self.state.mysql_root_password,
-            self.state.mysql_host,
-            self.state.mysql_port,
-            self.state.mysql_database,
-        )
         ports = [
             {"name": "port", "containerPort": config["port"], "protocol": "TCP",},
         ]
@@ -108,7 +94,6 @@ class PLACharm(CharmBase):
             "OSMPLA_DATABASE_DRIVER": "mongo",
             "OSMPLA_DATABASE_URI": self.state.mongodb_uri,
             "OSMPLA_GLOBAL_LOG_LEVEL": config["log_level"],
-            "OSMPLA_SQL_DATABASE_URI": mysql_uri,
             "OSMPLA_DATABASE_COMMONKEY": config["database_common_key"],
         }
 
@@ -157,17 +142,6 @@ class PLACharm(CharmBase):
         )
         self._apply_spec()
 
-    def on_mysql_relation_changed(self, event):
-        unit = self.model.unit
-        if not unit.is_leader():
-            return
-        unit_data = event.relation.data[event.unit]
-        self.state.mysql_host = unit_data.get("host")
-        self.state.mysql_port = unit_data.get("port")
-        self.state.mysql_root_password = unit_data.get("root_password")
-        self.state.mysql_database = self.model.config["database"]
-        self._apply_spec()
-
 
 if __name__ == "__main__":
     main(PLACharm)