fuel allows you to remove all controllers and add new controllers in the same task

Bug #1367001 reported by Andrew Woodward
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Ihor Kalnytskyi

Bug Description

{"build_id": "2014-09-02_00-01-17",
 "ostf_sha": "4dcd99cc4bfa19f52d4b87ed321eb84ff03844da",
 "build_number": "492",
 "auth_required": true,
 "api": "1.0",
 "nailgun_sha": "d8d2d3ced87bc1a0591989884559b8e5a5d247fe",
 "production": "docker",
 "fuelmain_sha": "d99f32aa95f1ff4a071897eb7e7860b0b5739303",
 "astute_sha": "78963a5415935f22e405e355d710fe92cee34331",
 "feature_groups": ["mirantis"],
 "release": "5.1",
 "fuellib_sha": "2cfa83119ae90b13a5bac6a844bdadfaf5aeb13f"}

Steps to reproduce:

1) Deploy cluster HA cluster
2) Create test instance
3) stage changes to Remove all controllers and replace them in the same task
4) deploy changes

This leads to the active controllers being removed and reset prior to the new controllers coming online, causing all service states to be lost (DB, rabbit,etc...)

expected result:

a)Test instance would still be listed in deployment
b1) Controllers would be blocked from being removed and added at the same time _OR_
b2) Controllers to remove would not be removed until deployment of new controllers was completed

For 5.1, b1 or b2 can be implemented, whichever is easier, however b2 is the preferred implementation.

Tags: nailgun
Andrew Woodward (xarses)
description: updated
Revision history for this message
Dima Shulyak (dshulyak) wrote :

I think it is not critical, because it doesnot block anything at all.
If you need to delete controllers - just delete them, and then deploy new

Actually is it enough to simply redeploy controllers to reattach resource nodes to them?
There is no specific configuration that uses ips for controllers and not vip?

Changed in fuel:
importance: Critical → High
Revision history for this message
Andrew Woodward (xarses) wrote :

It leaves you with a completely broken install when you do this

your database will be missing all kinds of resources which alone is not acceptable.

your neutron routers will be destroyed.

Further it looks like rabbit hosts is never updated anyway, so that is a related issue.

Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Fuel UI Team (fuel-ui)
Revision history for this message
Tomasz 'Zen' Napierala (tzn) wrote :

There are cases when you want to delete all controllers, testing is one of them. We can although issue a warning to the user.

Revision history for this message
Evgeniy L (rustyrobot) wrote :

If we will decide to block deployment, it's easy to fix in nailgun, just change filtering for controllers in before deployment checker

https://github.com/stackforge/fuel-web/blob/6304df2eb8fef653456d47f5d0112a9fd8baeb34/nailgun/nailgun/task/task.py#L588-L603

Changed in fuel:
assignee: Fuel UI Team (fuel-ui) → Igor Kalnitsky (ikalnitsky)
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/120741

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

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

commit ac23dc36eecbcbb5aba202dbcc63fbf774149dae
Author: Igor Kalnitsky <email address hidden>
Date: Thu Sep 11 14:04:51 2014 +0300

    Forbid remove all controllers at once

    We need to forbid remove all controllers even you add new one at the
    same time, since it affects cluster's availability.

    Change-Id: I9d1ac51981d0516937aa21e04e66e2cca03022ef
    Closes-Bug: #1367001

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

Fix proposed to branch: stable/5.1
Review: https://review.openstack.org/120845

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

Reviewed: https://review.openstack.org/120845
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=45743876b4c08055cf925d96252020d8f2e7112f
Submitter: Jenkins
Branch: stable/5.1

commit 45743876b4c08055cf925d96252020d8f2e7112f
Author: Igor Kalnitsky <email address hidden>
Date: Thu Sep 11 14:04:51 2014 +0300

    Forbid remove all controllers at once

    We need to forbid remove all controllers even you add new one at the
    same time, since it affects cluster's availability.

    (cherry picked from commit ac23dc36eecbcbb5aba202dbcc63fbf774149dae)

    Change-Id: I9d1ac51981d0516937aa21e04e66e2cca03022ef
    Closes-Bug: #1367001

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.