Deployment guide

To deploy F5 VNF Manager blueprint solutions, do the following:

  1. Do one of the following to launch an instance in your private cloud environment:
  2. Do one of the following to enable external access to the F5 VNF Manager:
  3. Secure access to your F5 VNFM.
  4. Define your system secrets. For help defining secrets, see the Secrets reference guide.
  5. Define parameters in the inputs file. For inputs definitions, see the Blueprint inputs reference guide.
  6. Deploy a local F5 blueprint solution.

Once you complete these deployment steps, consult the supporting reference topics for more details about using the F5 VNFM.

Secure access to your F5 VNFM

  1. To access your VNFM, using https point your browser to the IP address you created in the previous steps and assigned to your management network.

    For example, in OpenStack, find your IP address here:

    _images/vnfm-ip.png

    For example, in vSphere ESXi, find your IP address here:

    _images/vnfm-vmware-ip.png
  2. Login to VNFM using username: admin and password: admin.

  3. To change your username and password in VNFM, on the left-side menu, click the Tenant Management blade, and set a complex admin password. Learn more about User Management and Tenant Management.

Important

F5 recommends managing your VNFM administration account using a role-based access control (RBAC) method, such as LDAP or Active Directory. Learn more about integrating with LDAP. At a minimum, set a complex admin password.

Define parameters in the inputs.yaml file

The F5 blueprints use an inputs.yaml file that you must edit, adding your system definitions:

  1. You must configure a BIG-IQ before deploying a VNFM Gi LAN or Gi Firewall solution blueprint. You can do this manually, or use the F5 VNF BIG-IQ blueprint solution to automate the configuration. To use the F5 VNF BIG-IQ blueprint, open one of the following inputs file, copy and paste the sample inputs file into a new file, change the parameter values according to your application and network requirements, and then save the file locally:

    VIM VNFM Solution Version YAML (for UI) VNFM Solution Version JSON (for REST API)
    Red Hat OpenStack Newton Version 10 VNF-BIG-IQ 1.2.1 VNF-BIG-IQ 1.2.1
    VMware vSphere ESXi Version 6.5 VNF-BIG-IQ 1.2.1 VNF-BIG-IQ 1.2.1
  2. Depending on your VNFM solution, VNFM version, and VIM, open one of the following YAML or JSON blueprint solution files:

    VIM VNFM Solution Version YAML (for UI) VNFM Solution Version JSON (for REST API)
    Red Hat OpenStack Newton Version 10

    Gi LAN 1.1, 1.1.1, 1.2.1, and 1.3

    Gi Firewall 1.1, 1.1.1, 1.2.1, and 1.3

    Base 1.1, 1.1.1, 1.2.1, and 1.3

    CGNAT 1.3

    Gi LAN 1.1, 1.1.1, 1.2.1, and 1.3

    Gi Firewall 1.1, 1.1.1, 1.2.1, and 1.3

    Base 1.1, 1.1.1, 1.2.1, and 1.3

    CGNAT 1.3

    VMware vSphere ESXi Version 6.5

    Gi LAN 1.2 and 1.2.1

    Gi Firewall 1.2 and 1.2.1

    Base 1.2 and 1.2.1

    Gi LAN 1.2 and 1.2.1

    Gi Firewall 1.2 and 1.2.1

    Base 1.2 and 1.2.1

  3. Copy and paste the contents of the sample inputs yaml file into a new file and change the parameter values according to your application and network requirements. See the Blueprint inputs reference guide for parameter descriptions to help you define your inputs.YAML file.

  4. Save the inputs file(s) locally. You will upload blueprint YAML file(s) into VNFM in Step 6, Deploy local F5 (Gilan) blueprint.

Deploy local F5 (Gi LAN) blueprint

