[nailgun] Adding nodes which were provisioned without Fuel

Bug #1294057 reported by Evgeniy L
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
High
Roman Prykhodchenko
7.0.x
Won't Fix
High
Fuel Python (Deprecated)

Bug Description

Nodes which were provisioned without Fuel can't be added to fuel nodes array(if we install all required packages and configure it properly). Also, nodes which were provisioned with Fuel in one cluster can't be moved to other fuel cluster without reprovision proccess.

You will get this opportunity if you comment following strings in nailgun api code:
https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/api/handlers/node.py#L219-226

But, several bugs in fuel workflow will appear after you apply these changes:
1. provisioning and deployment processes can not be applied for single cluster node because fuel starts these processes for each cluster node
2. if you will add all node network interfaces to openvswitch bridges and then try to add this node to Fuel cluster you will get following trace:

2014-03-13 19:37:13.717 ERROR [7f548701e700] (logger) Traceback (most recent call last):
  File "/opt/nailgun/lib/python2.6/site-packages/web/application.py", line 239, in process
    return self.handle()
  File "/opt/nailgun/lib/python2.6/site-packages/web/application.py", line 230, in handle
    return self._delegate(fn, self.fvars, args)
  File "/opt/nailgun/lib/python2.6/site-packages/web/application.py", line 420, in _delegate
    return handle_class(cls)
  File "/opt/nailgun/lib/python2.6/site-packages/web/application.py", line 396, in handle_class
    return tocall(*args)
  File "<string>", line 2, in PUT
  File "/opt/nailgun/lib/python2.6/site-packages/nailgun/api/handlers/base.py", line 56, in content_json
    data = func(*args, **kwargs)
  File "/opt/nailgun/lib/python2.6/site-packages/nailgun/api/handlers/node.py", line 433, in PUT
    network_manager.assign_networks_by_default(node)
  File "/opt/nailgun/lib/python2.6/site-packages/nailgun/network/manager.py", line 471, in assign_networks_by_default
    def_set = cls.get_default_networks_assignment(node)
  File "/opt/nailgun/lib/python2.6/site-packages/nailgun/network/manager.py", line 460, in get_default_networks_assignment
    " interface %r", node.name, nics[0]['name'])
IndexError: list index out of range

Extracted from: https://blueprints.launchpad.net/fuel/+spec/nailgun-provisioned-nodes-adding

Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 5.0 → 5.1
Nikolay Markov (nmarkov)
Changed in fuel:
importance: High → Wishlist
Revision history for this message
Dima Shulyak (dshulyak) wrote :

What about adding SshProvision task to nailgun?

which will scp puppet manifests for repo setup, fuel-agent, mcollective-agent, netprobe, maybe smth else is required?
ofcourse list of ipaddresses, or atleast mac is required, as well as ssh access

Dmitry Ilyin (idv1985)
summary: - Adding nodes which were provisioned without Fuel
+ [nailgun] Adding nodes which were provisioned without Fuel
Changed in fuel:
milestone: 5.1 → 6.0
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 6.0 → 6.1
Revision history for this message
Evgeniy L (rustyrobot) wrote :

Guys, I'm not sure if it should has Wishlist priority, it's customer-found and it's very often use-case.

tags: added: feature
tags: added: customer-found
Revision history for this message
Evgeniy L (rustyrobot) wrote :

Because of that, I'm moving the ticket to High.

Changed in fuel:
importance: Wishlist → High
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 6.1 → next
Dmitry Pyzhov (dpyzhov)
tags: removed: nailgun
Mike Scherbakov (mihgen)
Changed in fuel:
milestone: next → 7.0
tags: added: qa-agree-7.0
removed: feature
Kamil Sambor (ksambor)
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Kamil Sambor (ksambor)
Kamil Sambor (ksambor)
Changed in fuel:
assignee: Kamil Sambor (ksambor) → Fuel Python Team (fuel-python)
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Sylwester Brzeczkowski (sbrzeczkowski)
Revision history for this message
Dima Shulyak (dshulyak) wrote :

Guys, it is feature and requires specification.

Changed in fuel:
assignee: Sylwester Brzeczkowski (sbrzeczkowski) → Fuel Python Team (fuel-python)
tags: added: feature
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Roman Prykhodchenko (romcheg)
tags: added: covered-by-bp
Revision history for this message
Roman Prykhodchenko (romcheg) wrote :

This cannot be tested properly in 7.0. Moving to 8.0

Changed in fuel:
milestone: 7.0 → 8.0
no longer affects: fuel/7.0.x
Changed in fuel:
milestone: none → 8.0
Changed in fuel:
assignee: Roman Prykhodchenko (romcheg) → Fuel Python Team (fuel-python)
tags: added: qa-agree-8.0
no longer affects: fuel/8.0.x
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Roman Prykhodchenko (romcheg)
Revision history for this message
Dmitry Pyzhov (dpyzhov) wrote :

It is rather a feature request and it will be tracked as https://blueprints.launchpad.net/fuel/+spec/fuel-deploy-without-os-provisioning

Changed in fuel:
status: Confirmed → Invalid
tags: removed: feature
Dmitry Pyzhov (dpyzhov)
tags: added: area-python
tags: added: wontfix-feature
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.