To allow control of its behavior, Artemis works with a concept of "knobs". A knob is a named value that affects Artemis in some way, and it is possible to change the value by a maintainer. Value of each knob is provided by two or more sources:
artemis-cli knob
command.Knob | Cast | Environment variable | Default | Editable? |
---|---|---|---|---|
actor.default-max-backoff | int | ARTEMIS_ACTOR_DEFAULT_MAX_BACKOFF | 60 | no |
The biggest possible delay, in seconds, before the next attempt to run a failed task. | ||||
actor.default-min-backoff | int | ARTEMIS_ACTOR_DEFAULT_MIN_BACKOFF | 15 | no |
The lowest possible delay, in seconds, before the next attempt to run a failed task. | ||||
actor.default-priority | cast_priority | ARTEMIS_ACTOR_DEFAULT_PRIORITY | DEFAULT | no |
Task priority ("HIGH", "DEFAULT", "LOW" or any positive integer). | ||||
actor.default-queue | cast_queue | ARTEMIS_ACTOR_DEFAULT_QUEUE | default | no |
Task queue ("default", "periodic", "pool-data-refresh" or any other string). | ||||
actor.default-retries-count | int | ARTEMIS_ACTOR_DEFAULT_RETRIES | 5 | no |
A number of time a failing task get retried. Serves as a default value for tasks without custom setting. | ||||
actor.default-singleton-deadline | int | ARTEMIS_ACTOR_DEFAULT_SINGLETON_DEADLINE | 300 | no |
The biggest possible deadline for a singleton task, in seconds. | ||||
actor.delay-uniform-spread | int | ARTEMIS_ACTOR_DELAY_UNIFORM_SPREAD | 5 | no |
A range, in seconds, by which can a task delay be modified before use. | ||||
actor.dispatch-preparing.delay | int | ARTEMIS_ACTOR_DISPATCH_PREPARE_DELAY | 60 | no |
A delay, in second, between successful acquire of a cloud instance and dispatching of post-acquire preparation tasks. | ||||
actor.guest-request-watchdog.dispatch.delay | int | ARTEMIS_ACTOR_GUEST_REQUEST_WATCHDOG_DISPATCH_DELAY | 600 | yes |
actor.guest-request-watchdog.dispatch.delay:$entityname | ARTEMIS_ACTOR_GUEST_REQUEST_WATCHDOG_DISPATCH_DELAY_$entityname | |||
A delay, in seconds, between successful provisioning and dispatching of guest request watchdog tasks. | ||||
actor.guest-request-watchdog.dispatch.period | int | ARTEMIS_ACTOR_GUEST_REQUEST_WATCHDOG_DISPATCH_PERIOD | 3600 | yes |
actor.guest-request-watchdog.dispatch.period:$entityname | ARTEMIS_ACTOR_GUEST_REQUEST_WATCHDOG_DISPATCH_PERIOD_$entityname | |||
A delay, in seconds, after which new guest request watchdog task is scheduled. | ||||
actor.refresh-pool-avoid-groups-hostnames.schedule | str | ARTEMIS_ACTOR_REFRESH_POOL_AVOID_GROUPS_HOSTNAMES_SCHEDULE | */5 * * * * | no |
When to run refresh of Beaker avoid groups hostnames, as a Cron-like specification. | ||||
actor.refresh-pool-flavor-info.schedule | str | ARTEMIS_ACTOR_REFRESH_POOL_FLAVOR_INFO_SCHEDULE | */5 * * * * | no |
When to run OpenStack flavor info refresh task, as a Cron-like specification. | ||||
actor.refresh-pool-image-info.schedule | str | ARTEMIS_ACTOR_REFRESH_POOL_IMAGE_INFO_SCHEDULE | */5 * * * * | no |
When to run pool image info refresh task, as a Cron-like specification. | ||||
actor.refresh-pool-resources-metrics.schedule | str | ARTEMIS_ACTOR_REFRESH_POOL_RESOURCES_METRICS_SCHEDULE | * * * * * | no |
When to run pool image info refresh task, as a Cron-like specification. | ||||
actor.shelved-guest-watchdog.connect-timeout | int | ARTEMIS_SHELVED_GUEST_WATCHDOG_SSH_CONNECT_TIMEOUT | 15 | yes |
actor.shelved-guest-watchdog.connect-timeout:$entityname | ARTEMIS_SHELVED_GUEST_WATCHDOG_SSH_CONNECT_TIMEOUT_$entityname | |||
Shelved guest watchdog SSH connection timeout. | ||||
actor.shelved-guest-watchdog.dispatch.delay | int | ARTEMIS_ACTOR_SHELVED_GUEST_WATCHDOG_DISPATCH_PERIOD | 600 | no |
A delay, in seconds, between watchdog runs. | ||||
actor.verify-ssh.connect-timeout | int | ARTEMIS_PREPARE_VERIFY_SSH_CONNECT_TIMEOUT | 15 | yes |
actor.verify-ssh.connect-timeout:$entityname | ARTEMIS_PREPARE_VERIFY_SSH_CONNECT_TIMEOUT_$entityname | |||
Prepare stage SSH timeout. | ||||
actor.worker-ping.schedule | str | ARTEMIS_ACTOR_WORKER_PING_SCHEDULE | */5 * * * * | no |
When to run worker ping task, as a Cron-like specification. | ||||
api.enable-authentication | bool | ARTEMIS_ENABLE_AUTHENTICATION | no | no |
If enabled, API requests must pass authentication by providing proper username and token. | ||||
api.enable-authorization | bool | ARTEMIS_ENABLE_AUTHORIZATION | no | no |
If enabled, API requests must pass authorization by providing username with privileges high enough for the requested action. | ||||
api.engine.debug | bool | ARTEMIS_API_ENGINE_DEBUG | no | no |
Run engine with a debugging enabled. | ||||
api.engine.reload-on-change | bool | ARTEMIS_API_ENGINE_RELOAD_ON_CHANGE | no | no |
Reload API server when its code changes. | ||||
api.engine.reload.request-limit | int | ARTEMIS_API_ENGINE_RELOAD_REQUESTS_LIMIT | 0 | no |
Reload a worker process after serving this number of requests. | ||||
api.engine.reload.request-limit.spread | int | ARTEMIS_API_ENGINE_RELOAD_REQUESTS_LIMIT_SPREAD | 0 | no |
A range by which is number of requests randomized. | ||||
api.processes | int | ARTEMIS_API_PROCESSES | 1 | no |
Number of processes to spawn for servicing API requests. | ||||
api.profiling.enabled | bool | ARTEMIS_API_ENABLE_PROFILING | no | no |
If enabled, API server will profile handling of each request, emitting a summary into log. | ||||
api.profiling.limit | int | ARTEMIS_API_PROFILING_LIMIT | 20 | no |
How many functions should be included in the summary. | ||||
api.threads | int | ARTEMIS_API_THREADS | 1 | no |
Number of threads to spawn in each process for servicing API requests. | ||||
aws.logs.console.dump.blob.update-tick | int | ARTEMIS_AWS_LOGS_CONSOLE_LATEST_BLOB_UPDATE_TICK | 300 | no |
How long, in seconds, to take between updating guest console log. | ||||
aws.logs.console.interactive.url | str | ARTEMIS_AWS_LOGS_CONSOLE_INTERACTIVE_URL | https://console.aws.amazon.com/ec2/v2/connect/ec2-user/{instance_id}?connection-type=isc&serial-port=0 | no |
Templated URL of serial console of an AWS EC2 instance. | ||||
aws.mapping.environment-to-image.pattern-map.filepath | str | ARTEMIS_AWS_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH | artemis-image-map-aws.yaml | no |
aws.mapping.environment-to-image.pattern-map.filepath:$entityname | ARTEMIS_AWS_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH_$entityname | |||
Path to a pattern map file with environment to image mapping. | ||||
aws.mapping.environment-to-image.pattern-map.needle | str | ARTEMIS_AWS_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE | {{ os.compose }} | no |
aws.mapping.environment-to-image.pattern-map.needle:$entityname | ARTEMIS_AWS_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE_$entityname | |||
A pattern for needle to match in environment to image mapping file. | ||||
aws.pending-timeout | int | ARTEMIS_AWS_PENDING_TIMEOUT | 600 | no |
How long, in seconds, is an instance allowed to stay in pending state until cancelled and reprovisioned. | ||||
aws.spot-open-timeout | int | ARTEMIS_AWS_SPOT_OPEN_TIMEOUT | 60 | no |
How long, in seconds, is an spot instance request allowed to stay in open state
until cancelled and reprovisioned. | ||||
azure.mapping.environment-to-image.pattern-map.filepath | str | ARTEMIS_AZURE_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH | artemis-image-map-azure.yaml | no |
azure.mapping.environment-to-image.pattern-map.filepath:$entityname | ARTEMIS_AZURE_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH_$entityname | |||
Path to a pattern map file with environment to image mapping. | ||||
azure.mapping.environment-to-image.pattern-map.needle | str | ARTEMIS_AZURE_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE | {{ os.compose }} | no |
azure.mapping.environment-to-image.pattern-map.needle:$entityname | ARTEMIS_AZURE_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE_$entityname | |||
A pattern for needle to match in environment to image mapping file. | ||||
beaker.guest-watchdog.ssh.connect-timeout | int | ARTEMIS_BEAKER_GUEST_WATCHDOG_SSH_CONNECT_TIMEOUT | 15 | yes |
beaker.guest-watchdog.ssh.connect-timeout:$entityname | ARTEMIS_BEAKER_GUEST_WATCHDOG_SSH_CONNECT_TIMEOUT_$entityname | |||
Guest watchdog SSH timeout. | ||||
beaker.job.whiteboard.template | str | ARTEMIS_BEAKER_JOB_WHITEBOARD_TEMPLATE | [artemis] [{{ DEPLOYMENT }}] {{ GUESTNAME }} | no |
beaker.job.whiteboard.template:$entityname | ARTEMIS_BEAKER_JOB_WHITEBOARD_TEMPLATE_$entityname | |||
A template for Beaker job whiteboard. | ||||
beaker.mapping.environment-to-image.pattern | str | ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_PATTERN | (?P<distro>[;]+)(?:;variant=(?P<variant>[a-zA-Z]+);?)?$ | no |
beaker.mapping.environment-to-image.pattern:$entityname | ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_PATTERN_$entityname | |||
A pattern for extracting distro and other components from the right side of the image mapping file. | ||||
beaker.mapping.environment-to-image.pattern-map.filepath | str | ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH | artemis-image-map-beaker.yaml | no |
beaker.mapping.environment-to-image.pattern-map.filepath:$entityname | ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH_$entityname | |||
Path to a pattern map file with environment to image mapping. | ||||
beaker.mapping.environment-to-image.pattern-map.needle | str | ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE | {{ os.compose }} | no |
beaker.mapping.environment-to-image.pattern-map.needle:$entityname | ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE_$entityname | |||
A pattern for needle to match in environment to image mapping file. | ||||
beaker.reservation.duration | int | ARTEMIS_BEAKER_RESERVATION_DURATION | 86400 | no |
A time, in seconds, for which the guest would be initially reserved. | ||||
beaker.reservation.extension | int | ARTEMIS_BEAKER_RESERVATION_EXTENSION | 28800 | no |
A time, in seconds, to extend the guest reservation every tick of a watchdog. | ||||
broker.close-after-dispatch | bool | ARTEMIS_CLOSE_AFTER_DISPATCH | no | no |
When enabled, broker connection will be forcefully closed after every message dispatch. | ||||
broker.confirm-delivery | bool | ARTEMIS_BROKER_CONFIRM_DELIVERY | yes | no |
If set, every attempt to enqueue a messages will require a confirmation from the broker. | ||||
broker.url | str | ARTEMIS_BROKER_URL | amqp://guest:guest@127.0.0.1:5672 | no |
Broker URL. See https://pika.readthedocs.io/en/1.2.0/modules/parameters.html#pika.connection.URLParameters for full list of connection parameters that can be specified via URL. | ||||
cache.url | str | ARTEMIS_CACHE_URL | redis://127.0.0.1:6379 | no |
Cache URL. | ||||
config.dirpath | <lambda> | ARTEMIS_CONFIG_DIR | $CWD | no |
Path to a directory with configuration. | ||||
db.pool.max-overflow | int | ARTEMIS_DB_POOL_MAX_OVERFLOW | 10 | no |
Maximum size of connection pool overflow. | ||||
db.pool.size | int | ARTEMIS_DB_POOL_SIZE | 20 | no |
Size of the DB connection pool. | ||||
db.url | str | ARTEMIS_DB_URL | None | no |
Database URL. | ||||
deployment.component | str | ARTEMIS_COMPONENT | undefined-component | no |
Optional name of the Artemis component (e.g. "worker", "api", etc.). | ||||
deployment.environment | str | ARTEMIS_DEPLOYMENT_ENVIRONMENT | undefined-deployment-environment | no |
Optional environment of the Artemis deployment (e.g. "production" or "staging"). | ||||
deployment.name | str | ARTEMIS_DEPLOYMENT | undefined-deployment | no |
Optional name of the Artemis deployment (e.g. "production-01" or "development"). | ||||
disable-cert-verification | bool | ARTEMIS_DISABLE_CERT_VERIFICATION | no | no |
When enabled, Artemis would disable HTTPS certificate verification when talking to remote URLs. | ||||
gc.events.schedule | str | ARTEMIS_GC_EVENTS_SCHEDULE | 15 */4 * * * | no |
When to run garbage collection task for guest request events. | ||||
gc.events.threshold | int | ARTEMIS_GC_EVENTS_THRESHOLD | 2592000 | no |
How old must the guest events be to be removed, in seconds. | ||||
logging.cli.command-pattern | str | ARTEMIS_LOG_CLI_COMMAND_PATTERN | .* | no |
Log only commands matching the pattern. | ||||
logging.cli.commands | bool | ARTEMIS_LOG_CLI_COMMANDS | no | no |
When enabled, Artemis would log CLI commands. | ||||
logging.cli.slow-command-pattern | str | ARTEMIS_LOG_SLOW_CLI_COMMAND_PATTERN | .* | no |
Log only slow commands matching the pattern. | ||||
logging.cli.slow-command-threshold | float | ARTEMIS_LOG_SLOW_CLI_COMMAND_THRESHOLD | 10.0 | no |
Minimal time, in seconds, spent executing a CLI command for it to be reported as "slow". | ||||
logging.cli.slow-commands | bool | ARTEMIS_LOG_SLOW_CLI_COMMANDS | no | no |
When enabled, Artemis would log "slow" CLI commands - commands whose execution took longer than ARTEMIS_LOG_SLOW_CLI_COMMAND_THRESHOLD seconds. | ||||
logging.db.pool | str | ARTEMIS_LOG_DB_POOL | no | no |
When enabled, Artemis would log events related to database connection pool. | ||||
logging.db.queries | bool | ARTEMIS_LOG_DB_QUERIES | no | no |
When enabled, Artemis would log SQL queries. | ||||
logging.db.slow-queries | bool | ARTEMIS_LOG_DB_SLOW_QUERIES | no | no |
When enabled, Artemis would log "slow" queries - queries whose execution took longer than ARTEMIS_LOG_DB_SLOW_QUERY_THRESHOLD seconds. | ||||
logging.db.slow-query-threshold | float | ARTEMIS_LOG_DB_SLOW_QUERY_THRESHOLD | 10.0 | no |
Minimal time, in seconds, spent executing a query for it to be reported as "slow". | ||||
logging.json | bool | ARTEMIS_LOG_JSON | yes | no |
If enabled, Artemis would emit log messages as JSON mappings. | ||||
logging.level | <lambda> | ARTEMIS_LOG_LEVEL | 20 | no |
Level of logging. Accepted values are Python logging levels as defined by Python’s logging subsystem. | ||||
logging.sentry | bool | ARTEMIS_LOG_SENTRY | no | no |
When enabled, Artemis would log more Sentry-related debug info. | ||||
logging.singleton-locks | bool | ARTEMIS_LOG_SINGLETON_LOCKS | no | no |
When enabled, Artemis would log more debuginfo related to singleton task locking. | ||||
openstack.build-timeout | int | ARTEMIS_OPENSTACK_BUILD_TIMEOUT | 600 | no |
How long, in seconds, is an instance allowed to stay in BUILD state until cancelled and reprovisioned. | ||||
openstack.console.blob.update-tick | int | ARTEMIS_OPENSTACK_CONSOLE_BLOB_UPDATE_TICK | 30 | no |
openstack.console.blob.update-tick:$entityname | ARTEMIS_OPENSTACK_CONSOLE_BLOB_UPDATE_TICK_$entityname | |||
How long, in seconds, to take between updating guest console log. | ||||
openstack.console.url.expires | int | ARTEMIS_OPENSTACK_CONSOLE_URL_EXPIRES | 600 | no |
How long, in seconds, it takes for a console url to be qualified as expired. | ||||
openstack.mapping.environment-to-image.pattern-map.filepath | str | ARTEMIS_OPENSTACK_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH | artemis-image-map-openstack.yaml | no |
openstack.mapping.environment-to-image.pattern-map.filepath:$entityname | ARTEMIS_OPENSTACK_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH_$entityname | |||
Path to a pattern map file with environment to image mapping. | ||||
openstack.mapping.environment-to-image.pattern-map.needle | str | ARTEMIS_OPENSTACK_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE | {{ os.compose }} | no |
openstack.mapping.environment-to-image.pattern-map.needle:$entityname | ARTEMIS_OPENSTACK_ENVIRONMENT_TO_IMAGE_MAPPING_NEEDLE_$entityname | |||
A pattern for needle to match in environment to image mapping file. | ||||
pool.cache-pattern-maps | bool | ARTEMIS_CACHE_PATTERN_MAPS | yes | no |
pool.cache-pattern-maps:$entityname | ARTEMIS_CACHE_PATTERN_MAPS_$entityname | |||
If enabled, pattern maps loaded by pools would be cached. | ||||
pool.dispatch-resource-cleanup | int | ARTEMIS_DISPATCH_RESOURCE_CLEANUP_DELAY | 0 | no |
pool.dispatch-resource-cleanup:$entityname | ARTEMIS_DISPATCH_RESOURCE_CLEANUP_DELAY_$entityname | |||
A delay, in seconds, to schedule pool resources release with. This may be useful for post mortem investigation of crashed resources. | ||||
pool.enabled | bool | ARTEMIS_POOL_ENABLED | yes | yes |
pool.enabled:$entityname | ARTEMIS_POOL_ENABLED_$entityname | |||
If unset for a pool, the given pool is ignored by Artemis in general. | ||||
pool.update-guest-request-tick | int | ARTEMIS_UPDATE_GUEST_REQUEST_TICK | 30 | no |
pool.update-guest-request-tick:$entityname | ARTEMIS_UPDATE_GUEST_REQUEST_TICK_$entityname | |||
A delay, in seconds, between two calls of update-guest-request task checking provisioning progress. | ||||
route.pool.enabled | bool | ARTEMIS_ROUTE_POOL_ENABLED | yes | yes |
route.pool.enabled:$entityname | ARTEMIS_ROUTE_POOL_ENABLED_$entityname | |||
If unset for a pool, the given pool is ignored by the routing. | ||||
route.pool.forgiving-time | int | ARTEMIS_ROUTE_POOL_FORGIVING_TIME | 600 | yes |
A time, in seconds, after which a pool error during a guest provisioning is ignored and pool becomes eligible for said guest request again. | ||||
route.pool.resource-threshold | float | ARTEMIS_ROUTE_POOL_RESOURCE_THRESHOLD | 90.0 | yes |
A percentage part of pool resource that, when reached, marks pool as depleted and not eligible for provisioning. | ||||
route.request.max-time | int | ARTEMIS_ROUTE_REQUEST_MAX_TIME | 21600 | yes |
A time, in seconds, after which a guest request is cancelled if provisioning haven’t succeeded. | ||||
sentry.base-url | str | ARTEMIS_SENTRY_BASE_URL | undefined | no |
Sentry base URL, for nice event URLs in logs. | ||||
sentry.disable-cert-verification | bool | ARTEMIS_SENTRY_DISABLE_CERT_VERIFICATION | no | no |
When enabled, Artemis would disable HTTPS certificate verification when submitting to Sentry. | ||||
sentry.dsn | str | ARTEMIS_SENTRY_DSN | undefined | no |
Sentry DSN. | ||||
shelf.max-guests | int | ARTEMIS_SHELF_MAX_GUESTS | 10 | yes |
shelf.max-guests:$entityname | ARTEMIS_SHELF_MAX_GUESTS_$entityname | |||
Maximum number of guests present on a shelf. | ||||
template.delimiters.variable | str | ARTEMIS_TEMPLATE_VARIABLE_DELIMITERS | {{,}} | no |
Variable delimiters for various Jinja2 templates. Useful when Artemis deployment renders templates that Artemis itself is supposed to render. The value shall be comma-separated list of two strings, the start and end delimiter of a variable to render in a template. | ||||
vault.password | str | ARTEMIS_VAULT_PASSWORD | `` | no |
A password for decrypting files protected by Ansible Vault. Takes precedence over ARTEMIS_VAULT_PASSWORD_FILE. | ||||
vault.password.filepath | <lambda> | ARTEMIS_VAULT_PASSWORD_FILE | $HOME/.vault_password | no |
Path to a file with a password for decrypting files protected by Ansible Vault. | ||||
worker.max-tasks | int | ARTEMIS_WORKER_MAX_TASKS_PER_PROCESS | 0 | no |
After this many tasks processed, a worker process would reload itself. Set to 0 to disable. | ||||
worker.metrics.process.enabled | bool | ARTEMIS_WORKER_PROCESS_METRICS_ENABLED | yes | no |
If enabled, various metrics related to worker processes would be collected. | ||||
worker.metrics.process.ttl | int | ARTEMIS_WORKER_PROCESS_METRICS_TTL | 120 | no |
How long, in seconds, should worker process metrics remain in cache. | ||||
worker.metrics.process.update-tick | int | ARTEMIS_WORKER_PROCESS_METRICS_UPDATE_TICK | 60 | no |
How often, in seconds, should workers update their process metrics cache. | ||||
worker.metrics.traffic.enabled | bool | ARTEMIS_WORKER_TRAFFIC_METRICS_ENABLED | yes | no |
If enabled, various metrics related to tasks and requests would be collected. | ||||
worker.metrics.traffic.ttl | int | ARTEMIS_WORKER_TRAFFIC_METRICS_TTL | 600 | no |
How long, in seconds, should worker traffic metrics remain in cache. |