Nailgun use block of nodes in stop operation to reset
such nodes in discovery state. Also Nailgun used such
data to calculate count of nodes for notifications.
But Astute will not send info about nodes in case
of task deployment.
This patch exclude count of nodes in stop notification
to prevent misslining message about successful operation
for 0 nodes
Change-Id: I32da2ccce11b22378f58759703fc4a56e31fd993
Closes-Bug: #1672964
* reset_environment supertask contains 3 subtasks:
base_reset_environment, remove_keys_task,
remove_ironic_bootstrap_task
* names for tasks were changed
* response methods for remove_keys_task and
remove_ironic_bootstrap_task were added to receiver
* _restore_pending_changes method was add only for
reset_environment_resp
* migration for adding new transaction names and appropriate
test were added
* test for check task message was added
Change-Id: Ib8a215174431486316bca533797932e02969c037
Closes-Bug: #1541868
Astute will send 'running' status for task
when start to process it, so we do not need
task in orchestrator mechanism.
Change-Id: I5e2deccdbd27daff3e3b131ef9c8c7ffbbb40dd4
Closes-Bug: #1621003
Also imporved detecting dead-locks in chains, instead
of card-coded chains use generic approach - collect
knowledge about chains and check a new one against
knowledge base.
Change-Id: Ie1549c14d95a372a341e1e6e616226f8ee226a03
Partial-Bug: 1618852
Task model is extended with noop_run boolean column;
Introdicing and passing down the noop_run param from API to
execution manager;
Execution manager supports noop_run argument,
and uses it for creating astute message;
DeploymentHistory model is extended with summary JSON column;
The summary column should be returned only if some
include_summary=1 query string is passed to API.
Implements blueprint: puppet-noop-run
Change-Id: I80090d96f818cef7c6f88208bdacf5849f0f5d0f
So far Nailgun has a bunch of managers for various tasks (transactions).
The way towards everything-is-a-graph means we won't have hardcoded
transactions and hence requires a new single manager to handle them all.
Transaction manager runs specified graphs on specified nodes within
single transaction (task), so anyone can poll it to check the progress.
Co-Authored-By: Igor Kalnitsky <igor@kalnitsky.org>
Change-Id: I98df7b98a07f64d97b561b85faa8472c3c551346
Blueprint: graph-concept-extension
Deleting empty environment leads to an inaccurate notification
message "Environment 'xxx' and all its nodes are deleted".
Now notification message looks like as follows:
"Environment 'xxx' is deleted"
Change-Id: I827686e15120e8548aba0e9fb430d38f08285650
Closes-Bug: 1589864
In case MAC's value is empty string comparing utils.is_same_mac fails
with ValueError exception which may leads to responses from other nodes not
being processed. We need to properly handle such situation.
Change-Id: I8843f9eabd139222ac326fdc26a43f5702ba751b
Related-Bug: #1569339
Related-Bug: #1569325
DHCP check task may fail on particular node from given set. In this case
data for that node will contain information about status of the
operation and particular causes of the error (if supplied by dhcp
checker itself). In such situation the task must be set to error status
despite results from other nodes.
Change-Id: I7dddbf727c31264596e5de6e169b09b2c0cfe20e
Closes-Bug: #1569339
This change introduces a new callback on_nodegroup_delete
which is called when a nodegroup is deleted.
It also adds a decorator that can be used to generate
before and after callbacks for any method.
Change-Id: Ia1c4ef3956175af6c223af854c9543cd781e8dbf
Blueprint: network-manager-extension
Zabbix has been removed from Fuel 7 and is not supported for 3 releases.
It's time to make cleanup and remove its code.
Closes-Bug: #1583990
Change-Id: I7393caebc629fcf652369b98731455abe8a2c378
Now following handlers:
/clusters/:cluster_id/changes/
/clusters/:cluster_id/changes/redeploy/
/clusters/:cluster_id/deploy/
/clusters/:cluster_id/deploy_tasks/
?dry_run=1 that is telling Astute not to run cluster executionat all.
Dry run assumes that it does not actually affect
cluster status regardless of their result.
Also, remove redundant update of nodes statuses to 'deploying'
within OpenStackConfigManager and DeploymentTaskManager as it should be
done by receiever.
Do not set cluster status to 'deployment' for these nodes in order to
retain its real status
Modify stop deployment tests to move failing stop deployment for already
deployed clusters to another test class. Since 9.0 we can run stop
deployment for new clusters.
Change-Id: I374fc86b63af64411d4a5ca45ff6c3680cb44897
Partial-bug: #1569839
This patch:
* extends current DB model with new entities and provides
related migrations.
* extends plugin sync method to support storing new plugins
attributes.
* provides cosmetic fix for ClusterPlugin model. Lets write table
names in the plural but model names in the singular.
Change-Id: I3edbde1d48461ce3fab7c93f17e2db5332b1f7fb
Implements: blueprint nics-and-nodes-attributes-via-plugin
Take into account inaccessible nodes that were removed from Nailgun DB as well.
Change-Id: I8bc86910ed70329df2053f06235d5b2f6af8dc22
Closes-bug: #1527571
Network checker, connectivity check, network template,
and utils files were moved into the network manager extension.
Change-Id: I2f7f192ebbc6e9b1902e03c2a65ffaf46df5348e
Blueprint: network-manager-extension
Provide message about plugins deployment only after successful deployment,
not in case of successfull provision.
Change-Id: Ic66ad2fc46397ddefb6db948672b88de7219a9ad
Closes-bug: 1532804
nailgun.errors have a huge set of exceptions but without hierarchy. This
patch remove exception generation from dict and make it explicitly with
python classes and add some exceptions hierarchy. Now all network errors
inherit from NetworkException and same for other exceptions.
Change-Id: I9a2c6b358ea02a16711da74562308664ad7aed97
Closes-bug: #1566195
Replacing map with for loops or list comprehensions in areas
where they where used improper.
Change-Id: I094abb3c6ec3c041f0fff6aed0c456158e1cc8f7
Closes-Bug: 1567849
Unfortunately, `task.cache['args']['nodes']` contains nodes with integer-based UIDs, not string based. Hence, sets with UIDs are considered completely different and we consider all nodes are unreachable. That results to mistakingly setting "error" to "verify_network" task.
This reverts commit 8a0b8af085.
Change-Id: Ie43bb2017021821b0342eef28e9ec4bd3542d22f
Closes-Bug: #1569140
The change doesn't introduce significant impact on the method's logic
and pertains to small cosmetic refactoring activity, hence is not bound
to particular bug or blueprint.
Change-Id: I86879cbde6345099abda1a743bfaed63ffb43e89
Bond interfaces with 'balance-rr' mode are now skipped by network
verification task for bootstrap nodes as network checker does not
support this type of bonding.
Change-Id: I39b2c5916fd6f39548af0e41d8e7f877983f73a2
Closes-Bug: #1546520
Removing argument hard from objects.Task.delete
as there is hard delete method in objects.Transaction
Aligning cluster_deletion task to delete.
Change-Id: I2762bb8959b5577fcef5af5643cb1592d44a4dab
UI needs to be able to check task status after cluster is removed.
We cannot delete deletion task with rest of the cluster.
Change-Id: Idc87f75123f3bff0745efd4a65f843036c1c4e50
Closes-Bug: 1519446
API url: `/api/transactions/<id>/deployment_history`
This change proposes to store all the information about
particular deployment tasks ever executed for each
particular cluster.
Change-Id: I73010a713ab8592418eb59bb133a427ac4c4a665
Implements: blueprint store-deployment-tasks-history
Introduce new node status: stopped, which used for nodes,
where orchestrator was successfully gracefully stopped task
deployment. This status will be able node redeploy.
Also introduced new type of node error_type: stop_deployment
It will be used if gracefully stop on node will be failed
for example, because of timeout. It will be apply automatically
by recevier for nodes in deploying status
if orchestrator return error for stop deployment task
Change-Id: I30d606d7d11d670d1a68ee90b01b932c1543fccc
Implements: blueprint graceful-stop-restart-deployment
In case if not all nodes are provisioned/deployed message will be
shows message that only part of nodes in expected state, otherwise
shows that whole cluster in expected state.
Also fixed calculating status of task is based on all nodes from cluster,
now only affected nodes are used to calculate task status.
Also fixed truncate of stack on exception handling in fake tasks
Change-Id: Icdb36e2e6a732becbb48d02b5c087922ecb3b7a8
Closes-Bug: 1542196
Checking repositories on availability is long task.
Http request can timeouts, while the task running.
Decided to move checking from http request context to
astute task, which running asynchronously.
Depends-On: I76ed1f0b6413cc94c539d795bbba92f8e9dad50b
Depends-On: I0ccf42fd7ff05d68aa4a4aee426c1c8bfa4daea4
Closes-Bug: #1540346
Change-Id: Iff76af0b0a6573f0f8f779fda4333a3658cccc04
Since all services inside containers are now started via systemd we need
add logging handling which in past was done by supervisord. Thus such
settings are added for rpc receiver and assassin services. Loggers are
set up independently from nailgun root logger as writing to files are
required for mentioned components.
Change-Id: I21136108d426531f572940dfc9f75fe153111d41
Partial-Bug: #1523476