ManageIQ allows developers to start minimal services and/or the rails app via a "minimal" mode setting when starting the application. Starting in minimal mode limits the number of workers that are started for a quicker application startup, or for targeted end-user testing of specific pieces of the application.
In development, to start the application in standard mode, run:
$> rake evm:start
This command will start the following workers:
- two generic workers
- two priority workers
- two reporting workers
- one schedule worker
- one UI worker
- one web service worker
- any additional event workers (based on configured External Management Systems)
- any additional refresh workers (based on configured External Management Systems)
In development, to start the application in minimal mode, run:
$> MIQ_SPARTAN=minimal rake evm:start
The MIQ_SPARTAN
environment variable is inspected by the MiqServer
class (specifically, the EnvironmentManagement
mixin), which determines whether the application is starting in a minimal mode. In this strict minimal mode, the following workers are started:
- one generic worker
- one UI worker
ManageIQ allows developers to augment the minimal startup mode by specifying a colon-separated list of worker roles. These worker roles are used to determine which workers should be started in addition to the strict minimal list above.
To start the application with a specific set of workers in minimal mode, run
$> MIQ_SPARTAN=minimal:<role_name>:<role_name> rake evm:start
Following is a mapping of role names to worker types:
Role name | Worker |
---|---|
ems_inventory | miq_vim_broker_worker , miq_ems_refresh_worker , miq_ems_refresh_core_worker |
ems_metrics_collector | miq_vim_broker_worker , miq_ems_metrics_collector_worker |
ems_metrics_processor | miq_ems_metrics_processor_worker |
ems_operations | miq_vim_broker_worker |
event | miq_event_catcher , miq_event_handler |
reporting | miq_reporting_worker |
schedule | miq_schedule_worker |
smartproxy | miq_smart_proxy_worker , miq_vim_broker_worker |
smartstate | miq_vim_broker_worker |
user_interface | miq_ui_worker |
web_services | miq_web_services_worker |
no_ui | Prevent starting the UI worker normally provided by minimal |
For example, to start in minimal mode with event catching and EMS refreshing enabled, run:
$> MIQ_SPARTAN=minimal:event:ems_inventory rake evm:start
Note:
- A value specified in MIQ_SPARTAN will not start the worker if the server is not configured with that role. All MIQ_SPARTAN does is filter down the existing list of assigned server roles to a smaller set.
- Some of the workers can be started with different roles
- For example,
miq_vim_broker_worker
can be started with any of- smartstate
- smartproxy
- ems_operations
- ems_metrics_collector
- ems_inventory
- For example,
- All of these workers are subclasses of
MiqWorker::Runner
- Some workers will only start if there is a corresponding External Management System configured, such as the
miq_ems_refresh_worker
.
Values | Purpose |
---|---|
minimal:ems_inventory:event |
Testing EMS Refresh and Eventing from a provider |
minimal:no_ui:reporting |
Testing UI changes, when needed to run the UI through a debugger instead of a worker |
minimal:schedule |
Testing real world schedules |