SlideShare ist ein Scribd-Unternehmen logo
1 von 39
The Pain, the Gain
and the Lessons Learned
installation > integration > configuration > walkthrough
Agenda
• General
• Introductions and Credits
• What is SDN
• Benefits of SDN
• Popular SDN Controllers
• Industry Trends
• Lab Deployment Demo
General
What to Expect:
This is a tutorial-style presentation for beginners
No focus on specific features of any SDN Controller
Focus on integration with DevStack
Assumptions:
Basic understanding of OpenStack
Out of scope:
Vendor specifics
Protocol details (we won’t go into OpenFlow and other protocols)
Avoid discussions about why SDN or which controller is the best
Disclaimer:
We work for Ericsson but we are here as enthusiastic members of
OpenStack community and die-hard believers of development and
collaboration in and via open source
Konstantin Komaristy
Syed Moneeb Javed
Special thanks to:
Tim Irnich and Francois Lemarchand of Ericsson,
who have much more subject knowledge
Introductions and Credits
What is SDN
The Open Networking Forum (ONF) defines SDN as
follows:
“Software-Defined Networking (SDN) is an emerging
architecture that is dynamic, manageable, cost-
effective, adaptable, making it ideal for the high-
bandwidth, dynamic nature of today's applications. This
architecture decouples the network control and
forwarding functions enabling the network control to
become directly programmable and the underlying
infrastructure to be abstracted for applications and
network services. The OpenFlow protocol is a foundational
element for building SDN solutions.”
Traditional Networks
• Hardware-oriented
• Static in nature
• Configured manually
• Distributed control plane lacks scale
• Management plane can use proprietary
implementations
Traditional Networks
Benefits of SDN
• Centralized management and control planes
• Control and data plane can scale
independently
• Improved interoperability
• Programmability of network devices
• Ability to use commodity hardware
• Facilitate migration to software-based
networking
• Enables adoption of scalable and dynamic
applications
Popular SDN Controllers
 There are many SDN Controllers
https://www.sdxcentral.com/sdn/definitions/sdn-controllers/sdn-
controllers-comprehensive-list/
 One very familiar to us is Neutron
 Today we discuss:
