diff --git a/defaults/main.yml b/defaults/main.yml index 72c7925c..2530d312 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -230,12 +230,22 @@ ironic_pip_packages: - python-swiftclient - uwsgi -## RabbitMQ info -ironic_rabbitmq_userid: ironic -ironic_rabbitmq_vhost: /ironic -ironic_rabbitmq_servers: 127.0.0.1 -ironic_rabbitmq_use_ssl: False -ironic_rabbitmq_port: 5672 +## Oslo Messaging Info +# RPC +ironic_oslomsg_rpc_transport: rabbit +ironic_oslomsg_rpc_servers: 127.0.0.1 +ironic_oslomsg_rpc_port: 5672 +ironic_oslomsg_rpc_use_ssl: False +ironic_oslomsg_rpc_userid: ironic +ironic_oslomsg_rpc_vhost: /ironic + +# Notify +ironic_oslomsg_notify_transport: rabbit +ironic_oslomsg_notify_servers: 127.0.0.1 +ironic_oslomsg_notify_port: 5672 +ironic_oslomsg_notify_use_ssl: False +ironic_oslomsg_notify_userid: ironic +ironic_oslomsg_notify_vhost: /ironic # Auth ironic_service_user_name: "ironic" diff --git a/releasenotes/notes/oslo-messaging-separate-backends-3b2dac9462595b31.yaml b/releasenotes/notes/oslo-messaging-separate-backends-3b2dac9462595b31.yaml new file mode 100644 index 00000000..a5f2c43c --- /dev/null +++ b/releasenotes/notes/oslo-messaging-separate-backends-3b2dac9462595b31.yaml @@ -0,0 +1,14 @@ +--- +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. + - ironic_oslomsg_rpc_servers replaces ironic_rabbitmq_servers + - ironic_oslomsg_rpc_port replaces ironic_rabbitmq_port + - ironic_oslomsg_rpc_use_ssl replaces ironic_rabbitmq_use_ssl + - ironic_oslomsg_rpc_userid replaces ironic_rabbitmq_userid + - ironic_oslomsg_rpc_vhost replaces ironic_rabbitmq_vhost diff --git a/templates/ironic.conf.j2 b/templates/ironic.conf.j2 index ac984d50..1531c095 100644 --- a/templates/ironic.conf.j2 +++ b/templates/ironic.conf.j2 @@ -13,6 +13,9 @@ memcached_servers = {{ memcached_servers }} enabled_network_interfaces = {{ ironic_enabled_network_interfaces_list }} default_network_interface = {{ ironic_default_network_interface }} +## RPC Backend +transport_url = {{ ironic_oslomsg_rpc_transport }}://{% for host in ironic_oslomsg_rpc_servers.split(',') %}{{ ironic_oslomsg_rpc_userid }}:{{ ironic_oslomsg_rpc_password }}@{{ host }}:{{ ironic_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ ironic_oslomsg_rpc_vhost }}{% if ironic_oslomsg_rpc_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} + [agent] [amt] @@ -139,14 +142,9 @@ lock_path = {{ ironic_lock_path }} [oslo_messaging_amqp] [oslo_messaging_notifications] +transport_url = {{ ironic_oslomsg_notify_transport }}://{% for host in ironic_oslomsg_notify_servers.split(',') %}{{ ironic_oslomsg_notify_userid }}:{{ ironic_oslomsg_notify_password }}@{{ host }}:{{ ironic_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ ironic_oslomsg_notify_vhost }}{% if ironic_oslomsg_notify_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} [oslo_messaging_rabbit] -rabbit_port = {{ ironic_rabbitmq_port }} -rabbit_userid = {{ ironic_rabbitmq_userid }} -rabbit_password = {{ ironic_rabbitmq_password }} -rabbit_virtual_host = {{ ironic_rabbitmq_vhost }} -rabbit_hosts = {{ ironic_rabbitmq_servers }} -ssl = {{ ironic_rabbitmq_use_ssl }} pool_max_size = {{ ironic_wsgi_processes }} diff --git a/tests/inventory b/tests/inventory index a4dfa67a..7e51aaab 100644 --- a/tests/inventory +++ b/tests/inventory @@ -11,6 +11,12 @@ openstack1 swift-storage1 ironic1 +[oslomsg_rpc_all] +infra1 + +[oslomsg_notify_all] +infra1 + [rabbitmq_all] infra1