Install and use plugin on previously deployed environment

Bug #1519050 reported by Bulat Gaifullin
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Bulat Gaifullin

Bug Description

User story:
As a user who is experimenting in my OpenStack environment, I want to install application level plugins (non-core functionality) on top of my environment after it has been deployed so that I am not constrained only to plugins that were available (and I decided on) at the time of the deployment.
Description:
Some features (like VIP creation by a plugin) need to be reviewed to ensure they can be used by plugins post-deployment - if these features cannot be used, we need to backlog Launchpad items as dependencies of this story to address changes
We need to support a limited class of plugins that can be installed and/or modified after deployment. For example, a customer would like to add monitoring or log analytics. For some plugin types, such as SDN, post-deployment installation will not be possible.
"Ex.1: During deployment customer decided add Zabbix - have to
redeploy instead of add
Ex.2: Cisco ACI plugin was late, entire deployment had to wait
since no way to add plugin after deployment is started"
Acceptance criteria:
Any application level plugin can provide the same functionality if added after the environment is deployed as before
Current application level plugins - Zabbix, others?

Changed in fuel:
importance: Undecided → High
assignee: nobody → Bulat Gaifullin (bgaifullin)
milestone: none → 8.0
status: New → Confirmed
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/248878

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

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

commit 5885fc9d408849ced47f54d42c44652ab2d88429
Author: Bulat Gaifullin <email address hidden>
Date: Mon Nov 23 22:03:21 2015 +0300

    Set attribute 'is_locked' of cluster as public

    Removed the duplicated logic to calculate the cluster
    is locked or not from UI.

    Change-Id: I642015bf687b7135a2bea4a0494b453565b3d43f
    Partial-Bug: #1519050

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

