Browse Source

Add role specific information to the service template

When a service is enabled on multiple roles, the parameters for the
service will be global. This change enables an option to provide
role specific parameter to services and other templates.

Two new parameters - RoleName and RoleParameters, are added to the
service template. RoleName provides the role name of on which the
current instance of the service is being applied on. RoleParameters
provides the list of parameters which are configured specific to the
role in the environment file, like below:

  parameters_default:
      # Default value for applied to all roles
      NovaReservedHostMemory: 2048
      ComputeDpdkParameters:
          # Applied only to ComputeDpdk role
          NovaReservedHostMemory: 4096

In above sample, the cluster contains 2 roles - Compute, ComputeDpdk.
The values of ComputeDpdkParameters will be passed on to the templates
as RoleParameters while creating the stack for ComputeDpdk role. The
parameter which supports role specific configuration, should find the
parameter first in in the RoleParameters list, if not found, then the
default (for all roles) should be used.
Implements: blueprint tripleo-derive-parameters

Change-Id: I72376a803ec6b2ed93903cc0c95a6ffce718b6dc
changes/56/437956/46
Saravanan KR 5 years ago
parent
commit
a096ddab34
  1. 9
      docker/services/aodh-api.yaml
  2. 9
      docker/services/aodh-evaluator.yaml
  3. 9
      docker/services/aodh-listener.yaml
  4. 9
      docker/services/aodh-notifier.yaml
  5. 9
      docker/services/database/mongodb.yaml
  6. 9
      docker/services/database/mysql.yaml
  7. 7
      docker/services/database/redis.yaml
  8. 8
      docker/services/etcd.yaml
  9. 10
      docker/services/glance-api.yaml
  10. 9
      docker/services/gnocchi-api.yaml
  11. 9
      docker/services/gnocchi-metricd.yaml
  12. 9
      docker/services/gnocchi-statsd.yaml
  13. 9
      docker/services/heat-api-cfn.yaml
  14. 9
      docker/services/heat-api.yaml
  15. 9
      docker/services/heat-engine.yaml
  16. 9
      docker/services/ironic-api.yaml
  17. 9
      docker/services/ironic-conductor.yaml
  18. 7
      docker/services/ironic-pxe.yaml
  19. 9
      docker/services/keystone.yaml
  20. 9
      docker/services/memcached.yaml
  21. 9
      docker/services/mistral-api.yaml
  22. 9
      docker/services/mistral-engine.yaml
  23. 9
      docker/services/mistral-executor.yaml
  24. 9
      docker/services/neutron-api.yaml
  25. 9
      docker/services/neutron-dhcp.yaml
  26. 9
      docker/services/neutron-l3.yaml
  27. 9
      docker/services/neutron-ovs-agent.yaml
  28. 9
      docker/services/neutron-plugin-ml2.yaml
  29. 9
      docker/services/nova-api.yaml
  30. 9
      docker/services/nova-compute.yaml
  31. 9
      docker/services/nova-conductor.yaml
  32. 11
      docker/services/nova-ironic.yaml
  33. 9
      docker/services/nova-libvirt.yaml
  34. 9
      docker/services/nova-metadata.yaml
  35. 9
      docker/services/nova-placement.yaml
  36. 9
      docker/services/nova-scheduler.yaml
  37. 9
      docker/services/panko-api.yaml
  38. 9
      docker/services/rabbitmq.yaml
  39. 11
      docker/services/services.yaml
  40. 9
      docker/services/swift-proxy.yaml
  41. 9
      docker/services/swift-ringbuilder.yaml
  42. 9
      docker/services/swift-storage.yaml
  43. 9
      docker/services/zaqar.yaml
  44. 7
      overcloud.j2.yaml
  45. 19
      puppet/services/README.rst
  46. 12
      puppet/services/aodh-api.yaml
  47. 8
      puppet/services/aodh-base.yaml
  48. 10
      puppet/services/aodh-evaluator.yaml
  49. 10
      puppet/services/aodh-listener.yaml
  50. 10
      puppet/services/aodh-notifier.yaml
  51. 8
      puppet/services/apache.yaml
  52. 8
      puppet/services/auditd.yaml
  53. 10
      puppet/services/barbican-api.yaml
  54. 8
      puppet/services/ca-certs.yaml
  55. 10
      puppet/services/ceilometer-agent-central.yaml
  56. 10
      puppet/services/ceilometer-agent-compute.yaml
  57. 10
      puppet/services/ceilometer-agent-ipmi.yaml
  58. 10
      puppet/services/ceilometer-agent-notification.yaml
  59. 12
      puppet/services/ceilometer-api.yaml
  60. 8
      puppet/services/ceilometer-base.yaml
  61. 12
      puppet/services/ceilometer-collector.yaml
  62. 10
      puppet/services/ceilometer-expirer.yaml
  63. 8
      puppet/services/ceph-base.yaml
  64. 10
      puppet/services/ceph-client.yaml
  65. 8
      puppet/services/ceph-external.yaml
  66. 10
      puppet/services/ceph-mds.yaml
  67. 10
      puppet/services/ceph-mon.yaml
  68. 10
      puppet/services/ceph-osd.yaml
  69. 10
      puppet/services/ceph-rgw.yaml
  70. 8
      puppet/services/certmonger-user.yaml
  71. 12
      puppet/services/cinder-api.yaml
  72. 8
      puppet/services/cinder-backend-dellps.yaml
  73. 8
      puppet/services/cinder-backend-dellsc.yaml
  74. 36
      puppet/services/cinder-backend-netapp.yaml
  75. 36
      puppet/services/cinder-backend-pure.yaml
  76. 8
      puppet/services/cinder-backend-scaleio.yaml
  77. 10
      puppet/services/cinder-backup.yaml
  78. 8
      puppet/services/cinder-base.yaml
  79. 8
      puppet/services/cinder-hpelefthand-iscsi.yaml
  80. 10
      puppet/services/cinder-scheduler.yaml
  81. 10
      puppet/services/cinder-volume.yaml
  82. 8
      puppet/services/congress.yaml
  83. 8
      puppet/services/database/mongodb-base.yaml
  84. 10
      puppet/services/database/mongodb.yaml
  85. 8
      puppet/services/database/mysql-client.yaml
  86. 8
      puppet/services/database/mysql.yaml
  87. 8
      puppet/services/database/redis-base.yaml
  88. 10
      puppet/services/database/redis.yaml
  89. 8
      puppet/services/disabled/ceilometer-collector.yaml
  90. 7
      puppet/services/disabled/ceilometer-expirer.yaml
  91. 8
      puppet/services/disabled/glance-registry.yaml
  92. 8
      puppet/services/docker.yaml
  93. 8
      puppet/services/ec2-api.yaml
  94. 8
      puppet/services/etcd.yaml
  95. 36
      puppet/services/external-swift-proxy.yaml
  96. 10
      puppet/services/glance-api.yaml
  97. 12
      puppet/services/gnocchi-api.yaml
  98. 8
      puppet/services/gnocchi-base.yaml
  99. 10
      puppet/services/gnocchi-metricd.yaml
  100. 10
      puppet/services/gnocchi-statsd.yaml

