How to: Create a BIG-IP Next instance on rSeries system from Central Manager

Overview

You can easily create a BIG-IP Next VE instance on an rSeries appliance from BIG-IP Next Central Manager using an rSeries template.

Prerequisites

Before you create an instance from BIG-IP Next Central Manager, you must:

Limitations

The BIG-IP Next Central Manager is unable to add rSeries systems as a virtualization provider, thus preventing the creation of new BIG-IP Next instances on rSeries systems. Refer to the following link for information regarding the workaround in Known issue.

Procedure

  1. Log in to BIG-IP Next Central Manager as admin, click the Workspace icon next to the F5 icon, and click Infrastructure.

  2. If you have not added any BIG-IP Next instances previously, click the + Start Adding Instances button.

  3. Click the Create a New Instance button. Review the requirements.

  4. Enter a hostname and an optional description to identify this instance.

  5. From the Instance Template list, select the rSeries Standalone template.

  6. Click the Start Creating button.

  7. Choose the VE/VELOS/rSeries Providers from the dropdown and click Next.

  8. In rSeries Properties, enter the below details:

    1. Specify the Disk Size, this should be greater than or equal to 22.

    2. Specify the CPU Cores.

    3. Select the Tenant Image Name and Tenant Deployment File from the dropdown. The tenant image and deployment file are pre-configured in the rSeries Partition.

    4. Select the VLAN IDs from the dropdown.

  9. Click Next.

  10. In BIG-IP Next Instance Properties, provide the Management IP Address, Management Network Prefix Width, and the Gateway IP Address for the instance and click the Next button.

  11. Click Networking, to configure the L1 Networks, VLANs and IP Addresses.

    1. Click L1 Networks

      • By default, one L1 Network is pre-configured in server settings with the Interface Name set as 1.1. You can modify the L1 Network Name and Interface Name, if required.

      • Click + Create, to create one or more L1 Networks, if required.

    2. Click VLANs

      • The VLANs are pre-configured from the rSeries Partition.

      • Choose the L1 Network from the dropdown.

    3. Click IP Addresses to configure IP Addresses then click + Create.

      • In Address, specify the IP address.

      • In Device Name, no need to specify the name.

      • Choose the VLAN from the dropdown.

  12. Specify the network settings and click the Next button.

  13. Provide the username and password for administration for this BIG-IP Next instance, confirm the password, and click Next.

  14. Review the summary of the configuration you created and if you’re ready to create this BIG-IP Next instance, click the Deploy button. Deployment can take up to 15 minutes.

Prerequisites

