opnfv 101: how to get from bare metal to cloud · opnfv 101: how to get from bare metal to cloud...

31
OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Upload: others

Post on 08-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

OPNFV 101: How To Get From Bare Metal to Cloud

Wenjing Chu, DellDan Radez, Red HatVinod Pandarinathan, Cisco

Page 2: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

From Bare Metal to an NFV Cloud in 3 Steps

1) Create  your  own  OPNFV  podWenjing will  present  a  fast  paced  tutorial  on  how  to  bring  up  an  OPNFV  Arno  SR1  powered  pod.

2) Deploy  your  VNFs  on  OPNFVDan  will  show  you  first  hand  how  to  use  Tacker  to  launch  VNFs  and  chain  them  together.

3) Integrate  virtual  networkingVinod  will  dive  deeper  into  Openstack Neutron/ODL  and  OVS,  and  provides  hands-­on  tips  on  debugging.

11/7/15 OPNFV 101 2

Page 3: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Here is the Plan• The  goal  is  to  set  up  an  OPNFV  pod  in  lab  that  can  run  realistic  use  cases• We  will  use  the  latest  OPNFV  Arno  SR1• We  will  use  Foreman  to  manage  and  provision  bare  metal  servers  in  this  tutorial

• Deploy  Openstack Juno  and  Opendaylight Helium• Run  Qtip to  benchmark

Page 4: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

What’s  in  a  pod?

1 jump server

3 control nodes in HA, OR 1 for non-HA

1  or  more  compute  nodes

PXE/admin port

Internet/publicport

NFV/privatePort

• 1  network  for  PXE  boot  (Admin)• 1  network  for  Internet  access  (P

ublic)• (not  shown – Lights  Out  Manag

ement,  e.g.  Dell  iDRAC)• 1  network  (or more)  for  NFV  dat

a  path:  10G  or  higher  (Private)• (non shown  -­ additional storage  

network  if  desirable)• There  are  other  options  but  this  

is  what  we  use/recommend

Page 5: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Config/Collect  system  info  for  YML  spec

1 jump server

3 control nodes in HA, OR 1 for non-HA

1  or  more  compute  nodes

PXE/admin port

Internet/publicport

NFV/privatePort

For  each  node:

• BIOS  enable  PXE  boot  on  the  admin  port,  and  set  it  to  be  the  first  boot  dev.

• Collect  these:• MAC  of  the  PXE/admin  port:  mac_address

• MAC  of  the  LightsOut port  (e.g.  Dell  iDRAC):  bmc_mac

• IP  of  the  LightsOut port:  bmc_ip• MAC  of  the  Private/NFV  port:  private_mac

Page 6: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Get  the  deployment  images  to  your  jump  server

• Use  Foreman  ISO  to  install  CentOS7  on  the  Foreman  Jump-­Server:https://www.opnfv.org/software/download

• The  ISO  packs  the  required  files,  including  CentOS7• Or,  if  your  jump  server  is  already  installed  with  CentOS7,  you  can  download  the  rest  from  https://git.opnfv.org/cgit/genesis/snapshot/arno.2015.2.0.zip

• Unzip it  and  cd  to  “genesis/foreman/ci”• Either  way,  you  get  the  ci  directory  with  deployment  files  and  scripts

Page 7: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Edit  the  YML  spec  file• Edit:opnfv_ksgen_settings.yml

• Enter  the  MAC  and  IP  addresses

• Provide  login  credentials

• Name  them• One  section  for  each  control  and  compute  node

Page 8: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Now  let  Foreman  deploy  it• cd genesis/foreman/ci

• ./deploy.sh –admin_nic <interface_name> -private_nic <interface_name> -public_nic <interface_name> -base_config<full_path_to_opnfv_ksgen_settings.yml>

Expect a few hours…

Page 9: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Monitor  progress  on  Foreman  UI  …

• After  a  few  minutes…

• On  the  jump  server

• cd /var/opt/opnfv/foreman_vm

• Run  “vagrant ssh”

