The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This chapter describes how to install Cisco Elastic Services Controller on OpenStack and includes the following sections:
The following sections briefly describe some of the common deployment scenarios that are addressed by ESC.
Cisco Elastic Services Controller can be installed in different modes as per the requirement. These different modes are configured during installation. The following sections briefly describe some of the common deployment scenarios that are addressed by ESC.
In the standalone scenario, a single active VM is deployed for ESC.
ESC supports High Availability (HA) in the form of a Primary and Standby model. Two ESC instances are deployed in the network to prevent ESC failure and provide uninterrupted ESC service. If the primary ESC instance fails, the standby instance automatically takes over the ESC services. ESC HA resolves the following single point failures of ESC:
Network failures
Power failures
Dead VM instance
Scheduled downtime
Hardware issues
Internal application failures
For more information on deploying ESC HA, see 'Configuring High-Availability' in Installing ESC on OpenStack and Installing ESC on VMware chapters.
The Cisco Elastic Service Controller (ESC) setup has the following components:
Virtual Infrastructure Manager—Elastic Services Controller (ESC) and its VNFs are deployed in a Virtual Infrastructure Manager (VIM). This might have one or more underlying physical nodes.
ESC Virtual Machine—The ESC VM is a VM that contains all the services and processes used to register and deploy services. This includes the ESC Manager and all other services. ESC provides Netconf API, REST API, and Portal as north bound interfaces to communicate with ESC. ESC VM contains CLI to interact with ESC VM. There are two CLI one uses the REST API and the other uses Netconf API.
This procedure describes how to create ESC Virtual Machine (VM) in OpenStack.
All system requirements are met as specified in Installation Requirements.
You have the information identified in Preparing for Installation.
Copy the ESC image file on the system accessible by the OpenStack on which you want to install ESC.
./bootvm.py <esc_vm_name> --image <image_name> --net <network> --flavor <flavor_name>
![]() Note | By default, ESC only support DHCP in IPv4 networks. If IPv6 is used, you need to log in the ESC VM and run "dhclient -6 ethX" (ethX is the V6 interface name) manually to enable V6 DHCP. |
Assigning Floating IP to the ESC: If you want to associate a floating IP with the ESC instance , do the following:
$ nova floating-ip-list $ nova floating-ip-associate esc_vm_name <ip_address>
$ nova floating-ip-create external-net $ nova floating-ip-associate esc_vm_name <ip_address>
![]() Note | Before assigning static IP, make sure the static IP is available and is not being used other machine. |
./bootvm.py <esc_vm_name> --image <image_id> --net <network> --ipaddr <ip_address> --gateway_ip <default_gateway_ip_address>
./bootvm.py <esc_vm_name> --image <image_id> --net <network1> <network2> --ipaddr <ip_address1> <ip_address2> --gateway_ip <default_gateway_ip_address>
![]() Note | If --flavor is not specified, bootvm.py will use the default flavor "m1.large" in OpenStack. |
Deploy ESC with log forwarding options: To forward ESC logs to an rsyslog server, specify the IP address of the rsyslog server while creating an ESC VM. Optionally, you can also specify the port and protocol to use.
./bootvm.py <esc_vm_name> --image <image_id> --net esc-net1 --rsyslog_server 10.85.77.94 --rsyslog_server_port 514 --rsyslog_server_protocol udp
./bootvm.py <esc_vm_name> --image <image_id> --net <network> --esc_ui_startup=False
./bootvm.py <esc_vm_name> --image <image_id> --net <network> --enable-https-rest
Deploying ESC with global parameters: To set the global configurations through the esc_params_file during the installation, use the arguments as shown below. These global configurations can also be changed through REST API after the installation.
![]() Note | The default security group is applied to the tenant during tenant creation. By default, the ESC configuration parameter for the security group, openstack.DEFAULT_SECURITY_GROUP_TO_TENANT is set to true. The configuration parameter must be set at the time of installation. You can query or update the parameter on ESC VM through the REST API. If the parameter is set to true, you can create and assign default security group during tenant creation. If the parameter is set to false, you cannot create or assign default security group during tenant creation. For details on the parameters that can be configured through esc_params_file, see Appendix A: Cisco Elastic Services Controller Installer Arguments. |
./bootvm.py <esc_vm_name> --image <image_id> --net <network> --flavor <flavor_name> --user_pass <username>:<password>:<public key file> --esc_params_file <esc parameter configuration file>
Deploying two instances of ESC to build an ESC HA pair: For more information on deploying ESC HA, see Configuring High-Availability in Installing ESC on OpenStack and Installing ESC on VMware chapters.
Changing the admin password on an ESC VM : To change the admin password for better security, do the following:
$ /opt/cisco/esc/confd/bin/confd_cli -u admin $ configure $ set aaa authentication users user admin password ESC3st!234 (ESC3st!234 this is the new password) $ commit