LXD provider places a limit on memory for the controller but not for a workload machine
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Simon Richardson |
Bug Description
After creating a controller with
$ juju bootstrap --no-gui localhost lxd1
I see a LXD maximum imposed on memory:
$ lxc config get juju-944bca-0 limits.memory
3584MB
However, an added machine does not have such a limit imposed, why?
$ juju add-machine
$ lxc config get juju-beadab-0 limits.memory
(null output)
$ lxc list
+------
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------
| juju-944bca-0 | RUNNING | 10.129.12.178 (eth0) | | PERSISTENT | 0 |
+------
| juju-beadab-0 | RUNNING | 10.129.12.199 (eth0) | | PERSISTENT | 0 |
+------
BTW,
$ grep MemTotal /proc/meminfo
MemTotal: 2041356 kB
Changed in juju: | |
status: | New → Incomplete |
Changed in juju: | |
status: | Incomplete → Triaged |
importance: | Undecided → High |
milestone: | none → 2.4.2 |
Changed in juju: | |
assignee: | nobody → Simon Richardson (simonrichardson) |
Changed in juju: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
status: | Fix Committed → Fix Released |
I have observed this, but I think it may be an issue with LXD parsing config; possibly due to the size of fields containing cloud-init data.
When you cannot see any config as in this situation, try:
"lxc config edit <container>"
This will open an editor where you can manipulate the config YAML directly, and I believe you will see the same limit applied there - it appears to be an LXD default.
This is worth mentioning to the LXD team.