CLI should allow to list, upload, download custom graphs with any type

Bug #1563851 reported by Alexey Shtokolov
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Bulat Gaifullin
Mitaka
Fix Released
High
Bulat Gaifullin
Newton
Fix Committed
High
Bulat Gaifullin

Bug Description

Fuel CLI should allow to use graph type for command:

* fuel2 graph list --env env_id

* fuel2 graph upload --env env_id [--type graph_type] --file tasks.yaml

* fuel2 graph upload --release release_id [--type graph_type] --file tasks.yaml

* fuel2 graph upload --plugin plugin_id [--type graph_type] --file tasks.yaml

--type is optional. ‘default’ graph type with confirmation should be used if no type is defined.

* fuel2 graph download --env env_id --all [--type graph_type] [--file cluster_graph.yaml]

* fuel2 graph download --env env_id --cluster [--type graph_type] [--file cluster_graph.yaml]

* fuel2 graph download --env env_id --plugins [--type graph_type] [--file plugins_graph.yaml]

* fuel2 graph download --env env_id --release [--type graph_type] [--file release_graph.yaml]

--type is optional and ‘default’ graph will be downloaded in no type is
defined.

* fuel2 graph execute --env env_id [--type graph_type] [--node node_ids] Graph execution available only for the environment.

summary: - CLI should allow to list, upload, download custom graph with any type
+ CLI should allow to list, upload, download custom graphs with any type
Revision history for this message
Bug Checker Bot (bug-checker) wrote : Autochecker

(This check performed automatically)
Please, make sure that bug description contains the following sections filled in with the appropriate data related to the bug you are describing:

actual result

expected result

steps to reproduce

For more detailed information on the contents of each of the listed sections see https://wiki.openstack.org/wiki/Fuel/How_to_contribute#Here_is_how_you_file_a_bug

tags: added: need-info
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/299883

Changed in fuel:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

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)
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/301242

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

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

commit d3a41482814d39d0b404e1ea8a8ea593851e86d7
Author: Ilya Kutukov <email address hidden>
Date: Thu Mar 31 19:22:23 2016 +0300

    Added graph_type support to the PUT -> /deployment_tasks handlers:

    `graph_type` request string parameter support is added to the following handlers:

    * `PUT /clusters/<cluster_id>/deployment_tasks/`

    * `PUT /releases/<release_id>/deployment_tasks/`

    Change-Id: Iec210248b456e921815475e1bbafadcf738af18d
    Partial-Bug: #1563851

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

commit 88fe73e91a154decc4abc2f9cae61d30b08f8142
Author: Ilya Kutukov <email address hidden>
Date: Thu Mar 31 15:02:36 2016 +0300

    Merged plugins tasks and release tasks are added to the cluster handlers

    Following handlers are implemented with graph_type support:

    * Get merged plugins tasks for plugins enabled for the environment
      `GET /clusters/<cluster_id>/deployment_tasks/plugins/`

    * Get cluster release deployment tasks
      `GET /clusters/<cluster_id>/deployment_tasks/release/`

    Change-Id: I3411860990728a43641c7685b1e6ee736aab5c23
    Closes-Bug: #1563848
    Partial-Bug: #1563851

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on python-fuelclient (master)

Change abandoned by Ilya Kutukov (<email address hidden>) on branch: master
Review: https://review.openstack.org/301242

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Ilya Kutukov (<email address hidden>) on branch: master
Review: https://review.openstack.org/301242
Reason: patch should be completely re-worked

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/301857

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/302323

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

Change abandoned by Ilya Kutukov (<email address hidden>) on branch: stable/mitaka
Review: https://review.openstack.org/302323

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

Reviewed: https://review.openstack.org/299306
Committed: https://git.openstack.org/cgit/openstack/python-fuelclient/commit/?id=7a9cd8abec0a238eed4d7234d5d58e83e144fcad
Submitter: Jenkins
Branch: master

commit 7a9cd8abec0a238eed4d7234d5d58e83e144fcad
Author: Ilya Kutukov <email address hidden>
Date: Wed Mar 30 14:18:18 2016 +0300

    Add custom graph upload and run support to the Fuel V2 CLI

    Following commands are added:

    * fuel2 graph upload --env env_id [--type graph_type] --file tasks.yaml

    * fuel2 graph upload --release release_id [--type graph_type] --file tasks.yaml

    * fuel2 graph upload --plugin plugin_id [--type graph_type] --file tasks.yaml
      --type is optional. ‘default’ graph type with confirmation should be used
      if no type is defined.

    * fuel2 graph execute --env env_id [--type graph_type] [--node node_ids]
      Graph execution available only for the environment.

    Change-Id: I33b168b7929b10200709efc58fd550f8779b39ae
    Partial-Bug: #1563851
    DocImpact

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/301857
Committed: https://git.openstack.org/cgit/openstack/python-fuelclient/commit/?id=85311221ca32c190c963f32d1ffb4cc092f96ec6
Submitter: Jenkins
Branch: master

