Task based deployment engine does not allow for dry-run execution

Bug #1569839 reported by Vladimir Kuklin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Bulat Gaifullin
Mitaka
Fix Released
High
Vladimir Kuklin
Newton
Fix Committed
High
Bulat Gaifullin

Bug Description

With task based deployment in Astute it should be really easy to skip actual graph execution and dump it into graph file location directory. This opens huge opportunities for debugging and should consist of 2 parts:

'dry_run': True sent to astute by Nailgun

the simplest if clause in Astute to skip actual cluster graph run.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-astute (master)

Fix proposed to branch: master
Review: https://review.openstack.org/305297

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

Fix proposed to branch: master
Review: https://review.openstack.org/305401

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-fuelclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/306453

Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Vladimir Kuklin (vkuklin)
Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Vladimir Kuklin (vkuklin)
Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Vladimir Kuklin (vkuklin)
Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Vladimir Kuklin (vkuklin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-astute (master)

Reviewed: https://review.openstack.org/305297
Committed: https://git.openstack.org/cgit/openstack/fuel-astute/commit/?id=94c96e3582beac0a7dab5e699f480a63b3c4f1e0
Submitter: Jenkins
Branch: master

commit 94c96e3582beac0a7dab5e699f480a63b3c4f1e0
Author: Vladimir Kuklin <email address hidden>
Date: Wed Apr 13 14:18:52 2016 +0300

    Add support for dry-run deployment without actual graph execution

    This patch allows for astute to receive 'dry_run' option in deployment
    message and skip actual graph execution. This makes it easier for Fuel
    users to execut particular deployment and see the resulting expanded
    deployment graph.

    Change-Id: I28f216522fbeba9663d836b3d5a2f64c51133238
    Partial-bug: #1569839

Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Vladimir Kuklin (vkuklin)
Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Vladimir Kuklin (vkuklin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-astute (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/319851

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-fuelclient (master)

Reviewed: https://review.openstack.org/306453
Committed: https://git.openstack.org/cgit/openstack/python-fuelclient/commit/?id=75971870953bf01a84d62170f4924f9880f05598
Submitter: Jenkins
Branch: master

commit 75971870953bf01a84d62170f4924f9880f05598
Author: Vladimir Kuklin <email address hidden>
Date: Thu Apr 14 18:31:09 2016 +0300

    Add support for dry-run and noop deployment for deploy changes commands

    This commit adds an additional options to fuel client to support
    dry-run and noop modes of deployment which are really useful for
    debugging and day-to day operations and life cycle management of
    clusters

    Partial-bug: #1569839

    Change-Id: I77d0a8257a97a9f40e3cfd1a630c95b7800fe1e6

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-fuelclient (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/319984

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-astute (stable/mitaka)

Reviewed: https://review.openstack.org/319851
Committed: https://git.openstack.org/cgit/openstack/fuel-astute/commit/?id=9f61542a7fe2d7f107c06e5331de21273b39c651
Submitter: Jenkins
Branch: stable/mitaka

commit 9f61542a7fe2d7f107c06e5331de21273b39c651
Author: Vladimir Kuklin <email address hidden>
Date: Wed Apr 13 14:18:52 2016 +0300

    Add support for dry-run deployment without actual graph execution

    This patch allows for astute to receive 'dry_run' option in deployment
    message and skip actual graph execution. This makes it easier for Fuel
    users to execut particular deployment and see the resulting expanded
    deployment graph.

    Change-Id: I28f216522fbeba9663d836b3d5a2f64c51133238
    Partial-bug: #1569839
    (cherry picked from commit 94c96e3582beac0a7dab5e699f480a63b3c4f1e0)

tags: added: in-stable-mitaka
Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

Looks like a feature as it adds new functionality. So, won't fix for 9.0.

Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

This is an imporant addition to whole Fuel LCM 9.0 feature-set. It cannot be used without an ability to preview changes and deployment graph. So this is a UX High important bug which should be fixed, as it is as well passes only 2 flags to Astute.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to python-fuelclient (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/322058

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to python-fuelclient (master)

Reviewed: https://review.openstack.org/322058
Committed: https://git.openstack.org/cgit/openstack/python-fuelclient/commit/?id=19007f1d7848529bf70fe22c49e8db785959988e
Submitter: Jenkins
Branch: master

commit 19007f1d7848529bf70fe22c49e8db785959988e
Author: Vladimir Kuklin <email address hidden>
Date: Fri May 27 13:21:55 2016 +0300

    Remove noop deployment mode from client

    We merged client fixes to early as noop mode was rejected for
    its immaturity

    Change-Id: I783263152754fd4dbb787ee8b5131d131cf87555
    Related-bug: #1569839

Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-fuelclient (stable/mitaka)

Reviewed: https://review.openstack.org/319984
Committed: https://git.openstack.org/cgit/openstack/python-fuelclient/commit/?id=e12872552b11464d155630b328b7464ac7727173
Submitter: Jenkins
Branch: stable/mitaka

commit e12872552b11464d155630b328b7464ac7727173
Author: Vladimir Kuklin <email address hidden>
Date: Thu Apr 14 18:31:09 2016 +0300

    Add support for dry-run deployment for deploy changes commands

    This commit adds an additional option for fuel client to support
    dry-run mode of deployment which is really useful for
    debugging and day-to day operations and life cycle management of
    clusters

    Partial-bug: #1569839

    (squash of cherry-pick of 75971870953bf01a84d62170f4924f9880f05598 and
    19007f1d7848529bf70fe22c49e8db785959988e)

    Change-Id: I77d0a8257a97a9f40e3cfd1a630c95b7800fe1e6

Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Bulat Gaifullin (bgaifullin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/323274

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/305401
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=e4fbfe80ed468848429d7577396b68d6ffdc2d0e
Submitter: Jenkins
Branch: master

commit e4fbfe80ed468848429d7577396b68d6ffdc2d0e
Author: Vladimir Kuklin <email address hidden>
Date: Thu May 5 12:51:46 2016 +0300

    Allow a user to run dry-run deployment

    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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (stable/mitaka)

Reviewed: https://review.openstack.org/323274
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=90c120b518cd2c0713d99bf8e12790deecdc96ea
Submitter: Jenkins
Branch: stable/mitaka

commit 90c120b518cd2c0713d99bf8e12790deecdc96ea
Author: Vladimir Kuklin <email address hidden>
Date: Thu May 5 12:51:46 2016 +0300

    Allow a user to run dry-run deployment

    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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-astute (stable/mitaka)

Related fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/326873

Revision history for this message
Alex Schultz (alex-schultz) wrote :

Verified on 9 #465

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-astute (stable/mitaka)

Change abandoned by Dmitry Ilyin (<email address hidden>) on branch: stable/mitaka
Review: https://review.openstack.org/326873

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-astute (master)

Reviewed: https://review.openstack.org/324630
Committed: https://git.openstack.org/cgit/openstack/fuel-astute/commit/?id=b106c0557d3fc0b21e20c74cc2fb99482ccf3b5d
Submitter: Jenkins
Branch: master

commit b106c0557d3fc0b21e20c74cc2fb99482ccf3b5d
Author: Dmitry Ilyin <email address hidden>
Date: Thu Jun 2 18:48:41 2016 +0300

    Add Simulator class and command

    The simulatir tool can be used either to virtually
    run the deployment to find out the task run order
    or to plot the entire graph or its subset.

    > Run deployment from the YAML dumped by Astute
    astute-simulator -y /path/to/yaml/file.yaml

    > Run deployments with task failure emulation
    astute-simulator -y /path/to/yaml/file.yaml -f ntp-client/2,heat-db/1 -P

    > Using node and task name filters
    astute-simulator -y /path/to/yaml/file.yaml -g openstack -G '^2$' -p

    Related-bug: #1569839

    Change-Id: I6f583347e2f039a470410900c38d7a1d70151b56

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-astute (stable/mitaka)

Reviewed: https://review.openstack.org/326241
Committed: https://git.openstack.org/cgit/openstack/fuel-astute/commit/?id=5e70b9fd8a976e10bb83dc30720ea78e883e5788
Submitter: Jenkins
Branch: stable/mitaka

commit 5e70b9fd8a976e10bb83dc30720ea78e883e5788
Author: Dmitry Ilyin <email address hidden>
Date: Thu Jun 2 18:48:41 2016 +0300

    Add Simulator class and command

    The simulatir tool can be used either to virtually
    run the deployment to find out the task run order
    or to plot the entire graph or its subset.

    > Run deployment from the YAML dumped by Astute
    astute-simulator -y /path/to/yaml/file.yaml

    > Run deployments with task failure emulation
    astute-simulator -y /path/to/yaml/file.yaml -f ntp-client/2,heat-db/1 -P

    > Using node and task name filters
    astute-simulator -y /path/to/yaml/file.yaml -g openstack -G '^2$' -p

    Related-bug: #1569839

    Change-Id: I6f583347e2f039a470410900c38d7a1d70151b56
    (cherry picked from commit b106c0557d3fc0b21e20c74cc2fb99482ccf3b5d)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.