30
Virtual Route Reflector Getting Started Guide for OpenStack Modified: 2019-03-12 Copyright © 2019, Juniper Networks, Inc.

Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Virtual Route Reflector

Getting Started Guide for OpenStack

Modified: 2019-03-12

Copyright © 2019, Juniper Networks, Inc.

Page 2: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Juniper Networks, Inc.1133 InnovationWaySunnyvale, California 94089USA408-745-2000www.juniper.net

Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. in the United Statesand other countries. All other trademarks, service marks, registeredmarks, or registered service marks are the property of their respectiveowners.

Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify,transfer, or otherwise revise this publication without notice.

Virtual Route Reflector Getting Started Guide for OpenStackCopyright © 2019 Juniper Networks, Inc. All rights reserved.

The information in this document is current as of the date on the title page.

YEAR 2000 NOTICE

Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through theyear 2038. However, the NTP application is known to have some difficulty in the year 2036.

ENDUSER LICENSE AGREEMENT

The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networkssoftware. Use of such software is subject to the terms and conditions of the End User License Agreement (“EULA”) posted athttps://support.juniper.net/support/eula/. By downloading, installing or using such software, you agree to the terms and conditions ofthat EULA.

Copyright © 2019, Juniper Networks, Inc.ii

Page 3: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Table of Contents

About the Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Documentation and Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Documentation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Documentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Requesting Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

Self-Help Online Tools and Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

Creating a Service Request with JTAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Chapter 1 Virtual Route Reflector Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Understanding Virtual Route Reflector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Virtual Route Reflector Package Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Virtual Route Reflector Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Virtual Route Reflector Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Virtual Route Reflector Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Chapter 2 Installing and Configuring Virtual Route Reflector on OpenStack . . . . . . . . 17

Installing the Virtual Route Reflector Image Using OpenStack . . . . . . . . . . . . . . . . 17

Composing User Authentication Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Exporting User Credentials Once . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Passing User Credentials Each Time You Use a Command . . . . . . . . . . . 18

Registering an Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Updating the Disk, CD-ROM, and VIF Settings for the Image . . . . . . . . . . . . . 19

Creating a Virtual Hardware Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Creating Networks and Subnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Creating a vRR Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Creating a Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Assigning a Floating IP to a vRR Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Configuring Security Group Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Configuring Interfaces, Protocols, and Routes of the Virtual Route Reflector

Using Junos CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

iiiCopyright © 2019, Juniper Networks, Inc.

Page 4: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Copyright © 2019, Juniper Networks, Inc.iv

Getting Started Guide for OpenStack

Page 5: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

List of Tables

About the Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Table 1: Notice Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

Table 2: Text and Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

Chapter 1 Virtual Route Reflector Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Table 3: Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

vCopyright © 2019, Juniper Networks, Inc.

Page 6: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Copyright © 2019, Juniper Networks, Inc.vi

Getting Started Guide for OpenStack

Page 7: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

About the Documentation

• Documentation and Release Notes on page vii

• Documentation Conventions on page vii

• Documentation Feedback on page ix

• Requesting Technical Support on page x

Documentation and Release Notes

To obtain the most current version of all Juniper Networks®technical documentation,

see the product documentation page on the Juniper Networks website at

https://www.juniper.net/documentation/.

If the information in the latest release notes differs from the information in the

documentation, follow the product Release Notes.

Juniper Networks Books publishes books by Juniper Networks engineers and subject

matter experts. These books go beyond the technical documentation to explore the

nuances of network architecture, deployment, and administration. The current list can

be viewed at https://www.juniper.net/books.

Documentation Conventions

Table 1 on page viii defines notice icons used in this guide.

viiCopyright © 2019, Juniper Networks, Inc.

Page 8: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Table 1: Notice Icons

DescriptionMeaningIcon

Indicates important features or instructions.Informational note

Indicates a situation that might result in loss of data or hardware damage.Caution

Alerts you to the risk of personal injury or death.Warning

Alerts you to the risk of personal injury from a laser.Laser warning

Indicates helpful information.Tip

Alerts you to a recommended use or implementation.Best practice

Table 2 on page viii defines the text and syntax conventions used in this guide.

