Merge "Add os-collect-config data as an output"
[apex-tripleo-heat-templates.git] / puppet / services / nova-scheduler.yaml
1 heat_template_version: pike
2
3 description: >
4   OpenStack Nova Scheduler service configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   RoleName:
17     default: ''
18     description: Role name on which the service is applied
19     type: string
20   RoleParameters:
21     default: {}
22     description: Parameters specific to the role
23     type: json
24   EndpointMap:
25     default: {}
26     description: Mapping of service endpoint -> protocol. Typically set
27                  via parameter_defaults in the resource registry.
28     type: json
29   NovaSchedulerAvailableFilters:
30     default: []
31     description: List of scheduler available filters
32     type: comma_delimited_list
33   NovaSchedulerDefaultFilters:
34     type: comma_delimited_list
35     default: []
36     description: >
37       An array of filters used by Nova to filter a node.These filters will be
38       applied in the order they are listed, so place your most restrictive
39       filters first to make the filtering process more efficient.
40   MonitoringSubscriptionNovaScheduler:
41     default: 'overcloud-nova-scheduler'
42     type: string
43   NovaSchedulerLoggingSource:
44     type: json
45     default:
46       tag: openstack.nova.scheduler
47       path: /var/log/nova/nova-scheduler.log
48   NovaSchedulerDiscoverHostsInCellsInterval:
49     type: number
50     default: -1
51     description: >
52       This value controls how often (in seconds) the scheduler should
53       attempt to discover new hosts that have been added to cells.
54       The default value of -1 disables the periodic task completely.
55       It is recommended to set this parameter for deployments using Ironic.
56
57 resources:
58   NovaBase:
59     type: ./nova-base.yaml
60     properties:
61       ServiceNetMap: {get_param: ServiceNetMap}
62       DefaultPasswords: {get_param: DefaultPasswords}
63       EndpointMap: {get_param: EndpointMap}
64       RoleName: {get_param: RoleName}
65       RoleParameters: {get_param: RoleParameters}
66
67 outputs:
68   role_data:
69     description: Role data for the Nova Scheduler service.
70     value:
71       service_name: nova_scheduler
72       monitoring_subscription: {get_param: MonitoringSubscriptionNovaScheduler}
73       logging_source: {get_param: NovaSchedulerLoggingSource}
74       logging_groups:
75         - nova
76       config_settings:
77         map_merge:
78           - get_attr: [NovaBase, role_data, config_settings]
79           - nova::ram_allocation_ratio: '1.0'
80             nova::scheduler::filter::scheduler_available_filters: {get_param: NovaSchedulerAvailableFilters}
81             nova::scheduler::filter::scheduler_default_filters: {get_param: NovaSchedulerDefaultFilters}
82             nova::scheduler::discover_hosts_in_cells_interval: {get_param: NovaSchedulerDiscoverHostsInCellsInterval}
83       step_config: |
84         include tripleo::profile::base::nova::scheduler
85       upgrade_tasks:
86         - name: Stop nova_scheduler service
87           tags: step1
88           service: name=openstack-nova-scheduler state=stopped