9
docker/services/aodh-api.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EnableInternalTLS:
type: boolean
default: false
@ -45,6 +52,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/aodh-evaluator.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/aodh-listener.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/aodh-notifier.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/database/mongodb.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -35,6 +42,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/database/mysql.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
MysqlRootPassword:
type: string
hidden: true
@ -39,6 +46,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

7
docker/services/database/redis.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:

8
docker/services/etcd.yaml

@ -26,6 +26,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EtcdInitialClusterToken:
description: Initial cluster token for the etcd cluster during bootstrap.
type: string

10
docker/services/glance-api.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EnableInternalTLS:
type: boolean
default: false
@ -34,6 +41,7 @@ conditions:
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
resources:
ContainersCommon:
@ -45,6 +53,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/gnocchi-api.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EnableInternalTLS:
type: boolean
default: false
@ -45,6 +52,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/gnocchi-metricd.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/gnocchi-statsd.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/heat-api-cfn.yaml

@ -31,6 +31,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EnableInternalTLS:
type: boolean
default: false
@ -50,6 +57,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/heat-api.yaml

@ -31,6 +31,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EnableInternalTLS:
type: boolean
default: false
@ -50,6 +57,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/heat-engine.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -39,6 +46,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/ironic-api.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -42,6 +49,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/ironic-conductor.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -42,6 +49,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

7
docker/services/ironic-pxe.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:

9
docker/services/keystone.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
AdminPassword:
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
type: string
@ -51,6 +58,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
conditions:

9
docker/services/memcached.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/mistral-api.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -42,6 +49,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/mistral-engine.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -43,6 +50,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/mistral-executor.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -43,6 +50,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/neutron-api.yaml

@ -31,6 +31,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -43,6 +50,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/neutron-dhcp.yaml