Once you change all the values in the blueprint inputs file(s) and save it locally, upload the file into F5 VNF Manager. The inputs file will define all required parameters for the following blueprint files, depending on the solution you selected:

  • F5-VNF-BIG-IQ.yaml
  • F5-VNF-Service-Layer-GiLAN.yaml
  • F5-VNF-Service-Layer-Firewall.yaml
  • F5-VNF-Service-Layer-Base.yaml
  • F5-VNF-Service-Layer-CGNAT.yaml
  1. Open F5 VNFM, click Local Blueprints, and then in the F5-BIGIQ main blueprint tile click Deploy.

Tip

You can manually configure your own BIG-IQ utility; however, F5 recommends automating this process by deploying this F5-VNF-BIG-IQ blueprint. If deploying the F5-VNF-BIG-IQ blueprint from a VMware vSphere ESXi VIM, you must NOT use 192.168.1.200 and 192.168.1.245 IP addresses on the same network the F5 VNF Manager is connected, until AFTER you deploy the F5-VNF-BIG-IQ blueprint and the BIG-IQ HA pair is online. Once the BIG-IQ HA pair is online, those IP addresses become available.

  1. Enter a name, under Deployment Inputs, click folder_deploy browse for the inputs_[solution name].yaml file you edited, and then click Open. The Deploy blueprint form is completed automatically with the values you entered in the inputs_[solution name].yaml file.

Tip

Troubleshooting: If you receive an error at this point, then your inputs file is out of date and lacks the correct parameters.

  1. Click Deploy.

Tip

Troubleshooting: If you receive an error at this point, then it is related to a missing secrets value or a typo in a secrets value.

  1. On the left-side menu click the Deployments blade, in the list next to the blueprint you created in the previous step, expand menuIcon, click Install, and then click Execute. The VNFM uses the configuration node, configuring the BIG-IQ, and the deployment outputs return the BIG-IQ licensing and addressing information required by the other main F5 solution blueprints.

  2. Once the BIGIQ blueprint finishes executing, repeat steps 1-4, selecting one of the following blueprints, depending on the solution you selected:

    • F5-VNF-Service-Layer-GiLAN.yaml main blueprint file
    • F5-VNF-Service-Layer-Firewall.yaml main blueprint file
    • F5-VNF-Service-Layer-Base.yaml main blueprint file
    • F5-VNF-Service-Layer-CGNAT.yaml main blueprint file

    VNFM starts creating BIG-IP VEs according to the parameters you defined for your network. Also installed includes additional, sub-blueprints packaged with the F5 gilan and base blueprint.

  3. Once your blueprint install finishes executing, to view a model of your VNF installation, on the Deployments blade, click a name from the list. A model of your VNF topology appears, along with a list of all the nodes and event logs.

    To add an events and logs filtering widget to this page

    1. In the top-right corner click your login name, select Edit Mode, and then click Add Widget.
    2. Scroll the list and select Events/logs filter, and then click Add selected widget.
    3. Scroll to the top of the page, click and drag the Events/logs filter widget down the page, and place it just before the Deployment Events/Logs pane on the page.
    4. Close the Edit mode dialog box. You can now filter event/logs based on type, log level, and other similar criteria. Learn more about events and logs.
  4. To view the list of applicable workflows (for example, scale out group, heal VE, etc.) that you can run, on the Deployments blade, click menuIcon next to your Gilan or Base deployment in the list. A list of applicable workflows for your solution appears. Learn more about workflows and which workflows to run for which deployments.

  5. Using the same VNF Manager, you can download and define another inputs YAML file for another local F5 blueprint, and repeat these deploy blueprint steps.

Supporting deployment reference topics

Consult the following topics, which provide further discussion and how-to information for performing the previous setup and deployment steps.

User management

Displays the list of users and enables their management. This widget is only available to admin users.

The widget displays the following information regarding each of the user groups:

  • Username
  • Last login timestamp
  • Admin - whether or not the user is sys admin on the VNF Manager (you can check and uncheck this filed to make changes)
  • Active - whether or not the user is active (you can check and uncheck this field to make changes)
  • # Groups - number of groups the user is a member of
  • # Tenants - number of tenants the user is assigned with

