OSM client
The OSM client was introduced with OSM Release TWO to provide a python-based API and CLI to OSM. It provides you a number of APIs to upload, onboard, instantiate, terminate, including a recent addition to scale the network service.
Installation
OSM client comes bundled with OSM installation, so if you successfully installed OSM . In addition you can also install it in a different computer.
# Ubuntu pre-requirements sudo apt install python-pip libcurl4-gnutls-dev libgnutls-dev # CentOS pre-requirements # sudo yum install python-pip libcurl-devel gnutls-devel sudo -H pip install python-magic # Install OSM client from You could install the latest from master in this way: sudo -H pip install git+https://osm.etsi.org/gerrit/osm/osmclient@v4.0.1 # You could also install the latest client from master branch in this way: # sudo -H pip install git+https://osm.etsi.org/gerrit/osm/osmclient
Usage (client commands)
Once installed, type “osm” to see a list of commands. At minimum, you will need to specify the OSM host, either via an environment variable or via the osm command line (see “osm –help” for info).
export OSM_HOSTNAME="127.0.0.1"
Usage:
osm [OPTIONS] COMMAND [ARGS]...
Options:
--hostname TEXT hostname of server. Also can set OSM_HOSTNAME in environment --sol005 / --no-sol005 Use ETSI NFV SOL005 API (default) or the previous SO API. Also can set OSM_SOL005 in environment --user TEXT user (only from Release FOUR, defaults to admin). Also can set OSM_USER in environment --password TEXT password (only from Release FOUR, defaults to admin). Also can set OSM_PASSWORD in environment --project TEXT project (only from Release FOUR, defaults to admin). Also can set OSM_PROJECT in environment --so-port TEXT hostname of server. Also can set OSM_SO_PORT in environment --so-project TEXT Project Name in SO. Also can set OSM_SO_PROJECT in environment --ro-hostname TEXT hostname of RO server. Also can set OSM_RO_HOSTNAME in environment --ro-port TEXT hostname of RO server. Also can set OSM_RO_PORT in environment --help Show this message and exit.
Commands:
config-agent-add adds a config agent config-agent-delete deletes a config agent NAME: name of the... config-agent-list list config agents netslice-instance-create creates a new Network Slice Instance netslice-instance-delete deletes a Network Slice Instance (NSI) netslice-instance-list list all Network Slice Instances (NSI) netslice-instance-op-list shows the history of operations over a... netslice-instance-op-show shows the info of an operation over a Network Slice Instance(NSI) netslice-instance-show shows the content of a Network Slice Instance (NSI) netslice-template-create creates a new Network Slice Template (NST) netslice-template-delete deletes a Network Slice Template (NST) netslice-template-list list all Network Slice Templates (NST) in the... netslice-template-show shows the content of a Network Slice Template (NST) netslice-template-update updates a Network Slice Template (NST) nf-list list all NF instances Options: --ns TEXT NS... nfpkg-create creates a new NFpkg nfpkg-delete deletes a NFpkg nfpkg-list list all NFpkg (VNFpkg, PNFpkg, HNFpkg) in... nfpkg-show shows the content of a NF Descriptor nfpkg-update updates a NFpkg ns-action executes an action/primitive over a NS... ns-alarm-create creates a new alarm for a NS instance ns-create creates a new Network Service instance ns-delete deletes a NS instance ns-list list all NS instances Options: --filter... ns-metric-export exports a metric to the internal OSM bus,... ns-monitoring-show ns-op-list shows the history of operations over a NS... ns-op-show shows the info of an operation ns-scale scales NS NS_NAME: name of the NS instance to... ns-scaling-show shows the status of a NS scaling operation... ns-show shows the info of a NS instance nsd-create creates a new NSD/NSpkg nsd-delete deletes a NSD/NSpkg nsd-list list all NSD/NSpkg in the system nsd-show shows the content of a NSD nsd-update updates a NSD/NSpkg nsi-create creates a new Network Slice Instance nsi-delete deletes a Network Slice Instance (NSI) nsi-list list all Network Slice Instances (NSI) nsi-op-list shows the history of operations over a... nsi-op-show shows the info of an operation over a Network Slice Instance(NSI) nsi-show shows the content of a Network Slice Instance (NSI) nspkg-create creates a new NSD/NSpkg nspkg-delete deletes a NSD/NSpkg nspkg-list list all NSD/NSpkg in the system nspkg-show shows the content of a NSD nspkg-update updates a NSD/NSpkg nst-create creates a new Network Slice Template (NST) nst-delete deletes a Network Slice Template (NST) nst-list list all Network Slice Templates (NST) in the... nst-show shows the content of a Network Slice Template (NST) nst-update updates a Network Slice Template (NST) pdu-create adds a new Physical Deployment Unit to the catalog pdu-delete deletes a Physical Deployment Unit (PDU) pdu-list list all Physical Deployment Units (PDU) pdu-show shows the content of a Physical Deployment Unit (PDU) project-create Creates a new project NAME: name of the... project-delete deletes a project NAME: name or ID of the... project-list list all projects project-show shows the details of a project NAME: name or... ro-dump shows RO agent information sdnc-create creates a new SDN controller sdnc-delete deletes an SDN controller NAME: name or ID of... sdnc-list list all SDN controllers sdnc-show shows the details of an SDN controller NAME:... sdnc-update updates an SDN controller upload-package uploads a VNF package or NS package FILENAME:... user-create Creates a new user USERNAME: name of the user user-delete deletes a user NAME: name or ID of the user... user-list list all users user-show shows the details of a user NAME: name or ID... vcs-list vim-create creates a new VIM account vim-delete deletes a VIM account NAME: name or ID of the... vim-list list all VIM accounts vim-show shows the details of a VIM account NAME: name... vim-update updates a VIM account vnf-list list all NF instances vnf-monitoring-show vnf-scale executes a VNF scale (adding/removing VDUs)... vnf-show shows the info of a VNF instance vnfd-create creates a new VNFD/VNFpkg vnfd-delete deletes a VNFD/VNFpkg vnfd-list list all VNFD/VNFpkg in the system vnfd-show shows the content of a VNFD vnfd-update updates a new VNFD/VNFpkg vnfpkg-create creates a new VNFD/VNFpkg vnfpkg-delete deletes a VNFD/VNFpkg vnfpkg-list list all VNFD/VNFpkg in the system vnfpkg-show shows the content of a VNFD vnfpkg-update updates a VNFD/VNFpkg
Enable autocompletion
You can enable autocompletion in OSM client by creating a file osm-complete.sh in the following way:
mkdir -p $HOME/.bash_completion.d _OSM_COMPLETE=source osm > $HOME/.bash_completion.d/osm-complete.sh
Then you can add it to your $HOME/.bashrc file:
. .bash_completion.d/osm-complete.sh