Deployment guide

To deploy F5 VNFM, do the following:

  1. Download VNFM image
  2. Launch an instance in OpenStack
  3. Add a floating IP in OpenStack
  4. Secure access to your F5 VNFM
  5. Manage secrets
  6. Define parameters in the inputs.yaml file
  7. Deploy local F5 Gilan blueprint

Consult the supporting reference topics, following these steps.

Step 1: Download VNFM image

Download all three components to your management system:

  1. Open the email from F5 Networks providing you the link to the VNF Manager download package and license key, click the download link, and download the image locally.
  2. Point your browser to the BIG-IQ 6.0.1 download site, and download the product using the F5-BIQ-VE-LIC-MGR-LIC key. At a minimum, you must license the BIG-IQ License Manager.
  3. Point your browser to the 13.1.0.5 download site, and download the Virtual-Edition product using the F5-BIG-MSP-LOADV12-LIC key.
  4. Point your browser to the CentOS download site and, and then download the CentOS-7-x86_64-GenericCloud-1503.qcow2 package.
  5. Upload the previous images into your OpenStack-Newton project. For detailed instructions, see Upload and manage images on docs.openstack.org.

Step 2: Launch an instance in OpenStack

PREREQUISITE: The following table lists the VNFM-required administrative OpenStack environment components and guidelines that must exist PRIOR to creating a VNFM instance in your OpenStack project.

  1. Once the following components exist in your environment, create and name a VNFM instance, select the Availability Zone on which you want the VNFM installed, and then define the following parameters, clicking Next to complete the wizard. (Click the following links to learn more about using the Newton version of OpenStack.)

Note

If you do not select the Availability Zone value, then OpenStack will automatically set this value to the availability zone with the least number of associated nodes. The availability zone enables your VNF to utilize feature sets divided across multiple zones. OpenStack Admin users can find availability zones in the OpenStack dashboard, Admin -> System -> Host Aggregates blade.

Compute -> Instance

Component Description
Source Expand Select Boot Source, and choose Image, under Create New Volume, click No, and then click + next to the latest VNFM image file to move it to the Allocated list.
Flavors

Select a flavor sized accordingly, to accommodate the VNFM component images you previously uploaded. The minimum flavor requirements for deploying the F5 VNF Manager include:

  • vCPU: 4
  • RAM: 8GB
  • Root disk: 160GB
Networks

Select + next to the following predefined network (and subnet), to add to the Allocated list:

  • Management network (mgmt) – The VNF Manager and BIG-IP VE management interfaces with one DNS server in the subnet configuration.
Security Groups

Select + next to the following, predefined security group to add to the Allocated list:

  • Management security group (mgmt_sg) – Allowing TCP port 443 only.
Key Pair Create, import, or select existing key pair for accessing VNFM instance remotely, using SSH.
  1. For all other Instance component definitions, use the default values provided by OpenStack, and then click Launch Instance. For details, see Upload and manage instances on docs.openstack.org.

Step 3: Add a floating IP

Once you launch your instance in OpenStack, expand the Create Snapshot drop-down next to your instance in the table, and select Associate a Floating IP from the list. Choose an IP address from the list. If none, click + to add one. This allocates the floating IP on the management network. Do this to access the VNFM externally from a browser, using https.

Step 4: Secure access to your F5 VNFM

  1. To access your VNFM, point your browser to the public IP address you created in the previous steps, using https.
_images/vnfm-ip.png
  1. Login using username: admin and password: admin.
  2. To change your username and password, 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.

Step 5: Manage secrets

In F5 VNFM, click System Settings -> Secret Store Management, click edit_deploy next to each of the following secrets to edit the values for your project. Doing so enables your blueprint to access these values as needed, during orchestration, without exposing the plain text values.

Important

To avoid deployment issues, verify that you enter these secrets correctly. For example, remove any extra spaces in the keystone secrets. Click secretHidden_deploy to view the secret value (if you have the correct permissions).

System Resources -> Secret Store Management

BIG-IP Notes
bigip_admin_password Set to the desired password for the default BIG-IP admin account. Default value is admin.
bigip_root_password Set to the desired password for the default BIG-IP root account. Default value is default.
bigip_username Default value is admin.
big_ip_root_user Root user name of the BIG-IP. You must add this bigip_root_user secret to your manager.
agent_key_private The private SSH key for connecting to BIG-IP instances. Browse to the local copy of the private key using the Get secret value from file option.
BIG-IQ Notes
bigiq_password Set to the password for the BIG-IQ system used for licensing BIG-IP VEs in the deployment. Default value is admin.
bigiq_username Set to the user name for the BIG-IQ system used for licensing BIG-IP VEs in the deployment. Default value is admin.
VNF Manager Notes
cm_cert Located in /<insert your path>/ssl/<your>_external_cert.pem (for more details, see Manage secure communication certificates).
cm_host Set to the internal IP address of hostname of the VNF Manager. Default value is 192.168.1.0.
cm_password Set to the password for the VNF Manager. Default value is admin.
cm_port Set to the TCP port for connecting to the VNF Manager. Default value is 443.
cm_protocol Set to the protocol for connecting to the VNF Manager. Default value is https.
cm_tenant Set to the VNF Manager tenant name. Default value is default_tenant.
cm_trust_all Set to true or false to determine verification of server certificates.
cm_user Set to the user name of the VNF Manager. Default value is admin.
manager_rest_tenant The VNFM tenant/project name. Default value is default_tenant.
Keystone Notes
keystone_password Set to the password for the account with access to the OpenStack tenant where you will deploy blueprint resources.
keystone_tenant_name Set to the OpenStack tenant/project name where you will deploy blueprint resources.
keystone_url Set to the v2 authentication URL of the OpenStack environment where you will deploy blueprint resources; for example, http://192.168.1.1:5000/v2.0. Tip: Be sure to avoid adding any extra spaces at the beginning and at the end in this value. In OpenStack, find this URL in the Compute -> Access & Security -> IP Access -> Identity row.
keystone_username Set to the user name of the account with access to the OpenStack tenant where you will deploy blueprint resources.