The menuIcon on the right of every tenant allows performing the following operations:

  • Setting the user’s password
  • Adding/removing the user to/from user groups
  • Assigning/Unassigning the user with/from the tenant
  • Deleting the user - possible only if the user does not belong to any groups, assigned to any tenants and is the creator of any resources on the manager.

Also, using Add on the top-right corner of the widget, you can create new users. Notice that if you choose to authenticate the users in front of an external user management system, you cannot create or delete the users in VNF Manager, nor can you assign them to VNF Manager user groups, in order to prevent conflicts between the two systems, which causes security problems.

manage-users

Widget settings

  • Refresh time interval - The time interval in which the widget’s data will be refreshed, in seconds. Default: 30 seconds.

Tenant management

Displays a list of tenants on the Manager and enables tenant management. This widget is only available to admin users. The widget displays the following information regarding each of the tenants:

  • Name
  • Number of user-groups assigned to the tenant
  • Number of users directly assigned to the tenant (not as part of groups)

The menuIcon on the right of every tenant allows performing the following operations:

  • Adding/removing users to/from the tenant
  • Adding/removing user-groups to/from the tenant
  • Deleting the tenant - possible only if the tenant has no users. User-groups or resources associated with it.

Also, clicking Add on the top-right corner of the widget, you can create new tenants.

tenants-list

Widget settings

  • Refresh time interval - The time interval in which the widget’s data will be refreshed, in seconds. Default: 30 seconds.

LDAP

The vnfm ldap command is used to set LDAP authentication that enables you to integrate your LDAP users and groups with F5 VNFM.

Note

You can use the CLI vnfm declaration in the F5 VNF Manager ONLY.

Optional flags

These will work on each command:

  • -v, --verbose - Show verbose output. You can supply this up to three times (for example, -vvv).
  • -h, --help - Show this message and exit.

Set command

Usage

vnfm LDAP set [OPTIONS]

Set F5 VNF Manager to use the LDAP authenticator.

Required flags

  • -s, --ldap-server TEXT - The LDAP address against which to authenticate, for example: ldaps://ldap.domain.com.
  • -u, --ldap-username TEXT- The LDAP admin username to be set on the F5 VNF Manager.
  • -p, --ldap-password TEXT - The LDAP admin password to be set on the F5 VNF Manager.
  • -d, --ldap-domain TEXT - The LDAP domain to be used by the server.

Optional flags

  • -a, --ldap-is-active-directory - Specify whether the LDAP used for authentication is Active-Directory.
  • -e, --ldap-dn-extra TEXT - Additional LDAP DN options.

Example

$ vnfm ldap set -s [LDAP SERVER ADDRESS] -u [LDAP ADMIN USERNAME] -p [LDAP ADMIN PASSWORD] -d [DOMAIN NAME]

Integrate with LDAP

VNFM provides a user management mechanism, so you can define different users with different permissions, and upon login perform authentication and authorization to control the users’ access to resources.

You define and manage the users either in F5 VNFM itself, or you can configure your Manager to integrate with an LDAP-based user-management system. You must select one of these options, as you cannot do both, and you must configure your manager accordingly upon installation or immediately afterwards, when no actions are performed on it yet.

Tip

User Management Credentials: You must have F5 VNFM administrator permissions to perform user management-related actions.

Manage users by integrating with an LDAP system

If you choose to integrate with an external user-management system, make sure your manager is configured accordingly:

  1. Record the URL of the LDAP service and define sufficient credentials to an LDAP user with search permissions.
  2. Configure F5 VNFM with the LDAP configuration during the installation process, in the ldap section of the config.yaml file.
  3. Or, use the API to configure an LDAP connection after F5 VNFM Manager is installed, using the vnfm ldap set command, as long as the Manager is clean, meaning that no tenants, groups, users or resources exist.

Usage

vnfm ldap set [OPTIONS]

