[2.4] Cannot allocate memory when DescribePowerTypes happen
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Critical
|
Unassigned |
Bug Description
After deploying multiple machines, I noticed that MAAS logs were not spitting out any logs like they would normally do. For example, I was browsing the UI but the logs would not show anything.
After a few seconds, logging start again but also showed the following errors.
I believe this errors were when the CI was trying to create pods, but for some reason, it runs out of memory.
That said, the only significant change that could have really affect this is the way how the daemons are.
So, my take would be that since now the workers are being started from a python daemon itself, it is consuming more memory and impacting performance, instead of how the daemons were started before, which were various instances via systemd.
==> /var/log/
2018-02-16 13:47:09 maasserver: [warn] Exception during DescribePowerTy
2018-02-16 13:47:09 regiond: [info] 10.245.136.6 POST /MAAS/api/2.0/pods/ HTTP/1.1 --> 400 BAD_REQUEST (referrer: -; agent: Python-
==> /var/log/
2018-02-16 13:47:15 provisioningser
Traceback (most recent call last):
File "/usr/lib/
d = super(RPCProtocol, self).dispatchC
File "/usr/lib/
return maybeDeferred(
File "/usr/lib/
result = f(*args, **kw)
File "/usr/lib/
return maybeDeferred(
--- <exception caught here> ---
File "/usr/lib/
result = f(*args, **kw)
File "/usr/lib/
'power_types': list(PowerDrive
File "/usr/lib/
for _, driver in cls
File "/usr/lib/
for _, driver in cls
File "/usr/lib/
if detect_
File "/usr/lib/
if not shell.has_
File "/usr/lib/
call_
File "/usr/lib/
process = Popen(command, *args, stdout=PIPE, stderr=PIPE, **kwargs)
File "/usr/lib/
restore_
File "/usr/lib/
restore_
builtins.OSError: [Errno 12] Cannot allocate memory
description: | updated |
Changed in maas: | |
importance: | Undecided → Critical |
status: | New → Triaged |
tags: | added: performance |
Changed in maas: | |
milestone: | none → 2.4.0alpha2 |
assignee: | nobody → Blake Rouse (blake-rouse) |
description: | updated |
Changed in maas: | |
milestone: | 2.4.0alpha2 → 2.4.0beta1 |
I think the question here is how much memory was rackd using? To spawn a new process the current process has to fork, seems that rackd was so large that forking would cause your system to run out of memory.
Can you get me that information? I need to know more about the current memory usage and the running process of the system.
I mean if you don't have enough memory in your system (that would be surprising), it will never work.