@ -31,6 +31,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -43,6 +50,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/neutron-l3.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -43,6 +50,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/neutron-ovs-agent.yaml

@ -21,6 +21,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/neutron-plugin-ml2.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -35,6 +42,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/nova-api.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -42,6 +49,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/nova-compute.yaml

@ -21,6 +21,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/nova-conductor.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -43,6 +50,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

11
docker/services/nova-ironic.yaml

@ -25,6 +25,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -39,7 +46,11 @@ resources:
NovaIronicBase:
type: ../../puppet/services/nova-ironic.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/nova-libvirt.yaml

@ -27,6 +27,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -44,6 +51,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/nova-metadata.yaml

@ -18,6 +18,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -28,6 +35,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/nova-placement.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/nova-scheduler.yaml

@ -30,6 +30,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -42,6 +49,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/panko-api.yaml

@ -28,6 +28,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EnableInternalTLS:
type: boolean
default: false
@ -47,6 +54,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/rabbitmq.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
RabbitCookie:
type: string
default: ''
@ -42,6 +49,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

11
docker/services/services.yaml

@ -26,6 +26,13 @@ parameters:
description: Mapping of service -> default password. Used to help
pass top level passwords managed by Heat into services.
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -36,6 +43,8 @@ resources:
ServiceNetMap: {get_param: ServiceNetMap}
EndpointMap: {get_param: EndpointMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
ServiceChain:
type: OS::Heat::ResourceChain
@ -46,6 +55,8 @@ resources:
ServiceNetMap: {get_param: ServiceNetMap}
EndpointMap: {get_param: EndpointMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/swift-proxy.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EnableInternalTLS:
type: boolean
default: false
@ -45,6 +52,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/swift-ringbuilder.yaml

@ -21,6 +21,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -59,6 +66,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/swift-storage.yaml

@ -32,6 +32,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
@ -50,6 +57,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

9
docker/services/zaqar.yaml

@ -26,6 +26,13 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
resources:
@ -38,6 +45,8 @@ resources:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

7
overcloud.j2.yaml

@ -171,6 +171,11 @@ parameters:
type: json
description: Optional scheduler hints to pass to nova
default: {}
{{role.name}}Parameters:
type: json
description: Optional Role Specific parameters to be provided to service
default: {}
{% endfor %}
# Identifiers to trigger tasks on nodes
@ -285,6 +290,8 @@ resources:
ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
DefaultPasswords: {get_attr: [DefaultPasswords, passwords]}
RoleName: {{role.name}}
RoleParameters: {get_param: {{role.name}}Parameters}
# Filter any null/None service_names which may be present due to mapping
# of services to OS::Heat::None

19
puppet/services/README.rst

@ -16,6 +16,25 @@ Each service may define its own input parameters and defaults.
Operators will use the parameter_defaults section of any Heat
environment to set per service parameters.
Apart from sevice specific inputs, there are few default parameters for all
the services. Following are the list of default parameters:
* ServiceNetMap: Mapping of service_name -> network name. Typically set via
parameter_defaults in the resource registry. This mapping overrides those
in ServiceNetMapDefaults.
* EndpointMap: Mapping of service endpoint -> protocol. Typically set via
parameter_defaults in the resource registry.
* DefaultPasswords: Mapping of service -> default password. Used to help pass
top level passwords managed by Heat into services.
* RoleName: Name of the role on which this service is deployed. A service can
be deployed in multiple roles.
* RoleParameters: Parameter specific to a role on which the service is
applied.
Config Settings
---------------

12
puppet/services/aodh-api.yaml

@ -13,6 +13,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -38,6 +46,8 @@ resources:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
ApacheServiceBase:
type: ./apache.yaml
@ -45,6 +55,8 @@ resources:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
EnableInternalTLS: {get_param: EnableInternalTLS}
outputs:

8
puppet/services/aodh-base.yaml

@ -13,6 +13,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set

10
puppet/services/aodh-evaluator.yaml

@ -13,6 +13,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -29,6 +37,8 @@ resources:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

10
puppet/services/aodh-listener.yaml

@ -13,6 +13,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -29,6 +37,8 @@ resources:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

10
puppet/services/aodh-notifier.yaml

@ -13,6 +13,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -29,6 +37,8 @@ resources:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:

8
puppet/services/apache.yaml

@ -22,6 +22,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set

8
puppet/services/auditd.yaml

@ -13,6 +13,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set

10
puppet/services/barbican-api.yaml

@ -13,6 +13,14 @@ parameters:
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -70,6 +78,8 @@ resour