Options

  • -s, --ldap-server TEXT - The LDAP server address to authenticate against [required]
  • -u, --ldap-username TEXT - The LDAP admin username to be set on the F5 VNF manager [required]
  • -p, --ldap-password TEXT - The LDAP admin password to be set on the F5 VNF manager [required]
  • -d, --ldap-domain TEXT - The LDAP domain to be used by the server [required]
  • -a, --ldap-is-active-directory - Specify whether the LDAP used for authentication is Active-Directory
  • -e, --ldap-dn-extra TEXT - Extra LDAP DN options
  • -h, --help - Show this message and exit

Example

Note

You can use the CLI vnfm declaration in the F5 VNF Manager ONLY.

vnfm ldap set -a -s ldap://<LDAP SERVER IP>:389 -u <LDAP ADMIN USER> -p <LDAP ADMIN USER PASSWORD> -d <DOMAIN.com>

How F5 VNF Manager works with the LDAP service

When integrating with an LDAP system, F5 VNFM will prevent you to manage users from the Manager, to prevent conflicts between the two systems which can cause security problems. Instead, users will log into F5 VNFM with their LDAP credentials, and the Manager will authenticate them against the LDAP service. To finish the authorization process into F5 VNFM, the users will have to belong (directly, or using nested groups) to an LDAP group connected to one or more F5 VNFM Tenants.

Connect F5 VNFM user-groups with the LDAP groups

To create this connection between the LDAP system and F5 VNFM you must create user-groups in F5 VNFM that represent your LDAP user groups. You then assign those F5 VNFM groups to tenants in F5 VNF Manager, with the desired roles. When a user logs into F5 VNFM, a request is sent to the LDAP system for authentication and identification of the groups to which the user belongs (including groups that contains groups that eventually contains the user - aka nested groups). F5 VNFM then identifies the tenants that the F5 VNFM groups (that represent the LDAP groups) can access, and allows user access according to the permissions the roles of the groups provide. For more information on creating a user group, see either the CLI command, or the Tenant Management.

In case a user belongs to multiple groups which are assigned to the same tenant with different roles, the user’s permissions in the tenant will be a sum of all the permission it receives from the different groups. For example, user-A is a member of two Groups in LDAP – “team_leaders,” and “devs.” The team_leaders group is associated in F5 VNFM with the group “all_tenants_viewers”, which is assigned to all of the manager’s tenants with the role “Viewer.” The “devs” group is associated in F5 VNFM with the group “dev_users,” which is assigned to dev_tenant with the role “User.” So, user-A is now assigned to dev_tenant twice – once as a Viewer and once as a User. Upon logging into this tenant, the permissions user-A will have will be a sum of the permissions of the two roles. After users have logged in to F5 VNFM, they are visible in the users list, but you cannot perform any management actions on their profiles.

User/LDAP relationship

User/LDAP relationship

Tip

LDAP passwords are not saved in VNF Manager.

Roles management with Ldap

Upon assigning a user or a user-group to a tenant, we must specify their permissions in this tenant. Do this by adding a User Role. In user creation, define whether the users are admins or not. If admins, they automatically have maximal permissions to all tenants. If not, they are marked as “default” users, meaning they exist in the system but must be explicitly assigned to specific tenants with specific roles.

When using LDAP, do not manage the users, but the user-groups, so the roles are managed through them.

When a user-group is added to a tenant, a specific tenant role must be assigned to it. By adding a user to a specific user-group, that user will inherit that user-group tenant-association along with its tenant-role (and the same for all the groups that recursively contain this group).

Add users manually

If you choose not to integrate F5 VNF Manager with LDAP systems, you must add each user individually and set a password for them. You can also create user-groups and add users to them. You can assign users and user groups to one or more tenants.

Use the Secret Store

The secrets store provides a secured variable storage (key-value pairs) for data that you do not want to expose in plain text in F5 VNFM blueprints, such as login credentials for a platform. The values of the secrets are encrypted in the database. We use the Fernet encryption of cryptography library, which is a symmetric encryption method that makes sure that the message encrypted cannot be manipulated/read without the key. When you create a secret, the key value can be a text string or it can be a file that contains the key value. The secret store lets you make sure all secrets (for example, credentials to IaaS environments) are stored separately from blueprints, and that the secrets adhere to isolation requirements between different tenants. You can include the secret key in your blueprints and not include the actual values in the blueprints.

