This commit introduces snap packaging for osmclient.
Snaps are a fancy zip file containing an application and all of its
dependencies, and a description of how it should run safely on a
user's system. This is a multi-distribution alternative to installing from source, or debian package.
Snaps are designed to be secure, sandboxed, containerised applications isolated from the underlying system and from other applications. Snaps allow the safe installation of apps from any vendor on mission critical devices and desktops. Updates are done atomically, rolling back automatically in the case of failure, with support for release channel and series.
More info on snaps can be found here: https://snapcraft.io/
Signed-off-by: Adam Israel <adam.israel@canonical.com>
*.gz
*egg-info/
.eggs
+parts/
+prime/
+stage/
+*.snap
*venv/
*venv3/
.tox/
# Installation
-## Install dependencies
+## python-osmclient
+### Install dependencies
```bash
-sudo apt-get install python-dev libcurl4-gnutls-dev python-pip libgnutls-dev python-prettytable
+sudo apt-get install python-dev libcurl4-gnutls-dev python-pip libgnutls-dev python-prettytable
sudo pip install pycurl
```
-## Install python-osmclient
+### Install python-osmclient
sudo pip install git+https://github.com/mfmarche/python-osmclient
+
+## Snap
+```bash
+apt install snapd
+snap install osmclient --channel=beta
+```
+
# Setup
Set the OSM_HOSTNAME variable to the host of the osm server.
localhost$ export OSM_HOSTNAME=<hostname>:8008
```
-# Examples
+# Examples
## upload vnfd
```bash
# Bash Completion
python-osmclient uses [click](http://click.pocoo.org/5/). You can setup bash completion by putting this in your .bashrc:
-
- eval "$(_OSM_COMPLETE=source osm)"
+ eval "$(_OSM_COMPLETE=source osm)"
--- /dev/null
+name: osmclient # you probably want to 'snapcraft register <name>'
+version: '0.1' # just for humans, typically '1.2+git' or '1.3.2'
+summary: A python client for osm orchestration
+description: |
+ A python client for osm orchestration
+
+grade: stable # must be 'stable' to release into candidate/stable channels
+confinement: strict # use 'strict' once you have the right plugs and slots
+
+apps:
+ osmclient:
+ command: bin/osm
+
+parts:
+ osmclient:
+ source: .
+ plugin: python
+ python-version: python2
+ stage:
+ - -README.md