commit 85311221ca32c190c963f32d1ffb4cc092f96ec6
Author: Ilya Kutukov <email address hidden>
Date: Tue Apr 5 21:15:10 2016 +0300

    Add custom graph download and list support to the Fuel V2 CLI

    Following commands are added:

    * fuel2 graph download --env env_id --all [--type graph_type] [--file cluster_graph.yaml]

    * fuel2 graph download --env env_id --cluster [--type graph_type] [--file cluster_graph.yaml]

    * fuel2 graph download --env env_id --plugins [--type graph_type] [--file plugins_graph.yaml]

    * fuel2 graph download --env env_id --release [--type graph_type] [--file release_graph.yaml]

    --type is optional and ‘default’ graph will be downloaded in no type is
    defined.

    * fuel2 graph list --env env_id

    Change-Id: Iba9255f2b201ffc54e81e0f15ba7b9e415ef63ba
    Closes-Bug: #1563851
    DocImpact

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

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

commit 6844690c0f50385509eca3ccc0bf800609c66606
Author: Ilya Kutukov <email address hidden>
Date: Wed Mar 30 14:18:18 2016 +0300

    Add custom graph upload and run support to the Fuel V2 CLI

    Following commands are added:

    * fuel2 graph upload --env env_id [--type graph_type] --file tasks.yaml

    * fuel2 graph upload --release release_id [--type graph_type] --file tasks.yaml

    * fuel2 graph upload --plugin plugin_id [--type graph_type] --file tasks.yaml
      --type is optional. ‘default’ graph type with confirmation should be used
      if no type is defined.

    * fuel2 graph execute --env env_id [--type graph_type] [--node node_ids]
      Graph execution available only for the environment.

    Change-Id: I33b168b7929b10200709efc58fd550f8779b39ae
    Partial-Bug: #1563851
    DocImpact
    (cherry picked from commit 7a9cd8abec0a238eed4d7234d5d58e83e144fcad)

tags: added: in-stable-mitaka
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/304174

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

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

commit ae75ccd49586d091e4b10d1155ce1af281717a9d
Author: Ilya Kutukov <email address hidden>
Date: Tue Apr 5 21:15:10 2016 +0300

    Add custom graph download and list support to the Fuel V2 CLI

    Following commands are added:

    * fuel2 graph download --env env_id --all [--type graph_type] [--file cluster_graph.yaml]

    * fuel2 graph download --env env_id --cluster [--type graph_type] [--file cluster_graph.yaml]

    * fuel2 graph download --env env_id --plugins [--type graph_type] [--file plugins_graph.yaml]

    * fuel2 graph download --env env_id --release [--type graph_type] [--file release_graph.yaml]

    --type is optional and ‘default’ graph will be downloaded in no type is
    defined.

    * fuel2 graph list --env env_id

    Change-Id: Iba9255f2b201ffc54e81e0f15ba7b9e415ef63ba
    Closes-Bug: #1563851
    DocImpact
    (cherry picked from commit 85311221ca32c190c963f32d1ffb4cc092f96ec6)

tags: added: on-verification
Revision history for this message
Dmitry Belyaninov (dbelyaninov) wrote :
Revision history for this message
Ksenia Svechnikova (kdemina) wrote :

In https://bugs.launchpad.net/fuel/+bug/1592350 only one issue is described (with default type with fuel2 graph download)

Meanwhile there are other issues on mos-490 ISO:

1) In the list there is a field 'name':

[root@nailgun ~]# fuel2 graph list --env 1
+----+------+-------+-------------------------------+
| id | name | tasks | relations |
+----+------+-------+-------------------------------+
| 4 | None | | as "default" to cluster(ID=1) |
+----+------+-------+-------------------------------+

while there is no such configuration option while uploading the config

root@nailgun ~]# fuel2 help graph upload
usage: fuel2 graph upload [-h] [-e ENV | -r RELEASE | -p PLUGIN] [-t TYPE] -f
                          FILE

2) All tasks are present in the list after re-uploading default graph and this is how default config looks after re-uploading: http://paste.openstack.org/show/516843/

3) Configs ID doesn't increment after uploading:

Check the ID of the config (Now it' 4)

Download it:
[root@nailgun ~]# fuel2 graph download --env 1 --type default --all
Tasks were downloaded to /root/cluster_graph.yaml

Add some changes (like timeout in )

Upload it:
fuel2 graph upload --env 1 --file cluster_graph.yaml

Check the ID of it the config:

it's still 4: http://paste.openstack.org/show/516850/

Revision history for this message
Ksenia Svechnikova (kdemina) wrote :
Revision history for this message
Ksenia Svechnikova (kdemina) wrote :

As this is initially a bug and there is 4 different remark on it's functionality, I intend to reopened it, as there is no way to mark this issue as "fix released" curreny

Changed in fuel:
status: Fix Committed → Confirmed
tags: removed: on-verification
Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

Field name is a verbosity field which may not be yet supported by CLI for update, so this is ok.

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

So the follow-up to the bug is as following:

1) config_id is meaningless and does not provide any useful info - it should be removed from the output
2) graph upload and download commands have different semantics - upload allows to upload graphs of any type, but download does not allow to download release and plugin specific graphs without specifying environment id, which is a redundant restriction, moreover, to download cluster specific graph you need to explicitly set (--cluster), otherwise it will download full graph
3) graph list does not allow to list release and plugin graphs
4) graph download downloads plugin graph instead of release graph (fixed in master here https://review.openstack.org/#/c/319802/4)

This all should be fixed with the first maintenance update as it affects UX very poorly

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

5) A task that is uploaded has version 1.0.0 which is incorrect and does not inject a task into graph.
6) When graph is downloaded, it contains redundant field "task_name"

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