Secrets with a hidden value

All the values of the secrets are encrypted in the database. When you create a secret you can specify if you want its value to be hidden or exposed. A secret with a hidden value means the value is only shown to the user who created it, tenant managers and sys-admins. Users can use the secret according to the user roles and the visibility of the secret. Creators and Admins are the only users that can perform any type of update to the secret.

Update a secret with a shown value

  • Updating the secret’s value and visibility or deleting the secret is allowed according to the user roles and the visibility of the secret.
  • The secret’s Creator and Admins are the only users that can update the secret’s visibility and the “is_hidden” attribute.

Update a secret with a hidden value

Only the creator of the secret and a sys-admin can see, update, or delete the secret with a hidden value (unlike a secret with an exposed value, which other users in the tenant can also update or delete).

Create a secret from the CLI

You can use the vnfm secrets command to manage VNFM secrets (key-value pairs) in the F5 VNF Manager ONLY.

$ vnfm secrets create test -s test_value …

Secret ``test`` created


Create a secret from the F5 VNFM Console

Secret Store Management is performed from the System Resources page in the VNFM Console.

  1. Click Create in the Secret Store Management widget.

  2. Insert the following values:

    • The secret key
    • The secret value (or select the secret file from your file repository)
    • The visibility level, which is the icon of the green man. Click this icon to toggle visibility settings between tenant (green man), private (red padlock), and global (blue earth).
    • If the value of the secret should be hidden
  3. Click Create.

    Create Secret
  4. Click eye_deploy for viewing the secret value.

  5. To change the visibility level of the secret, click visibility_deploy in the key row.

  6. To hide the secret value, select the Hidden Value checkbox.

  7. For updating the secret value, click edit_deploy in the key row.

View Secret

Manage secure communication certificates

Use the following information to securely manage communication and remote access authorization.

Customize SSL for internal communication

You can override the internal Manager certificate, and the CA certificate in the F5 VNF Manager configuration. To provide a custom internal CA certificate for the agents to use, add the ca_certificate and optionally ca_key inputs, which you must store in the /opt/cloudify/config.yaml file. To provide a custom internal certificate, use the internal_certificate and internal_key inputs. If none are provided, F5 VNFM will generate the CA and the internal certificate automatically.

NOTES:

  • If provided, the internal certificate must be generated with the appropriate subjectAltName extension to allow connections over every used Manager IP or hostname. The internal certificate must be signed by the CA certificate.
  • If the ca_certificate and ca_key inputs are provided, the internal certificate will be generated and signed using the provided CA. If the ca_certificate is provided, but ca_key is NOT provided, then F5 VNFM cannot generate the internal certificate and the internal_certificate and internal_key inputs are required.
  • In order to use a F5 VNF Manager cluster, the CA key must be present - either generated automatically by F5 VNFM, or passed in the ca_key input.

SSL mode for external communication

F5 VNF manager, by default, doesn’t use SSL for external communication. You can set the manager to use ssl for the external communication during bootstrap or after bootstrap.

During bootstrap, edit the manager blueprint input. In the Security Settings section, set ssl_enabled parameter to true, in order to set the manager ssl mode.

Set the rest_certificate and rest_key parameters, to use your own certificate. If missing, the manager will auto-generate the certificate.

After bootstrap, use cfy ssl command to enable or disable the ssl mode. You can also change the manager certificate by replacing the files under /home/admin/files/ssl/. The relevant files include: cloudify_external_cert.pem and cloudify_external_key.pem.

When bootstrapping with ssl mode, during the bootstrap the certificate will be copied to the local cli-profile. When using CA signed certificate, you’ll need to update it in the cli-profile (to contain the CA certificate and not the manager certificate) or to remove it (depends on the organization configuration).

In order to update the certificate in the cli-profile, run the following command: cfy profile set --rest-certificate CA_CERT_PATH

