Last updated on: January 19 2023.

F5OS-A 1.0.0 - System Resource Provisioning

Feature Overview

The rSeries platform is an all-in-one appliance running F5OS-A, similar to F5OS-C on VELOS but without the controllers and partitions. The system has resources, in terms of CPU, memory and interfaces. Some of those resources are used for F5OS itself, and the rest by the tenants in this release of F5OS. In this page you can find how many resources are available for tenants, and how you can deploy a tenant using those resources.

Feature deeper overview

When configuring F5OS-A rSeries appliance system, all of the resources are assigned to a single partition.

The administrator is responsible for configuring tenant deployments within the appliance. Once a tenant has been deployed, there is a per-tenant administrator role, whose responsibilities include configuring the services that are available on that tenant.

Tenants inherit certain capabilities, such as the license and VLANs, from the appliance. Do not try to install a new license or delete the existing license on the tenants.

When configuring VLANs, if you add VLANs at the tenant level, they won’t be configured in the appliance level, and for this reason they may not carry traffic.

When looking at resources you have the following to assign to your tenants:

  • Memory

  • vCPUs

  • Network ( interfaces and VLANs )

  • Storage

Let’s look at them one by one:

Model Memory vCPUs Network Storage*
r5x00 128 GB 1 x 16-Core Intel® Xeon® processor (total 32 hyperthreaded logical processing cores) 8 x 25GbE SFP28 ports
2 x 100GbE QSFP28 ports
1 x 1GbE management port
1 x 960 GB M.2 solid-state drive (SSD)
r10x00 256 GB 1 x 24-Core Intel® Xeon® processor (total 48 hyperthreaded logical processing cores) 16 x 25GbE SFP28 ports
4 x 40GbE QSFP28 ports
1 x 1GbE management port
2 x 1 TB U.2 solid-state drives (SSDs)
RAID 1 Mirror

*Note: As the aggregate disk usage within deployed tenants increases, the host disk can start to reach capacity on systems
with many large tenants. The administrator will need to monitor disk usage to make sure there is sufficient space for the tenants.

Tenants Overview

Currently we support only “BIG-IP” type tenants.A tenant is a guest system running software on the appliance(for example, a Classic BIG-IP system). You can run several tenants in the same appliance, by assigning them resources from the appliance.

The maximum number of lightweight tenants that can be created in an appliance is depends on the model and resources available on that model. Each lightweight tenant requires a minimum of one vCPU or 4096 MB minimum memory.

Bear in mind that suchlightweight tenant, in the BIG-IP case, has limitations, so you can’t provision multiple modules. If you need faster throughput and more storage for tenants, you might want to create fewer tenants and allocate more vCPUs (at least two) and memory to them.

In summary, for tenants you are required to assign at least 1 vCPU and a minimum of 4GB. However it is recommended to use at least 2 vCPU.

When provisioning your tenant, you can either select the amount of vCPU to use, and the system will calculate the minimum memory required, or you can select the vCPU and the memory yourself.The suggested formula to calculate the minimummemory per tenant is :

Formula Minimum Memory

min-memory = (3.5 *1024* vCPU-cores-per-node) + 512

Examples

The minimum memory assignment for 1 vCPU is:
4GB = (3.5 *1024* 1) + 512
The minimum memory assignment for 2 vCPU is:
7680 MB = (3.5 *1024* 2)+ 512
The minimum memory assignment for 4 vCPU is:
15360 MB = (3.5 *1024* 4) + 512

Tenant images available

When creating a tenant, you need to deploy from an image. There are multiple image variations, for example the “T1” variant is like the “1SLOT” image for BigIP virtual-edition. Refer to the table for the mapping of each use case to the correct image to be used:

