Juniper vMX Deployment v2 #1591
Quali-Community
started this conversation in
Integrations
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Juniper vMX Deployment v2
Deploys Juniper vMX virtual routers on vSphere and OpenStack (Newton)
Compatible with Quali's unmodified gen1 and gen2 Juniper shells. You must also install one of those.
Requires vMX images from Juniper
The package includes hook_setup and hook_teardown scripts, which must be substituted for the default setup and teardown in any blueprint that contains a vMX request
Represents the request for a vMX virtual router as a shared template resource rather than an app or service, in order to give the user connectable ports for editing connectivity in the portal before the vMX instance is actually deployed. The deployed vMX router is represented by a resource using the standard gen1 or gen2 Juniper shell, as if it were real hardware. In the background the underlying VMs are represented by deployed apps. A virtual L2 device translates connection requests on the vMX resource into calls to the cloud provider of the VMs.
Supports multiple vMX in the same reservation, point-to-point connections and explicit VLANs.
See README.md on the GitHub repository for detailed instructions and implementation details.
Repository
README.md
Name
Juniper-vMX
Owner
QualiSystemsLab
Type
1st Gen Shell
Category
Networking
Min. Compatible CloudShell Version
8.1
Juniper-vMX
Automatic deployment of the multi-VM Juniper virtual MX (vMX) router on vSphere and OpenStack
A request to deploy a vMX router is modeled as a template resource added to the blueprint,
instead of an app or service. This is so the user can interactively connect vMX ports to other components
before the vMX has actually been deployed, eliminating the need to manually type values for connector attributes.
The vMX is represented to the user as an autoloaded resource that should be indistinguishable from a
hardware MX router. Juniper gen1 and gen2 shells are both supported. Other resources created during the
deployment are admin-only and hidden from the end user. The vMX resource is connected to the underlying VMs
with a virtual L2 resource explained below.
Point-to-point and VLAN service connections are fully supported.
vMX VM images from Juniper are deployed using
VSphere Deploy from Linked Clone
andOpenStack Deploy From Glance Image
from standard cloud providers.Tested with vMX release 17.1R1.8
Uses general-purpose setup and teardown hooks: https://github.com/ericrqs/Setup-Teardown-Hooks
Protects against conflicting updates to the reservation using this mutex mechanism: https://github.com/ericrqs/Reservation-Mutex-Lock
Blueprint with two back-to-back vMX requests:
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/two-vmx-blueprint.png)
Two deployed vMX connected back-to-back, non-admin user view:
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/two-vmx-deployed-nonadmin.png)
Two deployed vMX connected back-to-back, admin view with admin-only items visible:
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/two-vmx-deployed-admin.png)
vMX Basics
A vMX is a set of VMs that behaves the same as an MX router. It can be autoloaded by Quali gen1 and gen2 Juniper shells.
Both kinds of shell are supported in the vMX deployment.
A vMX consists of one controller VM, which presents the same interface as the MX, and one or more
card VMs linked to the controller. A NIC on a card will show up as an interface like ge-0/0/0 on
the controller in the JunOS CLI. The controller and its cards are linked via an isolated network unique
to the vMX instance.
In CloudShell, the vMX VMs are hidden admin-only resources, and the vMX is represented by a resource
with the Juniper shell model. The translation from the familiar Juniper MX resource interface to underlying VMs takes place
in the background.
The following are synonyms:
Controller, VCP (virtual control plane), RE (routing engine)
Card, VFP (virtual forwarding plane), PFE (packet forwarding engine)
A vMX controller communicates with its cards over a dedicated network connected to the second NIC on all VMs.
On its second NIC, the controller has a hard-coded IP of
128.0.0.1
, andcards set their IP to
128.0.0.16
for card 0,128.0.0.17
for card 1, etc.The vMX automatically sets itself up by sending discovery messages between VMs over the
128.0.0.0
network.vMX is released by Juniper as a set of disk image files, deployment scripts, and OpenStack Heat templates.
The scripts and Heat templates are not used in the Quali deployment.
Note: On OpenStack vMX may only officially support one card.
User workflow
Drag a vMX template resource into a blueprint
Draw connectors to other elements in the blueprint
Ensure that Default Setup and Default Teardown have been replaced by hook_setup and hook_teardown
in blueprint properties.
Reserve a new sandbox
The vMX will be deployed during Setup
The vMX will appear indistinguishable from any other Juniper MX router resource.
The vMX template resource and its ports are completely shared across reservations, but to add multiple vMX to the same
blueprint, you need to create multiple template resources.
At any time after deployment, you can add more connectors going to the deployed vMX. Run
Connect
manually on each connector, or just run Setup again, and and it should connect all unconnected connectors.
Note: On OpenStack, if you run
Connect
manually on connectors, you must do so in ascending order by vMX interface address.Use in an existing sandbox
You can add a vMX template resource to an existing sandbox and connect it to other components there.
You can make connections before or after deploying:
To deploy the vMX, run the function
Deploy vMX
(internal namevmx_orch_hook_during_provisioning
) on the vMX template resource.The vMX will be automatically deleted by Teardown if hook_teardown is attached to the blueprint. If the blueprint still has
the default Teardown, you will need to manually delete the vMX and the associated virtual L2 resources from the inventory after
the sandbox has ended.
vMX package installation
General
Drag vMX_Package.zip into the portal.
Import the gen1 or gen2 shell for Juniper JunOS routers published on the community: /QualiSystems/CloudShell-Community/discussions/categories/forums
vMX_Package.zip includes the hook setup and teardown scripts: https://github.com/ericrqs/Setup-Teardown-Hooks
On any blueprint that needs to deploy a vMX, be sure to attach
hook_setup
andhook_teardown
scripts to the sandboxand remove
Default Setup
andDefault Teardown
. It is recommended to sethook_setup
andhook_teardown
as the systemwidedefault Setup and Teardown scripts.
Create a vCenter or OpenStack cloud provider.
Create at least one vMX template resource. Add multiple port subresources with resource names like:
The first number in the port name is the card number, the middle number is always 0, and the last number is the port number.
Note that
/
in the JunOS port namege-0/0/0
is replacedwith
-
in all CloudShell resource names.Create enough port subresources to cover all your scenarios. The number of port subresources on the template does not directly control the number of ports in the actual deployment,
only how many port connections are presented in the GUI. The number of ports
on the deployed cards is determined by the number of vNICs on the card template (vSphere) or the number of
connections made in the GUI (OpenStack).
Note that on vSphere, the vNICs must also be added statically to the card prototype VM in vSphere ahead of time.
The first 3 NICs are reserved, so make sure the card template VM has 4 to 13 vNICs in order to
support 1-10 traffic interfaces. vMX has a limit of about 10 traffic interfaces per card.
There may be issues with interfaces beyond the 7th vNIC.
Set attribute
VLAN Type
on the vMX template resource:Set the attributes on the vMX template resource to select the Juniper shell you installed:
Deployed Resource Family
: RouterDeployed Resource Model
: Juniper JunOS RouterDeployed Resource Driver
: Generic Juniper JunOS Driver Version3Deployed Resource Family
: CS_RouterDeployed Resource Model
: Juniper JunOS Router 2GDeployed Resource Driver
: Juniper JunOS Router 2GSet other attributes that will be copied to the attributes of the vMX end product.
You must set certain attributes in order for the vMX to autoload properly:
SNMP Version
: v2cSNMP Community String
: publicEnable SNMP
: must be TrueUser
: user to createPassword
: password to setEnable Password
: must be same asPassword
Backup Password
: must be same asPassword
Only
Password
will be used. It will be set as the password for the specified user and also for userroot
.Enable Password
should be identical toPassword
. It may be possible to change the handling of these passwordsin the code (including adding attributes like
Root Password
). But when changing it,make sure the JunOS shell autoload still works. It may log in with
User
/Password
, enable SNMP,and perform the autoload over SNMP.
vSphere-specific
Critical setting: Wait for IP
In Resource Manager, Resource Families, Deployment Options family,
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/wait-for-ip-user-input.png)
VCenter Deploy VM From Linked Clone, change
Wait for IP
to be a user input, orchange the default to False (box unchecked). On all vMX-related apps,
Wait for IP
must be false.Critical setting: ESXi serial console
In the vSphere client, for each potential ESXi host where the controller VM could get
deployed, go to:
Enable "VM serial port connected over network" (not to be confused with "VM serial port
connected to vSPC").
For greater security, you can click the Firewall button while standing on
"VM serial port connected over network" and enable the access only for the IP of the execution server.
Controller
Import the vCP OVA template from Juniper. After importing the OVA, ensure that the VM is set to have
at least 2048MB of memory. By default it receives so little memory that it can't boot.
Connect "Network adapter 1" to your management network.
Power on the controller VM. Note that it may freeze for many minutes, sending output only
to its serial console. Eventually it should many print FreeBSD boot messages and reach a
login:
promptin the vSphere console.
Log in as
root
with no password and runhalt
. Wait a short time for the system to shut down. Power off the VM.Take a snapshot of the VM. Be sure to take the snapshot only after making all VM hardware settings, and after booting at least once.
If you take a series of snapshots, be sure to note the full snapshot path from
the tree under "Manage Snapshots", e.g.
ss1/ss2/ss3
.Create an app in CloudShell for the controller.
Be sure to set
Wait for IP
to False. If it is not visible, make the setting a user input in Resource Manager.Cards
Import the VFP OVA.
Ensure that the VFP VM has at least 4096MB of RAM. Otherwise it will fail to handshake with the VCP.
Take a snapshot of the card VM immediately with a name like
ss
.For every card you want to deploy, including card 0, you must set the card id on the VM
and take a snapshot. The factory image may start with card id 3, which will crash the deployment automation.
For each card including 0:
Revert the VM to the first snapshot
ss
Boot the VM
Log in as
root
/root
Write the desired card id to a file called
/var/jnx/card/local/slot
. For example, for card 0:Log in again as
root
/root
Run
ifconfig
to ensure that the card id file has influenced the IP on the Linux ethernet interface namedint
.For card 0 it should display
128.0.0.16
, for card 1128.0.0.17
, etc.Shut down the VM OS:
halt
Power off the VM
Take a snapshot with the card id in the name, e.g.
card0
If you discover you omitted something from a snapshot, just go to the snapshot, correct the settings,
and take another snapshot, keeping track of the full snapshot path.
For example, in the environment where the screenshots were taken, the working snapshots have names like
ss1/ss2/preip/slot0/cleanslot0
.For each card snapshot, create a separate CloudShell app.
Use a naming convention for the apps. You will need to specify the app name
in the attribute
Module App
on the vMX template resource, with%d
representing the card number. For example, if you name the card appsvsphere-vfp0
andvsphere-vfp1
, on the vMX template resource setModule App
tovsphere-vfp%d
.Example: Creating the app vsphere-vfp0 for card 0:
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/vsphere-vfp0-1.png)
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/vsphere-vfp0-2.png)
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/vsphere-vfp0-3.png)
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/vsphere-vfp0-4.png)
Difference in snapshot name for app vsphere-vfp1 for card 1:
![](/QualiSystemsLab/Juniper-vMX/raw/master/screenshots/vsphere-vfp1-2.png)
Admin-only VLAN service
By default, the deployment on vSphere will automatically add an ordinary
VLAN Auto
service to the sandbox for the internal network. This will be visible to non-admin users.If you want to hide this VLAN service from the user in the sandbox,
create an admin-only VLAN service for use by the vMX deployment:
Virtual Network Admin Only
,VLAN Auto Admin Only
)Internal Network Service
to the new admin-only VLAN service nameOpenStack-specific
OpenStack system configuration
Tested configuration:
Notes
Note: vMX is very sensitive to OpenStack network settings. If the
128.0.0.0
network is not working,the VCP will not detect the VFP and will not show interfaces like
ge-0/0/0
. Even whenge-0/0/0
appears,actual traffic may not be able to pass through the VFP interface, so for example the vMX can't ping over the
ge-0/0/0
interface.After a lot of trial and error, we found the following combination of settings that works under OpenStack Newton.
This is needed even if deploying manually with the official Juniper Heat scripts. We would appreciate any further insight or guidance.
ml2_conf.ini
firewall_driver = None
enable_security_group = True
openvswitch_agent.ini
firewall_driver = openvswitch
enable_security_group = True
port_security
plugin in order to be able to disable port security on the128.0.0.0
network ports (programmatically)128.0.0.0
network and ports, we:128.0.0.0
network is 1500 or greater. The bytes stolen by VXLAN encapsulation are enough to break the communication between VCP and VFP,and we don't know how to reconfigure the OS on either VM to reduce the MTU. In the example below, we made the MTU 9000 systemwide, but it might be possible to increase it only
for the
128.0.0.0
networks.Reference OpenStack installation steps
Make sure that the machine has a static IP. DHCP may cause problems and has not been tested.
The machine starts with a static IP on enp3s0f0.
Packstack will create an OpenvSwitch bridge
br-ex
, move ethernet interfaceenp3s0f0
under it,and move the static IP onto
br-ex
.br-ex
will be used for the flat network, namedextnet
within OpenStack.It will also create an OVS bridge
br-vlan
and moveenp4s0f0
under it. This will be used for the OpenStack VLAN network namedphysnet1
.enp4s0f0
is cabled to a trunked port on a physical switch.We enable flat, VLAN, and VXLAN networkng.
Set the MTU to a value greater than 1500. This is because the vMX
128.0.0.0
network fails silently when the MTU is reduced below 1500 by a VXLAN network.It might be possible to increase the MTU in a more limited scope.
Configure MTU and VLANs range. Enable specific security group and firewall settings critical for vMX communication to work.
physnet1
is the name you have chosen above. 48:60 is the range of VLANs on the physical networkyou have reserved for OpenStack.
More critical firewall and security group settings:
Enable serial console:
where
192.168.137.201
represents the main static IP of the machine.Install the serial console plugin:
The serial console is needed by the Quali automation. Note that enabling the serial console will disable the
console log data that normally appears in the OpenStack GUI.
Restart relevant services:
You can also reboot instead.
Create OpenStack networks:
In the OpenStack GUI, create a router with
public
as the external network. Add a router port on themgmt
network.Change the default security group to allow all ingress and egress traffic for ICMP, TCP, and UDP. This may be totally unnecessary,
or you might find a way to allow less traffic where the vMX still works.
vMX setup
Install a Cirros image to test the infrastructure:
Import the Juniper VCP and VFP images:
Create VCP and VFP flavors:
Deploy the VCP and VFP from the CLI to make sure the system is working:
Follow the boot messages in the interactive console of the VCP in the OpenStack Horizon web GUI.
Wait about 10 minutes. For much of this time, there will be nothing on the console because the first VCP
boot prints only to the serial console. For some of this time there will be a solid bright white cursor in the corner.
Eventually it should start to print bright white text and FreeBSD boot messages.
Note that there will be no data in the Log tab because the serial console plugin is enabled.
At the VCP
login:
prompt, log in asroot
with no password.Run
cli
to get the JunOS CLI.If the vMX is working correctly, you should see interfaces like
ge-0/0/0
. They may take several minutes to show up.You can also perform a further network test:
Set an IP on
ge-0/0/0
:login: root
cli
configure
set interfaces ge-0/0/0 unit 0 family inet address 53.0.0.123/24
commit
exit
Note: Change the IP
53.0.0.123
to match the value that OpenStack assigned to the VFP VM on thee
network, or traffic will be blockedCreate two Cirros VMs on network
e
Log in to the Cirros machines and ensure that they received IPs
Ensure one Cirros VM can ping the other
Try to ping between a Cirros VM and the vMX
This network test can fail in a number of ways, in ascending order of severity:
ge-0/0/0.0
interfacege-0/0/0
doesn't appear on the VCPpfe-/0/0/0
doesen't appear on the VCProot
/root
) you can't ping the VCP at128.0.0.1
Causes of failure include:
But there can also be other causes.
Once you have determined that a vMX deployed from the command line is
fully working on your system:
Log in to the console of the VCP (root, no password) and do
halt
.Power off the VCP VM.
Take a snapshot of the powered-off VCP called
vcpss
. This snapshot is the image that will be used by Quali todeploy the VCP. (The VFP will be deployed from the original VFP image.)
Clean up the networks and VMs:
n=81
net128name="n128_$n"
net128subnetname="${net128name}-subnet"
vcpname="vcp$n"
vfpname16="vfp16-$n"
port1name="vmx128-${n}-1"
port16name="vmx128-${n}-16"
nova delete $vcpname
nova delete ${vcpname}-orig
nova delete $vfpname16
neutron port-delete $port1name
neutron port-delete $port16name
neutron net-delete $net128id
Print out certain useful object ids that must be entered into CloudShell:
You will need to provide CloudShell with the password for
admin
(or another privileged user you created), thenetwork id of the network you want to use for management, the public flat subnet id you want
to use for floating IPs, and the VCP and VFP image ids.
Example output:
Set all CloudShell VLAN service allocation ranges (VLAN Auto, P2P) to match the VLANs you set in OpenStack, e.g. 48..60.
Configure an OpenStack cloud provider
Create an OpenStack cloud provider resource based on this information:
If you have a project name other than
admin
, set it there. You can leaveOpenStack Reserved Networks
blank.Vlan Type
can be eitherVLAN
orVXLAN
depending on what you want to connect the vMX to. If you have a trunkfrom the OpenStack server to a physical network, use
VLAN
. Note: When you create the vMX template resource,its
Vlan Type
attribute must match this.Create apps
VCP
Image ID
is the id of the snapshot imagevcpss
created earlier.All others can be left blank, including the
Floating IP Subnet ID
if you want to use the default for the cloud provider.VFP
If you get these values from the OpenStack web GUI, always be sure you have the right id.
CloudShell asks for network in some places and subnet in others.
In general, don't trust a UUID from the URL bar — instead look in the body of the details page.
Notes and warnings
vSphere duplicate serial port
This can occur in two ways:
When a vMX is running with the serial console exposed on a port like 9300, and another vMX deployment tries to use
the same port 9300, the deployment process will end up connecting to the existing vMX and wait forever for
the initial startup messages being emitted by the new vMX.
In a special situation, you can edit the drivers on each CloudShell to use distinct ranges (e.g. 9310-9330), or edit the
driver to take the range from an attribute on the vMX template resource.
If multiple CloudShells create two vMX that both allocate the same VLAN (e.g. 2) for the management network, the second vMX
controller will fail to discover its cards.
Easily missed settings
hook_setup / hook_teardown
On every blueprint where you want the vMX to deploy, be sure to remove the default Setup and Teardown and attach
hook_setup
andhook_teardown
.Consider making these the systemwide defaults.
Wait for IPs
= FalseWait for IPs
must be set to False on the VCP app. This attribute is easy to miss because it's not a user setting by default.Import the JunOS shell
The vMX depends on the standard JunOS. It is not included in the vMX package.
Download either the gen1 or gen2 Juniper router shell here:
/QualiSystems/CloudShell-Community/discussions/categories/forums
Cloud provider settings
Use an ordinary app like a lightweight Linux to confirm the cloud provider settings are correct, before attempting the vMX.
Implementation details
The vMX template resource has port subresources with names like
ge-0-0-0
.The port family has
Locked by Default
= Falseso the same template resource and all ports can be used in multiple
simultaneous reservations.
To use multiple vMX instances in the same reservation,
create more vMX template resources via copy-paste in Resource Manager.
The vMX template resource has a hook function
vmx_orch_hook_during_provisioning
that will be called by thehook_setup
setup scriptin parallel to standard app deployments. This function itself adds and deploys apps in the reservation, on its own schedule.
Setup
hook_setup
callsvmx_orch_hook_during_provisioning
onvMX VNF Deployment Resource Driver
which is attached to each VMX template resource in the reservation.
It performs the following series of tasks automatically:
DeployAppToCloudProviderBulk
, producing deployed resources with modelsvMX VCP
andvMX VFP
Internal Network Service
attribute) and connect it to NIC #2 of the vCP and each vFPfxp0.0
, and return the finalfxp0.0
IPNetwork adapter 3
) to MAC address128.0.0.0/24
with fixed-IP ports:128.0.0.1
for the vCP and128.0.0.16
,128.0.0.17
, ... for the vFP(s)128.0.0.0/24
networkfxp0.0
ifconfig
and wait until all expected interface names appear, such asge-0-0-0
. The first number in the interface name indicates the card number. If 3 vFPs were requested, wait until interfaces with names likege-0-x-x
,ge-1-x-x
, andge-2-x-x
all appear. This will indicate that the handshake between the vCP and each vFP has taken place. Record the MAC addresses of allge-x-x-x
interfaces of the vCP. These will be MAC addresses on vFP VMs.fxp0.0
IP determined earlier (static or DHCP)User
,Password
,Enable Password
,SNMP Version
(v2c recommended),SNMP Community String
(e.g. public), andEnable SNMP
(must be true)VM Name
with the resource name of the corresponding card VMVM Port vNIC Name
3
forNetwork adapter 3
) that has the MAC that matches the autoloaded vMX port3
forge-0-0-3
VNF Cleanup Service
with the attached hook scriptvnf_cleanup_orch_hook_post_teardown
:Teardown
deleted by the cloud provider
vnf_cleanup_orch_hook_post_teardown
on eachVNF Cleanup Service
deletes the virtual L2, theautoloaded vMX resource, and OpenStack networking objects
Virtual L2 operation
Connectors to ports on a vMX resource are translated into cloud provider calls
that reconfigure the underlying VMs.
Structure
Resources like the following examples will exist after deploying from a vMX template resource that requested 2 cards:
In vCenter:
vMX vSphere 1_4253_vfp0_0733d592
Network adapter 4 has MAC00:50:56:be:50:cb
vMX vSphere 1_4253_vfp0_0733d592
Network adapter 7 has MAC00:50:56:be:64:ad
vMX vSphere 1_4253_vfp1_12345678
Network adapter 3 has MAC00:50:56:be:64:45
vMX vSphere 1_4253_vfp1_12345678
Network adapter 6 has MAC00:50:56:be:50:23
vMX vSphere 1_4253 (Router/Juniper JunOS Router or CS_Router/Juniper JunOS Router 2G) (autoloaded)
vMX vSphere 1_4253_vcp_8998ee87 (VNF Card/vMX VCP)
vMX vSphere 1_4253_vfp0_0733d592 (VNF Card/vMX VFP)
vMX vSphere 1_4253_vfp1_12345678 (VNF Card/vMX VFP)
vMX vSphere 1_4253 L2 (Switch/VNF Connectivity Manager Virtual L2)
These physical connections will be set between the virtual L2 and the main vMX resource:
After deployment, connectors will have been moved from ports on the vMX template resource such
as
to ports on the vMX resource such as
ApplyConnectivityChanges on the virtual L2
Because a vMX resource port like
has a physical connection
the virtual L2 switch driver will receive connect and disconnect requests when visual connectors
going to the vMX resource are connected or disconnected.
The virtual L2 driver determines the related card VM, finds the cloud provider of that VM, and
calls ApplyConnectivityChanges on the cloud provider using ExecuteCommand().
Suppose the user ran Connect on a visual connector going to this port:
The system would call ApplyConnectivityChanges with a connection request involving
this port on the virtual L2:
Each connection request contains many details like a VLAN assignment. The connection requests are
kept mostly as-is, but certain information is overwritten or added.
Attributes of the port resource on the virtual L2:
VM UUID for both vSphere and OpenStack:
The virtual L2 driver updates the connection request JSON:
and calls the cloud provider:
A connectivity request with multiple actions is split into a series of connection requests with a single action each.
They are sent to the cloud provider in ascending order by Vnic Name. This is because the OpenStack cloud provider
currently determines the NIC not from Vnic Name but from the order requests are sent.
The JSON output of the cloud provider ApplyConnectivityChanges calls is accumulated and bundled as the
output of the virtual L2 ApplyConnectivityChanges. This is critical in order for the system to set attributes
on the connector that are needed when disconnecting.
On OpenStack, before the connection request is sent, the card VM is powered off by calling the
cloud provider and powered on again afterward. This is necessary to refresh the VM in OpenStack itself,
the vMX software, or both.
Note these limitations under OpenStack:
first card must use ge-0-0-0 and ge-0-0-1 instead of arbitrary ports like ge-0-0-3 and ge-0-0-6.
and try to reconnect ge-0-0-0, but the system would pick something like ge-0-0-5, one greater than the highest
interface previously added on that VM.
The only safe way to disconnect some connection and later connect some connection is to run Disconnect on all
connectors for that card and then reconnect all of them, either manually doing Connect on each one in
ascending order (ge-0-0-0 first) or making a bulk call ConnectRoutesInReservation that will send them all to
the virtual L2 as a batch without gaps at the bottom.
multiple calls to ConnectRoutesInReservation and not all connectors for a single vMX were sent in the
same ApplyConnectivityChanges batch
call to ApplyConnectivityChanges per L2 provider
* Please allow 30-60 seconds for manual update changes to take effect.
Eric Rosenquist 10/30/2017 08:06 PM
· 2161 ·
Beta Was this translation helpful? Give feedback.
All reactions