Skip to content

Commit dc742c9

Browse files
author
Chris Townsend
committed
[lxd] Default to using 10GB for disk size if less than that is requested
1 parent 6bb4dab commit dc742c9

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/platform/backends/lxd/lxd_virtual_machine.cpp

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,20 @@ mp::optional<mp::IPAddress> get_ip_for(const QString& name, mp::NetworkAccessMan
9393
return mp::nullopt;
9494
}
9595

96+
mp::MemorySize get_minimum_disk_size(const mp::MemorySize& requested_disk_size)
97+
{
98+
mp::MemorySize lxd_min_disk_size{"10G"};
99+
100+
if (requested_disk_size > lxd_min_disk_size)
101+
{
102+
return requested_disk_size;
103+
}
104+
else
105+
{
106+
return lxd_min_disk_size;
107+
}
108+
}
109+
96110
} // namespace
97111

98112
mp::LXDVirtualMachine::LXDVirtualMachine(const VirtualMachineDescription& desc, VMStatusMonitor& monitor,
@@ -125,11 +139,12 @@ mp::LXDVirtualMachine::LXDVirtualMachine(const VirtualMachineDescription& desc,
125139
if (!desc.user_data_config.IsNull())
126140
config["user.user-data"] = QString::fromStdString(mpu::emit_cloud_config(desc.user_data_config));
127141

128-
QJsonObject devices{{"config", QJsonObject{{"source", "cloud-init:config"}, {"type", "disk"}}},
129-
{"root", QJsonObject{{"path", "/"},
130-
{"pool", "default"},
131-
{"size", QString::number(desc.disk_space.in_bytes())},
132-
{"type", "disk"}}}};
142+
QJsonObject devices{
143+
{"config", QJsonObject{{"source", "cloud-init:config"}, {"type", "disk"}}},
144+
{"root", QJsonObject{{"path", "/"},
145+
{"pool", "default"},
146+
{"size", QString::number(get_minimum_disk_size(desc.disk_space).in_bytes())},
147+
{"type", "disk"}}}};
133148

134149
QJsonObject virtual_machine{
135150
{"name", name},

0 commit comments

Comments
 (0)