Add policy-based partitioning spec
Change-Id: I1006fbdd6540b1e7d00ad33c366ce1eeda6180a8
This commit is contained in:
parent
99973fdd68
commit
b1a53155bf
105
specs/policy-based-partitioning.rst
Normal file
105
specs/policy-based-partitioning.rst
Normal file
@ -0,0 +1,105 @@
|
||||
..
|
||||
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=========================
|
||||
Policy-based partitioning
|
||||
=========================
|
||||
|
||||
https://blueprints.launchpad.net/bareon/+spec/policy-based-partitioning
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
We need the ability to verify the disposition of existing partitions during
|
||||
deployment. Bareon agent should support the prevention of modification of
|
||||
existing partitions during deployment when requested by the user or
|
||||
administrator.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
NOTE: This change is added with a standalone "Ironic" data driver.
|
||||
|
||||
NOTE: This is a contribution of the feature developed within Cray OpenStack project.
|
||||
We will try to make a minimum changes to existing code.
|
||||
|
||||
We introduce the new attribute in provision.json, called
|
||||
partitions_policy. This policy will control the way of how partitions are
|
||||
applied. The partitions_policy, working together with “keep_data” attribute
|
||||
of partition/lv will control the data retention. The policy can be either:
|
||||
|
||||
* **verify**
|
||||
|
||||
- Do verification: Compare partitions schema with existing partitions on the
|
||||
disk(disks). If there is an additional disk, not mentioned in schema
|
||||
(unknown) - it is ignored.
|
||||
- Do partitioning: partitions which do not have “keep_data” attribute are left
|
||||
as is (keep_data attribute is true by default); partitions which have
|
||||
“keep_data”:false attribute in schema are wiped;
|
||||
|
||||
* **clean**
|
||||
|
||||
Ignore existing partitions on the disk(disks). Clean the disk and create
|
||||
partitions according to the schema. If there is an additional disk, not
|
||||
mentioned in schema (unknown) - it is ignored.
|
||||
|
||||
For example:
|
||||
|
||||
::
|
||||
|
||||
{
|
||||
"partitions_policy": "<verify|clean>",
|
||||
"partitions": [{
|
||||
"type":"disk",
|
||||
"id": ...,
|
||||
"volumes":[
|
||||
{
|
||||
"type":"partition",
|
||||
"id": …,
|
||||
# "keep_data": true - by default
|
||||
},
|
||||
{
|
||||
"id": …,
|
||||
"keep_data": false, # this partition will be wiped
|
||||
# (explicitly specified keep_data false here)
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
There's already a keep_data flag in Nailgun driver, however it is impossible to
|
||||
verify HW partitions. So no alternatives to the current proposal.
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
- max_lobur
|
||||
|
||||
Milestones
|
||||
----------
|
||||
|
||||
See blueprint ref above.
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
- Rebase onto Bareon master
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
The code of this feature is on top of the following patches:
|
||||
|
||||
- rsync image deployment
|
||||
- functional tests
|
||||
|
||||
thus needs to be prosed after these.
|
Loading…
Reference in New Issue
Block a user