Configuration
file that contains a list of all registered requestor instances for host factory.
IBM® Spectrum Symphony provides a
built-in requestor plugin, called symA, which you can enable in your cluster.
Cloud bursting using the symA requestor-plugin is triggered based on
throughput, which is defined as the number of tasks executed per minute per slot. You can create multiple requestor instances, each with a different configuration for cloud bursting (see Creating requestors based on symAinst).
Location
The
hostRequestors.json file is located at:
- %EGO_CONFDIR%\..\..\hostfactory\conf\requestors\ on Windows.
- $EGO_CONFDIR/../../hostfactory/conf/requestors/ on Linux®.
Parameters
- version
- Optional. Version number of this configuration file.
- Default: 1
- requestors
-
- name
- Required. A unique requestor name. Valid value is a string of up to 64 characters,
which can contain the following characters: 0-9, A-Z, a-z, -, and _.
- enabled
- Optional. Whether the requestor is enabled or disabled. Valid values are 1
(enabled) or 0 (disabled).
- plugin
- Required. Name of a supported cloud requestor plugin listed in the
hostRequestorPlugins.json file. For example, symA.
- confPath
- Optional. Absolute path to the requestor instance configuration directory, which by default
is:
- %HF_CONFDIR%\requestors\requestor_nameinst\ on Windows
- $HF_CONFDIR/requestors/requestor_nameinst/ on Linux
Where requestor_name is the requestor specified by the
name parameter. The HF_CONFDIR environment variable is
defined in the hostfactory.xml file. For more information, see hostfactory.xml reference topic.
- workPath
- Optional. Absolute path to the requestor instance work files directory, which by default is:
- %HF_WORKDIR%\requestors\requestor_nameinst\ on Windows
- $HF_WORKDIR/requestors/requestor_nameinst/ on Linux
Where requestor_name is the requestor specified by the
name parameter. The HF_WORKDIR environment variable is
defined in the hostfactory.xml file. For more information, see hostfactory.xml reference topic.
- logPath
- Optional. Absolute path to the requestor instance logs directory, which by default is:
- %HF_LOGDIR%\ on Windows
- $HF_LOGDIR/ on Linux
The HF_LOGDIR environment variable is defined in the
hostfactory.xml file. For more information, see hostfactory.xml reference topic.
- providers
- Required. One or more
cloud providers for each requestor in your cluster. Valid values are awsinst,
ibmcloudinst, azureinst, and openshiftinst. (If
you create a custom cloud provider, you can include that cloud provider as well; see Creating a custom cloud provider plug-in.)
- To provision hosts (for example) from IBM Cloud and AWS, specify both
providers as
"providers": ["ibmcloudinst",
"awsinst"]. With this configuration, hosts are provisioned first from IBM Cloud. When the number of hosts
reach the maximum that can be provisioned for IBM Cloud (defined by the
maxNumber parameter in the provider's host template file), hosts are
provisioned from AWS.
- requestMode
- Optional. Mode to control scale-in and scale-out requests for each requestor. Valid value is
either POLL or REST mode.
- POLL
- Cloud host requests, specifically scale-out requests to provision cloud hosts and scale-in
requests to return those cloud hosts, are managed through the HostFactory service
interface, which polls the specific requestor plug-in for host requests at a defined interval. By
default, cloud host requests are managed in POLL mode for each requestor.
- REST
- Cloud host requests are managed through RESTful APIs, enabling you to manually submit host
requests based on your requirements. In REST mode, you use REST APIs to submit
scale-out requests to provision cloud hosts and scale-in requests to return cloud hosts when
workload is complete. You can submit your requests directly through any RESTful API client, for
example, cURL or a browser-based plug-in. Alternatively, you can submit requests from the cluster management console. All manual requests from
the cluster management console are submitted,
by default, as the admin requestor.
-
- resourceRequestParameters
- Optional. This configuration object includes parameters that specify how to process
resources requests generated by the requestor instances for which these parameters are
specified.
-
- hostSelectionPolicy
- Optional. Specifies the policy to use for selecting templates across provider instances for
provisioning hosts for a resource request.
- Accepted values: rank (default) or cost. If the
hostSelectionPolicy parameter is not specified, the default value is
rank.
- The value rank specifies that templates are selected based on the values
that are specified in their rank parameter. The rank
parameter value for a template is a comparable numeric value that enables to prioritize templates
for provisioning resources. A lower rank value for a template indicates a higher priority for the
template. The value range for the rank parameter of a template is:
1 to 100000000. Therefore, the highest rank is specified by the
value 1, and the lowest rank is specified by the value 100000000.
If the rank attribute is not specified for a template, or it is specified with
the value of 0 (zero, which is a special value), then the template is assigned a
priority that is lower than any template that has a rank value that is specified in the defined
range. A template without a specified rank value or a specified rank value of 0
(zero) is assigned with a calculated priority that is based on its order in the templates file and
in the provider instance list that is configured for the requestor instance. If the rank attribute
is set to any value that is different than a number between 0 and
100000000, then the rank value is set to 0. Assigning a same
rank value to templates means that these templates have a same priority while
hosts are selected for provisioning, and the process select between templates that have a same
rank value in an arbitrary order. For more information about the template
rank parameter, see the reference page of any one of the configuration files:
The value
cost specifies that templates are selected based on their
estimated costs that are calculated based on the values that are specified in their
priceInfo parameter. A lower estimated cost for a template indicates a high
priority for the template. For more information about the template
priceInfo
parameter, see the reference page of any one of the configuration files:
- typicalHostRetentionTimeMinutes
- Optional. Specifies the typical retention time of a provisioned cloud host for this requestor
instance. This information facilitates cost estimations for templates. The typical retention time is
specified in minutes, from the time that a cloud host is provisioned.
- If the typicalHostRetentionTimeMinutes parameter is not specified, the
default value is 43200 minutes (which converts to 30 days).
- fulfillmentType
- Optional. Specifies the fulfillment type for resource requests generated by the requestor
instance.
- Accepted values: partial (default) or full. If the
fulfillmentType parameter is not specified, the default value is
partial.
- The value partial specifies that a resource combination can be selected for
fulfilling the resource request even if it does not satisfy the full compute power of the resource
request.
The value full specifies that a resource combination can be
selected for provisioning only if it satisfies the full compute power of the resource
request.