Tacker manual installation guide

This commit adds step by step instructions to install Tacker
components on an OpenStack installation.

Change-Id: If240b52de93b80d77c6817f8c02ad3d6e85c78a0
Author: Eduardo Gonzalez <dabarren@gmail.com>
Co-Authored-By: Vishwanath Jayaraman <vishwanathj@hotmail.com>
This commit is contained in:
Vishwanath Jayaraman 2016-02-02 01:19:57 -06:00
parent 772a411a20
commit fc226049fd
2 changed files with 402 additions and 0 deletions

View File

@ -0,0 +1,77 @@
..
Copyright 2014-2015 OpenStack Foundation
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
===============
Getting Started
===============
Once manual installation of tacker components are completed, follow the below
steps to get started with tacker and validate the installation.
i). Create a sample-vnfd.yml file with the following content:
.. code-block:: ini
template_name: sample-vnfd
description: demo-example
service_properties:
Id: sample-vnfd
vendor: tacker
version: 1
vdus:
..vdu1:
id: vdu1
vm_image: <IMAGE>
instance_type: <FLAVOR>
network_interfaces:
management:
network: <NETWORK_ID>
management: true
placement_policy:
availability_zone: nova
auto-scaling: noop
config:
param0: key0
param1: key1
..
ii). Create a sample vnfd.
.. code-block:: console
tacker vnfd-create --name <NAME> --vnfd-file sample-vnfd.yml
..
iii). Create a VNF.
.. code-block:: console
tacker vnf-create --name <NAME> --vnfd-id <VNFD_ID>
..
iv). Check the status.
.. code-block:: console
tacker vnf-list
tacker vnf-show <VNF_ID>
..

View File

