Builds predicates to be used in the "update host component state" requests, one for each
ProvisionStep
.
By default all components are both installed and started (except client components, but that exception is handled in
HostComponentResourceProvider, not here). This can be customized at the request-, service-, and component levels in
the Add Service request. Actions are inherited at the lower levels, so the request-level action applies to all
services that have no custom action given, and the effective service-level action applies to all components of the
given service with similar restriction. The request and each service can specify exactly one
ProvisionAction
,
but at the component level the same component may have different action for groups of hosts.
The predicates need to filter by service name (to avoid affecting existing services), and apply any component-level
overrides by further checking for component name and host name.
Example:
cluster_name=TEST
AND
(
(
service_name=AMBARI_METRICS
AND
(
component_name=METRICS_MONITOR
OR
component_name=METRICS_COLLECTOR
)
)
OR
(
service_name=KAFKA
AND
(
component_name=KAFKA_BROKER
AND
host_name=c7402
)
)
)