#, fuzzy msgid "" msgstr "" "Project-Id-Version: watcher VERSION\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" "POT-Creation-Date: 2026-03-25 13:49+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: watcher/api/controllers/v1/action.py:100 #: watcher/api/controllers/v1/action_plan.py:105 #, python-format msgid "Invalid state: %(state)s" msgstr "" #: watcher/api/controllers/v1/action.py:468 msgid "API microversion 1.5 or higher is required." msgstr "" #: watcher/api/controllers/v1/action.py:495 #: watcher/api/controllers/v1/action_plan.py:624 #: watcher/api/controllers/v1/audit.py:763 #, python-format msgid "State transition not allowed: (%(initial_state)s -> %(new_state)s)" msgstr "" #: watcher/api/controllers/v1/action.py:512 #, python-format msgid "State update not allowed for actionplan state: %(ap_state)s" msgstr "" #: watcher/api/controllers/v1/action.py:520 msgid "Action skipped by user." msgstr "" #: watcher/api/controllers/v1/action.py:530 msgid "status_message update only allowed when action state is SKIPPED" msgstr "" #: watcher/api/controllers/v1/action.py:536 #, python-format msgid "%(status_message)s Reason: %(reason)s" msgstr "" #: watcher/api/controllers/v1/audit.py:124 msgid "A valid goal or audit_template_id must be provided" msgstr "" #: watcher/api/controllers/v1/audit.py:170 msgid "The audit template UUID or name specified is invalid" msgstr "" #: watcher/api/controllers/v1/audit.py:251 #, python-format msgid "%(field)s can't be updated." msgstr "" #: watcher/api/controllers/v1/audit.py:703 #, python-format msgid "Invalid parameters for strategy: %s" msgstr "" #: watcher/api/controllers/v1/audit.py:709 msgid "" "Specify parameters but no predefined strategy for audit, or no parameter " "spec in predefined strategy" msgstr "" #: watcher/api/controllers/v1/audit_template.py:163 msgid "host_aggregates can't be included and excluded together" msgstr "" #: watcher/api/controllers/v1/audit_template.py:196 #, python-format msgid "" "'%(strategy)s' strategy does relate to the '%(goal)s' goal. Possible choices:" " %(choices)s" msgstr "" #: watcher/api/controllers/v1/audit_template.py:227 msgid "Cannot remove 'goal' attribute from an audit template" msgstr "" #: watcher/api/controllers/v1/types.py:144 #, python-format msgid "%s is not JSON serializable" msgstr "" #: watcher/api/controllers/v1/types.py:181 #, python-format msgid "Wrong type. Expected '%(type)s', got '%(value)s'" msgstr "" #: watcher/api/controllers/v1/types.py:236 #, python-format msgid "'%s' is not an allowed attribute and can not be updated" msgstr "" #: watcher/api/controllers/v1/types.py:241 #, python-format msgid "'%s' is an internal attribute and can not be updated" msgstr "" #: watcher/api/controllers/v1/types.py:245 #, python-format msgid "'%s' is a mandatory attribute and can not be removed" msgstr "" #: watcher/api/controllers/v1/types.py:250 msgid "'add' and 'replace' operations needs value" msgstr "" #: watcher/api/controllers/v1/utils.py:48 msgid "Limit must be positive" msgstr "" #: watcher/api/controllers/v1/utils.py:61 #, python-format msgid "Invalid sort direction: %s. Acceptable values are 'asc' or 'desc'" msgstr "" #: watcher/api/controllers/v1/utils.py:72 #, python-format msgid "Invalid sort key: %s" msgstr "" #: watcher/api/controllers/v1/utils.py:81 #, python-format msgid "Invalid filter: %s" msgstr "" #: watcher/api/controllers/v1/utils.py:103 #, python-format msgid "" "Adding a new attribute (%s) to the root of the resource is not allowed" msgstr "" #: watcher/api/middleware/auth_token.py:47 msgid "Cannot compile public API routes" msgstr "" #: watcher/api/middleware/parsable_error.py:53 #, python-format msgid "ErrorDocumentMiddleware received an invalid status %s" msgstr "" #: watcher/applier/action_plan/default.py:88 msgid "One or more actions were skipped." msgstr "" #: watcher/applier/actions/change_node_power_state.py:91 #: watcher/applier/actions/change_nova_service_state.py:103 msgid "The target state is not defined" msgstr "" #: watcher/applier/actions/change_nova_service_state.py:124 #, python-format msgid "nova-compute service %s not found" msgstr "" #: watcher/applier/actions/change_nova_service_state.py:129 #, python-format msgid "nova-compute service %(service)s is already in state %(state)s" msgstr "" #: watcher/applier/actions/migration.py:194 #: watcher/applier/actions/volume_migration.py:190 #, python-format msgid "Migration of type '%(migration_type)s' is not supported." msgstr "" #: watcher/applier/actions/migration.py:240 #: watcher/applier/actions/resize.py:128 watcher/applier/actions/stop.py:171 #, python-format msgid "Instance %s not found" msgstr "" #: watcher/applier/actions/migration.py:248 #, python-format msgid "" "Instance %(instance)s is not running on source node %(source)s (currently on " "%(current)s)" msgstr "" #: watcher/applier/actions/migration.py:269 #, python-format msgid "Destination node %s is not in enabled state" msgstr "" #: watcher/applier/actions/migration.py:274 #, python-format msgid "Destination node %s not found" msgstr "" #: watcher/applier/actions/migration.py:283 #, python-format msgid "" "Live migration requires instance %(instance)s to be in ACTIVE status " "(current status: %(status)s)" msgstr "" #: watcher/applier/actions/resize.py:135 #, python-format msgid "Flavor %s not found" msgstr "" #: watcher/applier/actions/stop.py:182 #, python-format msgid "Instance %s is already stopped" msgstr "" #: watcher/applier/actions/volume_migration.py:181 msgid "Invalid state for swapping volume" msgstr "" #: watcher/applier/actions/volume_migration.py:230 #, python-format msgid "Volume %s not found" msgstr "" #: watcher/applier/actions/volume_migration.py:239 #, python-format msgid "Volume type %s not found" msgstr "" #: watcher/applier/actions/volume_migration.py:250 #, python-format msgid "Pool %s not found" msgstr "" #: watcher/applier/actions/volume_migration.py:260 #, python-format msgid "Volume type is already %s" msgstr "" #: watcher/applier/actions/volume_migration.py:271 #, python-format msgid "Volume is already on node %s" msgstr "" #: watcher/applier/workflow_engine/base.py:159 #, python-format msgid "Action failed in %(phase)s: %(reason)s" msgstr "" #: watcher/applier/workflow_engine/base.py:207 #, python-format msgid "Action was skipped automatically: %s" msgstr "" #: watcher/cmd/status.py:45 msgid "Minimum Nova API Version" msgstr "" #: watcher/cmd/status.py:48 msgid "Policy File JSON to YAML Migration" msgstr "" #: watcher/common/cinder_helper.py:290 #, python-format msgid "" "Volume type '%(volume_type)s' is not compatible with destination pool " "'%(pool_name)s'" msgstr "" #: watcher/common/cinder_helper.py:315 msgid "Volume type must be different for retyping" msgstr "" #: watcher/common/cinder_helper.py:348 #, python-format msgid "Failed to create volume '%(volume)s. " msgstr "" #: watcher/common/cinder_helper.py:362 #, python-format msgid "Failed to delete volume '%(volume)s. " msgstr "" #: watcher/common/exception.py:56 #, python-format msgid "Unexpected keystone client error occurred: %s" msgstr "" #: watcher/common/exception.py:73 msgid "An unknown exception occurred" msgstr "" #: watcher/common/exception.py:122 msgid "Not supported" msgstr "" #: watcher/common/exception.py:126 msgid "Not authorized" msgstr "" #: watcher/common/exception.py:131 msgid "Request not acceptable." msgstr "" #: watcher/common/exception.py:136 #, python-format msgid "Policy doesn't allow %(action)s to be performed." msgstr "" #: watcher/common/exception.py:140 msgid "Unacceptable parameters" msgstr "" #: watcher/common/exception.py:145 #, python-format msgid "The %(name)s %(id)s could not be found" msgstr "" #: watcher/common/exception.py:149 msgid "Conflict" msgstr "" #: watcher/common/exception.py:154 #, python-format msgid "The %(name)s resource %(id)s could not be found" msgstr "" #: watcher/common/exception.py:159 #, python-format msgid "%(parameter)s has to be of type %(parameter_type)s" msgstr "" #: watcher/common/exception.py:163 #, python-format msgid "%(parameter)s is required but missing. Check watcher.conf" msgstr "" #: watcher/common/exception.py:167 #, python-format msgid "Expected a uuid or int but received %(identity)s" msgstr "" #: watcher/common/exception.py:172 #, python-format msgid "Filter operator is not valid: %(operator)s not in %(valid_operators)s" msgstr "" #: watcher/common/exception.py:177 #, python-format msgid "Goal %(goal)s is invalid" msgstr "" #: watcher/common/exception.py:181 #, python-format msgid "Strategy %(strategy)s is invalid" msgstr "" #: watcher/common/exception.py:185 #, python-format msgid "Audit %(audit)s is invalid" msgstr "" #: watcher/common/exception.py:189 #, python-format msgid "Audit %(audit)s was not eagerly loaded" msgstr "" #: watcher/common/exception.py:193 #, python-format msgid "Action plan %(action_plan)s is invalid" msgstr "" #: watcher/common/exception.py:197 #, python-format msgid "Action plan %(action_plan)s was not eagerly loaded" msgstr "" #: watcher/common/exception.py:201 #, python-format msgid "Action %(action)s was not eagerly loaded" msgstr "" #: watcher/common/exception.py:205 #, python-format msgid "Expected a uuid but received %(uuid)s" msgstr "" #: watcher/common/exception.py:209 #, python-format msgid "Expected a logical name but received %(name)s" msgstr "" #: watcher/common/exception.py:213 #, python-format msgid "Expected a logical name or uuid but received %(name)s" msgstr "" #: watcher/common/exception.py:217 #, python-format msgid "Expected an interval or cron syntax but received %(name)s" msgstr "" #: watcher/common/exception.py:221 #, python-format msgid "The %(data_model_type)s data model could not be found" msgstr "" #: watcher/common/exception.py:225 #, python-format msgid "Goal %(goal)s could not be found" msgstr "" #: watcher/common/exception.py:229 #, python-format msgid "A goal with UUID %(uuid)s already exists" msgstr "" #: watcher/common/exception.py:233 #, python-format msgid "Strategy %(strategy)s could not be found" msgstr "" #: watcher/common/exception.py:237 #, python-format msgid "A strategy with UUID %(uuid)s already exists" msgstr "" #: watcher/common/exception.py:241 #, python-format msgid "AuditTemplate %(audit_template)s could not be found" msgstr "" #: watcher/common/exception.py:246 #, python-format msgid "An audit_template with UUID or name %(audit_template)s already exists" msgstr "" #: watcher/common/exception.py:251 #, python-format msgid "Audit type %(audit_type)s could not be found" msgstr "" #: watcher/common/exception.py:255 #, python-format msgid "Audit type %(audit_type)s is disallowed." msgstr "" #: watcher/common/exception.py:259 #, python-format msgid "Audit state %(state)s is disallowed." msgstr "" #: watcher/common/exception.py:263 #, python-format msgid "Audit parameter %(parameter)s are not allowed" msgstr "" #: watcher/common/exception.py:267 #, python-format msgid "Audit %(audit)s could not be found" msgstr "" #: watcher/common/exception.py:271 #, python-format msgid "An audit with UUID or name %(audit)s already exists" msgstr "" #: watcher/common/exception.py:275 #, python-format msgid "Interval of audit must be specified for %(audit_type)s." msgstr "" #: watcher/common/exception.py:279 #, python-format msgid "Interval of audit must not be set for %(audit_type)s." msgstr "" #: watcher/common/exception.py:284 #, python-format msgid "Start or End time of audit must not be set for %(audit_type)s." msgstr "" #: watcher/common/exception.py:290 #, python-format msgid "Audit %(audit)s is referenced by one or multiple action plans" msgstr "" #: watcher/common/exception.py:295 #, python-format msgid "Audit with UUID %(uuid)s is cancelled" msgstr "" #: watcher/common/exception.py:303 #, python-format msgid "ActionPlan %(action_plan)s could not be found" msgstr "" #: watcher/common/exception.py:307 #, python-format msgid "An action plan with UUID %(uuid)s already exists" msgstr "" #: watcher/common/exception.py:312 #, python-format msgid "Action Plan %(action_plan)s is referenced by one or multiple actions" msgstr "" #: watcher/common/exception.py:317 #, python-format msgid "Action Plan with UUID %(uuid)s is cancelled by user" msgstr "" #: watcher/common/exception.py:321 #, python-format msgid "Action Plan %(action_plan)s is currently running." msgstr "" #: watcher/common/exception.py:325 #, python-format msgid "Action %(action)s could not be found" msgstr "" #: watcher/common/exception.py:329 watcher/common/exception.py:353 #, python-format msgid "An action with UUID %(uuid)s already exists" msgstr "" #: watcher/common/exception.py:334 #, python-format msgid "Action plan %(action_plan)s is referenced by one or multiple goals" msgstr "" #: watcher/common/exception.py:340 msgid "Filtering actions on both audit and action-plan is prohibited" msgstr "" #: watcher/common/exception.py:345 #, python-format msgid "Provided %(action_type)s is not supported yet" msgstr "" #: watcher/common/exception.py:349 #, python-format msgid "Efficacy indicator %(efficacy_indicator)s could not be found" msgstr "" #: watcher/common/exception.py:357 #, python-format msgid "A scoring engine with UUID %(uuid)s already exists" msgstr "" #: watcher/common/exception.py:361 #, python-format msgid "ScoringEngine %(scoring_engine)s could not be found" msgstr "" #: watcher/common/exception.py:369 #, python-format msgid "Couldn't apply patch '%(patch)s'. Reason: %(reason)s" msgstr "" #: watcher/common/exception.py:373 #, python-format msgid "Couldn't delete when state is '%(state)s'." msgstr "" #: watcher/common/exception.py:377 #, python-format msgid "Couldn't start when state is '%(state)s'." msgstr "" #: watcher/common/exception.py:384 #, python-format msgid "Workflow execution error: %(error)s" msgstr "" #: watcher/common/exception.py:388 msgid "Illegal argument" msgstr "" #: watcher/common/exception.py:392 #, python-format msgid "%(client)s connection failed. Reason: %(reason)s" msgstr "" #: watcher/common/exception.py:396 msgid "The cluster state is stale" msgstr "" #: watcher/common/exception.py:400 #, python-format msgid "The cluster data model '%(cdm)s' could not be built" msgstr "" #: watcher/common/exception.py:404 msgid "The cluster state is not defined" msgstr "" #: watcher/common/exception.py:408 #, python-format msgid "No strategy could be found to achieve the '%(goal)s' goal." msgstr "" #: watcher/common/exception.py:413 #, python-format msgid "" "The indicator '%(name)s' with value '%(value)s' and spec type " "'%(spec_type)s' is invalid." msgstr "" #: watcher/common/exception.py:420 #, python-format msgid "" "Could not compute the global efficacy for the '%(goal)s' goal using the " "'%(strategy)s' strategy." msgstr "" #: watcher/common/exception.py:427 #, python-format msgid "Datasource %(datasource)s is not supported by strategy %(strategy)s" msgstr "" #: watcher/common/exception.py:432 #, python-format msgid "Datasource %(datasource)s is not available." msgstr "" #: watcher/common/exception.py:438 #, python-format msgid "Metric: %(metric)s not available" msgstr "" #: watcher/common/exception.py:444 msgid "No datasources available" msgstr "" #: watcher/common/exception.py:448 #, python-format msgid "No %(metric)s metric for %(host)s found." msgstr "" #: watcher/common/exception.py:452 #, python-format msgid "A service with name %(name)s is already working on %(host)s." msgstr "" #: watcher/common/exception.py:456 #, python-format msgid "The service %(service)s cannot be found." msgstr "" #: watcher/common/exception.py:461 #, python-format msgid "" "You shouldn't use any other IDs of %(resource)s if you use wildcard " "character." msgstr "" #: watcher/common/exception.py:467 #, python-format msgid "Provided cron is invalid: %(message)s" msgstr "" #: watcher/common/exception.py:472 #, python-format msgid "An action description with type %(action_type)s is already exist." msgstr "" #: watcher/common/exception.py:477 #, python-format msgid "The action description %(action_id)s cannot be found." msgstr "" #: watcher/common/exception.py:481 #, python-format msgid "The action %(action_id)s execution failed." msgstr "" #: watcher/common/exception.py:488 #, python-format msgid "The compute resource '%(name)s' could not be found" msgstr "" #: watcher/common/exception.py:492 #, python-format msgid "The instance '%(name)s' could not be found" msgstr "" #: watcher/common/exception.py:497 #, python-format msgid "The mapped compute node for instance '%(uuid)s' could not be found." msgstr "" #: watcher/common/exception.py:502 #, python-format msgid "The compute node %(name)s could not be found" msgstr "" #: watcher/common/exception.py:506 #, python-format msgid "The storage resource '%(name)s' could not be found" msgstr "" #: watcher/common/exception.py:510 #, python-format msgid "The storage node %(name)s could not be found" msgstr "" #: watcher/common/exception.py:514 #, python-format msgid "The pool %(name)s could not be found" msgstr "" #: watcher/common/exception.py:518 #, python-format msgid "The volume '%(name)s' could not be found" msgstr "" #: watcher/common/exception.py:522 #, python-format msgid "Volume %(name)s did not reach status %(status)s." msgstr "" #: watcher/common/exception.py:526 #, python-format msgid "The baremetal resource '%(name)s' could not be found" msgstr "" #: watcher/common/exception.py:530 #, python-format msgid "The ironic node %(uuid)s could not be found" msgstr "" #: watcher/common/exception.py:534 #, python-format msgid "Error loading plugin '%(name)s'" msgstr "" #: watcher/common/exception.py:538 #, python-format msgid "The identifier '%(name)s' is a reserved word" msgstr "" #: watcher/common/exception.py:542 #, python-format msgid "The %(name)s resource %(id)s is not soft deleted" msgstr "" #: watcher/common/exception.py:546 msgid "Limit should be positive" msgstr "" #: watcher/common/exception.py:551 #, python-format msgid "" "Payload not populated when trying to send notification \"%(class_name)s\"" msgstr "" #: watcher/common/exception.py:557 #, python-format msgid "The %(name)s pool %(attribute)s is not integer" msgstr "" #: watcher/common/exception.py:562 #, python-format msgid "" "Datasource %(datasource_one)s is not supported when datasource " "%(datasource_two)s is also enabled." msgstr "" #: watcher/common/exception.py:569 #, python-format msgid "" "Live migration execution and abort both failed for the instance %(name)s." msgstr "" #: watcher/common/exception.py:575 #, python-format msgid "Nova client error: %(reason)s" msgstr "" #: watcher/common/keystone_helper.py:42 #, python-format msgid "Role not Found: %s" msgstr "" #: watcher/common/keystone_helper.py:46 #, python-format msgid "Role name seems ambiguous: %s" msgstr "" #: watcher/common/keystone_helper.py:58 #, python-format msgid "User not Found: %s" msgstr "" #: watcher/common/keystone_helper.py:62 #, python-format msgid "User name seems ambiguous: %s" msgstr "" #: watcher/common/keystone_helper.py:74 #, python-format msgid "Project not Found: %s" msgstr "" #: watcher/common/keystone_helper.py:79 #, python-format msgid "Project name seems ambiguous: %s" msgstr "" #: watcher/common/keystone_helper.py:92 #, python-format msgid "Domain not Found: %s" msgstr "" #: watcher/common/keystone_helper.py:96 #, python-format msgid "Domain name seems ambiguous: %s" msgstr "" #: watcher/common/service.py:51 msgid "" "Specifies the minimum level for which to send notifications. If not set, no " "notifications will be sent. The default is for this option to be at the " "`INFO` level." msgstr "" #: watcher/common/service.py:431 msgid "Plugins" msgstr "" #: watcher/conf/nova_client.py:34 msgid "" "To replace the frozen novaclient with the openstacksdk compute proxy, the " "options need to be under the [nova] group." msgstr "" #: watcher/conf/nova_client.py:55 msgid "" "This option was replaced by the valid_interfaces option defined by " "keystoneauth." msgstr "" #: watcher/conf/nova_client.py:73 msgid "" "This option was replaced by the region_name option defined by keystoneauth." msgstr "" #: watcher/conf/service.py:30 msgid "Seconds between running periodic tasks." msgstr "" #: watcher/conf/service.py:36 msgid "" "Name of this node. This can be an opaque identifier. It is not necessarily a " "hostname, FQDN, or IP address. However, the node name must be valid within " "an AMQP key." msgstr "" #: watcher/conf/service.py:45 msgid "Maximum time since last check-in for up service." msgstr "" #: watcher/conf/service.py:51 msgid "" "Enable logging of thread pool executor statistics when submitting tasks. " "Logs current queue length, number of workers (total, idle or running) and " "executor runtime statistics. Useful for diagnosing contention and " "performance issues." msgstr "" #: watcher/db/purge.py:50 msgid "Goals" msgstr "" #: watcher/db/purge.py:51 msgid "Strategies" msgstr "" #: watcher/db/purge.py:52 msgid "Audit Templates" msgstr "" #: watcher/db/purge.py:53 msgid "Audits" msgstr "" #: watcher/db/purge.py:54 msgid "Action Plans" msgstr "" #: watcher/db/purge.py:55 msgid "Actions" msgstr "" #: watcher/db/purge.py:105 msgid "Total" msgstr "" #: watcher/db/purge.py:173 msgid "Goal" msgstr "" #: watcher/db/purge.py:331 #, python-format msgid "There are %(count)d objects set for deletion. Continue? [y/N]" msgstr "" #: watcher/db/purge.py:341 #, python-format msgid "" "The number of objects (%(num)s) to delete from the database exceeds the " "maximum number of objects (%(max_number)s) specified." msgstr "" #: watcher/db/purge.py:349 msgid "" "Do you want to delete objects up to the specified maximum number? [y/N]" msgstr "" #: watcher/db/purge.py:463 msgid " (orphans excluded)" msgstr "" #: watcher/db/purge.py:465 msgid " (may include orphans)" msgstr "" #: watcher/db/purge.py:469 #, python-format msgid "Purge results summary%s:" msgstr "" #: watcher/db/purge.py:475 #, python-format msgid "Here below is a table containing the objects that can be purged%s:" msgstr "" #: watcher/db/sqlalchemy/api.py:602 msgid "Cannot overwrite UUID for an existing Goal." msgstr "" #: watcher/db/sqlalchemy/api.py:670 msgid "Cannot overwrite UUID for an existing Strategy." msgstr "" #: watcher/db/sqlalchemy/api.py:762 msgid "Cannot overwrite UUID for an existing Audit Template." msgstr "" #: watcher/db/sqlalchemy/api.py:868 msgid "Cannot overwrite UUID for an existing Audit." msgstr "" #: watcher/db/sqlalchemy/api.py:939 msgid "Cannot overwrite UUID for an existing Action." msgstr "" #: watcher/db/sqlalchemy/api.py:1033 msgid "Cannot overwrite UUID for an existing Action Plan." msgstr "" #: watcher/db/sqlalchemy/api.py:1158 msgid "Cannot overwrite UUID for an existing efficacy indicator." msgstr "" #: watcher/db/sqlalchemy/api.py:1257 msgid "Cannot overwrite UUID for an existing Scoring Engine." msgstr "" #: watcher/db/sqlalchemy/migration.py:75 msgid "" "Watcher database schema is already under version control; use upgrade() " "instead" msgstr "" #: watcher/decision_engine/gmr.py:26 msgid "CDMCs" msgstr "" #: watcher/decision_engine/datasources/grafana.py:238 msgid "Grafana helper does not support statistic series method" msgstr "" #: watcher/decision_engine/datasources/prometheus.py:76 msgid "" "prometheus host must be set in watcher.conf under the [prometheus_client] " "section. Can't initialise the datasource without valid host." msgstr "" #: watcher/decision_engine/datasources/prometheus_base.py:227 #, python-format msgid "" "Unknown Watcher aggregate %s. This does not resolve to any valid prometheus " "query aggregate." msgstr "" #: watcher/decision_engine/datasources/prometheus_base.py:282 #, python-format msgid "" "Cannot build prometheus query without args. You provided: meter %(mtr)s, " "aggregate %(agg)s, instance_label %(inst)s, period %(prd)s" msgstr "" #: watcher/decision_engine/datasources/prometheus_base.py:337 #, python-format msgid "Cannot process prometheus meter %s" msgstr "" #: watcher/decision_engine/datasources/prometheus_base.py:439 msgid "" "Prometheus helper currently does not support statistic_series. This can be " "considered for future enhancement." msgstr "" #: watcher/decision_engine/datasources/grafana_translator/base.py:84 #, python-format msgid "The value %(value)s for parameter %(parameter)s is invalid" msgstr "" #: watcher/decision_engine/goal/goals.py:33 msgid "Dummy goal" msgstr "" #: watcher/decision_engine/goal/goals.py:61 msgid "Unclassified" msgstr "" #: watcher/decision_engine/goal/goals.py:86 msgid "Server Consolidation" msgstr "" #: watcher/decision_engine/goal/goals.py:110 msgid "Thermal Optimization" msgstr "" #: watcher/decision_engine/goal/goals.py:134 msgid "Workload Balancing" msgstr "" #: watcher/decision_engine/goal/goals.py:158 msgid "Airflow Optimization" msgstr "" #: watcher/decision_engine/goal/goals.py:184 #: watcher/decision_engine/strategy/strategies/noisy_neighbor.py:77 msgid "Noisy Neighbor" msgstr "" #: watcher/decision_engine/goal/goals.py:208 msgid "Saving Energy" msgstr "" #: watcher/decision_engine/goal/goals.py:233 msgid "Hardware Maintenance" msgstr "" #: watcher/decision_engine/goal/goals.py:258 msgid "Cluster Maintaining" msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:84 msgid "The total number of enabled compute nodes." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:97 msgid "The number of compute nodes to be released." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:111 msgid "The total number of audited instances in strategy." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:126 msgid "The number of VM migrations to be performed." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:139 msgid "The number of instances actually live migrated." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:152 msgid "The number of instances planned to live migrate." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:165 msgid "The number of instances actually cold migrated." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:178 msgid "The number of instances planned to cold migrate." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:191 msgid "The number of detached volumes actually migrated." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:205 msgid "The number of detached volumes planned to migrate." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:219 msgid "The number of attached volumes actually migrated." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:233 msgid "The number of attached volumes planned to migrate." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:247 msgid "The value of resulted standard deviation." msgstr "" #: watcher/decision_engine/goal/efficacy/indicators.py:261 msgid "The value of original standard deviation." msgstr "" #: watcher/decision_engine/goal/efficacy/specs.py:50 msgid "" "Ratio of released compute nodes divided by the total number of enabled " "compute nodes." msgstr "" #: watcher/decision_engine/goal/efficacy/specs.py:83 msgid "Ratio of migrated virtual machines to audited virtual machines" msgstr "" #: watcher/decision_engine/goal/efficacy/specs.py:121 msgid "" "Ratio of actual live migrated instances to planned live migrate instances." msgstr "" #: watcher/decision_engine/goal/efficacy/specs.py:142 msgid "" "Ratio of actual cold migrated instances to planned cold migrate instances." msgstr "" #: watcher/decision_engine/goal/efficacy/specs.py:160 msgid "" "Ratio of actual detached volumes migrated to planned detached volumes " "migrate." msgstr "" #: watcher/decision_engine/goal/efficacy/specs.py:178 msgid "" "Ratio of actual attached volumes migrated to planned attached volumes " "migrate." msgstr "" #: watcher/decision_engine/model/model_root.py:66 #: watcher/decision_engine/model/model_root.py:373 #: watcher/decision_engine/model/model_root.py:380 #: watcher/decision_engine/model/model_root.py:387 #: watcher/decision_engine/model/model_root.py:686 #, python-format msgid "'obj' argument type is not valid: %s" msgstr "" #: watcher/decision_engine/model/model_root.py:73 msgid "'obj' argument type is not valid" msgstr "" #: watcher/decision_engine/scoring/dummy_scorer.py:142 msgid "Unable to parse features: " msgstr "" #: watcher/decision_engine/scoring/dummy_scorer.py:144 #: watcher/decision_engine/scoring/dummy_scoring_container.py:93 msgid "JSON list expected in feature argument" msgstr "" #: watcher/decision_engine/scoring/dummy_scorer.py:146 msgid "Invalid number of features, expected 9" msgstr "" #: watcher/decision_engine/scoring/dummy_scoring_container.py:91 #, python-format msgid "Unable to parse features: %s" msgstr "" #: watcher/decision_engine/scoring/dummy_scoring_container.py:95 msgid "At least one feature is required" msgstr "" #: watcher/decision_engine/scoring/scoring_factory.py:52 #, python-format msgid "Scoring Engine with name=%s not found" msgstr "" #: watcher/decision_engine/solution/efficacy.py:40 msgid "An indicator value should be a number" msgstr "" #: watcher/decision_engine/strategy/selection/default.py:74 #, python-format msgid "Could not load any strategy for goal %(goal)s" msgstr "" #: watcher/decision_engine/strategy/strategies/actuation.py:40 msgid "Actuator" msgstr "" #: watcher/decision_engine/strategy/strategies/basic_consolidation.py:104 msgid "Basic offline consolidation" msgstr "" #: watcher/decision_engine/strategy/strategies/dummy_strategy.py:84 msgid "Dummy strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/dummy_with_resize.py:105 msgid "Dummy strategy with resize" msgstr "" #: watcher/decision_engine/strategy/strategies/dummy_with_scorer.py:135 msgid "Dummy Strategy using sample Scoring Engines" msgstr "" #: watcher/decision_engine/strategy/strategies/host_maintenance.py:73 msgid "Host Maintenance Strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/host_maintenance.py:313 msgid "Executing Host Maintenance Migration Strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/node_resource_consolidation.py:77 msgid "Node Resource Consolidation strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/node_resource_consolidation.py:174 msgid "The node status is not defined" msgstr "" #: watcher/decision_engine/strategy/strategies/outlet_temp_control.py:96 msgid "Outlet temperature based strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/saving_energy.py:105 msgid "Saving Energy Strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/storage_capacity_balance.py:81 msgid "Storage Capacity Balance Strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/uniform_airflow.py:78 msgid "Uniform airflow migration strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py:103 msgid "VM Workload Consolidation Strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/workload_balance.py:87 msgid "Workload Balance Migration Strategy" msgstr "" #: watcher/decision_engine/strategy/strategies/workload_stabilization.py:107 msgid "Workload stabilization" msgstr "" #: watcher/decision_engine/strategy/strategies/workload_stabilization.py:390 #, python-format msgid "" "Incorrect mapping: could not find associated weight for %s in weight dict." msgstr "" #: watcher/decision_engine/strategy/strategies/zone_migration.py:79 msgid "Zone migration" msgstr ""