o OpenContrail
o OpenDaylight
Our Mini Lab
Intel NUC5i5RYK
4 CPU, 16 GB RAM, 250 GB M.2 SSD
Ubuntu 17.04 Server 64-bit
basic system tools
virtualization host
ssh server
x11-apps
virt-manager
edit /etc/default/grub
GRUB_CMDLINE_LINUX="intel_iommu=on"
update-grub
reboot
cat /sys/module/kvm_intel/parameters/nested
Y
modinfo kvm_intel | grep nested
parm: nested:bool
OpenContrail Architecture Diagram
OpenContrail Control Flows
Reference: Software-Defined Networking (SDN) WITH OpenStack
OpenContrail Control Flows
Installation
Ubuntu 14.04.4 LTS Server 64-bit AMD
15 GB RAM, 4 CPU, 70 GB disk
minimal install, ssh server
vi /etc/default/grub
GRUB_CMDLINE_LINUX="intel_iommu=on kvm-intel.nested=1"
update-grub
reboot
cat /proc/cmdline
BOOT_IMAGE= ... ro intel_iommu=on kvm-intel.nested=1
virt-host-validate
QEMU: Checking for hardware virtualization : WARN (Only emulated CPUs are available,
performance will be significantly limited)
QEMU: Checking for device /dev/vhost-net : PASS
QEMU: Checking for device /dev/net/tun : PASS
LXC: Checking for Linux >= 2.6.26 : PASS
Installation
apt-get -y purge isc-dhcp-client isc-dhcp-common resolvconf
rm /etc/resolv.conf
vi /etc/resolv.conf
nameserver 192.168.1.1
search 192.168.1.1
apt-get -y install git
git clone https://github.com/Juniper/contrail-installer.git
git clone https://github.com/openstack-dev/devstack -b stable/mitaka
export CONTRAIL_DIR=/home/ubuntu/contrail-installer
export DEVSTACK_DIR=/home/ubuntu/devstack
cd contrail-installer
cp samples/localrc-all localrc
edit localrc
CONTRAIL_REPO_PROTO=https # uncomment
NB_JOBS=4 # set to number of CPU available
MULTI_TENANCY=True # add
Reference: https://github.com/Juniper/contrail-installer
Build OpenContrail
./contrail.sh build # 1 hour 12 minutes
./contrail.sh install # 29 minutes
./contrail.sh configure # fast
./contrail.sh start # fast
Build DevStack
cd ~/devstack
cp ~/contrail-installer/devstack/lib/neutron_plugins/opencontrail lib/neutron_plugins/.
cp ~/contrail-installer/devstack/samples/localrc-all localrc
edit localrc:
HOST_IP=192.168.1.129 # set to match
PHYSICAL_INTERFACE=eth0 # set to match
MULTI_TENANCY=True # add
disable_service c-sch # add
disable_service c-api # add
disable_service c-vol # add
disable_service tempest # add
./stack.sh # after 30 sec, error: “packages have unmet dependencies”
sudo apt-get -f install # force
./stack.sh # after 20 min, error: “object has no attribute '__version__' ”
edit line 29 in file /usr/local/lib/python2.7/dist-packages/openstack/session.py
from:
DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack.__version__
to:
DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack
Build DevStack
./unstack.sh # 15 sec
./stack.sh # after 30 min got error “550 Failure creating NET_ID for private”
cd ~/contrail-installer
./contrail.sh stop # 1 min
sudo reboot
cd ~/contrail-installer
./contrail.sh start
cd /opt/stack/noVNC
git checkout v0.6.0
git branch
* (detached from v0.6.0)
master
cd ~/devstack
./stack.sh # 8 min
DevStack Dashboard
OpenContrail GUI
And then there is ODL …
OpenDaylight Architecture Overview
• Microservices based architecture
• Platform Independent
• At parity with Neutron Reference
Implementation in OpenStack
Reference: *opendaylight.org
OpenDaylight Architecture Overview
Reference: http://5g-crosshaul.eu/wp-content/uploads/2016/10/UC3M_5tonic_SdnOdlDay_19Oct2016.pdf
Reference: https://wiki.opendaylight.org/images/d/d8/ODL-arch-B.pdf
Reference: Isaku Yamahata -- https://www.youtube.com/watch?v=I1OP8OSYb2c
Installation
Ubuntu 17.04 LTS Server 64-bit AMD
15 GB RAM, 4 CPU, 40 GB disk
minimal install, ssh server
apt-get -y purge isc-dhcp-client isc-dhcp-common resolvconf
rm /etc/resolv.conf
vi /etc/resolv.conf
nameserver 192.168.1.1
search 192.168.1.1
apt-get -y install git
sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
sudo su - stack
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack/
cp samples/local.conf .
Installation
edit local.conf as described here:
https://github.com/openstack/networking-odl/blob/master/devstack/README.rst
set to match:
HOST_IP=192.168.1.65
FLAT_INTERFACE=ens3
ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS:-br-ex:ens8}
FLOATING_RANGE=192.168.1.96/27
PUBLIC_NETWORK_GATEWAY=192.168.1.65
pay attention to:
ODL_RELEASE=boron-0.5.3-SR3
ODL_NETVIRT_KARAF_FEATURE=odl-neutron-service,odl-restconf-all
ODL_NETVIRT_KARAF_FEATURE+=,odl-aaa-authn,odl-dlux-all
ODL_NETVIRT_KARAF_FEATURE+=,odl-mdsal-apidocs,odl-l2switch-all
ODL_NETVIRT_KARAF_FEATURE+=,odl-netvirt-openstack
ODL_NETVIRT_KARAF_FEATURE+=,odl-neutron-logger
ODL_BOOT_WAIT_URL=restconf/operational/network-topology:network-topology/
enable_service (one per line): dstat g-api g-reg key mysql n-api n-cond n-cpu n-crt n-novnc
n-sch placement-api placement-client q-dhcp q-meta q-svc rabbit tempest
disable_service (one per line): c-api c-vol c-sch
Installation
./stack.sh # 20 min
=========================
DevStack Component Timing
=========================
Total runtime 1187
run_process 31
test_with_retry 112
apt-get-update 3
wait_for_service 31
pip_install 167
apt-get 12
=========================
This is your host IP address: 192.168.1.65
Horizon is now available at http://192.168.1.65/dashboard
Keystone is serving at http://192.168.1.65/identity/
The default users are: admin and demo
The password: nomoresecret
DLUX is now available at http://192.168.1.65:8181/index.html
The user: admin
The password: admin
DevStack Dashboard
DLUX - Topology
DLUX - Nodes
DLUX – Yang UI
DLUX – Yang Visualizer
Our Mini Lab
sudo virsh list --all
Id Name State
---------------------------------------------------------
11 odl running
13 devstack_opencontrail running
Industry Trends
OpenContrail: Vendors/Operators
OpenDaylight: Vendors/Operators
Reference: https://www.opendaylight.org/membership
Other Useful info
• Meet the experts at OpenStack Summit
• ODL HA (Clustering):
http://docs.opendaylight.org/en/latest/getting-started-
guide/common-features/clustering.html
Errors running ./stack.sh
 run 'apt-get -f install' to correct unmet dependencies
 AttributeError: 'module' object has no attribute '__version__'
 Edit line 29 in the file /usr/local/lib/python2.7/dist-
