Refactor volume manager

Registered by Dmitry Pyzhov

Our current implementation of volume manager is unsupportable. And we are going to use image based provisioning. It will have big impact on our volume manager.

There should be ability to add filesystem options for different roles: https://bugs.launchpad.net/fuel/+bug/1318614

There should be ability to not install boot partitions on empty partitions. And allow user to change list of boot partitions via cli.

Hell with storages: https://bugs.launchpad.net/fuel/+bug/1262313

Controller has unallocated space, by default, using ceph as image backend: https://bugs.launchpad.net/fuel/+bug/1295717

Another blueprint, maybe duplicate: https://blueprints.launchpad.net/fuel/+spec/improve-fuel-default-disk-partition-scheme

Blueprint information

Status:
Complete
Approver:
Dmitry Pyzhov
Priority:
Essential
Drafter:
None
Direction:
Approved
Assignee:
Fuel Python (Deprecated)
Definition:
Superseded
Series goal:
Accepted for future
Implementation:
Not started
Milestone target:
milestone icon next
Completed by
Ihor Kalnytskyi

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/volume-manager-refactoring,n,z

Addressed by: https://review.openstack.org/195092
    Move volume manager into extensions directory

Addressed by: https://review.openstack.org/195139
    Move volume manager specific handlers into extensions directory

Addressed by: https://review.openstack.org/195462
    Upgrade hacking rules and fix new issues

Addressed by: https://review.openstack.org/195463
    Rename all "utils/*_utils.py"

Addressed by: https://review.openstack.org/195874
    Change testrunner to py.test

Addressed by: https://review.openstack.org/195913
    Move volume manager specific urls into extension

Addressed by: https://review.openstack.org/195938
    Each extension should have name and version

Addressed by: https://review.openstack.org/195943
    Separate image building manager

Addressed by: https://review.openstack.org/196066
    Implements basic migration mechanism for extensions

Addressed by: https://review.openstack.org/194201
    Added volume manager refactoring spec

Addressed by: https://review.openstack.org/197190
    Move volumes data from the core into volume manager extension

Addressed by: https://review.openstack.org/198276
    Add simple data driver for partitioning info

Addressed by: https://review.openstack.org/198321
    All tests in fuel_agent use unittest2 now

Addressed by: https://review.openstack.org/199598
    Move getters/setters implementation out of extension description

Addressed by: https://review.openstack.org/199907
    Add adapter for Node in Volume Manager

Gerrit topic: https://review.openstack.org/#q,topic:bp/partition-preservation,n,z

Addressed by: https://review.openstack.org/201003
    Split partition objects into multiple files

Addressed by: https://review.openstack.org/201106
    Each node has a list of extensions

Addressed by: https://review.openstack.org/201537
    Add simple data driver for partitioning info

Addressed by: https://review.openstack.org/201993
    Added basic parsing of MDs in dynamic format

Addressed by: https://review.openstack.org/202006
    [WIP] Add validators

Addressed by: https://review.openstack.org/202079
    [WIP] More validators

Addressed by: https://review.openstack.org/202102
    All tests in fuel_agent use unittest2 now

Addressed by: https://review.openstack.org/202553
    Split objects/partition.py into smaller files

Addressed by: https://review.openstack.org/203535
    Reusable human-readable size to bytes converter

Addressed by: https://review.openstack.org/203005
    Add Python 3.4 support

Addressed by: https://review.openstack.org/203713
    Move volume manager specific validators into extension

Addressed by: https://review.openstack.org/203980
    Add parsing of Parteds with partitions

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.