Adding nodes which were provisioned without Fuel to Fuel nodes array

Registered by slava valyavskiy

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

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
slava valyavskiy
Direction:
Needs approval
Assignee:
Fuel Python (Deprecated)
Definition:
Superseded
Series goal:
Accepted for 5.0.x
Implementation:
Unknown
Milestone target:
None
Completed by
Evgeniy L

Related branches

Sprints

Whiteboard

I've closed this bp and created a bug https://bugs.launchpad.net/fuel/+bug/1294057

[2015-04-13 Dmitry Borodaenko] Actually this BP was a duplicate of https://blueprints.launchpad.net/fuel/+spec/fuel-deploy-without-os-provisioning to begin with. I re-linked the bug to that BP.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.