packages/openstack/session.py
 sudo vi /usr/local/lib/python2.7/dist-packages/openstack/session.py
 From:
 DEFAULT_USER_AGENT = "openstacksdk/%s" %
openstack.__version__
 To:
 DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack
 And start over:
 ./unstack.sh
 ./stack.sh

Weitere ähnliche Inhalte

Was ist angesagt?

Open stack neutron and opendaylight
Open stack neutron and opendaylightOpen stack neutron and opendaylight
Open stack neutron and opendaylight
ramgow
 

Was ist angesagt? (20)

Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasClash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
 
OpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CDOpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CD
 
Opensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFOpensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNF
 
Improving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevImproving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware Libeventdev
 
OpenDaylight: an open source SDN for your OpenStack cloud
OpenDaylight: an open source SDN for your OpenStack cloudOpenDaylight: an open source SDN for your OpenStack cloud
OpenDaylight: an open source SDN for your OpenStack cloud
 
TripleO
 TripleO TripleO
TripleO
 
OVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchOVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitch
 
OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
 
OpenDaylight OpenStack Integration
OpenDaylight OpenStack IntegrationOpenDaylight OpenStack Integration
OpenDaylight OpenStack Integration
 
Introduction to the Helium release of OpenDaylight
Introduction to the Helium release of OpenDaylightIntroduction to the Helium release of OpenDaylight
Introduction to the Helium release of OpenDaylight
 
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward LibertyOpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 
Using Software-Defined WAN implementation to turn on advanced connectivity se...
Using Software-Defined WAN implementation to turn on advanced connectivity se...Using Software-Defined WAN implementation to turn on advanced connectivity se...
Using Software-Defined WAN implementation to turn on advanced connectivity se...
 
Copr HD OpenStack Day India
Copr HD OpenStack Day IndiaCopr HD OpenStack Day India
Copr HD OpenStack Day India
 
Open stack neutron and opendaylight
Open stack neutron and opendaylightOpen stack neutron and opendaylight
Open stack neutron and opendaylight
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 
Python Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStackPython Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStack
 
Open daylight and Openstack
Open daylight and OpenstackOpen daylight and Openstack
Open daylight and Openstack
 
