Create Fuel role with nailgun api/cli

Registered by Dima Shulyak

Currently role is fetched from Release.roles_metadata which is quite bad limitation, and doesnt allow
to freely hack on Fuel.

This blueprint proposes to make several internal changes in db structure and provide api/cli interface for creating role with API.

External API should take a form of:

POST/PUT release/<id>/role

{ name: 'redis',
  description: 'Redis server',
  volumes: {'id': 'os', 'allocate_size': 'min'}
  other_ui_meta...}

GET /release/<id>/role/<name>

DELETE /release/<id>/role/<name>

From cli it should be like:

fuel rel --rel 1 role create --data release_1/redis.yaml

Role DB object should be extended to include all fields added to API.

UI should fetch roles info not from Release.roles_metadata but from separate API call

Blueprint information

Status:
Complete
Approver:
Dmitry Pyzhov
Priority:
High
Drafter:
Dima Shulyak
Direction:
Approved
Assignee:
Dima Shulyak
Definition:
Approved
Series goal:
Accepted for 6.1.x
Implementation:
Implemented
Milestone target:
milestone icon 6.1
Started by
Dima Shulyak
Completed by
Dima Shulyak

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:role_api,n,z

Addressed by: https://review.openstack.org/160274
    Programable API for role entity

Gerrit topic: https://review.openstack.org/#q,topic:(detached,n,z

Addressed by: https://review.openstack.org/159820
    Add actions to operate on role entity

Gerrit topic: https://review.openstack.org/#q,topic:bp/granular-deployment-based-on-tasks,n,z

Addressed by: https://review.openstack.org/159754
    Add api to operate Role object

Addressed by: https://review.openstack.org/162085
    Add guide for role operations

Addressed by: https://review.openstack.org/161653
    Cover all roles entities with schema

Gerrit topic: https://review.openstack.org/#q,topic:bp/create-role-with-nailgun-api,n,z

Addressed by: https://review.openstack.org/160474
    Implement check limits for attributes on nailgun

Gerrit topic: https://review.openstack.org/#q,topic:162085,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.