<!– # Case 1: When just a disk is given, always use the regular atomic # recipe, unless indicated otherwise. –> <% if @obj.is_raw? -%>
<partitioning config:type=“list”>
<drive> <initialize config:type="boolean">true</initialize> <device><%= @obj.name -%></device> <use>all</use> </drive>
</partitioning>
<% end -%>
<!– # Case 2: A disk with multiple partitions –> <% if @obj.only_partitions? -%> <partitioning config:type=“list”>
<drive> <initialize config:type="boolean">true</initialize> <device><%= @obj.name -%></device> <use>all</use> <partitions config:type="list"> <% @obj.partitions.each do |part, index| -%> <% if part.file_system == 'linux-swap' -%> <partition> <create config:type="boolean">true</create> <partition_nr config:type="integer"><%= index + 1 -%></partition_nr> <partition_id config:type="integer">130</partition_id> <crypt_fs config:type="boolean">false</crypt_fs> <filesystem config:type="symbol">swap</filesystem> <format config:type="boolean">true</format> <fstopt>defaults</fstopt> <loop_fs config:type="boolean">false</loop_fs> <mount>swap</mount> <resize config:type="boolean">false</resize> <size><%= part.size -%></size> </partition> <% else -%> <partition> <create config:type="boolean">true</create> <partition_nr config:type="integer"><%= index + 1 -%></partition_nr> <partition_id config:type="integer">131</partition_id> <crypt_fs config:type="boolean">false</crypt_fs> <filesystem config:type="symbol"><%= part.file_system -%></filesystem> <format config:type="boolean">true</format> <fstopt>defaults</fstopt> <loop_fs config:type="boolean">false</loop_fs> <mount><%= part.mount_point -%></mount> <% if part.label.nil? -%> <mountby config:type="symbol">device</mountby> <% else -%> <mountby config:type="symbol">label</mountby> <label><%= part.label -%></label> <% end -%> <resize config:type="boolean">false</resize> <size><%= part.size -%></size> </partition> <% end -%> <% end -%> </partitions> </drive>
</partitioning> <% end -%>
<!– # Case 3: A disk with Logical Volumes –> <% if @obj.only_vg? -%>
<partitioning config:type="list"> <drive> <device><%= @obj.name -%></device> <partitions config:type="list"> <partition> <lvm_group><%= @obj.vg.name -%></lvm_group> <partition_type>primary</partition_type> <size><%= @obj.size -%></size> </partition> </partitions> <use>all</use> </drive> <drive> <device><%= '/dev/' + @obj.name -%></device> <is_lvm_vg config:type="boolean">true</is_lvm_vg> <partitions config:type="list"> <% @obj.vg.lvs.each do |lv| -%> <partition> <% if lv.file_system == 'linux-swap' -%> <filesystem config:type="symbol">swap</filesystem> <lv_name><%= lv.name -%></lv_name> <mount>swap</mount> <size><%= lv.size -%></size> <% else -%> <filesystem config:type="symbol"><%= lv.file_system -%></filesystem> <lv_name><%= lv.name -%></lv_name> <mount><%= lv.mount_point -%></mount> <size><%= lv.size -%></size> <% end -%> </partition> <% end -%> </partitions> <pesize>4M</pesize> <use>all</use> </drive> </partitioning>
<% end -%>