===== Bottom Up Exercise ===== Our bottom-up exercise is targeted to develop a Proof-of-Concept (PoC) of creating a Service VM as an IPv6 vRouter in OPNFV environment, i.e. integrated OpenStack with Open Daylight environment. We have 2 goals of this exercise: * Deliver the PoC of a Service VM as an IPv6 vRouter in **Brahmaputra Release** * Perform gap analysis with OpenStack and Open Daylight ==== Architectural Design ==== Please go to [[ipv6_opnfv_project:poc_design| PoC Design]] page, Figure POC-X3, for the architecture design of using a Service VM as an IPv6 vRouter ==== PoC Environmental Setup ==== Our PoC environment is set up within the [[pharos:spirentvctlab|OPNFV Community Lab from Spirent]]. Please click [[http://spirent.app.box.com/notes/37713582266?s=tgm98glcerw9zlcdy6pclavjlorgop4v|here]] for the details of lab environment and setup of the PoC. **Please note that the details, such as hostname, IP address, etc. in the following sections are referred to the environmental details above** ==== PoC Implementation ==== There are three major phases to implement this PoC:\\ {{:ipv6_opnfv_project:ipv6_poc_setup_.png?800|}}\\ * Setting up OpenStack with Open Daylight Controller * **Step 1**: [[ipv6_opnfv_project:bringup_odl_controller|Bring up the ODL Controller]] * **Step 2**: [[ipv6_opnfv_project:setup_osodl_ctrlnwcom_node|Set up OpenStack with ODL Controller as a Control+Network+Compute Node]] * **Step 3**: [[ipv6_opnfv_project:setup_osodl_compute_node|Set up OpenStack with ODL Controller as a Compute Node]] * **Notes**: Enabling IPv6 router functionality in a ServiceVM * **Option 1**: [[ipv6_opnfv_project:metadata_vm|Cloud-init / Metadata for Fedora-20 VM]] * **Option 2**: [[ipv6_opnfv_project:vm_as_router|Manual configuration of CentOS-7 VM]] * **Step 4**: [[ipv6_opnfv_project:create_networks|Creating Networks and Subnets]] to complete the PoC ==== PoC Testing ==== **Step 4**[[ipv6_opnfv_project:create_networks| Creating Networks and Subnets]] of PoC Implementation has already described the basic steps of testing. Please click **[[ipv6_opnfv_project:poc_test_plan|HERE]]** for the details of test plan of PoC. ==== Alternative Implementation on Native OpenStack + ML2OVS without Open Daylight ==== Because of the gaps in ODL, effectively the role of ODL in the integrated environment is the same as OVS to provide VMs with L2 connectivity. No additional ODL feature is used in the integrated environment. Thus alternatively, the Service VM-based IPv6 vRouter can be set up in the OpenStack environment with ML2 OVS without ODL. Please click [[ipv6_opnfv_project:ipv6_vrouter|here]] for instructions to set up an IPv6 vRouter on a Service VM in such environment. ==== Jenkins Integration ==== The goal of Jenkins integration is to automate the steps and commands in our PoC implementation as much as we can. Please click [[ipv6_opnfv_project:jenkins_integration|here]] for Jenkins Integration ==== Roadmap / Next Steps ==== Our **Phase 1** Work covers the design and implementation of IPv6 vRouter in native OpenStack environment and ODL-integrated environment. The Phase 1 work will be part of Brahmaputra release. In **Phase 2**, we are planning to expand the PoC experiment to cover more scenarios in various environments: * OpenContrail-integrated environment * ONOS-integrated environment * Midonet-integrated environment * Integrated environments with other SDN controllers. The community support is essential to achieving this roadmap. All community members are very welcome to experiment this PoC based the above steps and guidelines, and more importantly to try it out in expanded environments and analyze gaps if any. In **Phase 3**, we are planning to bring them up as full-blown IPv6 environments for various testing, including performance testing. ==== References ==== * Historical notes of creating [[ipv6_opnfv_project:poc_svmvrouter|Service VM as vRouter]] * Refer: http://isoredirect.centos.org/centos/7/isos/x86_64/ - get centos7 image * Refer: http://wiki.centos.org/HowTos/Virtualization/VirtualBox/CentOSguest - Centos as guest OS in Virtualbox