Page 10: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Also  check  on  Opendaylight…• ODL  runs  on  the  first  controller

• Point  web  browser  to  <controller1_ip>:8181/dlux/intex.html

Page 11: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Use  Qtip to  quickly  benchmark  it  …

• For  example:  use  DPI  to  benchmark  compute

• python  qtip.py –s  compute  –b  –dpi-­parallel.yaml

Page 12: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Use  Qtip to  quickly  benchmark  it  …

Page 13: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco
Page 14: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

From Bare Metal to an NFV Cloud in 3 Steps

1) Create  your  own  OPNFV  podWenjing will  present  a  fast  paced  tutorial  on  how  to  bring  up  an  OPNFV  Arno  SR1  powered  pod.

2) Deploy  your  VNFs  on  OPNFVDan  will  show  you  first  hand  how  to  use  Tacker  to  launch  VNFs  and  chain  them  together.

3) Integrate  virtual  networkingVinod  will  dive  deeper  into  Openstack Neutron/ODL  and  OVS,  and  provides  hands-­on  tips  on  debugging.

11/7/15 OPNFV 101 14

Page 15: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Project  Apex  in  Bramaputra

• RDO Manager based (http://rdoproject.org)• Triple-O driven install• OpenStack centric components

Page 16: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Project  Apex  in  Bramaputra

Instack ControlNode

ControlNode

ControlNode

ComputeNode

ComputeNode

ComputeNode

Undercloud Overcloud

Page 17: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Tacker  in  Project  Apex

• SFC project needed a VNFM• Tacker existed as a VNF Orchestration Tool• Part of the OpenStack Ecosystem• Began adding SFC support to Tacker

Page 18: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Project  Apex  /  Tacker  /  SFC  Demo

• VFN Definition (yaml template)• VNF Creation (launches VFN from template• SFC (chains VNFs)• Driver Based SDN interaction

− OpenDaylight NetvirtSFC− OpenvSwitch + NSH support

Page 19: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

From Bare Metal to an NFV Cloud in 3 Steps

1) Create  your  own  OPNFV  podWenjing will  present  a  fast  paced  tutorial  on  how  to  bring  up  an  OPNFV  Arno  SR1  powered  pod.

2) Deploy  your  VNFs  on  OPNFVDan  will  show  you  first  hand  how  to  use  Tacker  to  launch  VNFs  and  chain  them  together.

3) Integrate  virtual  networkingVinod  will  dive  deeper  into  Openstack Neutron/ODL  and  OVS,  and  provides  hands-­on  tips  on  debugging.

11/7/15 OPNFV 101 19

Page 20: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

ETSI NFV Architecture - VIM Layer

Page 21: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

OpenVSwitch

OVSDB  Protocol  Library

Bidirectional  JSON-­‐RPC  Library

Netty.io

ConfigurationService

InventoryService

OpenFlow  1.0  Plugin

OpenFlow  1.0  Library

ConnectionService

FlowProgrammer

java.nio.socket

Model  Driven  SAL  (MDSAL)

InventoryService

ConnectionService

FlowProgrammer

OpenFlow  1.3  Plugin

OpenFlow  1.3  Library

Netty  io

OVSDB  South-­‐bound  Plugin OpenFlow  1.0  SB  Plugin OpenFlow  1.3  SB  Plugin

ControllerNeutronML2  Plug-­In

OpenDaylight  NorthBound  API  Layer  -­‐ REST  APIs

OpenDaylight  Neutron  REST-­‐API

OVSDB  Neutron  Application

OpenFlow  1.0

Page 22: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Potential Issues seen during deployment

• Neutron network create fails • Neutron port create fails• Nova boot failure• Can’t Ping VM IP address

Page 23: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Are the required services are up ?

• Check ODL server is started and responds to http requests ? • Check neutron-server is up and running.• Check ML2 config for mechanism driver opendaylight and

url/port/username/password• Openvswitch service is started and opendaylight manages the

bridges.

Page 24: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Check ODL server

