Major improvement in OSM charms

- Adapt all new operator charms to use the same pattern. They are all
using now this library that encapsulates the common logic for all
charms: https://github.com/davigar15/ops-lib-charmed-osm. That will be
eventually moved to gitlab, when it has a PyPI repository available
- Add unit tests to all charms
- Modify installer and bundles to point to the new charms
- Improve the build.sh script for building the charms

Change-Id: I0896ceb082d1b6a76b3560c07482a4135a220a3f
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/installers/charm/release_edge.sh b/installers/charm/release_edge.sh
index 8790c4d..2a6d62f 100755
--- a/installers/charm/release_edge.sh
+++ b/installers/charm/release_edge.sh
@@ -29,17 +29,8 @@
     echo "$charm charm released!"
 done
 
-# New charms (with no resources)
-charms="pla keystone"
-for charm in $charms; do
-    echo "Releasing $charm charm"
-    cs_revision=`charm push $charm/$charm.charm cs:~charmed-osm/$charm | tail -n +1 | head -1 | awk '{print $2}'`
-    charm release --channel $channel $cs_revision
-    echo "$charm charm released!"
-done
-
 # New charms (with resources)
-charms="ng-ui nbi"
+charms="ng-ui nbi pla keystone ro lcm mon pol"
 for charm in $charms; do
     echo "Releasing $charm charm"
     cs_revision=$(charm push $charm/$charm.charm cs:~charmed-osm/$charm | tail -n +1 | head -1 | awk '{print $2}')
@@ -49,3 +40,22 @@
     charm release --channel $channel $cs_revision $resources_string
     echo "$charm charm released!"
 done
+
+# New charms (with resources) (with oci-images from ubuntu)
+charms="prometheus grafana"
+for charm in $charms; do
+    echo "Releasing $charm charm"
+    cs_revision=$(charm push $charm/$charm.charm cs:~charmed-osm/$charm | tail -n +1 | head -1 | awk '{print $2}')
+    resource_revision=$(charm attach $cs_revision image=external::ubuntu/$charm:latest | tail -n +1 | sed 's/[^0-9]*//g')
+    image_revision_num=$(echo $resource_revision  | awk '{print $NF}')
+    resources_string="--resource image-$image_revision_num"
+    charm release --channel $channel $cs_revision $resources_string
+    echo "$charm charm released!"
+done
+
+# 3. Grant permissions
+all_charms="ng-ui nbi pla keystone ro lcm mon pol grafana prometheus"
+for charm in $all_charms; do
+    echo "Granting permission for $charm charm"
+    charm grant cs:~charmed-osm/$charm --channel $channel --acl read everyone
+done
\ No newline at end of file