Implement SSL+x509 for mysql/rabbitmq with octavia

Add metadata to create SSL certs for mysql/rabbitmq communication and
octavia.

Change-Id: I94573c38a7050452f7597065263c64adc300abc3
Related-Prod: PROD-26938
(cherry picked from commit 27c33dddee91d98db314cc17a2ab29f097faf39a)
diff --git a/salt/minion/cert/rabbitmq/clients/openstack/octavia.yml b/salt/minion/cert/rabbitmq/clients/openstack/octavia.yml
new file mode 100644
index 0000000..cfab240
--- /dev/null
+++ b/salt/minion/cert/rabbitmq/clients/openstack/octavia.yml
@@ -0,0 +1,27 @@
+parameters:
+  _param:
+    salt_minion_ca_authority: salt_master_ca
+    rabbitmq_octavia_client_ssl_key_file: /etc/octavia/ssl/rabbitmq/client-key.pem
+    rabbitmq_octavia_client_ssl_cert_file: /etc/octavia/ssl/rabbitmq/client-cert.pem
+    rabbitmq_octavia_ssl_ca_file: /etc/octavia/ssl/rabbitmq/ca-cert.pem
+  salt:
+    minion:
+      cert:
+        rabbitmq-octavia-client:
+          enabled: ${_param:openstack_rabbitmq_x509_enabled}
+          host: ${_param:salt_minion_ca_host}
+          authority: ${_param:salt_minion_ca_authority}
+          common_name: rabbitmq-octavia-client
+          signing_policy: cert_client
+          alternative_names: >
+            IP:${_param:cluster_local_address},
+            DNS:${_param:cluster_local_address},
+            DNS:${linux:system:name},
+            DNS:${linux:network:fqdn}
+          key_usage: "digitalSignature,nonRepudiation,keyEncipherment"
+          key_file: ${_param:rabbitmq_octavia_client_ssl_key_file}
+          cert_file: ${_param:rabbitmq_octavia_client_ssl_cert_file}
+          ca_file: ${_param:rabbitmq_octavia_ssl_ca_file}
+          user: octavia
+          group: octavia
+          mode: 640