• Use karaf console, and check if right features are installed.– Karaf>feature:list | grep openstack– Karaf>feature:list | grep ovs

• Run HTTP requests to check if the service is responding– curl -u admin:admin

http://192.168.1.111:8080/controller/nb/v2/neutron/networks/– curl -u admin:admin

http://192.168.1.111:8080/controller/nb/v2/neutron/ports/

Page 25: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Tracking resource status• CRUD  on  neutron  resource  such  as  networks,  ports  and  subnets.  

• Neutron  net-­‐list• Neutron  port-­‐list

• [odl@fedora-­‐odl-­‐1  devstack]$  neutron  port-­‐list11306910-­‐db19-­‐484e-­‐af96-­‐56ed2c1e52dc  |  fa:16:3e:b1:ba:82  |  {"subnet_id":  "e340d8fd-­‐075a-­‐4523-­‐984e-­‐43aa9782ff52",  "ip_address":  "10.0.0.1”  |

194c2669-­‐6111-­‐4dc6-­‐b5ab-­‐b6fd10423bfb  |            |  fa:16:3e:0d:f6:22  | {"subnet_id":  "e340d8fd-­‐075a-­‐4523-­‐984e-­‐43aa9782ff52",  "ip_address":  "10.0.0.4”}

• [odl@fedora-­‐odl-­‐1  devstack]$    curl  -­‐u  admin:admin http://192.168.1.111:8080/controller/nb/v2/neutron/ports/{

"ports"  :  [  {"id"  :  "194c2669-­‐6111-­‐4dc6-­‐b5ab-­‐b6fd10423bfb","network_id"  :  "98b8fb6c-­‐210c-­‐4c54-­‐a90f-­‐a2fcf178c5cc","name"  :  "","admin_state_up"  :  true,"mac_address"  :  "FA:16:3E:0D:F6:22","fixed_ips"  :  [  {

"ip_address"  :  "10.0.0.4","subnet_id"  :  "e340d8fd-­‐075a-­‐4523-­‐984e-­‐43aa9782ff52"

}  ],"device_id"  :  "3d70cd19-­‐a831-­‐489e-­‐b0ae-­‐da697d54763f","device_owner"  :  "compute:None","tenant_id"  :  "bac644a6c1e7402a86f74567ca855c0d"

},  {

Page 26: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Openstack node topology

Controller/Compute-­‐1Fedora-­‐odl-­‐1

VM1addr:fa:16:3e:cd:09:76  

VM2:addr:fa:16:3e:83:42:3b  

Compute-­‐2Fedora-­‐odl-­‐2

VM1:addr:fe:16:3e:0d:f6:22

Page 27: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Openvswitch ovs-vsctl show-vs-vs

• [odl@fedora-­‐odl-­‐2  devstack]$  sudo ovs-­‐vsctl show17074e89-­‐2ac5-­‐4bba-­‐997a-­‐1a5a3527cf56

Manager  "tcp:192.168.1.111:6640"is_connected:  true

Bridge  br-­‐intController  "tcp:192.168.1.111:6633"

is_connected:  truefail_mode:  securePort  br-­‐int

Interface  br-­‐intPort  "gre-­‐192.168.1.111"

Interface  "gre-­‐192.168.1.111"type:  greoptions:  {key=flow,  local_ip="192.168.1.148",  remote_ip="192.168.1.111"}

Port  "tap194c2669-­‐61"Interface  "tap194c2669-­‐61"

ovs_version:  "2.0.1“

• [odl@fedora-­‐odl-­‐2  devstack]$  ifconfig tap194c2669-­‐61tap194c2669-­‐61:  flags=4163<UP,BROADCAST,RUNNING,MULTICAST>    mtu 1500

inet6  fe80::fc16:3eff:fe0d:f622    prefixlen 64    scopeid 0x20<link>ether  fe:16:3e:0d:f6:22    txqueuelen 500    (Ethernet)RX  packets  77    bytes  6912  (6.7  KiB)

Page 28: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

OVS-OFCTL dump-ports-desc

• [odl@fedora-­‐odl-­‐2  devstack]$  sudo ovs-­‐ofctl -­‐O  OpenFlow13  dump-­‐ports-­‐desc br-­‐int

OFPST_PORT_DESC  reply  (OF1.3)  (xid=0x2):1(gre-­‐192.168.1.1):  addr:ce:49:90:8e:7b:a9

config:          0state:            0speed:  0  Mbps  now,  0  Mbps  max

2(tap194c2669-­‐61):  addr:fe:16:3e:0d:f6:22config:          0state:            0current:        10MB-­‐FD  COPPERspeed:  10  Mbps  now,  0  Mbps  max

LOCAL(br-­‐int):  addr:ea:34:e4:16:b9:4aconfig:          0state:            0speed:  0  Mbps  now,  0  Mbps  max

Page 29: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

OVS-OFCTL dump-flows• [odl@fedora-­‐odl-­‐2   devstack]$   sudo ovs-­‐ofctl -­‐O  OpenFlow13   dump-­‐flows   br-­‐intOFPST_FLOW   reply   (OF1.3)   (xid=0x2):cookie=0x0,   duration=2814.351s,   table=0,   n_packets=66,   n_bytes=5890,   send_flow_remin_port=2,dl_src=fa:16:3e:0d:f6:22   actions=set_field:0x1-­‐>tun_id,goto_table:10cookie=0x0,   duration=2872.745s,   table=0,   n_packets=75,   n_bytes=7094,   send_flow_rem tun_id=0x1,in_port=1  actions=goto_table:20cookie=0x0,   duration=2814.278s,   table=0,   n_packets=0,   n_bytes=0,   send_flow_rem priority=8192,in_port=2  actions=dropcookie=0x0,   duration=3087.912s,   table=0,   n_packets=574,   n_bytes=52234,   send_flow_rem dl_type=0x88cc  actions=CONTROLLER:56cookie=0x0,   duration=2814.047s,   table=10,   n_packets=0,   n_bytes=0,   send_flow_rem priority=8192,tun_id=0x1  actions=goto_table:20cookie=0x0,   duration=2872.583s,   table=10,   n_packets=20,   n_bytes=1628,   send_flow_rempriority=16384,tun_id=0x1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00   actions=output:1,goto_table:20cookie=0x0,  duration=2872.845s,  table=10,  n_packets=46,  n_bytes=4262,  send_flow_remtun_id=0x1,dl_dst=fa:16:3e:cd:09:76  actions=output:1,goto_table:20cookie=0x0,  duration=2816.521s,  table=10,  n_packets=0,  n_bytes=0,  send_flow_remtun_id=0x1,dl_dst=fa:16:3e:83:42:3b  actions=output:1,goto_table:20cookie=0x0,   duration=2814.011s,   table=20,   n_packets=46,   n_bytes=4262,   send_flow_rem priority=8192,tun_id=0x1  actions=dropcookie=0x0,   duration=2814.081s,   table=20,   n_packets=39,   n_bytes=3214,   send_flow_rempriority=16384,tun_id=0x1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00   actions=output:2cookie=0x0,  duration=2814.149s,  table=20,  n_packets=51,  n_bytes=5118,  send_flow_remtun_id=0x1,dl_dst=fa:16:3e:0d:f6:22  actions=output:2

Page 30: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

References

1. https://www.rdoproject.org/networking/helium-­‐opendaylight-­‐juno-­‐openstack/2. http://networkstatic.net/opendaylight-­‐openstack-­‐integration-­‐devstack-­‐fedora-­‐

20/3. http://www.slideshare.net/mestery/opendaylight-­‐integration-­‐with-­‐openstack-­‐

neutron-­‐a-­‐tutorial

Page 31: OPNFV 101: How To Get From Bare Metal to Cloud · OPNFV 101: How To Get From Bare Metal to Cloud Wenjing Chu, Dell Dan Radez, Red Hat Vinod Pandarinathan, Cisco

Q & A