Important

If you are allowing VNFM to create keystone resources, then you must configure the keystone account with the required OpenStack permissions.

Nagiorest Notes
nagiosrest_pass Set to the desired password for the Nagios monitoring instance. Default value is testpass.
nagiosrest_user Set to the desired user name for the Nagios monitoring instance. Default value is testuser.
Region Notes
Region Set to the OpenStack region where you will deploy blueprint resources. Default value is nova.

For more information, see use the secret store.

Step 6: Define parameters in the inputs.yaml file

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

  1. Depending on your solution, open one of the following files:
  2. 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 following tables for parameter descriptions to help you define your inputs.YAML file.
  3. Save the .yaml file locally. You will upload this file into VNFM in Step 7, Deploy local F5 blueprint.

F5 blueprint inputs

Gilan inputs (for F5 VNFM Gi LAN and Gi Firewall solutions and VNFM base)

Parameter Required Description
default_gateway Yes The next hop IP address for outbound traffic egressing the VNF.

VNF Resource Information Collector inputs (for Gi LAN and Gi Firewall solutions ONLY)

Parameter Required Description
ric_purchasing_model Yes The purchasing model for licensing (options include: subscription or perpetual).
ric_vnfm_serial Yes The VNFM license key provided in your email from F5 (used for support purposes only).
auto_last_hop Yes Controls how the DAG receives return traffic from the internet. Enable this input, if you are using an F5 device to NAT outbound connections; otherwise, disable.

Network inputs (optional for F5 VNFM Gi LAN and Gi Firewall solutions ONLY)

Parameter Required Description
bgp_dag_pgw_peer_ip No The IPv4 address of the DAG BGP peer on the provider gateway (for example, 192.168.1.1).
bgp_vnf_pgw_peer_ip No The IPv4 address of the VNF BGP peer on the provider gateway (for example, 192.168.2.1).
bgp_pgw_peer_as No The BGP autonomous system number of the provider gateway (for example, 200).
bgp_dag_egw_peer_ip No The IPv4 address of the DAG BGP peer on the external gateway (for example, 192.168.3.1).
bgp_egw_peer_as No The BGP autonomous system number of the external gateway. (for example, 300).

Network and common inputs (required for VNFM base ONLY)

Parameter Required Description
external_net Yes The name of the pre-existing external network that connects to your users.
external_sg_name Yes The name of the pre-existing external security group.
external_subnet Yes The subnet name for the pre-existing external network.
internal_net Yes The name of the pre-existing internal network that connects to your servers.
internal_sg_name Yes The name of the pre-existing internal security group.
internal_subnet Yes The subnet name for the pre-existing internal network.
sw_ref_ltm Yes The dictionary that defines the OpenStack image, flavor, and availability zone to use for the BIG-IP VE instances.
default_ltm_number Yes The default number of BIG-IPs that will get deployed by this blueprint. Verify that the same number of license keys defined in the registration key pool matches this input value.

VNF inputs (for F5 VNFM Gi LAN and Gi Firewall solutions ONLY)

Parameter Required Description
ctrl_net Yes The name of the control network.
ctrl_subnet Yes The name of the control network subnet.
ha_net Yes The name of the high availability network (for config. sync and network failover purposes).
ha_subnet Yes Name of the high availability network subnet.

Monitoring inputs (for F5 Gi LAN and Gi Firewall solutions ONLY)

Parameter Required Description
floating_network_id Yes The OpenStack ID or name of the network where you assigned a floating IP addresses.

Common inputs (for F5 VNFM Gi LAN and Gi Firewall solutions and VNFM base)