Mike Scherbakov (mihgen)
tags: added: feature
Changed in fuel:
assignee: Bulat Gaifullin (bgaifullin) → Ivan Kliuk (ivankliuk)
Mike Scherbakov (mihgen)
description: updated
Maciej Relewicz (rlu)
tags: added: area-python
Changed in fuel:
assignee: Ivan Kliuk (ivankliuk) → Bulat Gaifullin (bgaifullin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-plugins (master)

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

Changed in fuel:
assignee: Bulat Gaifullin (bgaifullin) → Alexander Kislitsky (akislitsky)
assignee: Alexander Kislitsky (akislitsky) → Bulat Gaifullin (bgaifullin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

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

commit 34e4f4f0dcc6aed6dae500567b85d9921b57488c
Author: Bulat Gaifullin <email address hidden>
Date: Mon Nov 23 21:28:35 2015 +0300

    Allow to install plugin to operational environment

    - Added attribute 'is_runtime' to plugin. this attribute means
      that plugin can be installed to operational env.
    - Make attribute 'is_locked' public and remove logic to calculate
      the cluster is locked or not from UI.

    Change-Id: I372bfb2c502bcd5927533b03aea1557cf49d9afb
    Closes-Bug: #1519050

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-plugins (master)

Reviewed: https://review.openstack.org/249787
Committed: https://git.openstack.org/cgit/openstack/fuel-plugins/commit/?id=bc521bd800e00edbc99a0ef6ddf91bad799ea03f
Submitter: Jenkins
Branch: master

commit bc521bd800e00edbc99a0ef6ddf91bad799ea03f
Author: Ilya Kutukov <email address hidden>
Date: Wed Nov 25 16:39:46 2015 +0300

    Adds is_hotpluggable flag that allows to install plugin to operational environment

    Change-Id: I57a9570566184b5c5e8ddd6090a256b79075c61f
    Related-Bug: #1519050

tags: added: on-verification
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix proposed to fuel-infra/jenkins-jobs (master)

Related fix proposed to branch: master
Change author: Alexey Stepanov <email address hidden>
Review: https://review.fuel-infra.org/14491

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix merged to fuel-infra/jenkins-jobs (master)

Reviewed: https://review.fuel-infra.org/14491
Submitter: Igor Belikov <email address hidden>
Branch: master

Commit: 2c7431991c2007375433f65060eb16c10b9e11ab
Author: Alexey Stepanov <email address hidden>
Date: Mon Dec 14 15:51:49 2015

Enable creation of fake plugin

example_v4 += example_v4_hotpluggable with hotblug support
Required for postdeploy plugin installation feature check.
This is non standard behavior of plugin, so we have copy-paste plugin and modify it.

Change-Id: I23ec0521570cdf8ba9620665e3c2edb076b9d566
Related-bug: #1519050

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

Reviewed: https://review.openstack.org/252938
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=04693990cb186a50fca817ff701160c924347983
Submitter: Jenkins
Branch: master

commit 04693990cb186a50fca817ff701160c924347983
Author: Alexey Stepanov <email address hidden>
Date: Mon Nov 2 16:39:38 2015 +0300

    Test for postdeploy plugin install and enable.

    Related-bug: #1519050
    Related-bug: #1518305
    Closes-bug: #1527123

    Change-Id: I54418e328049e5a885cad783a3c3941996334005

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

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

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

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

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

Reviewed: https://review.openstack.org/267508
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=fec8282ec442571e251e509bc3c3677dba6b7a5e
Submitter: Jenkins
Branch: master

commit fec8282ec442571e251e509bc3c3677dba6b7a5e
Author: Alexey Stepanov <email address hidden>
Date: Tue Jan 12 15:57:48 2016 +0300

    Minor refactor

    1. SingletonMeta -> modified to allow handling multiple classes and moved to metaclasses too.
    2. @logwrap : process asserts too

    Changes reason:
     @logwrap was changed during test debug (was assert in wrapped function
     and stacktrace was not enough for reason understand) and moved out of
     test changest due to not mandatory for this test.
     Pros: Now assert, raised in wrapped function is recorded in log with
     details.

     SingletonMeta: was changed as "nice to have" during work on plugin
     helpers. Later plugin helpers was moved out of SshManager, and all code
     changes was moved to this changeset.
     Pros: Single way for handling the same tasks in different places.
     Previously SshManager used Metaclass, which could not be reused for
     more, than one class and Environment used __new__ directly written
     in class code.

    Related-Bug: #1518979
    Related-Bug: #1519050

    Change-Id: I798302879400747909229cc208f97a669f25bbf3

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

Reviewed: https://review.openstack.org/269538
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=a4ffbe502ba08e12e0118bd395912d52aba57ce8
Submitter: Jenkins
Branch: master

commit a4ffbe502ba08e12e0118bd395912d52aba57ce8
Author: Alexey Stepanov <email address hidden>
Date: Tue Jan 19 13:15:33 2016 +0300

    setup_teardown decorator

    Moved out of postdeploy changeset as new framework functionality
    (Setup and teardown method addition for functions, classmethodsa and
     object methods).
    Related-bug: #1519050

    Change-Id: Iad9866dbf0c0ed3b3c2bf3bc7c6444617828eef6

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

Related fix proposed to branch: stable/8.0
Review: https://review.openstack.org/272498

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

Related fix proposed to branch: stable/7.0
Review: https://review.openstack.org/272500

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

Reviewed: https://review.openstack.org/261003
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=a330115a4cdd2f700d1745226490208cdcd91e71
Submitter: Jenkins
Branch: master

commit a330115a4cdd2f700d1745226490208cdcd91e71
Author: Alexey Stepanov <email address hidden>
Date: Thu Jan 14 15:21:30 2016 +0300

    Test for postdeploy plugin install and enable.

    Fixed after revert
    Related-bug: #1519050

    Change-Id: Ib20bbef4d7106b690ce095c416ec6403026a0250

Revision history for this message
ElenaRossokhina (esolomina) wrote :

Verified on ISO#507: InfluxDB-Grafana Server Plugin with is_hotpluggable = true is available for environment deployed before.
[root@nailgun fuel-plugin-influxdb-grafana]# fuel plugins --list
id | name | version | package_version
---|------------------|---------|----------------
4 | influxdb_grafana | 0.9.0 | 4.0.0
[root@nailgun fuel-plugin-influxdb-grafana]# cat /etc/fuel/version.yaml
VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "8.0"
  api: "1.0"
  build_number: "507"
  build_id: "507"
  fuel-nailgun_sha: "8e954abd70ef0083109f34289de2553dcda544d4"
  python-fuelclient_sha: "4f234669cfe88a9406f4e438b1e1f74f1ef484a5"
  fuel-agent_sha: "658be72c4b42d3e1436b86ac4567ab914bfb451b"
  fuel-nailgun-agent_sha: "b2bb466fd5bd92da614cdbd819d6999c510ebfb1"
  astute_sha: "b81577a5b7857c4be8748492bae1dec2fa89b446"
  fuel-library_sha: "ec7e212972ead554f21b52b9e165156665f659df"
  fuel-ostf_sha: "ab5fd151fc6c1aa0b35bc2023631b1f4836ecd61"
  fuel-mirror_sha: "351d568fa3b3e4dd062054b91d766aa54d379867"
  fuelmenu_sha: "234cb4cbb30fbd2df00f388c28f31606d9cae15f"
  shotgun_sha: "63645dea384a37dde5c01d4f8905566978e5d906"
  network-checker_sha: "a43cf96cd9532f10794dce736350bf5bed350e9d"
  fuel-upgrade_sha: "616a7490ec7199f69759e97e42f9b97dfc87e85b"
  fuelmain_sha: "94507c5e4dad6d8cfbd8f5d41aa8389d5335990a"

Changed in fuel:
status: Fix Committed → Fix Released
tags: removed: on-verification
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-qa (stable/8.0)

Related fix proposed to branch: stable/8.0
Review: https://review.openstack.org/281797

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

Change abandoned by Fuel DevOps Robot (<email address hidden>) on branch: stable/8.0
Review: https://review.openstack.org/281797
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
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-qa (stable/7.0)

Reviewed: https://review.openstack.org/272500
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=a12846dfa997982978f53d4f13f166adf70520a0
Submitter: Jenkins
Branch: stable/7.0

commit a12846dfa997982978f53d4f13f166adf70520a0
Author: Alexey Stepanov <email address hidden>
Date: Tue Jan 19 13:15:33 2016 +0300

    setup_teardown decorator

    Moved out of postdeploy changeset as new framework functionality
    (Setup and teardown method addition for functions, classmethods and
     object methods).
    Related-bug: #1519050
    Closes-bug: #1538110

    Change-Id: Iad9866dbf0c0ed3b3c2bf3bc7c6444617828eef6
    (cherry picked from commit a4ffbe502ba08e12e0118bd395912d52aba57ce8)

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

Reviewed: https://review.openstack.org/272498
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=974ad3e0229f866b25955a6cd8c7d8011b5208b4
Submitter: Jenkins
Branch: stable/8.0

commit 974ad3e0229f866b25955a6cd8c7d8011b5208b4
Author: Alexey Stepanov <email address hidden>
Date: Tue Jan 19 13:15:33 2016 +0300

    setup_teardown decorator

    Moved out of postdeploy changeset as new framework functionality
    (Setup and teardown method addition for functions, classmethods and
     object methods).
    Related-bug: #1519050
    Closes-bug: #1538110

    Change-Id: Iad9866dbf0c0ed3b3c2bf3bc7c6444617828eef6
    (cherry picked from commit a4ffbe502ba08e12e0118bd395912d52aba57ce8)

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.