Table 2: Text and Syntax Conventions

ExamplesDescriptionConvention

To enter configuration mode, type theconfigure command:

user@host> configure

Represents text that you type.Bold text like this

user@host> show chassis alarms

No alarms currently active

Represents output that appears on theterminal screen.

Fixed-width text like this

• A policy term is a named structurethat defines match conditions andactions.

• Junos OS CLI User Guide

• RFC 1997,BGPCommunities Attribute

• Introduces or emphasizes importantnew terms.

• Identifies guide names.

• Identifies RFC and Internet draft titles.

Italic text like this

Configure themachine’s domain name:

[edit]root@# set system domain-namedomain-name

Represents variables (options for whichyou substitute a value) in commands orconfiguration statements.

Italic text like this

Copyright © 2019, Juniper Networks, Inc.viii

Getting Started Guide for OpenStack

Page 9: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Table 2: Text and Syntax Conventions (continued)

ExamplesDescriptionConvention

• To configure a stub area, include thestub statement at the [edit protocolsospf area area-id] hierarchy level.

• Theconsoleport is labeledCONSOLE.

Represents names of configurationstatements, commands, files, anddirectories; configurationhierarchy levels;or labels on routing platformcomponents.

Text like this

stub <default-metricmetric>;Encloses optional keywords or variables.< > (angle brackets)

broadcast | multicast

(string1 | string2 | string3)

Indicates a choice between themutuallyexclusive keywords or variables on eitherside of the symbol. The set of choices isoften enclosed in parentheses for clarity.

| (pipe symbol)