In case you renew the certificate, just update it in the manager, in the /home/admin/files/ssl directory.

Additional Security Information

  • All services required by F5 VNF Manager run under the VNFM (and not root) user in the manager VM. The only exception is the parent process of Nginx, which runs as root in order to enable use of port 80. It is not recommended to change this behavior.
  • A secrets store is implemented inside the F5 VNF Manager PostgreSQL database, which provides a tenant-wide variable store.
  • Through usage of the secrets store, a user can ensure all secrets (such as credentials to IaaS environments, passwords, and so on) are stored securely and separately from blueprints, and adhere to isolation requirements between different tenants.
  • Users need not know the actual values of a secret parameter (such as a password), since they can just point to the secrets store.
  • Secrets can be added to the store using a SET function, and retrieved via GET.
  • Plugins can access the secrets store, to leverage the secrets when communicating with IaaS environments.
  • F5 VNF Manager instances must be secured via SSL to ensure secrets are not passed on an unencrypted communication channel.
  • Using PostgreSQL ensures that secrets are replicated across all F5 VNF Manager instances within a cluster, as part of HA.

Events and logs

Displays the logs and events of all the executions in the current tenant, according to the user’s permissions. You can configure the fields that are displayed and can choose to indicate in colors success and failure messages.

events-logs

Widget settings

  • Refresh time interval - The time interval in which the widget’s data will be refreshed, in seconds. Default: 2 seconds
  • List of fields to show in the table You can choose which fields to present. By default, these are the fields presented:
    • Icon
    • Timestamp
    • Blueprint
    • Deployment
    • Workflow
    • Operation
    • Node Name
    • Node Id
    • Message

You can also choose to add the field “Type,” which will present the log level in case of a log, and event type in case of an event. * Color message based on type - when marked as “on,” successful events will be colored blue, and failures in red. Default: On * Maximum message length before truncation- Allow to define the length of the messages presented in the table. Default: 200.

Note

Even if the message is being truncated in the table itself, you can see the full message upon overring.

Maintenance mode

When in maintenance mode, VNF Manager activity is suspended. It rejects all requests, and does not perform any action other than to display the status of the Manager and it’s version, and to execute sub-commands of the maintenance mode.

VNF Manager has three maintenance states, activated, activating, and deactivated. To view the current maintenance state of the Manager, run vnfm maintenance-mode status. The state is also displayed when you run vnfm status (so long as the state is not deactivated).

  • Activated - VNF Manager is in maintenance mode. It ignores all requests except for vnfm status, vnfm –version and sub-commands of vnfm maintenance-mode.
  • Activating - An intermediate state in which the VNF Manager is not fully in maintenance mode. Only requests that trigger executions are blocked. This state enables active executions to complete and prevents new executions from being started.
  • Deactivated - VNF Manager operates normally. No requests are blocked.

Usage and Flow

By default, the maintenance mode state is deactivated.

To activate maintenance mode, run vnfm maintenance-mode activate. VNF Manager either enters the activated or activating state.

To view the current status of the maintenance mode, run vnfm maintenance-mode status.

Following the activation request, if there are no active executions (running, pending, cancelling etc.), maintenance mode is activated. The output of vnfm maintenance-mode status for the activated state is as follows.

Maintenance Mode Status:
Status:      activated
Activated At: <time of activation>
Activation Requested At: <time of activation request>

If there are active executions, the Manager enters the activating state.

Maintenance Mode Status:
Status:      activating
Activation Requested At: <time of activation request>

VNF Manager currently has <number of active executions> running or pending executions. Waiting for them to finish before activating. After all executions have completed, the Manager enters the ‘activated’ state.

Note

Execution Details - If you run the maintenance mode status command in verbose mode, you can view detailed information about the current active executions.

Run vnfm maintenance-mode deactivate to deactivate maintenance mode.

Running Maintenance Mode from the VNF Manager

You can manage maintenance mode by selecting Maintenance Mode in the drop-down menu adjacent to your user name.

What’s Next?

Run workflows