Add api and manager states and metadata
* api state configures and starts octavia-api service
* manager state configures and starts the following services:
- octavia-worker
- octavia-health-manager
- octavia-housekeeping
Added tests and updated the README.rst
Change-Id: I41c3097ff400b07d659d8aa845d295fbda480cd3
diff --git a/metadata/service/api/cluster.yml b/metadata/service/api/cluster.yml
new file mode 100644
index 0000000..a7d55fd
--- /dev/null
+++ b/metadata/service/api/cluster.yml
@@ -0,0 +1,43 @@
+applications:
+- octavia
+classes:
+- service.octavia.support
+parameters:
+ _param:
+ keystone_octavia_endpoint_type: internal
+ octavia_api_bind_address: ${_param:cluster_local_address}
+ octavia_api_bind_port: 9876
+ octavia:
+ api:
+ enabled: true
+ version: ${_param:octavia_version}
+ debug: true
+ bind:
+ address: ${_param:octavia_api_bind_address}
+ port: ${_param:octavia_api_bind_port}
+ database:
+ engine: mysql
+ host: ${_param:cluster_vip_address}
+ port: 3306
+ name: octavia
+ user: octavia
+ password: ${_param:mysql_octavia_password}
+ identity:
+ engine: keystone
+ region: RegionOne
+ host: ${_param:cluster_vip_address}
+ port: 35357
+ user: octavia
+ password: ${_param:keystone_octavia_password}
+ tenant: service
+ endpoint_type: ${_param:keystone_octavia_endpoint_type}
+ message_queue:
+ engine: rabbitmq
+ host: ${_param:cluster_vip_address}
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ haproxy_amphora:
+ client_cert: '/etc/octavia/certs/client.pem'
+ server_ca: '/etc/octavia/certs/ca_01.pem'
diff --git a/metadata/service/api/single.yml b/metadata/service/api/single.yml
new file mode 100644
index 0000000..532ec9b
--- /dev/null
+++ b/metadata/service/api/single.yml
@@ -0,0 +1,41 @@
+applications:
+- octavia
+classes:
+- service.octavia.support
+parameters:
+ _param:
+ keystone_octavia_endpoint_type: internal
+ octavia:
+ api:
+ enabled: true
+ version: ${_param:octavia_version}
+ debug: true
+ bind:
+ address: ${_param:single_address}
+ port: 9876
+ database:
+ engine: mysql
+ host: ${_param:single_address}
+ port: 3306
+ name: octavia
+ user: octavia
+ password: ${_param:mysql_octavia_password}
+ identity:
+ engine: keystone
+ region: RegionOne
+ host: ${_param:single_address}
+ port: 35357
+ user: octavia
+ password: ${_param:keystone_octavia_password}
+ tenant: service
+ endpoint_type: ${_param:keystone_octavia_endpoint_type}
+ message_queue:
+ engine: rabbitmq
+ host: ${_param:single_address}
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ haproxy_amphora:
+ client_cert: '/etc/octavia/certs/client.pem'
+ server_ca: '/etc/octavia/certs/ca_01.pem'
diff --git a/metadata/service/control/single.yml b/metadata/service/control/single.yml
deleted file mode 100644
index 1d5b3af..0000000
--- a/metadata/service/control/single.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-applications:
-- octavia
-classes:
-- service.octavia.support
-parameters:
- octavia:
- server:
- enabled: true
\ No newline at end of file
diff --git a/metadata/service/manager/single.yml b/metadata/service/manager/single.yml
new file mode 100644
index 0000000..fd05a15
--- /dev/null
+++ b/metadata/service/manager/single.yml
@@ -0,0 +1,55 @@
+applications:
+- octavia
+classes:
+- service.octavia.support
+parameters:
+ _param:
+ keystone_octavia_endpoint_type: internal
+ octavia:
+ manager:
+ enabled: true
+ version: ${_param:octavia_version}
+ debug: true
+ database:
+ engine: mysql
+ host: ${_param:cluster_vip_address}
+ port: 3306
+ name: octavia
+ user: octavia
+ password: ${_param:mysql_octavia_password}
+ identity:
+ engine: keystone
+ region: RegionOne
+ host: ${_param:cluster_vip_address}
+ port: 35357
+ user: octavia
+ password: ${_param:keystone_octavia_password}
+ tenant: service
+ endpoint_type: ${_param:keystone_octavia_endpoint_type}
+ message_queue:
+ engine: rabbitmq
+ host: ${_param:cluster_vip_address}
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ certificates:
+ ca_private_key_passphrase: foobar
+ ca_private_key: '/etc/octavia/certs/private/cakey.pem'
+ ca_certificate: '/etc/octavia/certs/ca_01.pem'
+ controller_worker:
+ amp_boot_network_list: ${_param:amp_boot_network_list}
+ amp_flavor_id: ${_param:amp_flavor_id}
+ amp_image_owner_id: ${_param:amp_image_owner_id}
+ amp_image_tag: amphora
+ amp_secgroup_list: ${_param:amp_secgroup_list}
+ amp_ssh_key_name: octavia_ssh_key
+ loadbalancer_topology: 'SINGLE'
+ haproxy_amphora:
+ client_cert: '/etc/octavia/certs/client.pem'
+ server_ca: '/etc/octavia/certs/ca_01.pem'
+ health_manager:
+ bind_ip: ${_param:octavia_hm_bind_ip}
+ heartbeat_key: 'insecure'
+ house_keeping:
+ spare_amphora_pool_size: 0