1 # Juju Charm(s) for deploying OpenMano
4 These are the charm layers used to build Juju charms for deploying OpenVIM components. These charms are also published to the [Juju Charm Store](https://jujucharms.com/) and can be deployed directly from there using the [etsi-osm](https://jujucharms.com/u/nfv/osm-r1), or they can be build from these layers and deployed locally.
6 ## Building the OpenVIM Charms
8 To build these charms, you will need [charm-tools][]. You should also read
9 over the developer [Getting Started][] page for an overview of charms and
10 building them. Then, in any of the charm layer directories, use `charm build`.
13 (setup environment to build from layers)
16 git clone https://github.com/nfvlabs/openvim.git
17 export JUJU_REPOSITORY=$HOME/src/openvim/charms
18 export INTERFACE_PATH=$JUJU_REPOSITORY/interfaces
19 export LAYER_PATH=$JUJU_REPOSITORY/layers
21 cd $LAYER_PATH/openvim
24 cd $LAYER_PATH/openvim-compute
27 This will build the OpenVIM controller and OpenVIM compute charms, pulling in
28 the appropriate base and interface layers from [interfaces.juju.solutions][], and place the resulting charms into $JUJU_REPOSITORY/builds.
30 You can also use the local version of a bundle:
32 juju deploy openvim/charms/bundles/openmano.yaml
36 # You will need an account on Launchpad, and have it added to the ~nfv
37 # namespace. Please contact foo@bar for these permissions.
40 $ cd $JUJU_REPOSITORY/builds/openvim
42 # `charm push` will upload the charm into the store and report the revision
44 $ charm push . cs:~nfv/openvim
45 blah blah cs:~nfv/openvim-4
47 # Release the charm so that it is publicly consumable
48 $ charm release cs:~nfv/openvim-4
50 $ cd $JUJU_REPOSITORY/builds/openvim-compute
52 # `charm push` will upload the charm into the store and report the revision
54 $ charm push . cs:~nfv/openvim-compute
55 blah blah cs:~nfv/openvim-compute-4
57 # Release the charm so that it is publicly consumable
58 $ charm release cs:~nfv/openvim-compute-4
60 # Finally, update and publish the bundle to point to the latest revision(s):
62 cd $JUJU_REPOSITORY/bundles/openmano
64 # Edit the `README.md` to reflect any notable changes.
66 # Edit the `bundle.yaml` with the new revision to be deployed, i.e., change cs:~nfv/openvim-3 to cs:~nfv/openvim-4
68 $ charm push . cs:~nfv/bundle/osm-r1
69 blah blah cs:~nfv/bundle/osm-r1-4
71 $ charm release cs:~nfv/bundle/osm-r1-4
73 To deploy the published charms from the charm store:
75 # The recommended method
76 $ charm deploy cs:~nfv/bundles/openmano
81 $ juju deploy cs:~nfv/openvim
82 $ juju deploy cs:~nfv/openvim-compute
83 $ juju deploy cs:~nfv/openmano
84 $ juju deploy cs:mariadb
86 $ juju add-relation mariadb openvim
87 $ juju add-relation mariadb openmano
88 $ juju add-relation openvim openvim-compute
89 $ juju add-relation openvim openmano
91 [charm-tools]: https://jujucharms.com/docs/stable/tools-charm-tools
92 [Getting Started]: https://jujucharms.com/docs/devel/developer-getting-started
93 [interfaces.juju.solutions]: http://interfaces.juju.solutions/