Image Use Case Provision Upgrade
T1 Maximum tenant density, maximum tenants per appliance Lightweight LTM or GTM only (also called micro-instance) No upgrade or hotfix application available
T2 Maximum upgradeable tenant density, maximum upgradeable tenants per appliance LTM or GTM only Live-upgradeable
ALL Multi-tenancy, multi-module, and service chaining Provisioning all modules (also called the all-module instance) Live-upgradeable
T4 Single tenant with multiple modules All modules with increased capacity Live-upgradeable

Looking at the memory usage, the vCPU to use, and the images available, the tenants sizing recommendation is as follows:

Tenants Sizing Recommendation for rSeries

Tenant Image Disk Size Minimum Memory Minimum # vCPU Max tenants r5900 Max tenants r10900
T1 22 GB 4 GB 1 26 36
T2 45 GB 8 GB 2 13 18
ALL 76 GB 8 GB 2 11 11
T4 142 GB 8 GB 2 6 6

The steps needed to deploy a tenant are as follows:

image

*Tenant naming: Tenant names must start with a lower case letter or deployment will fail.

GUI Screen Shots

The main dashboard shows information about CPU, memory, and storage availability:

image

Here is the page for the port groups configuration. From the drop-down menu, you can configure each port to one of the following configurations: 100GbE, 40 GbE, 4 x 25 GbE and 4 x 10GbE

image

*Note: Changing the mode for a port group reboots the system, removes stale interfaces from your configuration, and removes any references to stale interfaces from your configuration. You will then need to reconfigure any previously-configured protocols to use the modified port group.

image

*Note: Port Mode for ports 1 and 2; 11 and 12 must match. For example, if port 1 is set to 100GbE and port 2 is set to 40 GbE, the changes can not be saved.

image

By default, no link aggregation ( LAG ) is configured. In case you want to aggregate multiple physical interfaces, you can “add” a LAG. Shown below is a screenshot of the GUI page that allows you to aggregate interfaces.

image

Here is the VLAN page. You can create as many VLANs as you need. The interface column will tell you if any of those VLANs are assigned to any physical interface(s).

image

The interfaces page shows the interfaces available, and whether any VLAN is configured:

image

If you want to assign a VLAN to an interface, you need to go to the page that edits that interface, and add the VLANs there as needed.

image

The tenant page will allow you to deploy new tenants, as shown below:

image

CLI commands

Everything that is available on the GUI is also availableat CLI level. You can see the running-config details below for port groups, LAG, VLANs, Interfaces and Tenants. As the admin user, you can configure these as indicated below.

Port groups configuration:
vanquish-01# show running-config portgroups`
portgroups portgroup 1
config name 1
config mode MODE_100GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 2
config name 2
config mode MODE_100GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 3
config name 3
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 4
config name 4
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 5
config name 5
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 6
config name 6
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 7
config name 7
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 8
config name 8
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 9
config name 9
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 10
config name 10
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 11
config name 11
config mode MODE_100GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 12
config name 12
config mode MODE_100GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 13
config name 13
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 14
config name 14
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 15
config name 15
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 16
config name 16
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 17
config name 17
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 18
config name 18
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 19
config name 19
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!
portgroups portgroup 20
config name 20
config mode MODE_25GB
config ddm ddm-poll-frequency 30
!

*Note: Changing the mode for a port group reboots the system, removes stale interfaces from your configuration, and removes any references to stale interfaces from your configuration. You will then need to reconfigure any previously-configured protocols to use the modified port group.

vanquish-01# config
vanquish-01(config)# portgroups portgroup 3 config mode MODE_10GB
vanquish-01(config-portgroup-3)# commit
The following warnings were generated:
'portgroups portgroup': Portgroup mode changes result in a reboot of the box.
Proceed? [yes,no]

*Note: Adjacent QSFP Port Modes MUST match, such as port mode for ports 1 and 2 or 11 and 12. For example, if port 1 is set to 100GbE and port 2 is set to 40 GbE, the changes can not be saved.