Parameter Required Description
manager_mgmt_host Yes The internal IP address of the VNF Manager instance.
manager_rest_password Yes Password for the VNF Manager. Default value is admin.
manager_rest_username Yes The user name of the VNF Manager project/tenant. Default value is admin.
bigip_os_ssh_key Yes The name of the OpenStack SSH key that you will import into the BIG-IP VE instances.
big_iq_host Yes The IP address of the BIG-IQ VE instance that will assign licenses to the BIG-IP VE instances.
big_iq_lic_pool Yes The name of the BIG-IQ key or pool that will be used to assign licenses to the BIG-IP VE instances.
mgmt_net Yes The name of the pre-existing management network.
mgmt_subnet Yes The name of the pre-existing management network subnet.
ntp_server Yes The IP address or DNS name of the NTP server. If not specified, the default 132.163.96.1 value is used.
timezone No Enter the local timezone for the location of your application server; for example, Pacific/Pago_Pago. Default value is UTC.

Common inputs (for F5 VNFM Gi LAN and Gi Firewall solutions ONLY)

Parameter Required Description
sw_ref_dag Yes A dictionary that defines the OpenStack image, flavor, and availability zone to use for the BIG-IP VE disaggregation instances.
sw_ref_vnf Yes A dictionary that defines the OpenStack image, flavor, and availability zone to use for the BIG-IP VE virtual network functions instances.
sw_ref_nagios Yes A dictionary that defines the OpenStack image, flavor, and availability zone to use for the CentOS monitoring nodes.
ctrl_sg_name Yes The name of the pre-existing control security group.
max_scale_dag_group Yes The maximum number of layers to which the DAG group will scale.
max_scale_vnf_group Yes The maximum number of layers to which the VNF group will scale.
max_heal_vnfd_dag_ve Yes Maximum number of times a DAG VE will heal before it stops trying and shows an error.
max_heal_vnf_layer Yes Maximum number of times a layer will heal before it stops trying and returns an error.
max_heal_vnf_slave_ve Yes Maximum number of times a slave VE will heal before it stops trying and returns an error.
vnf_layer_cpu_threshold Yes Maximum number of times a slave VE will heal before it stops trying and returns an error.
vnf_layer_cpu_threshold_check_interval Yes Interval between checks, in minutes.
vnf_group_throughput Yes The desired aggregate throughput (Gigabits In Out) for every layer in the group. Example values: 5 for 5 gig, 10 for 10 gig, 0.5 for 500mb.
vnf_group_throughput_threshold Yes New layer is added to group when the percentage of average aggregate layer throughput exceeds this value (for example, 75).
vnf_group_throughput_check_interval Yes Interval between checks, in minutes.
dag_group_cpu_threshold Yes New instance is added to group when the percentage of average aggregate Global TMM CPU usage of all DAG group instances exceeds this value (for example, 75).
dag_group_cpu_threshold_check_interval Yes Interval between checks, in minutes.
mgmt_sg_name Yes The name of the pre-existing management security group.
pgw_sg_name Yes The name of the pre-existing packet gateway (PGW) security group.
pdn_sg_name Yes The name of the pre-existing provider data network (PDN) security group.
snmp_sg_name Yes The name of the pre-existing SNMP security group.
pgw_net Yes The name of the pre-existing PGW network.
pgw_subnet Yes The name of the pre-existing PGW subnetwork.
pdn_net Yes The name of the pre-existing PDN network.
pdn_subnet Yes The name of the pre-existing PDN network subnet.
pgw_dag_net Yes The name of the pre-existing PGW-DAG (VNF ingress) network.
pgw_dag_subnet Yes The name of the pre-existing PGW-DAG network subnet.
pdn_dag_net Yes The name of the pre-existing PDN-DAG (VNF egress) network.
pdn_dag_subnet Yes The name of the pre-existing PDN-DAG network subnet.

AS3 Declaration (for F5 VNFM Gi LAN and Gi Firewall solutions ONLY)

Parameter Required Description
vnf_as3_nsd_payload Yes The F5 AS3 declaration, in YAML format, that defines the service configuration of the VNF instances. Important: You will edit this declaration as appropriate for your solution; however, the VLAN names used in the allowVlans property for each service MUST correspond to the values of the pgw_dag_net (for outbound traffic) a pdn_dag_net inputs (for inbound traffic).

Step 7: Deploy local F5 blueprint

Once you change all the values in the Gi LAN or Base inputs file 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-Service-Layer-GiLAN.yaml
  • F5-VNF-Service-Layer-Firewall.yaml
  • F5-VNF-Service-Layer-Base.yaml
  1. Open F5 VNFM, click Local Blueprints. One of the following blueprint files appear, 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
  2. Click Deploy.
  3. Enter a name, under Deployment Inputs, click clip_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 does not have the correct parameters.

  1. Click Deploy.

Tip

Troubleshooting: If you receive an error at this point, then it is likely related to a missing or 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. 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 blueprint.

  2. 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.
  3. To view the list of Gilan workflows (for example, scale out group, heal VE, etc.) that you can run, on the Deployments blade, click menuIcon next to your Gilan 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.

  4. To view the multiple BIP-IP VEs created by installing your F5 Gilan blueprint, open your OpenStack project and navigate to Compute -> Instances.

Supporting deployment reference topics

Consult the following topics, which provide further discussion and how-to information for performing the previous 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 (the icon of the green man)
    • 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?

Blueprint inputs reference guide