update Makefile, pep8, scaling

- updated Makefile for build using virtualenv
- add requirements.txt for testing
- fix pep8 errors
- adding ability to scale an ns

Signed-off-by: Mike Marchetti <mmarchetti@sandvine.com>
27 files changed
tree: 0b2932c12e0130b79f09b53cd54e653015ef025f
  1. .gitignore
  2. Jenkinsfile
  3. LICENSE
  4. Makefile
  5. README.md
  6. osmclient/
  7. setup.py
  8. stdeb.cfg
  9. test_requirements.txt
README.md

python-osmclient

A python client for osm orchestration

Installation

Install dependencies

sudo apt-get install python-dev libcurl4-gnutls-dev python-pip libgnutls-dev python-prettytable   
sudo pip install pycurl

Install python-osmclient

sudo pip install git+https://github.com/mfmarche/python-osmclient

Setup

Set the OSM_HOSTNAME variable to the host of the osm server.

Example

localhost$ export OSM_HOSTNAME=<hostname>:8008

Examples

upload vnfd

localhost$ osm upload-package ubuntu_xenial_vnf.tar.gz
{'transaction_id': 'ec12af77-1b91-4c84-b233-60f2c2c16d14'}
localhost$ osm vnfd-list
+--------------------+--------------------+
| vnfd name          | id                 |
+--------------------+--------------------+
| ubuntu_xenial_vnfd | ubuntu_xenial_vnfd |
+--------------------+--------------------+

upload nsd

localhost$ osm upload-package ubuntu_xenial_ns.tar.gz
{'transaction_id': 'b560c9cb-43e1-49ef-a2da-af7aab24ce9d'}
localhost$ osm nsd-list
+-------------------+-------------------+
| nsd name          | id                |
+-------------------+-------------------+
| ubuntu_xenial_nsd | ubuntu_xenial_nsd |
+-------------------+-------------------+

vim-list

localhost$ osm vim-list
+-------------+-----------------+--------------------------------------+
| ro-account  | datacenter name | uuid                                 |
+-------------+-----------------+--------------------------------------+
| osmopenmano | openstack-site  | 2ea04690-0e4a-11e7-89bc-00163e59ff0c |
+-------------+-----------------+--------------------------------------+

instantiate ns

localhost$ osm ns-create ubuntu_xenial_nsd testns openstack-site
{'success': ''}
localhost$ osm ns-list
+------------------+--------------------------------------+-------------------+--------------------+---------------+
| ns instance name | id                                   | catalog name      | operational status | config status |
+------------------+--------------------------------------+-------------------+--------------------+---------------+
| testns           | 6b0d2906-13d4-11e7-aa01-b8ac6f7d0c77 | ubuntu_xenial_nsd | running            | configured    |
+------------------+--------------------------------------+-------------------+--------------------+---------------+

Bash Completion

python-osmclient uses click. You can setup bash completion by putting this in your .bashrc:

eval "$(_OSM_COMPLETE=source osm)"