vanquish-01# config
Entering configuration mode terminal
vanquish-01(config)# portgroups portgroup 1 configmode MODE_40GB
vanquish-01(config-portgroup-1)# commit
Aborted: 'portgroups portgroup': Homogeneous portgroup mode is required for adjacent QSFP ports. The following portgroups: 2 1 do not follow the constraint.
vanquish-01(config-portgroup-1)# exit
vanquish-01(config)# portgroups portgroup 11 config mode MODE_40GB
vanquish-01(config-portgroup-11)# commit
Aborted: 'portgroups portgroup': Homogeneous portgroup mode is required for adjacent QSFP ports. The following portgroups: 2 1 12 11 do not follow the constraint.
LAG configuration:

Configuration Resources

vanquish-01# show running-config interfaces interface testLAG
interfaces interface testLAG
config name testLAG
config type ieee8023adLag
aggregation config lag-type LACP
aggregation config distribution-hash src-dst-ipport
!
vanquish-01# show running-config interfaces interface aggregation
interfaces interface testLAG
aggregation config lag-type LACP
aggregation config distribution-hash src-dst-ipport
!
vanquish-01# show running-config interfaces interface 4.0
interfaces interface 4.0
config name 4.0
config type ethernetCsmacd
config enabled
ethernet config aggregate-id testLAG
!
vanquish-01# show running-config interfaces interface 5.0
interfaces interface 5.0
config name 5.0
config type ethernetCsmacd
config enabled
ethernet config aggregate-id testLAG
!
VLAN configuration:

VLANs per tenant

vanquish-01# show running-config tenants tenant test-tenant config vlans
tenants tenant test-tenant
config vlans [ 2030 2040 ]
!
vanquish-01#

VLANs configuration

vanquish-01# show running-config vlans
vlans vlan 2030
config vlan-id 2030
config name vlan-internal
!
vlans vlan 2040
config vlan-id 2040
config name vlan-external
!
vlans vlan 2050
config vlan-id 2050
config name server
!
vanquish-01# show running-config vlan-listeners
vlan-listeners vlan-listener 0.host 2030
config entry-type VLAN-LISTENER
config owner test-tenant
config ifh-fields ndi-id 4095
config ifh-fields svc 8
config ifh-fields sep 15
config ifh-fields mirroring disabled
!
vlan-listeners vlan-listener 0.host 2040
config entry-type VLAN-LISTENER
config owner test-tenant
config ifh-fields ndi-id 4095
config ifh-fields svc 8
config ifh-fields sep 15
config ifh-fields mirroring disabled
!
Interfaces:

Configuration Interfaces

vanquish-01# show running-config interfaces
interfaces interface 1.0
config name 1.0
config type ethernetCsmacd
config enabled
!
interfaces interface 2.0
config name 2.0
config type ethernetCsmacd
config enabled
!
interfaces interface 3.0
config name 3.0
config type ethernetCsmacd
config enabled
!
interfaces interface 4.0
config name 4.0
config type ethernetCsmacd
config enabled
!
interfaces interface 5.0
config name 5.0
config type ethernetCsmacd
config enabled
!
interfaces interface 6.0
config name 6.0
config type ethernetCsmacd
config enabled
!
interfaces interface 7.0
config name 7.0
config type ethernetCsmacd
config enabled
!
interfaces interface 8.0
config name 8.0
config type ethernetCsmacd
config enabled
!
interfaces interface 9.0
config name 9.0
config type ethernetCsmacd
config enabled
!
interfaces interface 10.0
config name 10.0
config type ethernetCsmacd
config enabled
!
interfaces interface 11.0
config name 11.0
config type ethernetCsmacd
config enabled
!
interfaces interface 12.0
config name 12.0
config type ethernetCsmacd
config enabled
!
interfaces interface 13.0
config name 13.0
config type ethernetCsmacd
config enabled
!
interfaces interface 14.0
config name 14.0
config type ethernetCsmacd
config enabled
!
interfaces interface 15.0
config name 15.0
config type ethernetCsmacd
config enabled
!
interfaces interface 16.0
config name 16.0
config type ethernetCsmacd
config enabled
!
interfaces interface 17.0
config name 17.0
config type ethernetCsmacd
config enabled
!
interfaces interface 18.0
config name 18.0
config type ethernetCsmacd
config enabled
!
interfaces interface 19.0
config name 19.0
config type ethernetCsmacd
config enabled
!
interfaces interface 20.0
config name 20.0
config type ethernetCsmacd
config enabled
!
interfaces interface mgmt
config name mgmt
config type ethernetCsmacd
config enabled
ethernet config auto-negotiate true
ethernet config duplex-mode FULL
ethernet config port-speed SPEED_1GB
!
vanquish-01#
Tenants:

Tenant Configuration

vanquish-01# show running-config tenants tenant test-tenant
tenants tenant test-tenant
config name     test-tenant
config type     BIG-IP
config image    BIGIP-bigip151x-miranda-15.1.4.1-0.0.176.ALL-VELOS.qcow2.zip.bundle
config nodes    [ 1 ]
config mgmt-ip   10.10.10.68
config prefix-length 24
config gateway   10.10.10.254
config vlans    [ 2030 2040 ]
config cryptos   enabled
config vcpu-cores-per-node 4
config memory    14848
config storage size 76
config running-state deployed
config appliance-mode disabled
!
vanquish-01#

Troubleshooting tips

With regards to VLANs, when configuring them in ConfD ( either via CLI, GUI or RestConf ), the configuration is pushed directly to the hardware via the platform software.When a VLAN is assigned to a tenant, the VLAN information is pushed to the tenant in the same way VLAN info is passed to vCMP guest in a Viprion system. For this reason you can view the VLAN configuration from within the tenant.

VLANs view from the tenant ( BIG-IP )

[root@localhost:Active:Standalone] config # tmsh list net vlan
net vlan vlan-2030 {
if-index 160
tag 2030
}
net vlan vlan-2040 {
if-index 176
tag 2040
}

However, the physical interfaces used are not visible from the tenant. To view that information, you need to log in to the appliance directly:

VLANs view from the partition

vanquish-01# show running-config tenants tenant config vlans
tenants tenant test-tenant
config vlans [ 2030 2040 ]
!

Whenever you need to troubleshoot networking issues, please consider starting your triage with the following commands:

Command for Networking issues

vanquish-01# show vlan-listeners
NDI                       SERVICE
INTERFACE VLAN ENTRY TYPE   OWNER    ID  SVC VTC SEP DMS DID CMDS MIRRORING IDS
------------------------------------------------------------------------------------------------------
0.host   2030 VLAN-LISTENER test-tenant 4095 8  -  15  -  -  -   disabled  -
0.host   2040 VLAN-LISTENER test-tenant 4095 8  -  15  -  -  -   disabled  -
vanquish-01# show fdb
fdb mac-table entries entry 00:94:a1:69:43:25 2030 tag_type_vid
state vlan 2030
state tag-type tag_type_vid
state vid 2030
state entry-type L2-LISTENER
state owner test-tenant
state ifh-fields ndi-id 4095
state ifh-fields svc 8
state ifh-fields cmds 1
fdb mac-table entries entry 00:94:a1:69:43:25 2040 tag_type_vid
state vlan 2040
state tag-type tag_type_vid
state vid 2040
state entry-type L2-LISTENER
state owner test-tenant
state ifh-fields ndi-id 4095
state ifh-fields svc 8
state ifh-fields cmds 1
vanquish-01# show dag-states dag-state test-tenant
dag-states dag-state test-tenant
publisher       dagd
publisher-instance   1
publish-time      1637231376
commit-tenant-instance 1
commit-time      1637231376
dag-version      16
tenant-instance-ids  [ 15 63 ]
sdag-table       "f 3f f 3f f 3f f 3f f 3f f 3f f 3f f 3f f 3f f 3f f 3f f 3f"
sdag-table-hash    36876
vanquish-01#