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.
+For exemplary purpose, we assume:
+
+* The hostname of OpenStack Controller+Network+Compute Node is ``opnfv-os-controller``, and the host IP address
+ is ``192.168.0.10``
+* The hostname of OpenStack Compute Node is ``opnfv-os-compute``, and the host IP address is ``192.168.0.20``
+* The hostname of Open Daylight Controller Node is ``opnfv-odl-controller``, and the host IP address is
+ ``192.168.0.30``
+* We use ``opnfv`` as username to login.
+* We use ``devstack`` to install OpenStack Kilo. Please note that OpenStack Liberty can be used as well.
The underlay network topology of those 3 hosts are shown as follows in :numref:`s2-figure2`:
For exemplary purpose, we assume:
-* The hostname of Open Daylight Controller Node is ``opnfv-odl-controller``
+* The hostname of Open Daylight Controller Node is ``opnfv-odl-controller``, and the host IP address is
+ ``192.168.0.30``
* 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/``
* Ubuntu 14.04 or Fedora 21 is installed
* We use ``opnfv`` as username to login.
* We use ``devstack`` to install OpenStack Kilo. Please note that although the instructions are based on
-OpenStack Kilo, they can be applied to Liberty in the same way.
+ OpenStack Kilo, they can be applied to Liberty in the same way.
**OS-N-0**: Login to OpenStack Controller Node with username ``opnfv``
* Ubuntu 14.04 or Fedora 21 is installed
* We use ``opnfv`` as username to login.
* We use ``devstack`` to install OpenStack Kilo. Please note that although the instructions are based on
-OpenStack Kilo, they can be applied to Liberty in the same way.
+ OpenStack Kilo, they can be applied to Liberty in the same way.
**OS-M-0**: Login to OpenStack Compute Node with username ``opnfv``
.. code-block:: bash
- sudo ip addr del <External IP address of opnfv-os-controller> dev eth1
+ sudo ip addr del 198.59.156.113/24 dev eth1
sudo ovs-vsctl add-port br-ex eth1
sudo ifconfig eth1 up
- sudo ip addr add <External IP address of opnfv-os-controller> dev br-ex
+ sudo ip addr add 198.59.156.113/24 dev br-ex
sudo ifconfig br-ex up
- sudo ip route add default via <Default gateway IP address of opnfv-os-controller> dev br-ex
+ sudo ip route add default via 198.59.156.1 dev br-ex
-Please note that **this can be automated in /etc/network/interfaces**.
+Please note that:
+
+* Please note that the IP address ``198.59.156.113`` and related subnet and gateway addressed in the command
+ below are for exemplary purpose. **Please replace them with the IP addresses of your actual network**.
+* **this can be automated in /etc/network/interfaces**.
**SETUP-SVM-4**: Verify that ``br-ex`` now has the original external IP address, and that the default route is on
``br-ex``
valid_lft forever preferred_lft forever
inet6 fe80::543e:28ff:fe70:4426/64 scope link
valid_lft forever preferred_lft forever
+ opnfv@opnfv-os-controller:~/devstack$
opnfv@opnfv-os-controller:~/devstack$ ip route
default via 198.59.156.1 dev br-ex
- 10.134.156.0/24 dev eth0 proto kernel scope link src 10.134.156.113
+ 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.10
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
198.59.156.0/24 dev br-ex proto kernel scope link src 198.59.156.113
Please **note** that ``/opt/stack/opnfv_os_ipv6_poc/metadata.txt`` is used to enable the ``vRouter`` to automatically
spawn a ``radvd``, and:
+
* Act as an IPv6 vRouter which advertises the RA (Router Advertisements) with prefix ``2001:db8:0:2::/64`` on its
-internal interface (``eth1``).
+ internal interface (``eth1``).
* Advertise RA (Router Advertisements) with just route information on its eth0 interface so that ``ipv6-router`` can
-automatically add a downstream route to subnet ``2001:db8:0:2::/64`` whose next hop would be the ``eth0`` interface
-of ``vRouter``.
+ automatically add a downstream route to subnet ``2001:db8:0:2::/64`` whose next hop would be the ``eth0`` interface
+ of ``vRouter``.
**SETUP-SVM-20**: Verify that ``Fedora22`` image boots up successfully and vRouter has ``ssh`` keys properly injected
sysctl -w net.ipv6.conf.$router_interface.accept_ra_rt_info_max_plen=64
**SETUP-SVM-29**: Please note that after the vRouter successfully initializes and starts sending RA (Router
-Advertisement) message (**SETUP-SVM-20**), you would see an IPv6 route to the ``2001:db8:0:2::/64`` prefix
+Advertisement) message, you would see an IPv6 route to the ``2001:db8:0:2::/64`` prefix
(subnet) reachable via LLA (Link Local Address) ``fe80::f816:3eff:fe11:1111`` of ``eth0`` interface of the
``vRouter``. You can execute the following command to list the IPv6 routes.
* A two-node setup of OpenStack environment is used as shown in :numref:`s1-figure1`
* The hostname of OpenStack Controller+Network+Compute Node is ``opnfv-os-controller``, and the host IP address
-is ``192.168.0.10``
+ is ``192.168.0.10``
* The hostname of OpenStack Compute Node is ``opnfv-os-compute``, and the host IP address is ``192.168.0.20``
* Ubuntu 14.04 is installed
* We use ``opnfv`` as username to login.
.. code-block:: bash
- cp /opt/stack/local.conf.controller ~/devstack/local.conf
+ cp /opt/stack/opnfv_os_ipv6_poc/local.conf.controller ~/devstack/local.conf
**OS-NATIVE-N-3**: If you want to modify any ``devstack`` configuration, update ``local.conf`` now.
.. code-block:: bash
- cp /opt/stack/local.conf.compute ~/devstack/local.conf
+ cp /opt/stack/opnfv_os_ipv6_poc/local.conf.compute ~/devstack/local.conf
+
+Please **note** that you need to change the IP address of ``SERVICE_HOST`` to point to your actual IP
+address of OpenStack Controller
**OS-NATIVE-M-3**: If you want to modify any ``devstack`` configuration, update ``local.conf`` now.
firewall_driver = nova.virt.firewall.NoopFirewallDriver
*********************************
-Set Up Service VM as Ipv6 vRouter
+Set Up Service VM as IPv6 vRouter
*********************************
**OS-NATIVE-SETUP-1**: Now we assume that OpenStack multi-node setup is up and running. The following
opnfv@opnfv-os-controller:~/devstack$
opnfv@opnfv-os-controller:~/devstack$ ip route
default via 198.59.156.1 dev br-ex
- 10.134.156.0/24 dev eth0 proto kernel scope link src 10.134.156.113
+ 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.10
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
198.59.156.0/24 dev br-ex proto kernel scope link src 198.59.156.113
environment. There are three scenarios.
* Scenario 1 is pre-OPNFV environment, i.e. a native OpenStack environment
-without Open Daylight Controller.
+ without Open Daylight Controller.
* Scenario 2 is an OPNFV environment where OpenStack is integrated with
-Open Daylight Official Lithium Release. In this setup we use ODL for "Layer 2 connectivity"
-and Neutron L3 agent for "Layer 3 routing". Because of a bug, which got fixed recently
-and is not part of ODL SR3, we will have to manually execute certain commands to simulate
-an external IPv6 Router in this setup.
+ Open Daylight Official Lithium Release. In this setup we use ODL for "Layer 2 connectivity"
+ and Neutron L3 agent for "Layer 3 routing". Because of a bug, which got fixed recently
+ and is not part of ODL SR3, we will have to manually execute certain commands to simulate
+ an external IPv6 Router in this setup.
* Scenario 3 is similar to Scenario 2. However, we use an Open Daylight Lithium
-controller which is built from the latest stable/Lithium branch which includes the fix.
-In this scenario, we can fully automate the setup similar to Scenario 1.
+ controller which is built from the latest stable/Lithium branch which includes the fix.
+ In this scenario, we can fully automate the setup similar to Scenario 1.
.. toctree::
:numbered:
Scenario 3 - OpenStack + Open Daylight Lithium with Patch of Bug Fix
===============================================================
-Scenario 3 is the environment of OpenStack + Open Daylight Lithium, however, Lithium is patched with a bug fix of
-net-virt provider implementation that throws Java exception. Because Lithium still does not support IPv6 L3 Routing, we
-need to enable Neutron L3 Agent instead of Open Daylight L3 function, while we still use Open Daylight for L2 switching.
+Scenario 3 is the environment of OpenStack + Open Daylight Lithium,
+which is similar to Scenario 2. However, we use an Open Daylight Lithium
+controller which is built from the latest stable/Lithium branch that includes the fix of a bug.
+In this scenario, we can fully automate the setup similar to Scenario 1.
.. toctree::
:numbered: