@@ -107,17 +107,18 @@ func dataEasyPartitioningRead(ctx context.Context, d *schema.ResourceData, m int
107
107
return diag .FromErr (err )
108
108
}
109
109
110
- hasSwap := d .Get ("hasSwap " ).(bool )
110
+ hasSwap := d .Get ("swap " ).(bool )
111
111
if ! hasSwap {
112
112
removeSwap (defaultPartitioningSchema .Disks )
113
+ updateRaidRemoveSwap (defaultPartitioningSchema )
113
114
}
114
115
115
116
mountpoint := d .Get ("ext_4_mountpoint" ).(string )
116
117
_ , hasExtraPartition := d .GetOk ("extra_partition" )
117
118
118
119
if hasExtraPartition {
119
120
addExtraExt4Partition (mountpoint , defaultPartitioningSchema )
120
- updateRaid (defaultPartitioningSchema )
121
+ updateRaidNewPartition (defaultPartitioningSchema )
121
122
}
122
123
123
124
if ! hasSwap || hasExtraPartition {
@@ -148,7 +149,29 @@ func dataEasyPartitioningRead(ctx context.Context, d *schema.ResourceData, m int
148
149
return nil
149
150
}
150
151
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 ) {
152
175
lenDisk0Partition := len (partitionSchema .Disks [0 ].Partitions )
153
176
lenDisk1Partition := len (partitionSchema .Disks [1 ].Partitions )
154
177
raid := & baremetal.SchemaRAID {
@@ -202,16 +225,16 @@ func updateSizeRoot(originalDisks []*baremetal.SchemaDisk, hasExtraPartition boo
202
225
203
226
func removeSwap (originalDisks []* baremetal.SchemaDisk ) {
204
227
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 {
206
230
if partition .Label == "swap" {
207
- disk .Partitions = append (disk .Partitions [:i ], disk .Partitions [i + 1 :]... )
208
-
209
- break
231
+ continue
210
232
}
211
-
212
233
if partition .Label != "uefi" {
213
234
partition .Number --
214
235
}
236
+ newPartitions = append (newPartitions , partition )
215
237
}
238
+ disk .Partitions = newPartitions
216
239
}
217
240
}
0 commit comments