Elastic Services Controller Registration and Deployment Attributes

From DocWiki

Jump to: navigation, search

Cisco Elastic Services Controller (ESC) is a Virtual Network Functions Manager (VNFM), performing life cycle management of Virtual Network Functions (VNFs). ESC provides agentless and multi vendor VNF management by provisioning the virtual services, and monitoring their health and load. ESC provides the flexibility to define rules for monitoring, and associate actions to be triggered based on the outcome of these rules. Based on the monitoring results, ESC performs scale in or scale out on the VNFs. It also supports automatic VM recovery when a VM fails.
Starting from Release 1.1, ESC supports two deployment scenarios. The sections below list the deployment scenarios and also list all the requirement XML files that need to be updated before you initiate the deployment process.

Contents

Deploying VNFs with Service Registration

In ESC Release 1.0, VNF deployment is a two-step process that involves registering the VNFs and then deploying the VNFs. While registering the VNFs, ESC takes the inputs from the reg.xml. Subsequently, while deploying the VNFs, ESC takes the inputs from the dep.xml. These files contain all the necessary attributes about the Virtual Machine (VM), VM types and other configuration details to be understood by ESC.


  <?xml version='1.0' encoding='ASCII'?> <esc_datamodel xmlns="http://www.cisco.com/esc/esc">
<tenants>
<tenant>
<name>vMS_vIPS</name>
<services>
<service_definition>
<deployment_name>vIPS</deployment_name>
<name>vIPS</name>
<version>1.0</version>
………….
<vm_group>
<name>CSR</name>

For more details, see the Registering and Deploying VNFs chapters in the Cisco Elastic Services Controller User Guide.

Deploying VNFs without Service Registration

Starting from ESC 1.1 Release, you can also deploy VNFs without prior registration by using the dep.xml. However, to deploy VNFs without registering VNFs, you need to include additional arguments in the dep.xml. In addition, before you can deploy a VNF, you need update image.xml and flavor.xml files.

<?xml version='1.0' encoding='ASCII'?> <esc_datamodel xmlns="http://www.cisco.com/esc/esc"> 
<tenants tags="merge">
<tenant>
<name>{$TENANT}</name>
<deployments>
<deployment>
<name>{$DEPNAME}</name>
…………….
<vm_group>
 <name>CSR</name>

This section explains the Elastic Services Controller (ESC) registration and deployment attributes
Registration Attributes
Deployment Attributes
Image Attributes
Flavor Attributes

XML Attributes



Registration Attributes

Table 1: Registration (reg.xml) Attributes

