Openmano installation (release 0): Difference between revisions

From OSM Public Wiki
Jump to: navigation, search
Line 35: Line 35:


==Option 2. Automatic installation based on scripts==
==Option 2. Automatic installation based on scripts==
  wget https://osm.etsi.org/gitweb/osm/openmano/raw/master/scripts/install-openmano.sh
  wget -O install-openmano.sh "https://osm.etsi.org/gitweb/?p=osm/openmano.git;a=blob_plain;f=scripts/install-openmano.sh;h=ba2bc0363850019b31f985be6556ab6554f14328;hb=HEAD"
  chmod +x install-openmano.sh
  chmod +x install-openmano.sh
  sudo ./install-openmano.sh [<database-root-user> [<database-password>]]
  sudo ./install-openmano.sh [<database-root-user> [<database-password>]]

Revision as of 10:33, 12 May 2016

VM creation

  • Requirements:
    • 1 vCPU (2 recommended)
    • 2GB RAM (4 recommended)
    • 40GB disk
    • 1 network interface to the OSM network
  • Base image: ubuntu-14.04.4-server-amd64

Installation procedure for Release 0

Option 1. Manual installation

  • Install required packages
sudo apt-get install mysql-server git screen wget python-yaml python-libvirt python-bottle \
  python-mysqldb python-jsonschema python-paramiko python-argcomplete python-requests
sudo apt-get install python-novaclient python-keystoneclient python-glanceclient python-neutronclient
  • Configure python-argcomplete
activate-global-python-argcomplete --user
echo ". /home/${USER}/.bash_completion.d/python-argcomplete.sh" >> ~/.bashrc
  • Clone the git repository:
git clone https://osm.etsi.org/gerrit/osm/openmano.git openmano
  • Database creation
mysqladmin -u root -p create mano_db
  • Grant access privileges from localhost. Go to mysql console and use the following commands to create user mano and grant privileges to the databases:
mysql> CREATE USER 'mano'@'localhost' identified by 'manopw';
mysql> GRANT ALL PRIVILEGES ON mano_db.* TO 'mano'@'localhost';       
  • Initialize database
openmano/database_utils/init_mano_db.sh -u mano -p manopw
  • Add openmano client and scripts to the PATH. It is enough to create the /home/${USER}/bin/ folder and add there the appropriate links:
mkdir /home/${USER}/bin/
ln -s ${PWD}/openmano/openmano /home/${USER}/bin/openmano
ln -s ${PWD}/openmano/scripts/service-openmano.sh /home/${USER}/bin/service-openmano
ln -s ${PWD}/openmano/scripts/openmano-report.sh /home/${USER}/bin/openmano-report

Option 2. Automatic installation based on scripts

wget -O install-openmano.sh "https://osm.etsi.org/gitweb/?p=osm/openmano.git;a=blob_plain;f=scripts/install-openmano.sh;h=ba2bc0363850019b31f985be6556ab6554f14328;hb=HEAD"
chmod +x install-openmano.sh
sudo ./install-openmano.sh [<database-root-user> [<database-password>]]
#NOTE: you can provide optionally the root user and password of the database.
#In case the image does not have a mysql/mariadb it will be installed

Configuration

Configuring openmano server

  • Go to openmano folder and edit openmanod.cfg.
  • Start openmano server
service-openmano openmano start
#it creates a screen with name "mano" and starts inside the "./openmano/openmanod.py" program
screen -x mano                             # goes into openmano screen
[Ctrl+a , d]                               # goes out of the screen (detaches the screen)
less openmano/logs/openmano.0

Configuring openmano local CLI client

  • Let's configure the openmano local CLI client. This is only necessary if you have changed the file 'openmanod.cfg'
  • List the environment variables
openmano config                      #show openmano env variables
  • Update the environment variables accordingly:
export OPENMANO_HOST=<http_host of openmanod.cfg>
export OPENMANO_PORT=<http_port of openmanod.cfg>
openmano config                      #show openmano env variables

Create an openmano tenant, a datacenter based on openvim and attach the tenant to the datacenter

  • Let's create a new tenant:
openmano tenant-create mytenant --description=tenant-description
openmano tenant-list                           #show list of tenants uuid and name
  • Update openmano client's environment variables with the tenant uuid:
export OPENMANO_TENANT=<obtained uuid> 
openmano config                                #show openmano env variables
  • Let's create a new datacenter 'mydc' in openmano. This datacenter will use openvim as a VIM, and the VIM tenant id is "admin"
openmano datacenter-create mydc http://localhost:9080/openvim
openmano datacenter-list --all                           #show all datacenters
openmano datacenter-attach mydc --vim-tenant-id <uuid>   #attach the datacenter mydc and openvim tenant id to the openmano tenant 'mytenant'
openmano datacenter-list                                 #show datacenters associated to our tenant
openmano datacenter-net-update mydc
Edit datacenter mydc (y/N)? y