@@ -107,17 +107,18 @@ func dataEasyPartitioningRead(ctx context.Context, d *schema.ResourceData, m int
107107 return diag .FromErr (err )
108108 }
109109
110- hasSwap := d .Get ("hasSwap " ).(bool )
110+ hasSwap := d .Get ("swap " ).(bool )
111111 if ! hasSwap {
112112 removeSwap (defaultPartitioningSchema .Disks )
113+ updateRaidRemoveSwap (defaultPartitioningSchema )
113114 }
114115
115116 mountpoint := d .Get ("ext_4_mountpoint" ).(string )
116117 _ , hasExtraPartition := d .GetOk ("extra_partition" )
117118
118119 if hasExtraPartition {
119120 addExtraExt4Partition (mountpoint , defaultPartitioningSchema )
120- updateRaid (defaultPartitioningSchema )
121+ updateRaidNewPartition (defaultPartitioningSchema )
121122 }
122123
123124 if ! hasSwap || hasExtraPartition {
@@ -148,7 +149,29 @@ func dataEasyPartitioningRead(ctx context.Context, d *schema.ResourceData, m int
148149 return nil
149150}
150151
151- func updateRaid (partitionSchema * baremetal.Schema ) {
152+ func updateRaidRemoveSwap (partitionSchema * baremetal.Schema ) {
153+ raidSchema := []* baremetal.SchemaRAID {
154+ {
155+ Name : "/dev/md0" ,
156+ Level : "raid_level_1" ,
157+ Devices : []string {
158+ "/dev/nvme0n1p2" ,
159+ "/dev/nvme1n1p1" ,
160+ },
161+ },
162+ {
163+ Name : "/dev/md1" ,
164+ Level : "raid_level_1" ,
165+ Devices : []string {
166+ "/dev/nvme0n1p3" ,
167+ "/dev/nvme1n1p2" ,
168+ },
169+ },
170+ }
171+ partitionSchema .Raids = raidSchema
172+ }
173+
174+ func updateRaidNewPartition (partitionSchema * baremetal.Schema ) {
152175 lenDisk0Partition := len (partitionSchema .Disks [0 ].Partitions )
153176 lenDisk1Partition := len (partitionSchema .Disks [1 ].Partitions )
154177 raid := & baremetal.SchemaRAID {
@@ -202,16 +225,16 @@ func updateSizeRoot(originalDisks []*baremetal.SchemaDisk, hasExtraPartition boo
202225
203226func removeSwap (originalDisks []* baremetal.SchemaDisk ) {
204227 for _ , disk := range originalDisks {
205- for i , partition := range disk .Partitions {
228+ newPartitions := make ([]* baremetal.SchemaPartition , 0 , len (disk .Partitions ))
229+ for _ , partition := range disk .Partitions {
206230 if partition .Label == "swap" {
207- disk .Partitions = append (disk .Partitions [:i ], disk .Partitions [i + 1 :]... )
208-
209- break
231+ continue
210232 }
211-
212233 if partition .Label != "uefi" {
213234 partition .Number --
214235 }
236+ newPartitions = append (newPartitions , partition )
215237 }
238+ disk .Partitions = newPartitions
216239 }
217240}
0 commit comments