Attributes Data Type Description
service_definition list List of services.
version string Version of the service.
name string Name of the service.
vm_group
vm_group list This section allows one to define properties such as disk, number of CPUs, amount of memory
disk container Describes properties of the disk.
src string Indicates to ESC the source of the image. It could be either a URL from which ESC will download the image (http://...), or a file location path on the ESC VM itself (file://...).
disk_format enum (qcow2, raw, vmdk) Describes the format of the disk. For example, qcow.
e1000_net
boolean Set to true if image has e1000 drivers.
virtio_net
boolean Set to true if image has virtio drivers.
disk_bus enum (ide, scsi, virtio) Root disk bus. The values are ide, scsi, or virtio.
vm_flavor
Describes CPU and memory properties.
vcpus integer Number of virtual CPUs per VM instance.
memory_mb integer Amount of memory in Mega Bytes per VM instance.
root_disk_mb integer Virtual root disk size in gigabytes. This is an ephemeral disk the base image is copied into. You don't use it when you boot from a persistent volume. The "0" size is a special case that uses the native base image size as the size of the ephemeral root volume.
ephemeral_disk_mb integer Specifies the size of a secondary ephemeral data disk. This is an empty, un-formatted disk and exists only for the life of the instance.
swap_disk_mb integer Optional swap space allocation for the instance.



Deployment Attributes

Tale 2: Deployment (dep.xml) Attributes

Attributes Data Type Description
tenant list List of tenants.
name string Name of the tenant.
service registration (For Deploying VNFs with Service Registration)
service list List of services.
service_definition list List of services requested by the user.
deployment_name
string
Name specified by the user. Multiple deployments of the same service can be available, but each deployment must be identified by a unique name.
name
string
Name of the service.
version string Version of the service.
deployment (For Deploying VNFs without Service Registration)
deployments list List of deployments.
deployment list List of deployments.
name string Name of the deployment.
vm_group
vm_group list This section allows you to define properties such as number of interfaces, type of monitoring, monitoring frequency, type of events, scaling mechanism, elasticity properties, and so on for each VM in this group. This represents a type of VM. For example, if one needs two webservers in a deployment, only one VM instance is defined and number of instances is set to 2 in the scaling section. If there are two types of VMs, for example a webserver and a database server, then such a service will have two vm_groups: one for webserver and another for database server.
name string Describes the name of the VM group.
placement
container Placement policy specification. Specifying it as a list allows us to define different placement policies among different combination of vm_groups.
type
enum (affinity/anti-affinity/host_placement/zone_placement/zone-host) affinity/anti_affinity/host_placement/zone_placement
enforcement
enum (strict/loose) Strict or Loose.
host
string Host on which the VMs of group specified above should be deployed on.
zone
string Zone on which the VMs of group specified above should be deployed on.
bootup_time integer Time in seconds that this VM takes to perform a cold boot. This will be the time that ESC waits before deciding that the VM is un-bootable.
recovery_wait_time integer Time in seconds for the VM to perform a normal warm reboot. This is used to avoid premature VM recovery in case VM becomes unresponsive due to operator reboot. This is important as VM recovery will result in loss of data that is stored on root disk. If speedy recovery is more important than the data on the root disk, this value can be optionally set to 0.
recovery_policy string Specifies the type of recovery policy.
action_on_recovery string Specifies the type of recovery policy. Values are REBOOT_THEN_REDEPLOY, REBOOT, REDEPLOY.
image
string Refers to the pre-existing image on VIM.
flavor string Refers to the pre-existing flavor on VIM.
interfaces list Specifies number of interfaces and properties for each interface. The order of the interfaces specified here does not correspond to the order of the interfaces in the VM.
nicid
integer
Logical ID for the interfaces. This is used later in the KPI section to link on which nic the monitoring should happen.
mac_address
ietf-macaddress
Static MAC address for this interface.
network string Network to which this interface needs to be attached.
type string Configures Single Root I/O Virtualization. Setting the type of interface as direct configures SR-IOV.
ip_address ietf-ipaddress Static IP address for this interface.
zone string The availability zone in which the VMs of group specified above should be deployed into.
kpi
kpi
list
Specify the monitoring rules that will be used to configure the monitor module with in ESC.
event_name string A user defined event name. Corresponding event name should exist in the rules section. Monitor module informs the event generator when the event has to be triggered.VM_ALIVE.
metric_value string Threshold value that should be checked by monitor module.
metric_cond enum (GT, LT, EQ, GE, LE) Supported conditions for the metric are GT, LT, EQ, GE, LE.
metric_type integer Supported metric types are INT8, UINT8, INT16, UINT16, INT32, UINT32, FLOAT, DOUBLE, STRING.
metric_occurrences_true integer Number of successive polling cycles monitoring module finds the condition to be true before sending an event
metric_occurrences_false integer Number of successive polling cycles monitoring module finds the condition to be false before sending an event
metric_collector container This section provides information about the metrics that needs to be monitored and at what frequency should the monitoring happen
type string Type that monitor module should monitor. Example: ICMP Ping. These are the types that are supported by the monitoring module. List of all supported names is monitor module dependent and the reader is advised to refer to the documentation of the monitor module used in a specific implementation.
poll_frequency integer Frequency with which the metric should be polled by the monitor module.
polling_unit enum (minutes, seconds) Units of poll frequency in seconds or minutes.
rules
admin_rules container These are the rules that an administrator specifies when the service is registered. This action is taken for each and every deployment of the service.
rule
list
Actions that should be taken by ESC or by some other module on behalf of ESC when an event is triggered by the event. Every rule will have a name and an action script associated with it. The action script is a URL from where ESC downloads the script and executes when and event corresponding.
event_name string Corresponding event name must be present in the monitoring section.
action string Action associated with the above event. Values are ALWAYS log, TRUE servicebooted.sh, FALSE recover autohealing.There is a specific format for this and the description must be updated with more useful information.
config_data string
scaling
scaling
container
Specifies how many instances of a particular type of VM needs to be instantiated and whether elastic scale in and scale out is required.
min_active
integer
Describes the minimum number of VMs in the deployment. Irrespective of what the load is on these VMs, ESC ensures at least the minimum number of service VMs will always be running.
max_active
integer
Describes the maximum number of active VMs to be activated by ESC. New VMs are activated when the load increases.
elastic
container
Request elastic scale-in and scale-out. By default the value is set to true.
static_ip_address_pool
string
Lists the IP addresses.
placement
string
Specifies the type of VM placement.
type
string (host/zone/zone-host)
Specifies the type of VM placement. Values are host, zone, zone-host.
zone
string
Specifies the cluster.
configuration container This enables to pass day-0 configuration data into the service VM. There are two ways: File, and inline data. In either case a CDROM is created with the contents of the configuration data and is attached to the VM.



Image Attributes

Table 3: Image (image.xml) Attributes

Attributes Data Type Description
name string Name of the image.
src string Indicates to ESC the source of the image. It could be either a URL from which ESC will download the image (http://...), or a file location path on the ESC VM itself (file://...).
disk_format enum (qcow2, raw, vmdk) Describes the format of the disk. For example, qcow.
container_format enum (bare) Describes the format of the container. For example, bare.
serial_console boolean Set to true if the image has serial console.
disk_bus enum (ide, scsi, virtio) Root disk bus. The values are ide, scsi, or virtio.




Flavor Attributes

Table 4: Flavor (flavor.xml) Attributes


Attributes Data Type Description
name string Name of the flavor.
vcpus integer Number of virtual CPUs per VM instance.
memory_mb integer Amount of memory in Mega Bytes per VM instance.
root_disk_mb integer Virtual root disk size in gigabytes. This is an ephemeral disk the base image is copied into. You don't use it when you boot from a persistent volume. The "0" size is a special case that uses the native base image size as the size of the ephemeral root volume.
ephemeral_disk_mb integer Specifies the size of a secondary ephemeral data disk. This is an empty, un-formatted disk and exists only for the life of the instance.
swap_disk_mb integer Optional swap space allocation for the instance.

Rating: 0.0/5 (0 votes cast)

Personal tools