Multisite OpenStack for NFV: Bridging the Gap
Multisite OpenStack for NFV: Bridging the GapMultisite OpenStack for NFV: Bridging the Gap
Multisite OpenStack for NFV: Bridging the Gap
 

Ähnlich wie OpenStack Integration with OpenContrail and OpenDaylight

20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_Gallo
Andrea Gallo
 

Ähnlich wie OpenStack Integration with OpenContrail and OpenDaylight (20)

20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_Gallo
 
OpenStack & OpenDaylight Hands-on Lab
OpenStack & OpenDaylight Hands-on LabOpenStack & OpenDaylight Hands-on Lab
OpenStack & OpenDaylight Hands-on Lab
 
Learn OpenStack from trystack.cn
Learn OpenStack from trystack.cnLearn OpenStack from trystack.cn
Learn OpenStack from trystack.cn
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
OSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentOSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install Environment
 
ONIE: Open Network Install Environment @ OSDC 2014 Netways, Berlin
ONIE: Open Network Install Environment @ OSDC 2014 Netways, BerlinONIE: Open Network Install Environment @ OSDC 2014 Netways, Berlin
ONIE: Open Network Install Environment @ OSDC 2014 Netways, Berlin
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
 
OpenStack with OpenDaylight
OpenStack with OpenDaylightOpenStack with OpenDaylight
OpenStack with OpenDaylight
 
Neutron CI Run on Docker
Neutron CI Run on DockerNeutron CI Run on Docker
Neutron CI Run on Docker
 
OSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat MorrisOSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat Morris
 
Minimal OpenStack LinuxCon NA 2015
Minimal OpenStack LinuxCon NA 2015Minimal OpenStack LinuxCon NA 2015
Minimal OpenStack LinuxCon NA 2015
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
Automating Yourself Out of Trouble
Automating Yourself Out of TroubleAutomating Yourself Out of Trouble
Automating Yourself Out of Trouble
 
Calico and ubuntu
Calico and ubuntuCalico and ubuntu
Calico and ubuntu
 
OpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpOpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet Up
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
OpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionOpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - Introduction
 
ODSA Sub-Project Launch
 ODSA Sub-Project Launch ODSA Sub-Project Launch
ODSA Sub-Project Launch
 

KĂźrzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

KĂźrzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