7) It is impossible to download plugin-specific graphs for particular plugin id

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/333535

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

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on python-fuelclient (master)

Change abandoned by Ilya Kutukov (<email address hidden>) on branch: master
Review: https://review.openstack.org/333535

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/334000

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on python-fuelclient (master)

Change abandoned by Ilya Kutukov (<email address hidden>) on branch: master
Review: https://review.openstack.org/334000

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/335164

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/336777

Revision history for this message
Ilya Kutukov (ikutukov) wrote :

Vkuklin, everything is on review except this patch:

2) graph upload and download commands have different semantics - upload allows to upload graphs of any type, but download does not allow to download release and plugin specific graphs without specifying environment id, which is a redundant restriction, moreover, to download cluster specific graph you need to explicitly set (--cluster), otherwise it will download full graph

Is will be betted to fix spec describing how we are see the interface.

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/338584

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on python-fuelclient (master)

Change abandoned by Fuel DevOps Robot (<email address hidden>) on branch: master
Review: https://review.openstack.org/334000
Reason: This review is > 4 weeks without comment and currently blocked by a core reviewer with a -2. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and contacting the reviewer with the -2 on this review to ensure you address their concerns.

Dmitry Pyzhov (dpyzhov)
tags: added: 9.1-proposed
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Vladimir Kuklin (vkuklin)
Changed in fuel:
assignee: Vladimir Kuklin (vkuklin) → Ilya Kutukov (ikutukov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Ilya Kutukov (<email address hidden>) on branch: master
Review: https://review.openstack.org/333547
Reason: it was not good idea to remove id from output

Changed in fuel:
assignee: Bulat Gaifullin (bgaifullin) → Ilya Kutukov (ikutukov)
Changed in fuel:
assignee: Ilya Kutukov (ikutukov) → Bulat Gaifullin (bgaifullin)
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/371343

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

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

commit a23cc5e94fb97d03e9c14529192999107449a2c2
Author: Ilya Kutukov <email address hidden>
Date: Tue Jun 28 21:45:12 2016 +0300

    Graph list now working for all levels, not only cluster

    Before this patch it was possible only to view list of graphs
    that are related to cluster level of given env and no more.

    Now graphs list for env is returning all graphs
    related to it (release, plugins and cluster level).

    Now the following commands are possible:

    fuel2 graph list [--env ENV_ID] [--cluster] [--plugins] [--release]

    All options working as filter narrowing list to the given environment
    related graphs and/or graphs levels.

    Change-Id: I006cf6767a9bf0d89af5026728bd13ddc42c4aa8
    Partial-Bug: #1563851
    Closes-Bug: #1621585

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

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

commit 6a5a8fad746488963329708fd07cccf318e7fcdc
Author: Ilya Kutukov <email address hidden>
Date: Tue Jun 28 21:45:12 2016 +0300

    Graph list now working for all levels, not only cluster

    Before this patch it was possible only to view list of graphs
    that are related to cluster level of given env and no more.

    Now graphs list for env is returning all graphs
    related to it (release, plugins and cluster level).

    Now the following commands are possible:

    fuel2 graph list [--env ENV_ID] [--cluster] [--plugins] [--release]

    All options working as filter narrowing list to the given environment
    related graphs and/or graphs levels.

    Change-Id: I006cf6767a9bf0d89af5026728bd13ddc42c4aa8
    Partial-Bug: #1563851
    Closes-Bug: #1621585

Revision history for this message
Bulat Gaifullin (bulat.gaifullin) wrote :

the main functional was fixed and this graph list allows to see the all graphs for release, cluster and plugin.
Also need additional improvements, so the priority of bug set medium and bug was moved to next release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on python-fuelclient (master)

Change abandoned by Fuel DevOps Robot (<email address hidden>) on branch: master
Review: https://review.openstack.org/338584
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Revision history for this message
Dmitry Pyzhov (dpyzhov) wrote :

All patches are merged, please verify.

Changed in fuel:
status: In Progress → Fix Committed
milestone: 10.0 → 11.0
importance: Medium → High
tags: added: on-verification
Revision history for this message
TatyanaGladysheva (tgladysheva) wrote :

Verified on 9.2 snapshot #627.

tags: removed: on-verification
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-web (master)

Change abandoned by Andreas Jaeger (<email address hidden>) on branch: master
Review: https://review.opendev.org/336777
Reason: This repo is retired now, no further work will get merged.

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.