X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=charms%2Flayers%2Fvnfproxy%2FREADME.md;fp=charms%2Flayers%2Fvnfproxy%2FREADME.md;h=0000000000000000000000000000000000000000;hb=eca441c3a6166b1b319eb31858086c85f21d33aa;hp=8379e50c6cd7ee6649e84bbfe311722bc526ad23;hpb=18de74656c52be9a1c14d30eb14d19aa7ce858f4;p=osm%2FSO.git diff --git a/charms/layers/vnfproxy/README.md b/charms/layers/vnfproxy/README.md deleted file mode 100644 index 8379e50c..00000000 --- a/charms/layers/vnfproxy/README.md +++ /dev/null @@ -1,172 +0,0 @@ -# vnfproxy - -## Overview - -This charm layer is intended for use by vendors who wish to integrate with -OSM. The current release of OSM only supports a lightweight version of Juju -charms, which we will refer to as "proxy charms". Consider the diagram below: - -``` -+---------------------+ +---------------------+ -| <----+ | -| Resource | | Service | -| Orchestrator (RO) +----> Orchestrator (SO) | -| | | | -+------------------+--+ +-------+----^--------+ - | | | - | | | - | | | - +-----v-----+ +-v----+--+ - | <-------+ | - | Virtual | | Proxy | - | Machine | | Charm | - | +-------> | - +-----------+ +---------+ -``` - -The Virtual Machine (VM) is created by the Resource Orchestrator (RO), at the -request of the Service Orchestrator (SO). Once the VM has been created, a -"proxy charm" is deployed in order to facilitate operations between the SO and -your service running within the VM. - -As such, a proxy charm will expose a number of "actions" that are run via the -SO. By default, the following actions are exposed: - -```bash -actions -├── reboot -├── restart -├── run -├── start -└── stop -``` - -Some actions, such as `run` and `reboot`, do not require any additional configuration. `start`, `stop` and `restart`, however, will require you to -implement the command(s) required to interact with your service. - -## Usage - -Create the framework for your proxy charm: - -```bash -$ charm create pingpong -$ cd pingpong -``` - -Modify `layer.yaml` to the following: -```yaml -includes: - - layer:basic - - layer:vnfproxy -``` - -The `metadata.yaml` describes your service. It should look similar to the following: - -```yaml -name: vnfproxy -summary: A layer for developing OSM "proxy" charms. -maintainer: Adam Israel -description: | - VNF "proxy" charms are a lightweight version of a charm that, rather than - installing software on the same machine, execute commands over an ssh channel. -series: - - trusty - - xenial -tags: - - osm - - vnf -subordinate: false -``` - -Implement the default action(s) you wish to support by adding the following code to reactive/pingpong.py and fill in the cmd to be run: - -```python -@when('actions.start') -def start(): - err = '' - try: - cmd = "" - result, err = charms.sshproxy._run(cmd) - except: - action_fail('command failed:' + err) - else: - action_set({'outout': result}) - finally: - remove_flag('actions.start') - - -@when('actions.stop') -def stop(): - err = '' - try: - # Enter the command to stop your service(s) - cmd = "service myname stop" - result, err = charms.sshproxy._run(cmd) - except: - action_fail('command failed:' + err) - else: - action_set({'outout': result}) - finally: - remove_flag('actions.stop') - - -@when('actions.restart') -def restart(): - err = '' - try: - # Enter the command to restart your service(s) - cmd = "service myname restart" - result, err = charms.sshproxy._run(cmd) - except: - action_fail('command failed:' + err) - else: - action_set({'outout': result}) - finally: - remove_flag('actions.restart') -``` - -Rename `README.ex` to `README.md` and describe your application and its usage. - --- fix this. there are cases where the config is useful -- Delete `config.yaml`, since the charm's configuration will be driven by the SO. - -Create the `actions.yaml` file; this will describe the additional operations you would like to perform on or against your service. - -```yaml -set-server: - description: "Set the target IP address and port" - params: - server-ip: - description: "IP on which the target service is listening." - type: string - default: "" - server-port: - description: "Port on which the target service is listening." - type: integer - default: 5555 - required: - - server-ip -set-rate: - description: "Set the rate of packet generation." - params: - rate: - description: "Packet rate." - type: integer - default: 5 -get-stats: - description: "Get the stats." -get-state: - description: "Get the admin state of the target service." -get-rate: - description: "Get the rate set on the target service." -get-server: - description: "Get the target server and IP set" -``` - - -Once you've implemented your actions, you need to compile the various charm layers: -```bash -$ charm build - -``` - -## Contact