Deploy the ASA Virtual on OpenStack

You can deploy the ASA virtual on OpenStack.

Overview

You can deploy the ASA virtual in an OpenStack environment. OpenStack is a set of software tools for building and managing cloud computing platforms for public and private clouds, and is tightly integrated with the KVM hypervisor.

Enabling OpenStack platform support for ASA virtual allows you to run ASA virtual on open source cloud platforms. OpenStack uses a KVM hypervisor to manage virtual resources. ASA virtual devices are already supported on KVM hypervisor. Therefore, there is no extra addition of kernel packages or drivers to enable OpenStack support.

Prerequisites for the ASA Virtual and OpenStack

Guidelines and Limitations

Supported Features

The ASA virtual on OpenStack supports the following features:

  • Deployment of ASA virtual on the KVM hypervisor running on a compute node in your OpenStack environment.

  • OpenStack CLI

  • Heat template-based deployment

  • OpenStack Horizon dashboard

  • Licensing – Only BYOL is supported

  • ASA virtual management using the CLI and ASDM

  • Drivers - VIRTIO and SRIOV

  • IPv6

Unsupported Features

The ASA virtual on OpenStack does not support the following:

  • Autoscale

  • Cluster

System Requirements

The OpenStack environment must conform to the following supported hardware and software requirements.

Table 1. Hardware and Software Requirements

Category

Supported Versions

Notes

Server

UCS C240 M5

2 UCS servers are recommended, one each for os-controller and os-compute nodes.

Driver

VIRTIO, IXGBE, and I40E

These are the supported drivers.

Operating System

Ubuntu Server 20.04

This is the recommended OS on UCS servers.

OpenStack Version

Wallaby release

Details of the various OpenStack releases are available at:

https://releases.openstack.org/

Table 2. Hardware and Software Requirements for Cisco VIM Managed OpenStack

Category

Supported Versions

Notes

Server Hardware

UCS C220-M5/UCS C240-M4

5 UCS servers are recommended, three each for os-controller and Two or more for os-compute nodes.

Drivers

VIRTIO, IXGBE, and I40E

These are the supported drivers.

Cisco VIM Version

Cisco VIM 4.4.3

Supported on:

  • Operating System - Red Hat Enterprise Linux 8.4

  • OpenStack version - OpenStack 16.2 (Train Release)

See Cisco Virtualized Infrastructure Manager Documentation, 4.4.3 for more information.

Figure 1. OpenStack Platform Topology

OpenStack platform topology shows the general OpenStack setup on two UCS servers.

Sample Network Topology

The following figure shows the recommended network topology for the ASA virtual in Routed Firewall Mode with 3 subnets configured in OpenStack for the ASA virtual (management, inside, and outside).

Figure 2. Sample ASA Virtual on OpenStack Deployment

Deploy the ASA Virtual

Cisco provides sample heat templates for deploying the ASA virtual. Steps for creating the OpenStack infrastructure resources are combined in a heat template (deploy_os_infra.yaml) file to create networks, subnets, and router interfaces. At a high-level, the ASA virtual deployment steps are categorized into the following sections.
  • Upload the ASA virtual qcow2 image to the OpenStack Glance service.

  • Create the network infrastructure.

    • Network

    • Subnet

    • Router interface

  • Create the ASA virtual instance.

    • Flavor

    • Security Groups

    • Floating IP

    • Instance

You can deploy the ASA virtual on OpenStack using the following steps.

Upload the ASA Virtual Image to OpenStack

Copy the qcow2 image (asav-<version>.qcow2) to the OpenStack controller node, and then upload the image to the OpenStack Glance service.

Before you begin

Download the ASA virtual qcow2 file from Cisco.com and put it on your Linux host:

http://www.cisco.com/go/asa-software


Note


A Cisco.com login and Cisco service contract are required.


Procedure


Step 1

Copy the qcow2 image file to the OpenStack controller node.

Step 2

Upload the ASA virtual image to the OpenStack Glance service.

root@ucs-os-controller:$ openstack image create <image_name> --public --disk-
format qcow2 --container-format bare --file ./<asav_qcow2_file>

Step 3

Verify if the ASA virtual image upload is successful.

root@ucs-os-controller:$ openstack image list

Example:

root@ucs-os-controller:$ openstack image list
+--------------------------------------+----------------------+--------+
| ID                                   | Name                 | Status |+
| 06dd7975-0b6e-45b8-810a-4ff98546a39d | asav-<version>-image | active |+
The uploaded image and its status is displayed.

What to do next

Create the network infrastructure using the deploy_os_infra.yaml template.

Create the Network Infrastructure for OpenStack and ASA Virtual

Before you begin

Heat template files are required to create the network infrastructure and the required components for ASA virtual, such as flavor, networks, subnets, router interfaces, and security group rules:

  • deploy_os_infra.yaml

  • env.yaml

Templates for your ASA virtual version are available from the GitHub repository at ASA Virtual OpenStack heat template.


Important


Note that Cisco-provided templates are provided as open source examples, and are not covered within the regular Cisco TAC support scope. Check GitHub regularly for updates and ReadMe instructions.


Procedure


Step 1

Deploy the infrastructure heat template file.

root@ucs-os-controller:$ openstack stack create <stack-name> -e <environment files name> -t <deployment file name>

Example:

root@ucs-os-controller:$ openstack stack create infra-stack -e env.yaml -t deploy_os_infra.yaml

Step 2

Verify if the infrastructure stack is created successfully.

root@ucs-os-controller:$ openstack stack list


What to do next

Create the ASA virtual instance on OpenStack.

Create the ASA Virtual Instance on OpenStack

Use the sample ASA virtual heat template to deploy ASA virtual on OpenStack.

Before you begin

A heat template is required to deploy the ASA virtual on OpenStack:

  • deploy_asav.yaml

Templates for your ASA virtual version are available from the GitHub repository at ASA Virtual OpenStack heat template.


Important


Note that Cisco-provided templates are provided as open source examples, and are not covered within the regular Cisco TAC support scope. Check GitHub regularly for updates and ReadMe instructions.


Procedure


Step 1

Deploy the ASA virtual heat template file (deploy_asav.yaml) to create the ASA virtual instance.

root@ucs-os-controller:$ openstack stack create asav-stack -e env.yaml-t deploy_asav.yaml

Example:

+---------------------+-----------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| id                  | 14624af1-e5fa-4096-bd86-c453bc2928ae |
| stack_name          | asav-stack                           |
| description         | ASAvtemplate                         |
| updated_time        | None                                 |
| stack_status        | CREATE_IN_PROGRESS                   |
| stack_status_reason | Stack CREATE started                 |
+---------------------+--------------------------------------+

Step 2

Verify that your ASA virtual stack is created successfully.

root@ucs-os-controller:$ openstack stack list

Example:

+--------------------------------------+-------------+----------------------------------+--------+
| ID                                   | Stack Name  | Project                          | Stack Status    |
+--------------------------------------+-------------+----------------------------------+-----------------+
| 14624af1-e5fa-4096-bd86-c453bc2928ae | asav-stack  | 13206e49b48740fdafca83796c6f4ad5 | CREATE_COMPLETE |
| 198336cb-1186-45ab-858f-15ccd3b909c8 | infra-stack | 13206e49b48740fdafca83796c6f4ad5 | CREATE_COMPLETE |
+--------------------------------------+-------------+----------------------------------+-----------------+