summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/setupservicevm/0-ipv6-configguide-prep-infra.rst43
-rw-r--r--docs/setupservicevm/1-ipv6-configguide-odl-setup.rst94
-rw-r--r--docs/setupservicevm/2-ipv6-configguide-os-controller.rst73
-rw-r--r--docs/setupservicevm/3-ipv6-configguide-os-compute.rst65
-rw-r--r--docs/setupservicevm/index.rst22
5 files changed, 293 insertions, 4 deletions
diff --git a/docs/setupservicevm/0-ipv6-configguide-prep-infra.rst b/docs/setupservicevm/0-ipv6-configguide-prep-infra.rst
new file mode 100644
index 0000000..695dbca
--- /dev/null
+++ b/docs/setupservicevm/0-ipv6-configguide-prep-infra.rst
@@ -0,0 +1,43 @@
+========================
+Preparing Infrastructure
+========================
+
+********************
+Architectural Design
+********************
+
+The architectural design of using a service VM as an IPv6 vRouter is
+shown as follows :numref:`figure1`:
+
+.. figure:: images/ipv6-architecture.png
+ :name: figure1
+ :width: 100%
+
+ Architectural Design of Using a VM as an IPv6 vRouter
+
+********************
+Infrastructure Setup
+********************
+
+In order to set up the service VM as an IPv6 vRouter, we need to
+prepare 3 hosts, each of which has minimum 8GB RAM and 40GB storage. One host is used as OpenStack Controller
+Node. The second host is used as Open Daylight Controller Node. And the third one is used as
+OpenStack Compute Node.
+
+For exemplary purpose, we give them hostnames ``opnfv-odl-
+controller``, ``opnfv-os-controller``, and ``opnfv-os-compute``
+respectively.
+
+The underlay network topology of those 3 hosts are shown as follows :numref:`figure2`:
+
+.. figure:: images/ipv6-topology.png
+ :name: figure2
+ :width: 100%
+
+ Underlay Network Topology
+
+**Please note that the IP address shown in ``:numref:`figure2```
+are for exemplary purpose. You need to configure your public IP
+address connecting to Internet according to your actual network
+infrastructure. And you need to make sure the private IP address are
+not conflicting with other subnets.
diff --git a/docs/setupservicevm/1-ipv6-configguide-odl-setup.rst b/docs/setupservicevm/1-ipv6-configguide-odl-setup.rst
new file mode 100644
index 0000000..27101bb
--- /dev/null
+++ b/docs/setupservicevm/1-ipv6-configguide-odl-setup.rst
@@ -0,0 +1,94 @@
+===================================
+Setting Up Open Daylight Controller
+===================================
+
+For exemplary purpose, we assume:
+* The hostname of Open Daylight Controller Node is ``opnfv-odl-
+controller``
+* CentOS 7 is installed
+* We use ``opnfv`` as username to login.
+* Java 7 is installed in directory ``=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/``
+
+**ODL-1**: Login to Open Daylight Controller Node with username ``opnfv``.
+
+**ODL-2**: Download the ODL Lithium distribution from
+``http://www.opendaylight.org/software/downloads``
+
+ ``wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.3.3-Lithium-SR3/distribution-karaf-0.3.3-Lithium-SR3.tar.gz``
+
+**ODL-3**: Extract the tar file
+
+ ``tar -zxvf distribution-karaf-0.3.3-Lithium-SR3.tar.gz``
+
+**ODL-4**: Install Java7
+
+ ``sudo yum install -y java-1.7.0-openjdk.x86_64``
+
+**ODL-5 (OPTIONAL)**: We are using ``iptables`` instead of
+``firewalld`` but this is optional for the OpenDaylight Controller
+Node. The objective is to allow all connections on the internal
+private network (ens160). The same objective can be achieved using
+firewalld as well. **If you intend to use firewalld, please skip this step and directly go to next step**:
+
+| ``sudo systemctl stop firewalld.service``
+| ``sudo yum remove -y firewalld``
+| ``sudo yum install -y iptables-services``
+| ``sudo touch /etc/sysconfig/iptables``
+| ``sudo systemctl enable iptables.service``
+| ``sudo systemctl start iptables.service ``
+| ``sudo iptables -I INPUT 1 -i ens160 -j ACCEPT``
+| ``sudo iptables -I INPUT -m state --state NEW -p tcp --dport 8181 -j ACCEPT # For ODL DLUX UI``
+| ``sudo iptables-save > /etc/sysconfig/iptables``
+
+**ODL-6**: Open a screen session.
+
+ ``screen -S ODL_Controller``
+
+**ODL-7**: In the new screen session, change directory to where Open
+Daylight is installed. Here we use ``odl`` directory name and
+``Lithium SR3`` installation as an example.
+
+ ``cd ~/odl/distribution-karaf-0.3.3-Lithium-SR3/bin``
+
+**ODL-8**: Set the JAVA environment variables.
+
+| ``export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/jre``
+| ``export PATH=$PATH:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/jre/bin``
+
+**ODL-9**: Run the ``karaf`` shell.
+
+ ``./karaf``
+
+**ODL-10**: You are now in the Karaf shell of Open Daylight. To explore the list of available features you can execute
+``feature:list``. In order to enable Open Daylight with OpenStack, you have to load the ``odl-ovsdb-openstack``
+feature.
+
+ ``opendaylight-user@opnfv>feature:install odl-ovsdb-openstack``
+
+**ODL-11**: Verify that OVSDB feature is installed successfully.
+
+| ``opendaylight-user@opnfv>feature:list -i | grep ovsdb``
+| odl-ovsdb-openstack | 1.1.1-Lithium-SR1 | x | ovsdb-1.1.1-Lithium-SR1 | OpenDaylight :: OVSDB :: OpenStack Network Virtual
+| odl-ovsdb-southbound-api | 1.1.1-Lithium-SR1 | x | odl-ovsdb-southbound-1.1.1-Lithium-SR1 | OpenDaylight :: southbound :: api
+| odl-ovsdb-southbound-impl | 1.1.1-Lithium-SR1 | x | odl-ovsdb-southbound-1.1.1-Lithium-SR1 | OpenDaylight :: southbound :: impl
+| odl-ovsdb-southbound-impl-rest|1.1.1-Lithium-SR1 | x | odl-ovsdb-southbound-1.1.1-Lithium-SR1| OpenDaylight :: southbound :: impl :: REST
+| odl-ovsdb-southbound-impl-ui | 1.1.1-Lithium-SR1| x | odl-ovsdb-southbound-1.1.1-Lithium-SR1| OpenDaylight :: southbound :: impl :: UI
+| ``opendaylight-user@opnfv>``
+
+**ODL-12**: To view the logs, you can use the following commands (or alternately the file data/log/karaf.log).
+
+| ``opendaylight-user@opnfv>log:display``
+| ``opendaylight-user@opnfv>log:tail``
+
+**ODL-13**: To enable ODL DLUX UI, install the following features.
+Then you can navigate to
+``http://<opnfv-odl-controller IP address>:8181/index.html`` for DLUX
+UI. The default user-name and password is admin/admin.
+
+ ``opendaylight-user@opnfv>feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core``
+
+**ODL-14**: To exit out of screen session, please use the command ``CTRL+a`` followed by ``d``
+
+**Note: Do not kill the screen session, it will terminate the ODL controller.**
+
+At this moment, Open Daylight has been started successfully.
diff --git a/docs/setupservicevm/2-ipv6-configguide-os-controller.rst b/docs/setupservicevm/2-ipv6-configguide-os-controller.rst
new file mode 100644
index 0000000..debe65d
--- /dev/null
+++ b/docs/setupservicevm/2-ipv6-configguide-os-controller.rst
@@ -0,0 +1,73 @@
+===============================
+Setting Up OpenStack Controller
+===============================
+
+For exemplary purpose, we assume:
+* The hostname of OpenStack Controller Node is ``opnfv-os-
+controller``
+* Ubuntu 14.04 is installed
+* We use ``opnfv`` as username to login.
+* We use ``devstack`` to install OpenStack Kilo
+
+**OS-N-1**: Login to OpenStack Controller Node with username ``opnfv``
+
+**OS-N-2**: Update the packages and install git
+
+| ``sudo apt-get update -y``
+| ``sudo apt-get install -y git``
+
+**OS-N-3**: Download devstack and switch to stable/kilo branch
+
+ ``git clone https://github.com/openstack-dev/devstack.git -b stable/kilo``
+
+**OS-N-4**: Start a new terminal, and change directory to where OpenStack is installed.
+
+ ``cd ~/devstack``
+
+**OS-N-5**: Create a ``local.conf`` file with the contents from the following URL.
+
+ ``http://fpaste.org/276949/39476214/``
+
+**Note 1**: you need to change the IP address of ``ODL_MGR_IP`` to
+point to your actual IP address of Open Daylight Controller.
+
+**Note 2**: You may have to change the value of
+``ODL_PROVIDER_MAPPINGS`` and ``PUBLIC_INTERFACE`` to match your
+actual network interfaces.
+
+**OS-N-6**: Initiate Openstack setup by invoking ``stack.sh``
+
+ ``./stack.sh``
+
+**OS-N-7**: If the setup is successful you would see the following logs on the console. Please note
+that the IP addresses are all for the purpose of example. Your IP addresses will match the ones
+assigned during the installation of OPNFV B Release base platform in prior chapters.
+
+| ``This is your host ip: <opnfv-os-controller IP address>``
+| ``Horizon is now available at http://<opnfv-os-controller IP address>/``
+| ``Keystone is serving at http://<opnfv-os-controller IP address>:5000/``
+| ``The default users are: admin and demo``
+| ``The password: password``
+
+**OS-N-8**: Assuming that all goes well, you can set ``OFFLINE=True`` and ``RECLONE=no`` in ``local.conf`` to lock the
+codebase. Devstack uses these configuration parameters to determine if it has to run with the existing codebase or
+update to the latest copy.
+
+**OS-N-9**: Source the credentials.
+
+ ``opnfv@opnfv-os-controller:~/devstack$ source openrc admin demo``
+
+**OS-N-10**: Verify some commands to check if setup is working fine.
+
+| ``opnfv@opnfv-os-controller:~/devstack$ nova flavor-list``
+| +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
+| | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+| +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
+| | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |
+| | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
+| | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
+| | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True |
+| | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
+| +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
+
+Now you can start the Compute node setup.
diff --git a/docs/setupservicevm/3-ipv6-configguide-os-compute.rst b/docs/setupservicevm/3-ipv6-configguide-os-compute.rst
new file mode 100644
index 0000000..dd081ae
--- /dev/null
+++ b/docs/setupservicevm/3-ipv6-configguide-os-compute.rst
@@ -0,0 +1,65 @@
+=================================
+Setting Up OpenStack Compute Node
+=================================
+
+For exemplary purpose, we assume:
+* The hostname of OpenStack Compute Node is ``opnfv-os-compute``
+* Ubuntu 14.04 is installed
+* We use ``opnfv`` as username to login.
+* We use ``devstack`` to install OpenStack Kilo
+
+**OS-M-1**: Login to OpenStack Compute Node with username ``opnfv``
+
+**OS-M-2**: Update the packages and install git
+
+| ``sudo apt-get update -y``
+| ``sudo apt-get install -y git``
+
+**OS-M-3**: Download devstack and switch to stable/kilo branch
+
+ ``git clone https://github.com/openstack-dev/devstack.git -b stable/kilo``
+
+**OS-M-4**: Start a new terminal, and change directory to where OpenStack is installed.
+
+ ``cd ~/devstack``
+
+**OS-M-5**: Create a ``local.conf`` file with the contents from the following URL.
+
+ ``http://fpaste.org/276958/44395955/``
+
+**Note 1**: you need to change the IP address of ``SERVICE_HOST`` to
+point to your actual IP address of OpenStack Controller.
+
+**Note 2**: you need to change the IP address of ``ODL_MGR_IP`` to
+point to your actual IP address of Open Daylight Controller.
+
+**Note 3**: You may have to change the value of
+``ODL_PROVIDER_MAPPINGS`` and ``PUBLIC_INTERFACE`` to match your
+actual network interface.
+
+**OS-M-6**: Initiate Openstack setup by invoking ``stack.sh``
+
+ ``./stack.sh``
+
+**OS-M-7**: Assuming that all goes well, you can set ``OFFLINE=True`` and ``RECLONE=no`` in ``local.conf`` to lock the
+codebase. Devstack uses these configuration parameters to determine if it has to run with the existing codebase or
+update to the latest copy.
+
+**OS-M-8**: Source the credentials.
+
+ ``opnfv@opnfv-os-controller:~/devstack$ source openrc admin demo``
+
+**OS-M-9**: Verify some commands to check if setup is working fine.
+
+| ``opnfv@opnfv-os-controller:~/devstack$ nova flavor-list``
+| +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
+| | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+| +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
+| | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |
+| | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
+| | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
+| | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True |
+| | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
+| +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
+
+Now you can start to set up the service VM as an IPv6 vRouter in the environment of OpenStack and Open Daylight.
diff --git a/docs/setupservicevm/index.rst b/docs/setupservicevm/index.rst
index 90d733c..ea6392e 100644
--- a/docs/setupservicevm/index.rst
+++ b/docs/setupservicevm/index.rst
@@ -1,9 +1,23 @@
-=================
-Table of Contents
-=================
+==========================================
+Setting Up a Service VM as an IPv6 vRouter
+==========================================
+
+:Project: IPv6, http://wiki.opnfv.org/ipv6_opnfv_project
+:Editors: Bin Hu (AT&T)
+:Authors: Bin Hu (AT&T), Sridhar Gaddam (RedHat)
+
+:Abstract: This document provides the users with installation guidelines to create a Service VM as
+ an IPv6 vRouter in OPNFV environment, i.e. integrated OpenStack with Open Daylight environment.
+ The complete set of instructions walk you through every step of preparing the infrastructure,
+ setting up Open Daylight and OpenStack, creating service VM and IPv6 subnet, and testing and
+ validating the setup.
.. toctree::
:numbered:
:maxdepth: 4
- ipv6-configguide.rst
+ 0-ipv6-configguide-prep-infra.rst
+ 1-ipv6-configguide-odl-setup.rst
+ 2-ipv6-configguide-os-controller.rst
+ 3-ipv6-configguide-os-compute.rst
+