Authenticate with the BIG-IP Next Central Manager API. For details refer to How to: Authenticate with the BIG-IP Next Central Manager API.

  1. Before creating an Instance, you can get the list of available Templates, Images, Nodes, Slot IDs, and VLANs using the respective endpoints.

    a. Get the available templates by sending a GET request to /api/v1/spaces/default/instances/initialization/templates endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances/initialization/templates
    

    The default template will be rSeries.

    b. Get the available Images and Deployment file by sending a GET request to /api/v1/spaces/default/providers/f5os/{{provider_id}}/images endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/f5os/{{provider_id}}/images
    

    A list of images on the Provider will be populated, select the desired image name and .yml file.

    c. Get the slot_ids, by sending a GET request to /api/v1/spaces/default/providers/f5os/{{provider_id}}/nodes endpoint.

    GET https: //{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/f5os/{{provider_id}}/nodes
    

    This will list the blades in the system along with blade information. Select the Slot Number value to use in the slot_ids.

    d. Get the VLAN ids by sending a GET request to /api/v1/spaces/default/providers/f5os/{{provider_id}}/vlans endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/f5os/{{provider_id}}/vlans
    

    The VLAN list is created on the provider. Use the value in the vlan_id field of the desired VLAN.

  2. Create an instance by sending a POST request to /api/v1/spaces/default/instances/initialization endpoint.

    POST https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances/initialization
    

    For the request payload, use the following example, modifying the values as required.

    Click for payload ▶
    {
      "template_name": "default-standalone-rseries",
      "parameters": {
        "instantiation_provider": [
          {
            "id": "{{provider_id}}",
            "name": "myrseries",
            "type": "rseries"
          }
        ],
        "rseries_properties": [
          {
            "tenant_image_name": "BIG-IP-Next-20.2.1-2.430.2+0.0.37",
            "tenant_deployment_file": "BIG-IP-Next-20.2.1-2.430.2+0.0.37.yaml",
            "vlan_ids": [
              1709,
              1710,
              1711,
              1712
            ],
            "disk_size": 30,
            "cpu_cores": 4
          }
        ],
        "default_gateway": "xxx.xxx.xxx.xxx",
        "management_address": "xxx.xxx.xxx.xxx",
        "management_network_width": 22,
        "l1Networks": [
          {
            "vlans": [
              {
                "defaultVrf": true,
                "selfIps": [],
                "name": "mcp-1709",
                "tag": 1709
              },
              {
                "defaultVrf": true,
                "selfIps": [],
                "name": "mdp-1710",
                "tag": 1710
              },
              {
                "defaultVrf": true,
                "selfIps": [
                  {
                    "address": "xxx.xxx.xxx.xxx"
                  }
                ],
                "name": "mExternal-name",
                "tag": 1711
              },
              {
                "defaultVrf": true,
                "selfIps": [
                  {
                    "address": "xxx.xxx.xxx.xxx"
                  }
                ],
                "name": "mInternal-name",
                "tag": 1712
              }
            ],
            "l1Link": {
              "linkType": "Interface",
              "name": "1.1"
            },
            "name": "DefaultL1Network"
          }
        ],
        "management_credentials_username": "admin-cm",
        "management_credentials_password": "******",
        "instance_one_time_password": "********",
        "hostname": "moo-ha"
      }
    }
    
  3. Check the status of the instance creation job using the path by sending a GET request to /api/v1/spaces/default/instances/initialization/tasks/path endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances/initialization/tasks/path
    
    Click for sample response ▶
    {
        "_links": {
            "self": {
                "href": "/v1/instances/tasks/d67bc289-21a0-4653-964c-b994505e3c3a"
            }
        },
        "created": "2024-05-23T20:29:41.951762Z",
        "id": "d67bc289-21a0-4653-964c-b994505e3c3a",
        "name": "instance creation",
        "payload": {
            "discovery": {
                "port": 5443,
                "address": "xxx.xxx.xxx.xxx",
                "device_user": "admin",
                "device_password": "*****",
                "management_user": "admin-cm",
                "management_password": "*****"
            },
            "onboarding": {
                "mode": "STANDALONE",
                "nodes": [
                    {
                        "password": "*****",
                        "username": "admin",
                        "managementAddress": "xxx.xxx.xxx.xxx"
                    }
                ],
                "l1Networks": [
                    {
                        "name": "DefaultL1Network",
                        "vlans": [
                            {
                                "tag": 3651,
                                "name": "ext-vlan-3651",
                                "selfIps": [
                                    {
                                        "address": "1.2.3.4/24"
                                    }
                                ],
                                "defaultVrf": true
                            },
                            {
                                "tag": 3652,
                                "name": "int-vlan-3652",
                                "selfIps": [
                                    {
                                        "address": "5.6.7.8/24"
                                    }
                                ],
                                "defaultVrf": true
                            }
                        ],
                        "l1Link": {
                            "name": "1.1",
                            "linkType": "Interface"
                        }
                    }
                ],
                "platformType": "RSERIES"
            },
            "instantiation": {
                "Request": {
                    "F5osRequest": {
                        "provider_id": "10101569-0abb-42ce-a279-8af83586386b",
                        "provider_type": "rSeries",
                        "next_instances": [
                            {
                                "nodes": [
                                    1
                                ],
                                "vlans": [
                                    3651,
                                    3652
                                ],
                                "mgmt_ip": "xxx.xxx.xxx.xxx",
                                "timeout": 600,
                                "hostname": "myrseriesinstance",
                                "cpu_cores": 4,
                                "disk_size": 16,
                                "mgmt_prefix": 24,
                                "mgmt_gateway": "xxx.xxx.xxx.xxx",
                                "admin_password": "*****",
                                "tenant_image_name": "BIG-IP-Next-20.3.0-2.435.1",
                                "tenant_deployment_file": "BIG-IP-Next-20.3.0-2.435.1.yaml"
                            }
                        ]
                    },
                    "VsphereRequest": null
                },
                "BaseTask": {
                    "id": "",
                    "payload": null,
                    "provider_id": "10101569-0abb-42ce-a279-8af83586386b",
                    "provider_type": "rseries"
                },
                "VsphereRequest": null
            }
        },
        "stage": "Instantiation",
        "state": "instantiateInstances",
        "status": "running",
        "task_type": "instance_creation",
        "updated": "2024-05-23T20:29:42.454429Z"
    }
    
  4. Check the status of the instance creation until the following status is displayed.

    "stage": "Discovery",
    "state": "discoveryDone",
    "status": "completed",
    
  5. Check the instance details by sending a GET request to /api/v1/spaces/default/instances?filter=address eq '{{bigip_next_mgmt_ip}}' endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances?filter=address eq '{{bigip_next_mgmt_ip}}'
    
    Click for sample response ▶
    {
        "_embedded": {
            "devices": [
                {
                    "_links": {
                        "self": {
                            "href": "/api/v1/spaces/default/instances?filter=address+eq+%27xxx.xxx.xxx.xxx%27/3bf570b6-7763-4e70-a3b5-4c07492c2c06"
                        }
                    },
                    "address": "xxx.xxx.xxx.xxx",
                    "certificate_validated": "2024-05-23T20:39:08.611071Z",
                    "certificate_validity": false,
                    "hostname": "myrseriessinstance",
                    "id": "3bf570b6-7763-4e70-a3b5-4c07492c2c06",
                    "mode": "STANDALONE",
                    "platform_name": "RSERIES",
                    "platform_type": "CHASSIS",
                    "port": 5443,
                    "short_id": "2UVWZSAG",
                    "version": "20.3.0-2.435.1"
                }
            ]
        },
        "_links": {
            "self": {
                "href": "/api/v1/spaces/default/instances?filter=address+eq+%27xxx.xxx.xxx.xxx%27"
            }
        },
        "count": 1,
        "total": 1
    }
    

Result

You can now manage this BIG-IP Next instance from BIG-IP Next Central Manager.