Installing Active/Active High Availability Cluster
To configure the Active/Active HA cluster, you can run the following commands on OpenStack, where openrc my-server
is openrc for the OpenStack, and test
is the stack name.
source ~/elastic-services-controller/esc-bootvm-scripts/openrc my-server-42
openstack stack create test -t aa.yaml
To check the status of the stack, use the following commands:
-
openstack stack list
-
openstack stack show test
-
openstack stack event list test
Once the stack is in CREATE_COMPLETE
status, you can ssh into the VMs. The openstack stack show test
command lists the IP addresses for the 3 VMs, you can use them to access to the VMs.
Note |
The Active/Active HA Cluster is deployed on OpenStack only. |
Setting up the User Configuration
You can configure some of the parameters based on your settings, such as network, subnet, using either static IP or DHCP to
allocate IP address, flavor, image, password, etc. The configurable parameters are available in aa-param.yaml
, Openstack heat environment file, when the ESC cluster is instantiated via heat template (aa.yaml
).
openstack stack create name -t aa.yaml -e aa-params.yaml
sample@my-server-39:~/aa4.5/apr15$ more aa-params.yaml
parameters:
network_1_name: esc-net
subnet_name: esc-subnet
esc_1_ip: 172.23.0.228
esc_2_ip: 172.23.0.229
esc_3_ip: 172.23.0.230
parameters:
network_1_name:
type: string
description: Name of the image
default: esc-net
subnet_name:
type: string
description: subnet name
esc_1_ip:
type: string
description: static IP address of esc-1 VM.
esc_2_ip:
type: string
description: static IP address of esc-2 VM.
esc_3_ip:
type: string
description: static IP address of esc-3 VM.
resources:
esc_1_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: network_1_name }
fixed_ips: [ { "subnet": { get_param: subnet_name}, "ip_address": { get_param: esc_1_ip } } ]
esc_2_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: network_1_name }
fixed_ips: [ { "subnet": { get_param: subnet_name}, "ip_address": { get_param: esc_2_ip } } ]
esc_3_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: network_1_name }
fixed_ips: [ { "subnet": { get_param: subnet_name}, "ip_address": { get_param: esc_3_ip } } ]
...omitting...
sample@my-server-39:~/aa4.5/apr15$ more aa-params.yaml
parameters:
nameprefix: abc
image_name: ESC-5_0_DEV_4
flavor_name: m1.large
sample@my-server-39:~/aa4.5/apr15$
parameters:
nameprefix:
type: string
description: Name prefix of vm
default: helen
image_name:
type: string
description: Name of the image
default: ESC-5_0_DEV_4
flavor_name:
type: string
description: Name of the image
default: m1.large
esc-1:
type: OS::Nova::Server
properties:
name:
str_replace:
template: $nameprefix-esc-1
params:
$nameprefix : { get_param: nameprefix }
image: { get_param: image_name }
flavor: { get_param: flavor_name }
... omitting...