OpenStack Integration with OpenContrail and OpenDaylight

  • 1. The Pain, the Gain and the Lessons Learned installation > integration > configuration > walkthrough
  • 2. Agenda • General • Introductions and Credits • What is SDN • Benefits of SDN • Popular SDN Controllers • Industry Trends • Lab Deployment Demo
  • 3. General What to Expect: This is a tutorial-style presentation for beginners No focus on specific features of any SDN Controller Focus on integration with DevStack Assumptions: Basic understanding of OpenStack Out of scope: Vendor specifics Protocol details (we won’t go into OpenFlow and other protocols) Avoid discussions about why SDN or which controller is the best Disclaimer: We work for Ericsson but we are here as enthusiastic members of OpenStack community and die-hard believers of development and collaboration in and via open source
  • 4. Konstantin Komaristy Syed Moneeb Javed Special thanks to: Tim Irnich and Francois Lemarchand of Ericsson, who have much more subject knowledge Introductions and Credits
  • 5. What is SDN The Open Networking Forum (ONF) defines SDN as follows: “Software-Defined Networking (SDN) is an emerging architecture that is dynamic, manageable, cost- effective, adaptable, making it ideal for the high- bandwidth, dynamic nature of today's applications. This architecture decouples the network control and forwarding functions enabling the network control to become directly programmable and the underlying infrastructure to be abstracted for applications and network services. The OpenFlow protocol is a foundational element for building SDN solutions.”
  • 6. Traditional Networks • Hardware-oriented • Static in nature • Configured manually • Distributed control plane lacks scale • Management plane can use proprietary implementations
  • 8. Benefits of SDN • Centralized management and control planes • Control and data plane can scale independently • Improved interoperability • Programmability of network devices • Ability to use commodity hardware • Facilitate migration to software-based networking • Enables adoption of scalable and dynamic applications
  • 9. Popular SDN Controllers  There are many SDN Controllers https://www.sdxcentral.com/sdn/definitions/sdn-controllers/sdn- controllers-comprehensive-list/  One very familiar to us is Neutron  Today we discuss: o OpenContrail o OpenDaylight
  • 10. Our Mini Lab Intel NUC5i5RYK 4 CPU, 16 GB RAM, 250 GB M.2 SSD Ubuntu 17.04 Server 64-bit basic system tools virtualization host ssh server x11-apps virt-manager edit /etc/default/grub GRUB_CMDLINE_LINUX="intel_iommu=on" update-grub reboot cat /sys/module/kvm_intel/parameters/nested Y modinfo kvm_intel | grep nested parm: nested:bool
  • 13. Reference: Software-Defined Networking (SDN) WITH OpenStack OpenContrail Control Flows
  • 14. Installation Ubuntu 14.04.4 LTS Server 64-bit AMD 15 GB RAM, 4 CPU, 70 GB disk minimal install, ssh server vi /etc/default/grub GRUB_CMDLINE_LINUX="intel_iommu=on kvm-intel.nested=1" update-grub reboot cat /proc/cmdline BOOT_IMAGE= ... ro intel_iommu=on kvm-intel.nested=1 virt-host-validate QEMU: Checking for hardware virtualization : WARN (Only emulated CPUs are available, performance will be significantly limited) QEMU: Checking for device /dev/vhost-net : PASS QEMU: Checking for device /dev/net/tun : PASS LXC: Checking for Linux >= 2.6.26 : PASS
  • 15. Installation apt-get -y purge isc-dhcp-client isc-dhcp-common resolvconf rm /etc/resolv.conf vi /etc/resolv.conf nameserver 192.168.1.1 search 192.168.1.1 apt-get -y install git git clone https://github.com/Juniper/contrail-installer.git git clone https://github.com/openstack-dev/devstack -b stable/mitaka export CONTRAIL_DIR=/home/ubuntu/contrail-installer export DEVSTACK_DIR=/home/ubuntu/devstack cd contrail-installer cp samples/localrc-all localrc edit localrc CONTRAIL_REPO_PROTO=https # uncomment NB_JOBS=4 # set to number of CPU available MULTI_TENANCY=True # add Reference: https://github.com/Juniper/contrail-installer
  • 16. Build OpenContrail ./contrail.sh build # 1 hour 12 minutes ./contrail.sh install # 29 minutes ./contrail.sh configure # fast ./contrail.sh start # fast
  • 17. Build DevStack cd ~/devstack cp ~/contrail-installer/devstack/lib/neutron_plugins/opencontrail lib/neutron_plugins/. cp ~/contrail-installer/devstack/samples/localrc-all localrc edit localrc: HOST_IP=192.168.1.129 # set to match PHYSICAL_INTERFACE=eth0 # set to match MULTI_TENANCY=True # add disable_service c-sch # add disable_service c-api # add disable_service c-vol # add disable_service tempest # add ./stack.sh # after 30 sec, error: “packages have unmet dependencies” sudo apt-get -f install # force ./stack.sh # after 20 min, error: “object has no attribute '__version__' ” edit line 29 in file /usr/local/lib/python2.7/dist-packages/openstack/session.py from: DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack.__version__ to: DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack
  • 18. Build DevStack ./unstack.sh # 15 sec ./stack.sh # after 30 min got error “550 Failure creating NET_ID for private” cd ~/contrail-installer ./contrail.sh stop # 1 min sudo reboot cd ~/contrail-installer ./contrail.sh start cd /opt/stack/noVNC git checkout v0.6.0 git branch * (detached from v0.6.0) master cd ~/devstack ./stack.sh # 8 min
  • 21. And then there is ODL …
  • 22. OpenDaylight Architecture Overview • Microservices based architecture • Platform Independent • At parity with Neutron Reference Implementation in OpenStack Reference: *opendaylight.org
  • 23. OpenDaylight Architecture Overview Reference: http://5g-crosshaul.eu/wp-content/uploads/2016/10/UC3M_5tonic_SdnOdlDay_19Oct2016.pdf
  • 25. Reference: Isaku Yamahata -- https://www.youtube.com/watch?v=I1OP8OSYb2c
  • 26. Installation Ubuntu 17.04 LTS Server 64-bit AMD 15 GB RAM, 4 CPU, 40 GB disk minimal install, ssh server apt-get -y purge isc-dhcp-client isc-dhcp-common resolvconf rm /etc/resolv.conf vi /etc/resolv.conf nameserver 192.168.1.1 search 192.168.1.1 apt-get -y install git sudo useradd -s /bin/bash -d /opt/stack -m stack sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers sudo su - stack git clone https://git.openstack.org/openstack-dev/devstack cd devstack/ cp samples/local.conf .
  • 27. Installation edit local.conf as described here: https://github.com/openstack/networking-odl/blob/master/devstack/README.rst set to match: HOST_IP=192.168.1.65 FLAT_INTERFACE=ens3 ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS:-br-ex:ens8} FLOATING_RANGE=192.168.1.96/27 PUBLIC_NETWORK_GATEWAY=192.168.1.65 pay attention to: ODL_RELEASE=boron-0.5.3-SR3 ODL_NETVIRT_KARAF_FEATURE=odl-neutron-service,odl-restconf-all ODL_NETVIRT_KARAF_FEATURE+=,odl-aaa-authn,odl-dlux-all ODL_NETVIRT_KARAF_FEATURE+=,odl-mdsal-apidocs,odl-l2switch-all ODL_NETVIRT_KARAF_FEATURE+=,odl-netvirt-openstack ODL_NETVIRT_KARAF_FEATURE+=,odl-neutron-logger ODL_BOOT_WAIT_URL=restconf/operational/network-topology:network-topology/ enable_service (one per line): dstat g-api g-reg key mysql n-api n-cond n-cpu n-crt n-novnc n-sch placement-api placement-client q-dhcp q-meta q-svc rabbit tempest disable_service (one per line): c-api c-vol c-sch
  • 28. Installation ./stack.sh # 20 min ========================= DevStack Component Timing ========================= Total runtime 1187 run_process 31 test_with_retry 112 apt-get-update 3 wait_for_service 31 pip_install 167 apt-get 12 ========================= This is your host IP address: 192.168.1.65 Horizon is now available at http://192.168.1.65/dashboard Keystone is serving at http://192.168.1.65/identity/ The default users are: admin and demo The password: nomoresecret DLUX is now available at http://192.168.1.65:8181/index.html The user: admin The password: admin
  • 33. DLUX – Yang Visualizer
  • 34. Our Mini Lab sudo virsh list --all Id Name State --------------------------------------------------------- 11 odl running 13 devstack_opencontrail running
  • 38. Other Useful info • Meet the experts at OpenStack Summit • ODL HA (Clustering): http://docs.opendaylight.org/en/latest/getting-started- guide/common-features/clustering.html
  • 39. Errors running ./stack.sh  run 'apt-get -f install' to correct unmet dependencies  AttributeError: 'module' object has no attribute '__version__'  Edit line 29 in the file /usr/local/lib/python2.7/dist- packages/openstack/session.py  sudo vi /usr/local/lib/python2.7/dist-packages/openstack/session.py  From:  DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack.__version__  To:  DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack  And start over:  ./unstack.sh  ./stack.sh

Hinweis der Redaktion

  1. http://juniper.github.io/contrail-vnc/architecture.html
  2. This slide to sit b/w OpenContrail and ODL