@ -0,0 +1,325 @@
..
Copyright 2014-2015 OpenStack Foundation
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
.. _installing_manually:
============================================================================
Installing and Running Tacker liberty components manually on controller node
============================================================================
Pre-requisites
==============
1) Ensure that OpenStack components Keystone, Glance, Nova, Neutron, Heat and
Horizon are installed. Refer http://docs.openstack.org/ for installation of
OpenStack on different Operating Systems.
2) Create client environment scripts "admin-openrc.sh" and "demo-openrc.sh"
for the admin and demo projects. Sample instructions for Ubuntu can be found
at link below:
http://docs.openstack.org/liberty/install-guide-ubuntu/keystone-openrc.html#creating-the-scripts
3).Ensure that the below required packages are installed on the system.
.. code-block:: console
sudo apt-get install python-pip git
..
Installing Tacker server
========================
1). Create MySQL database and user.
.. code-block:: console
mysql -uroot -p
CREATE DATABASE tacker;
GRANT ALL PRIVILEGES ON tacker.* TO 'tacker'@'localhost' \
IDENTIFIED BY '<TACKERDB_PASSWORD>';
GRANT ALL PRIVILEGES ON tacker.* TO 'tacker'@'%' \
IDENTIFIED BY '<TACKERDB_PASSWORD>';
exit;
..
2). Create users, roles and endpoints
a). Source the admin credentials to gain access to admin-only CLI commands:
.. code-block:: console
source admin-openrc.sh
..
b). Create tacker user with admin privileges.
.. note::
Project_name can be "service" or "services" depending on your
OpenStack distribution.
..
.. code-block:: console
openstack user create --password <PASSWORD> tacker
openstack role add --project services --user tacker admin
..
c). Create tacker service.
.. code-block:: console
openstack service create --name tacker --description "Tacker Project" ser
vicevm
..
d). Provide an endpoint to tacker service.
.. code-block:: console
openstack endpoint create --region RegionOne \
--publicurl 'http://<TACKER_NODE_IP>:8888/' \
--adminurl 'http://<TACKER_NODE_IP>:8888/' \
--internalurl 'http://<TACKER_NODE_IP>:8888/' <SERVICE-ID>
..
3). Clone tacker repository.
.. code-block:: console
git clone https://github.com/openstack/tacker
..
4). Install all requirements.
.. code-block:: console
cd tacker
sudo pip install -r requirements.txt
..
.. note::
If OpenStack components mentioned in pre-requisites section have been
installed, the below command would be sufficient
.. code-block:: console
cd tacker
sudo pip install tosca-parser
..
5). Install tacker.
.. code-block:: console
sudo python setup.py install
..
..
6). Create 'tacker' directory in '/var/log'
.. note::
The above referenced path '/var/log' is for Ubuntu and may be
different for other Operating Systems.
.. code-block:: console
sudo mkdir /var/log/tacker
..
7). Edit tacker.conf to ensure the below entries:
.. note::
In Ubuntu 14.04, the tacker.conf is located at /usr/local/etc/tacker/
and below ini sample is for Ubuntu and directory paths referred in ini
may be different for other Operating Systems.
.. note::
Project_name can be "service" or "services" depending on your
OpenStack distribution in the keystone_authtoken section.
..
.. code-block:: ini
[DEFAULT]
auth_strategy = keystone
policy_file = /usr/local/etc/tacker/policy.json
debug = True
verbose = True
use_syslog = False
state_path = /var/lib/tacker
...
[keystone_authtoken]
project_name = service
password = <TACKER_SERVICE_USER_PASSWORD>
auth_url = http://<KEYSTONE_IP>:35357
#identity_uri = http://<KEYSTONE_IP>:5000
auth_uri = http://<KEYSTONE_IP>:5000
...
[agent]
root_helper = sudo /usr/local/bin/tacker-rootwrap /usr/local/etc/tacker/r
ootwrap.conf
...
[DATABASE]
connection = mysql://tacker:<TACKERDB_PASSWORD>@<MYSQL_IP>:3306/tacker?ch
arset=utf8
...
[servicevm_nova]
password = <NOVA_SERVICE_USER_PASSWORD>
auth_url = http://<NOVA_IP>:35357
...
[servicevm_heat]
heat_uri = http://<HEAT_IP>:8004/v1
..
Install Tacker client
=====================
1). Clone tacker-client repository.
.. code-block:: console
cd ~/
git clone https://github.com/openstack/python-tackerclient
..
2). Install tacker-client.
.. code-block:: console
cd python-tackerclient
sudo python setup.py install
..
Install Tacker horizon
======================
1). Clone tacker-horizon repository.
.. code-block:: console
cd ~/
git clone https://github.com/openstack/tacker-horizon
..
2). Install horizon module.
.. code-block:: console
cd tacker-horizon
sudo python setup.py install
..
3). Enable tacker horizon in dashboard.
.. note::
The below destination path referred is for Ubuntu 14.04 and may
change for other Operating Systems.
.. code-block:: console
sudo cp openstack_dashboard_extensions/* /usr/share/openstack-dashboard/o
penstack_dashboard/enabled/
..
4). Restart Apache server
.. code-block:: console
sudo service apache2 restart
..
Starting Tacker server
======================
1).Open a new console and launch tacker-server. A separate terminal is requir
ed because the console will be locked by a running process.
.. code-block:: console
sudo python /usr/local/bin/tacker-server --config-file /usr/local/etc/tac
cker/tacker.conf --log-file /var/log/tacker/tacker.log
..
8). Validate installation
i). Create a sample-vnfd.yml file with the following content:
.. code-block:: ini
template_name: sample-vnfd
description: demo-example
service_properties:
Id: sample-vnfd
vendor: tacker
version: 1
vdus:
..vdu1:
id: vdu1
vm_image: <IMAGE>
instance_type: <FLAVOR>
network_interfaces:
management:
network: <NETWORK_ID>
management: true
placement_policy:
availability_zone: nova
auto-scaling: noop
config:
param0: key0
param1: key1
..
ii). Create a sample vnfd.
.. code-block:: console
tacker vnfd-create --name <NAME> --vnfd-file sample-vnfd.yml
..
iii). Create a VNF.
.. code-block:: console
tacker vnf-create --name <NAME> --vnfd-id <VNFD_ID>
..
iv). Check the status.
.. code-block:: console
tacker vnf-list
tacker vnf-show <VNF_ID>
..