diff --git a/deployment/ironic/ironic-base-puppet.yaml b/deployment/ironic/ironic-base-puppet.yaml index 2e4f43e242..7b5efc11f5 100644 --- a/deployment/ironic/ironic-base-puppet.yaml +++ b/deployment/ironic/ironic-base-puppet.yaml @@ -48,6 +48,13 @@ parameters: description: The password for the Ironic service and db account, used by the Ironic services type: string hidden: true + IronicRpcTransport: + description: The remote procedure call transport between conductor and + API processes, such as a messaging broker or JSON RPC. + default: '' + type: string + constraints: + - allowed_values: [ '', 'oslo', 'json-rpc'] RpcPort: default: 5672 description: The network port for messaging backend @@ -83,6 +90,7 @@ parameter_groups: conditions: service_debug_unset: {equals : [{get_param: IronicDebug}, '']} default_rsc_unset: {equals : [{get_param: IronicDefaultResourceClass}, '']} + rpc_transport_unset: {equals : [{get_param: IronicRpcTransport}, '']} outputs: role_data: @@ -112,5 +120,10 @@ outputs: - default_rsc_unset - {} - ironic::default_resource_class: {get_param: IronicDefaultResourceClass} + - + if: + - rpc_transport_unset + - {} + - ironic::rpc_transport: {get_param: IronicRpcTransport} step_config: | include ::tripleo::profile::base::ironic diff --git a/releasenotes/notes/ironic-rpc-transport-b637fd2a3b99fee7.yaml b/releasenotes/notes/ironic-rpc-transport-b637fd2a3b99fee7.yaml new file mode 100644 index 0000000000..5383c116d0 --- /dev/null +++ b/releasenotes/notes/ironic-rpc-transport-b637fd2a3b99fee7.yaml @@ -0,0 +1,11 @@ +--- +features: + - | + `IronicRpcTransport` controlls the remote procedure call transport between + Ironic Conductor and API processes. For some case, like Edge DCN, this + parameter may be set to 'json-rpc', when the used messaging broker should + not be stretched over WAN. For such cases, this option also plays nicely + alongside the + `Ironic Conductor Groups `_ + feature. Defaults to an empty value, which leaves the corresponding + service's default value intact.