Nailgun objects should use FSM to simplify business logic

Registered by Nikolay Markov

Right now every object we're working with at any moment of time has it's exact state, which is clearly defined by some of it's fields.

For example, each Node is exactly defined by three fields: state (including intermediate, like "pending_addition"), it's roles and online/offline. UI shouldn't have any logic like "if it has this, this and that flag, we may remove it from cluster this way, but if also this - then another way".

So, let's use FSMs together with rewriting our code to using REST objects.

Blueprint information

Status:
Not started
Approver:
Nikolay Markov
Priority:
Undefined
Drafter:
Nikolay Markov
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
Accepted for future
Implementation:
Not started
Milestone target:
milestone icon next

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.