Octavia manager services clusterization
Related-PROD: PROD-25309
Change-Id: I16476cb1fdbc499033c7fce8a91d8cb5cb817a00
diff --git a/defaults/openstack/init.yml b/defaults/openstack/init.yml
index b568945..2619563 100644
--- a/defaults/openstack/init.yml
+++ b/defaults/openstack/init.yml
@@ -112,6 +112,10 @@
horizon_old_version: ${_param:openstack_old_version}
horizon_version: ${_param:openstack_version}
horizon_upgrade_enabled: ${_param:openstack_upgrade_enabled}
+ # Octavia
+ octavia_health_manager_node01_address: 192.168.10.10
+ octavia_health_manager_node02_address: 192.168.10.11
+ octavia_health_manager_node03_address: 192.168.10.12
# HAproxy
haproxy_openstack_web_bind_port: ${_param:horizon_public_port}
#
diff --git a/neutron/client/service/octavia/cluster.yml b/neutron/client/service/octavia/cluster.yml
new file mode 100644
index 0000000..09191f2
--- /dev/null
+++ b/neutron/client/service/octavia/cluster.yml
@@ -0,0 +1,33 @@
+classes:
+- system.neutron.client.service.octavia
+
+parameters:
+ neutron:
+ client:
+ server:
+ octavia_identity:
+ endpoint_type: internalURL
+ network:
+ lb-mgmt-net:
+ port:
+ octavia-health-manager-listen-port-gtw01:
+ fixed_ips:
+ - ip_address: ${_param:octavia_health_manager_node01_address}
+ device_owner: Octavia:health-mgr
+ binding_host_id: ${_param:openstack_gateway_node01_hostname}
+ security_groups:
+ - lb-health-mgr-sec-grp
+ octavia-health-manager-listen-port-gtw02:
+ fixed_ips:
+ - ip_address: ${_param:octavia_health_manager_node02_address}
+ device_owner: Octavia:health-mgr
+ binding_host_id: ${_param:openstack_gateway_node02_hostname}
+ security_groups:
+ - lb-health-mgr-sec-grp
+ octavia-health-manager-listen-port-gtw03:
+ fixed_ips:
+ - ip_address: ${_param:octavia_health_manager_node03_address}
+ device_owner: Octavia:health-mgr
+ binding_host_id: ${_param:openstack_gateway_node03_hostname}
+ security_groups:
+ - lb-health-mgr-sec-grp
\ No newline at end of file
diff --git a/neutron/client/service/octavia.yml b/neutron/client/service/octavia/init.yml
similarity index 85%
rename from neutron/client/service/octavia.yml
rename to neutron/client/service/octavia/init.yml
index f9cc934..57b7b65 100644
--- a/neutron/client/service/octavia.yml
+++ b/neutron/client/service/octavia/init.yml
@@ -1,5 +1,3 @@
-classes:
-- service.neutron.client
parameters:
neutron:
client:
@@ -16,14 +14,6 @@
allocation_pools:
- start: ${_param:octavia_lb_mgmt_allocation_pool_start}
end: ${_param:octavia_lb_mgmt_allocation_pool_end}
- port:
- octavia-health-manager-listen-port:
- fixed_ips:
- - ip_address: ${_param:octavia_hm_bind_ip}
- device_owner: Octavia:health-mgr
- binding_host_id: ${_param:openstack_gateway_node01_hostname}
- security_groups:
- - lb-health-mgr-sec-grp
security_group:
lb-mgmt-sec-grp:
tenant: service
@@ -86,5 +76,5 @@
profile: 'octavia_identity'
list_octavia_hm_ports:
mine_function: neutronng.list_ports
- name: 'octavia-health-manager-listen-port'
+ device_owner: 'Octavia:health-mgr'
profile: 'octavia_identity'
diff --git a/neutron/client/service/octavia/single.yml b/neutron/client/service/octavia/single.yml
new file mode 100644
index 0000000..b5b65ea
--- /dev/null
+++ b/neutron/client/service/octavia/single.yml
@@ -0,0 +1,19 @@
+classes:
+- system.neutron.client.service.octavia
+
+parameters:
+ neutron:
+ client:
+ server:
+ octavia_identity:
+ endpoint_type: internalURL
+ network:
+ lb-mgmt-net:
+ port:
+ octavia-health-manager-listen-port:
+ fixed_ips:
+ - ip_address: ${_param:octavia_health_manager_node01_address}
+ device_owner: Octavia:health-mgr
+ binding_host_id: ${_param:openstack_gateway_node01_hostname}
+ security_groups:
+ - lb-health-mgr-sec-grp
diff --git a/octavia/manager/cluster.yml b/octavia/manager/cluster.yml
new file mode 100644
index 0000000..4422871
--- /dev/null
+++ b/octavia/manager/cluster.yml
@@ -0,0 +1,19 @@
+classes:
+- service.octavia.manager.cluster
+
+parameters:
+ octavia:
+ manager:
+ enabled: true
+ version: ${_param:octavia_version}
+ ssh:
+ private_key: ${_param:octavia_private_key}
+ user: octavia
+ group: octavia
+ database:
+ host: ${_param:openstack_database_address}
+ identity:
+ region: ${_param:openstack_region}
+ protocol: ${_param:cluster_internal_protocol}
+ message_queue:
+ host: ${_param:openstack_message_queue_address}
diff --git a/reclass/storage/system/openstack_gateway_cluster_octavia.yml b/reclass/storage/system/openstack_gateway_cluster_octavia.yml
new file mode 100644
index 0000000..772ea37
--- /dev/null
+++ b/reclass/storage/system/openstack_gateway_cluster_octavia.yml
@@ -0,0 +1,19 @@
+parameters:
+ reclass:
+ storage:
+ node:
+ openstack_gateway_node01:
+ classes:
+ - cluster.${_param:cluster_name}.openstack.octavia_manager
+ params:
+ octavia_hm_bind_ip: ${_param:octavia_health_manager_node01_address}
+ openstack_gateway_node02:
+ classes:
+ - cluster.${_param:cluster_name}.openstack.octavia_manager
+ params:
+ octavia_hm_bind_ip: ${_param:octavia_health_manager_node02_address}
+ openstack_gateway_node03:
+ classes:
+ - cluster.${_param:cluster_name}.openstack.octavia_manager
+ params:
+ octavia_hm_bind_ip: ${_param:octavia_health_manager_node03_address}
\ No newline at end of file
diff --git a/reclass/storage/system/openstack_gateway_single_octavia.yml b/reclass/storage/system/openstack_gateway_single_octavia.yml
index 2a5b952..8c64831 100644
--- a/reclass/storage/system/openstack_gateway_single_octavia.yml
+++ b/reclass/storage/system/openstack_gateway_single_octavia.yml
@@ -5,3 +5,6 @@
openstack_gateway_node01:
classes:
- cluster.${_param:cluster_name}.openstack.octavia_manager
+ params:
+ octavia_hm_bind_ip: ${_param:octavia_health_manager_node01_address}
+
diff --git a/salt/minion/ca/octavia_amphora_ca.yml b/salt/minion/ca/octavia_amphora_ca.yml
index 6865977..2ca132a 100644
--- a/salt/minion/ca/octavia_amphora_ca.yml
+++ b/salt/minion/ca/octavia_amphora_ca.yml
@@ -1,10 +1,33 @@
-classes:
-- system.salt.minion.ca.octavia_ca
-
parameters:
+ _param:
+ octavia_ca_common_name: Octavia CA
+ octavia_ca_country: cz
+ octavia_ca_locality: Prague
+ octavia_ca_organization: Mirantis
+ octavia_ca_days_valid_authority: 3650
+ octavia_ca_days_valid_certificate: 365
salt:
minion:
ca:
octavia_ca:
ca_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/octavia/ca_01.pem
- ca_key_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/octavia/ca.key
\ No newline at end of file
+ ca_key_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/octavia/ca.key
+ common_name: ${_param:octavia_ca_common_name}
+ country: ${_param:octavia_ca_country}
+ locality: ${_param:octavia_ca_locality}
+ organization: ${_param:octavia_ca_organization}
+ signing_policy:
+ cert_server:
+ type: v3_edge_cert_server
+ minions: '*'
+ cert_client:
+ type: v3_edge_cert_client
+ minions: '*'
+ cert_open:
+ type: v3_edge_cert_open
+ minions: '*'
+ days_valid:
+ authority: ${_param:octavia_ca_days_valid_authority}
+ certificate: ${_param:octavia_ca_days_valid_certificate}
+ user: octavia
+ group: octavia
\ No newline at end of file