diff --git a/defaults/main.yml b/defaults/main.yml index 5d68e67..9559d4a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -67,12 +67,24 @@ designate_galera_database: designate designate_galera_use_ssl: "{{ galera_use_ssl | default(False) }}" designate_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('/etc/ssl/certs/galera-ca.pem') }}" +## Oslo Messaging +# RPC +designate_oslomsg_rpc_transport: rabbit +designate_oslomsg_rpc_servers: 127.0.0.1 +designate_oslomsg_rpc_port: 5672 +designate_oslomsg_rpc_use_ssl: False +designate_oslomsg_rpc_userid: designate-rpc +designate_oslomsg_rpc_vhost: /designate + +# Notify +designate_oslomsg_notify_transport: rabbit +designate_oslomsg_notify_servers: 127.0.0.1 +designate_oslomsg_notify_port: 5672 +designate_oslomsg_notify_use_ssl: False +designate_oslomsg_notify_userid: designate-notify +designate_oslomsg_notify_vhost: /designate + ## RabbitMQ info -designate_rabbitmq_userid: designate -designate_rabbitmq_vhost: /designate -designate_rabbitmq_servers: 127.0.0.1 -designate_rabbitmq_use_ssl: False -designate_rabbitmq_port: 5672 ## Pool Configuration Defaults designate_pool_uuid: 794ccc2c-d751-44fe-b57f-8894c9f5c842 diff --git a/doc/source/index.rst b/doc/source/index.rst index 3c606c4..d7da832 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -39,7 +39,8 @@ This role needs the following variables defined: designate_galera_address designate_galera_password designate_service_password - designate_rabbitmq_password + designate_oslomsg_rpc_password + designate_oslomsg_notify_password Example playbook ~~~~~~~~~~~~~~~~ diff --git a/examples/playbook.yml b/examples/playbook.yml index 6d0ca94..7a697db 100644 --- a/examples/playbook.yml +++ b/examples/playbook.yml @@ -9,4 +9,5 @@ designate_galera_address: "{{ internal_lb_vip_address }}" designate_galera_password: "SuperSecretePassword1" designate_service_password: "SuperSecretePassword3" - designate_rabbitmq_password: "SuperSecretePassword4" + designate_oslomsg_rpc_password: "SuperSecretePassword4" + designate_oslomsg_notify_password: "SuperSecretePassword5" diff --git a/releasenotes/notes/oslo-messaging-separate-backends-87f2d1a15c202f73.yaml b/releasenotes/notes/oslo-messaging-separate-backends-87f2d1a15c202f73.yaml new file mode 100644 index 0000000..e7fa7f2 --- /dev/null +++ b/releasenotes/notes/oslo-messaging-separate-backends-87f2d1a15c202f73.yaml @@ -0,0 +1,20 @@ +--- +features: + - Support separate oslo.messaging services for RPC and Notifications + to enable operation of separate and different messaging backend servers. +deprecations: + - | + The rabbitmq server parameters have been replaced by corresponding + oslo.messaging RPC and Notify parameters in order to abstract the + messaging service from the actual backend server deployment. + - designate_oslomsg_rpc_servers replaces designate_rabbitmq_servers + - designate_oslomsg_rpc_port replaces designate_rabbitmq_port + - designate_oslomsg_rpc_use_ssl replaces designate_rabbitmq_use_ssl + - designate_oslomsg_rpc_userid replaces designate_rabbitmq_userid + - designate_oslomsg_rpc_vhost replaces designate_rabbitmq_vhost + - designate_oslomsg_notify_servers replaces designate_rabbitmq_telemetry_servers + - designate_oslomsg_notify_port replaces designate_rabbitmq_telemetry_port + - designate_oslomsg_notify_use_ssl replaces designate_rabbitmq_telemetry_use_ssl + - designate_oslomsg_notify_userid replaces designate_rabbitmq_telemetry_userid + - designate_oslomsg_notify_vhost replaces designate_rabbitmq_telemetry_vhost + - designate_oslomsg_notify_password replaces designate_rabbitmq_telemetry_password diff --git a/templates/designate.conf.j2 b/templates/designate.conf.j2 index df144fb..e00196d 100644 --- a/templates/designate.conf.j2 +++ b/templates/designate.conf.j2 @@ -29,14 +29,17 @@ root_helper = sudo designate-rootwrap /etc/designate/rootwrap.conf #network_api = neutron ## RabbitMQ RPC -transport_url = rabbit://{% for host in designate_rabbitmq_servers.split(',') %}{{ designate_rabbitmq_userid }}:{{ designate_rabbitmq_password }}@{{ host }}:{{ designate_rabbitmq_port }}{% if not loop.last %},{% else %}/{{ designate_rabbitmq_vhost }}{% endif %}{% endfor %} +transport_url = {{ designate_oslomsg_rpc_transport }}://{% for host in designate_oslomsg_rpc_servers.split(',') %}{{ designate_oslomsg_rpc_userid }}:{{ designate_oslomsg_rpc_password }}@{{ host }}:{{ designate_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ designate_oslomsg_rpc_vhost }}{% if designate_oslomsg_rpc_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} # RabbitMQ Config [oslo_messaging_rabbit] -ssl = {{ designate_rabbitmq_use_ssl }} +ssl = {{ designate_oslomsg_rpc_use_ssl }} rabbit_notification_exchange = designate rabbit_notification_topic = notifications +[oslo_messaging_notifications] +transport_url = {{ designate_oslomsg_notify_transport }}://{% for host in designate_oslomsg_notify_servers.split(',') %}{{ designate_oslomsg_notify_userid }}:{{ designate_oslomsg_notify_password }}@{{ host }}:{{ designate_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ designate_oslomsg_notify_vhost }}{% if designate_oslomsg_notify_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} + ######################## ## Service Configuration ######################## diff --git a/tests/inventory b/tests/inventory index 6f274c4..504e232 100644 --- a/tests/inventory +++ b/tests/inventory @@ -47,6 +47,12 @@ rabbitmq_all galera_all memcached_all +[oslomsg_rpc_all] +infra1 + +[oslomsg_notify_all] +infra1 + [rabbitmq_all] infra1 diff --git a/tests/os_designate-overrides.yml b/tests/os_designate-overrides.yml index 22e9ba0..9466bbd 100644 --- a/tests/os_designate-overrides.yml +++ b/tests/os_designate-overrides.yml @@ -21,12 +21,18 @@ designate_galera_address: "{{ hostvars[groups['galera_all'][0]]['ansible_host'] designate_galera_database: designate designate_galera_user: designate designate_galera_password: "SuperSecrete" -designate_rabbitmq_password: "secrete" -designate_rabbitmq_userid: designate -designate_rabbitmq_vhost: /designate -designate_rabbitmq_servers: "{{ rabbitmq_servers }}" -designate_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -designate_rabbitmq_port: "{{ rabbitmq_port }}" +designate_oslomsg_rpc_password: "secrete" +designate_oslomsg_rpc_userid: designate-rpc +designate_oslomsg_rpc_vhost: /designate +designate_oslomsg_rpc_servers: "{{ oslomsg_rpc_servers }}" +designate_oslomsg_rpc_use_ssl: "{{ oslomsg_rpc_use_ssl }}" +designate_oslomsg_rpc_port: "{{ oslomsg_rpc_port }}" +designate_oslomsg_notify_password: "secrete" +designate_oslomsg_notify_userid: designate-notify +designate_oslomsg_notify_vhost: /designate +designate_oslomsg_notify_servers: "{{ oslomsg_notify_servers }}" +designate_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl }}" +designate_oslomsg_notify_port: "{{ oslomsg_notify_port }}" designate_pools_yaml: - name: "default" description: Default BIND9 Pool diff --git a/tests/test-install-designate.yml b/tests/test-install-designate.yml index 930c8c6..36b542f 100644 --- a/tests/test-install-designate.yml +++ b/tests/test-install-designate.yml @@ -18,10 +18,13 @@ user: root gather_facts: true pre_tasks: - - include: common/ensure-rabbitmq.yml - vhost_name: "{{ designate_rabbitmq_vhost }}" - user_name: "{{ designate_rabbitmq_userid }}" - user_password: "{{ designate_rabbitmq_password }}" + - include: common/ensure-oslomsg.yml + rpc_vhost: "{{ designate_oslomsg_rpc_vhost }}" + rpc_user: "{{ designate_oslomsg_rpc_userid }}" + rpc_password: "{{ designate_oslomsg_rpc_password }}" + notify_vhost: "{{ designate_oslomsg_notify_vhost }}" + notify_user: "{{ designate_oslomsg_notify_userid }}" + notify_password: "{{ designate_oslomsg_notify_password }}" - include: common/create-grant-db.yml db_name: "{{ designate_galera_user }}" db_password: "{{ designate_galera_password }}"