rsvp { # Required for dynamicMPLS onlyIndicates a comment specified on thesame lineas theconfiguration statementto which it applies.

# (pound sign)

community namemembers [community-ids ]

Encloses a variable for which you cansubstitute one or more values.

[ ] (square brackets)

[edit]routing-options {static {route default {nexthop address;retain;

}}

}

Identifies a level in the configurationhierarchy.

Indention and braces ( { } )

Identifies a leaf statement at aconfiguration hierarchy level.

; (semicolon)

GUI Conventions

• In the Logical Interfaces box, selectAll Interfaces.

• To cancel the configuration, clickCancel.

Representsgraphicaluser interface(GUI)items you click or select.

Bold text like this

In the configuration editor hierarchy,select Protocols>Ospf.

Separates levels in a hierarchy of menuselections.

> (bold right angle bracket)

Documentation Feedback

We encourage you to provide feedback so that we can improve our documentation. You

can use either of the following methods:

• Online feedback system—Click TechLibrary Feedback, on the lower right of any page

on the Juniper Networks TechLibrary site, and do one of the following:

ixCopyright © 2019, Juniper Networks, Inc.

About the Documentation

Page 10: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

• Click the thumbs-up icon if the information on the page was helpful to you.

• Click the thumbs-down icon if the information on the page was not helpful to you

or if you have suggestions for improvement, and use the pop-up form to provide

feedback.

• E-mail—Sendyourcommentsto [email protected]. Includethedocument

or topic name, URL or page number, and software version (if applicable).

Requesting Technical Support

Technical product support is available through the JuniperNetworksTechnicalAssistance

Center (JTAC). If you are a customer with an active J-Care or Partner Support Service

support contract, or are covered under warranty, and need post-sales technical support,

you can access our tools and resources online or open a case with JTAC.

• JTAC policies—For a complete understanding of our JTAC procedures and policies,

review the JTAC User Guide located at

https://www.juniper.net/us/en/local/pdf/resource-guides/7100059-en.pdf.

• Product warranties—For product warranty information, visit

https://www.juniper.net/support/warranty/.

• JTAC hours of operation—The JTAC centers have resources available 24 hours a day,

7 days a week, 365 days a year.

Self-Help Online Tools and Resources

For quick and easy problem resolution, Juniper Networks has designed an online

self-service portal called the Customer Support Center (CSC) that provides youwith the

following features:

• Find CSC offerings: https://www.juniper.net/customers/support/

• Search for known bugs: https://prsearch.juniper.net/

• Find product documentation: https://www.juniper.net/documentation/

• Find solutions and answer questions using our Knowledge Base: https://kb.juniper.net/

• Download the latest versions of software and review release notes:

https://www.juniper.net/customers/csc/software/

• Search technical bulletins for relevant hardware and software notifications:

https://kb.juniper.net/InfoCenter/

Copyright © 2019, Juniper Networks, Inc.x

Getting Started Guide for OpenStack

Page 11: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

• Join and participate in the Juniper Networks Community Forum:

https://www.juniper.net/company/communities/

• Create a service request online: https://myjuniper.juniper.net

Toverify serviceentitlementbyproduct serial number, useourSerialNumberEntitlement

(SNE) Tool: https://entitlementsearch.juniper.net/entitlementsearch/

Creating a Service Request with JTAC

You can create a service request with JTAC on theWeb or by telephone.

• Visit https://myjuniper.juniper.net.

• Call 1-888-314-JTAC (1-888-314-5822 toll-free in the USA, Canada, and Mexico).

For international or direct-dial options in countries without toll-free numbers, see

https://support.juniper.net/support/requesting-support/.

xiCopyright © 2019, Juniper Networks, Inc.

About the Documentation

Page 12: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Copyright © 2019, Juniper Networks, Inc.xii

Getting Started Guide for OpenStack

Page 13: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

CHAPTER 1

Virtual Route Reflector Overview

• Understanding Virtual Route Reflector on page 13

• Virtual Route Reflector Hardware Requirements on page 14

• Virtual Route Reflector Software Requirements on page 15

Understanding Virtual Route Reflector

The virtual Route Reflector (vRR) feature allows you to implement route reflector

capabilityusingageneralpurposevirtualmachine thatcanbe runona64-bit Intel-based

blade server or appliance. Because a route reflector works in the control plane, it can run

in a virtualized environment. A virtual route reflector on an Intel-based blade server or

applianceworks the sameas a route reflector on a router, providing a scalable alternative

to full mesh internal BGP peering. The vRR feature has the following benefits:

• Scalability: By implementing the vRR feature, you gain scalability improvements,

depending on the server core hardware on which the feature runs. Also, you can

implement virtual route reflectors at multiple locations in the network, which helps

scale the BGP network with lower cost.

• Faster andmore flexible deployment: You install the vRR feature on an Intel server,

using open source tools, which reduces your router maintenance.

• Space savings: Hardware-based route reflectors require central office space. You can

deploy the vRR feature on any server that is available in the server infrastructure or in

the data centers, which saves space.

Virtual Route Reflector Package Contents

The vRR software packages are available as these types of packages:

• Application package—This package is for launching vRR software in a virtualized

environment for the first time.

• Install package—This package is for upgrading vRR software that is already running

to the next Junos OS release.

Starting with Junos OS Release 15.1, the install package for vRR (jinstall64-vrr-*.*) is

no longer available. Use the install package of Junos OS for MX Series platforms

(junos-install-mx-x86-64-*.tgz or junos-x86-64-*.tgz) to upgrade vRR.

13Copyright © 2019, Juniper Networks, Inc.

Page 14: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

The vRR software images are available in these flavors:

• KVM and OpenStack—TGZ package

• VMware ESXi—OVA package

• Unified—64-bit Junos OS (upgraded FreeBSD kernel)

• Legacy—64-bit Junos OS

Starting with Junos OS Release 15.1, the legacy package (jinstall64-vrr-*.*) is no longer

available.

Virtual Route Reflector Restrictions

The following features are not supported with the vRR feature:

• Graceful Routing Engine Switchover (GRES)

• Nonstop Active Routing (NSR)

• Unified in-service software upgrade (unified ISSU)

vRR is qualified primarily as a route reflectorwithminimal data plane support. For packet

forwarding, MPLS VPN, and CoS feature support, you might consider vMX.

Release History Table DescriptionRelease

Starting with Junos OS Release 15.1, the install package for vRR(jinstall64-vrr-*.*) is no longer available.

15.1

Starting with Junos OS Release 15.1, the legacy package (jinstall64-vrr-*.*)is no longer available.

15.1

Virtual Route Reflector Hardware Requirements

Table 3 on page 14 lists the hardware requirements.

Table 3: Hardware Requirements

ValueDescription

Intel Xeon Nehalem or newer generation processorCPU

8 GB for vRR to run with default settings

32 GB for vRR to achieve higher scale

Memory

Local or NAS

Each vRR instance requires 25G of disk storage

Storage

Copyright © 2019, Juniper Networks, Inc.14

Getting Started Guide for OpenStack

Page 15: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Table 3: Hardware Requirements (continued)

ValueDescription

Hyperthreading (recommended)

Any ESXi HCL supported NIC

Other requirements

Virtual Route Reflector Software Requirements

The following software requirements are for OpenStack.

Host OS: CentOS 7.1

• QEMU-KVM 1.5.3

• libvirt 1.2.8

Host OS: CentOS 7.2

• QEMU-KVM 1.5.3

• libvirt 1.2.17

15Copyright © 2019, Juniper Networks, Inc.

Chapter 1: Virtual Route Reflector Overview

Page 16: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Copyright © 2019, Juniper Networks, Inc.16

Getting Started Guide for OpenStack

Page 17: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

CHAPTER 2

Installing and Configuring Virtual RouteReflector on OpenStack

• Installing the Virtual Route Reflector Image Using OpenStack on page 17

• Configuring Interfaces, Protocols, andRoutesof theVirtualRouteReflectorUsing Junos

CLI on page 27

Installing the Virtual Route Reflector Image Using OpenStack

OpenStack is a free, open-source cloud computing platform that supports creation and

management of virtual Route Reflectors (vRR). OpenStack allows you to:

• Attach a VNIC to a physical NIC

• Display a graphical representation of the virtual machine

• Allocate a specific amount of disk space for the virtual machine

• Take a snapshot of a running virtual machine

• Create a new virtual machine from a snapshot

The physical and virtual machines are connected using OpenvSwitch, which eliminates

the need to configure tunnels and overlays, such asMPLS over GRE andMPLS over UDP.

OpenvSwitchalsoprovidesbetterperformance thanothermethods,because thephysical

NICs are dedicated to specific VNICs.

This topic includes the following tasks:

1. Composing User Authentication Credentials on page 18

2. Registering an Image on page 19

3. Updating the Disk, CD-ROM, and VIF Settings for the Image on page 19

4. Creating a Virtual Hardware Template on page 19

5. Creating Networks and Subnets on page 20

6. Creating a vRR Instance on page 22

7. Creating a Router on page 23

8. Assigning a Floating IP to a vRR Instance on page 25

9. Configuring Security Group Rules on page 26

17Copyright © 2019, Juniper Networks, Inc.

Page 18: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Composing User Authentication Credentials

Appropriate user credentials are required for authentication to succeed for every

OpenStack command. You can compose credentials with either of the following two

methods:

• Exporting User Credentials Once on page 18

• Passing User Credentials Each Time You Use a Command on page 18

Exporting User Credentials Once

To avoid passing user credentials every time you use the OpenStack command line,

export the credentials:

1. Create a keystonerc file with the following contents:

export ADMIN_TOKEN=tokenexport OS_USERNAME=usernameexport OS_TENANT_NAME=tenant-nameexport OS_PASSWORD=passwordexport OS_AUTH_URL=http://ip_address_of_keystone:portNumber/v2.0

where

• token—Authorization token

• username—OpenStack user name

• tenant-name—Tenant name

• password—Password for OpenStack user

• ip_address_of_keystone:portNumber—IP address of the keystone authentication

server and its port number

2. Perform a sourcing of the keystonerc file:

source keystonerc

Passing User Credentials Each Time You Use a Command

Topasscredentialson thecommand lineevery timeyouexecuteanOpenStackcommand:

• Enter the following in the OpenStack command line:

--os-username username --os-password password --os-tenant-name tenant-name--os-auth-url http://ip_address_of_keystone:portNumber /v2.0

where

• username—OpenStack user name

• tenant-name—Tenant name

Copyright © 2019, Juniper Networks, Inc.18

Getting Started Guide for OpenStack

Page 19: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

• password—Password for OpenStack user

• ip_address_of_keystone:portNumber—IP address of the keystone authentication

server and its port number

Registering an Image

Before the vRR image can be used to create a vRR instance, the imagemust be brought

into the glance directory.

To bring the vRR image into the glance directory:

• Enter the following in the OpenStack command line:

stack@host$ glance image-create --name image-name --disk-format=qcow2--container-format= bare --file=image-location

where

• image-name—A name for the image. This name is used later when creating the vRR

instance.

• image-location—The location of the vRR image.

Updating the Disk, CD-ROM, and VIF Settings for the Image

Bydefault,OpenStackusesvirtio fordisk,CDROM,andVIF (NIC)models, but Junos-based

imagesdonot support virtiodrivers. Youmustupdate the image tochange thesesettings.

1. Enter the following in the OpenStack command line:

stack@host$ glance image-update --property hw_disk_bus=ide --propertyhw_cdrom_bus=ide --property hw_vif_model=e1000 image-name

The image-name is the name of the image you used in “Registering an Image” on

page 19.

2. Verify that the image was brought into the glance directory by entering the following

in the OpenStack command line:

stack@host$ glance image-list

The image that you used in “Registering an Image” on page 19 should be in the list of

images that is displayed.

Creating a Virtual Hardware Template

A virtual hardware template in OpenStack is called a flavor. A flavor defines a set of

hardware parameters, and is later applied to the vRR instance.

To create a flavor for a vRR instance:

1. Enter the following in the OpenStack command line:

19Copyright © 2019, Juniper Networks, Inc.

Chapter 2: Installing and Configuring Virtual Route Reflector on OpenStack

Page 20: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

stack@host$ nova flavor-create --is-public true flavor-name 6 16384 10 1

This makes the flavor available to the public, sets the flavor ID to 6, sets the memory

size to 16384 GB, sets the disk size to 10 GB, and sets the number of virtual CPUs to

one.

The flavor-name is the name of the flavor, for example VRR-flavor.

2. Verify that the flavorwascreatedbyentering the following in theOpenStackcommand

line:

stack@host$ nova flavor-list

The flavor that you configured in Step 1 should be in the list of flavors that is displayed.

Creating Networks and Subnets

Create networks and subnets for internal and external communication. The virtual NICs

of the vRR instances can later be attached to the subnets.

1. To create a private network, enter the following in the OpenStack command line:

stack@host$ neutron net-create private-network-name

The private-network-name is the name of the private network.

For example:

stack@host$ neutron net-create private1

2. To create a subnet for a private network, enter the following in the OpenStack

command line:

stack@host$neutronsubnet-create--nameprivate-subnet-nameprivate-network-namesubnet-cidr

where

• private-subnet-name—Name of the subnet

• private-network-name—Name of the private network to which the subnet belongs

• subnet-cidr—CIDR of the subnet

For example:

stack@host$ neutron subnet-create --name private1-subnet1 private1 10.0.0.0/24

3. To create a public network, enter the following in the OpenStack command line:

stack@host$ neutron net-create public-network-name --router:external=True

Copyright © 2019, Juniper Networks, Inc.20

Getting Started Guide for OpenStack

Page 21: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

The public-network-name is the name of the public network.

For example:

stack@host$ neutron net-create public1 --router:external=True

4. Tocreateasubnet forapublicnetwork, enter the following in theOpenStackcommand

line:

stack@host$ neutron subnet-create public-network-name subnet-cidr --namepublic-subnet-name --enable_dhcp=False --allocation-poolstart=start_ip_address,end=end_ip_address --gateway=gateway_ip_address

where

• public-network-name—Name of the public network to which the subnet belongs

• subnet-cidr—CIDR of the subnet

• public-subnet-name—Name of the subnet

• start_ip_address—Lowest IP address in the allocated address range

• end_ip_address—Highest IP address in the allocated address range

• gateway_ip_address—Gateway IP address for the host machine

For example:

stack@host$neutronsubnet-createpublic1 192.168.239.90/25--namepublic1-subnet1--enable_dhcp=False --allocation-pool start=192.168.239.64,end=192.168.239.65--gateway=192.168.239.126

5. Verify that the networks were created by entering the following in the OpenStack

command line:

stack@host$ neutron net-list

The networks that you configured should be in the list that is displayed.

For example:

- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| id | name | subnets - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| 2d934de5-e29c-4fc0-9d00-de83dcfa2b89 | private1 | e9f89ec4-27d5-4d33-b552- a239173bc284 10.0.0.0/24| d1ec3880-9823-4c28-945c-2ec77b809f1a | public1 |c65acb85-239e-4464-add1- a0913dab0f27 192.168.239.0/25- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -

6. Verify that the subnets were created by entering the following in the OpenStack

command line:

21Copyright © 2019, Juniper Networks, Inc.

Chapter 2: Installing and Configuring Virtual Route Reflector on OpenStack

Page 22: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

stack@host$ neutron subnet-list

The subnets that you configured should be in the list that is displayed.

For example:

- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| id |name | cidr | allocation_pools - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| c65acb85-239e-4464- |public1-subnet1 |192.168. | {”start”; “192.168.239.64”, add1-a0913dab0f27 239.0/25 “end”: “192.168.239.65”}| e9f89ec4-27d5- |private1-subnet1|10.0.0.0| {”start”; “10.0.0.2”, rd33-b552- /24 “end”: “192.168.239.65”} a239173bc284- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -

Creating a vRR Instance

An instance is a virtualmachineonwhich the vRR runs. Tocreate the instance, youprovide

the imagename, the flavor, thenetwork ID for thevirtualNIC, andaname for the instance.

To create a vRR instance:

1. Display the ID of the network that youwant to associate with the vRR instance virtual

NIC by entering the following in the OpenStack command line:

stack@host$ neutron net-list

For example:

- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| id | name | subnets - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| 2d934de5-e29c-4fc0-9d00-de83dcfa2b89 | private1 | e9f89ec4-27d5-4d33-b552- a239173bc284 10.0.0.0/24| d1ec3880-9823-4c28-945c-2ec77b809f1a | public1 |c65acb85-239e-4464-add1- a0913dab0f27 192.168.239.0/25- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -

2. Record the ID of the network.

3. Enter the following in the OpenStack command line:

stack@host$ nova boot --image image-name flavor 6 --nic net-id=net-id“instance-name”

where

• image-name—Image name that you used in “Registering an Image” on page 19

• net-id—ID of the network that you want to associate with the vRR instance virtual

NIC

Copyright © 2019, Juniper Networks, Inc.22

Getting Started Guide for OpenStack

Page 23: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

• instance-name—The name for the vRR instance

For example:

stack@host$ nova boot --image VRR-image flavor 6 --nicnet-id=2d934de5-e29c-4fc0-9d00-de83dcfa2b89 “VRR-1”

4. Verify that the vRR instance has been created by entering the following in the

OpenStack command line:

stack@host$ nova list

The instance that you created should be in the list that is displayed.

Creating a Router

An OpenStack router is a logical entity that routes packets among internal subnets,

forwards packets from internal networks to external networks, and accesses the vRR

instances from external networks. Youmust create a router and create an interface on

the router for each subnet with which it communicates.

NOTE: The em0 interface can only function as amanagement interface. Theem0 interface cannot be used for routing configurations.

1. To create a router, enter the following in the OpenStack command line:

stack@host$ neutron router-create router-name

The router-name is the name for the router.

The ID of the router is displayed.

For example:

stack@host$ neutron router-create GWR

Created a new router:- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| Field |Value - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| admin_state_up |True | external_gateway_info| id | b93033e7-e825-40fa-811f-df72d3cd230d| name | GWR | status | ACTIVE| tenant_id | 8d2d7bd590a14d30b4f662dbefdd8e0e - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -

2. Record the ID of the router.

23Copyright © 2019, Juniper Networks, Inc.

Chapter 2: Installing and Configuring Virtual Route Reflector on OpenStack

Page 24: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

3. Display the ID of the subnet with which the router should communicate by entering

the following in the OpenStack command line:

stack@host$ neutron subnet-list

For example:

stack@host$ neutron subnet-list

- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| id |name | cidr | allocation_pools - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| c65acb85-239e-4464- |public1-subnet1 |192.168. | {”start”; “192.168.239.64”, add1-a0913dab0f27 239.0/25 “end”: “192.168.239.65”}| e9f89ec4-27d5- |private1-subnet1|10.0.0.0| {”start”; “10.0.0.2”, rd33-b552- /24 “end”: “192.168.239.65”} a239173bc284- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -

4. Record the ID of the subnet.

5. Createan interfaceon the router for thesubnetwithwhich it communicatesbyentering

the following in the OpenStack command line.

stack@host$ neutron router-interface-add router-id subnet-id

where

• router-id—ID of the router

• subnet-id—ID of the subnet

For example:

stack@host$neutron router-interface-addb93033e7-e825-40fa-811f-df72d3cd230de9f89ec4-27d5-rd33-b552-a239173bc284

6. Display the networks.

stack@host$ neutron net-list

For example:

- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| id | name | subnets - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| 2d934de5-e29c-4fc0-9d00-de83dcfa2b89 | private1 | e9f89ec4-27d5-4d33-b552- a239173bc284 10.0.0.0/24| d1ec3880-9823-4c28-945c-2ec77b809f1a | public1 |c65acb85-239e-4464-add1- a0913dab0f27 192.168.239.0/25- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -

Copyright © 2019, Juniper Networks, Inc.24

Getting Started Guide for OpenStack

Page 25: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

7. Record the ID of the public network that should serve as the gateway for the router.

8. Configure the router asanexternal gatewaybyentering the following in theOpenStack

command line.

stack@host$ neutron router-gateway-set router-id net-id

where

• router-id—ID of the router

• net-id—ID of the public network that serves as the gateway for the router

For example:

stack@host$ neutron router-gateway-set b93033e7-e825-40fa-811f-df72d3cd230dd1ec3880-9823-4c28-945c-2ec77b809f1a

Assigning a Floating IP to a vRR Instance

A floating IP represents an external IP address, and provides access to the vRR instance

from an external network. A floating IP can only be created for a network that has the

router:external attribute.

1. Create a floating IP for the public network by entering the following in the OpenStack

command line.

stack@host$ neutron floatingip-create public-network-name

The public-network-name is the name of the public network.

For example:

stack@host$ neutron floatingip-create public1

Information for the floating IP appears.

For example:

Created a new floatingip:- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| Field |Value - - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -| fixed_ip_address || floating_ip_address | 192.168.239.106| floating_network_id | b4934fe4-4664-4c61-b404-c6a63533e842| id | aaa1fa59-7e20-4331-8d39-63c00aa29781| port_id || router_id | 8d2d7bd590a14d30b4f662dbefdd8e0e | status | DOWN| tenant_id | e4a38502668b427c9875c591b62b76- - - - - - - - - - - - - - – - - - - - - - - - - - - - - - - - - - - - - - -

2. Record the address of the floating IP.

25Copyright © 2019, Juniper Networks, Inc.

Chapter 2: Installing and Configuring Virtual Route Reflector on OpenStack

Page 26: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

3. Assign the floating IP to the vRR instance by entering the following in the OpenStack

command line.

stack@host$ nova add-floating-ip instance-name floating-ip-address

where

• instance-name—Instancenamethat youused in “CreatingavRR Instance”onpage22

• floating-ip-address— IP address you recorded in Step 2

For example:

stack@host$ nova add-floating-ip VRR-1 192.168.239.106

4. Verify that the floating IP has been created by entering the following in theOpenStack

command line:

stack@host$ nova floating-ip-list

The floating IP that you created should be in the list that is displayed.

Configuring Security Group Rules

To allow access to the vRR instance via SSH and ping, youmust create security rules.

1. Create a security rule for TCP traffic and assign it to the default security group by

entering the following in the OpenStack command line.

stack@host$ nova secgroup-add-rule default tcp start-port-range end-port-rangecidr-address-range

where

• start-port-range—Lowest port number in the allowed port range. To allow any port,

use -1 -1 for the port range.

• end-port-range—Highest port number in the allowed port range.

• cidr-address-range—CIDR of the allowed address range.

For example:

stack@host$ nova secgroup-add-rule default tcp 22 22 0.0.0.0/0

2. Create a security rule for ICMP traffic and assign it to the default security group by

entering the following in the OpenStack command line.

stack@host$ nova secgroup-add-rule default icmp start-port-range end-port-rangecidr-address-range

For example:

Copyright © 2019, Juniper Networks, Inc.26

Getting Started Guide for OpenStack

Page 27: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

stack@host$ nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0

RelatedDocumentation

Configuring Interfaces, Protocols, andRoutesof theVirtualRouteReflectorUsing Junos

CLI on page 27

Configuring Interfaces, Protocols, and Routes of the Virtual Route Reflector UsingJunos CLI

1. Using the Junos CLI in the virtual machine console, configure the interfaces that were

connected to the OVS virtual switch-br (for KVM or OpenStack) or the vSwitch (for

VMware). Specify the IP addresses that were assigned to the VNICswhile configuring

OVS (KVM) or vSwitch (VMware).

[edit]user@host# set interfaces interface-name family inet address addressuser@host# set interfaces interface-name family inet6 address address

2. Configure the loopback interface with the IP address for the vRR.

[edit]user@host# set interfaces lo0 unit 0 family inet address addressuser@host# set interfaces lo0 unit 0 family inet6 address address

3. Add a static default route to the gateway address of the management IP address:

[edit]user@host# set routing-options static route 0.0.0.0/0 next-hop address

4. Configure the hostname for the vRR.

[edit system]user@host# set host-name hostname

5. Configure the root password.

[edit system]user@host# set root-authentication plain-text-password

6. Add a user.

[edit system login]user@host# set user user-name

7. Set the user identification (UID).

27Copyright © 2019, Juniper Networks, Inc.

Chapter 2: Installing and Configuring Virtual Route Reflector on OpenStack

Page 28: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

[edit system login user user-name]user@host# set uid uid-value

8. Assign the user to a login class.

[edit system login user user-name]user@host# set class class-name

9. Set the user password.

[edit system login user user-name]user@host# set authentication plain-text-password

10. Enable Telnet and FTP access.

[edit system services]user@host# set ftpuser@host# set telnet

11. Configure the types of system logmessages to send to files and to user terminals.

[edit system syslog]user@host# set user * any emergencyuser@host# set file messages any noticeuser@host# set file messages authorization infouser@host# set file interactive-commands interactive-commands any

12. Configure the vRR to always use 64-bit processing.

[edit system processes]user@host# set routing force-64-bit

13. Configure the router ID and the autonomous system (AS) number.

[edit routing-options]user@host# set router-id addressuser@host# set autonomous-system autonomous-system

14. Configure BGP, including the cluster identifier and the neighbor relationships with all

IBGP-enabled devices in the autonomous system (AS).

[edit protocols bgp group group-name]user@host# set type internaluser@host# set local-address addressuser@host# set cluster cluster-nameuser@host# set neighbor address

Copyright © 2019, Juniper Networks, Inc.28

Getting Started Guide for OpenStack

Page 29: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

15. (External peers only) Specify that the BGP next-hop value not be changed.

[edit protocols bgp group group-namemultihop]user@host# set no-nexthop-change

16. Configure a forwarding-table export policy to prevent the installation of BGP routes

in the forwarding table. A vRR is not expected to be in the forwarding path for BGP

service prefixes.

[edit policy-options]user@host# set policy-statement policy-name term term-name from protocol bgpuser@host# set policy-statement policy-name term term-name then reject

17. Apply the BGP policy to the forwarding table.

[edit routing-options]user@host# set forwarding-table export policy-name

18. Configure other desired protocols for the interfaces.

29Copyright © 2019, Juniper Networks, Inc.

Chapter 2: Installing and Configuring Virtual Route Reflector on OpenStack

Page 30: Virtual Route Reflector Getting Started Guide for OpenStack · Table2:TextandSyntaxConventions(continued) Convention Description Examples • Toconfigureastubarea,includethe stubstatementatthe[editprotocols

Copyright © 2019, Juniper Networks, Inc.30

Getting Started Guide for OpenStack