Joris van Lieshout created CLOUDSTACK-6023:
----------------------------------------------
Summary: Non windows instances are created on XenServer with a
vcpu-max above supported xenserver limits
Key: CLOUDSTACK-6023
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6023
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: XenServer
Affects Versions: 4.2.1
Reporter: Joris van Lieshout
Priority: Blocker
CitrixResourceBase.java contains a hardcoded value for vcpusmax for non windows
instances:
if (guestOsTypeName.toLowerCase().contains("windows")) {
vmr.VCPUsMax = (long) vmSpec.getCpus();
} else {
vmr.VCPUsMax = 32L;
}
For all currently available versions of XenServer the limit is 16vcpus:
http://support.citrix.com/servlet/KbServlet/download/28909-102-664115/XenServer-6.0-Configuration-Limits.pdf
http://support.citrix.com/servlet/KbServlet/download/32312-102-704653/CTX134789%20-%20XenServer%206.1.0_Configuration%20Limits.pdf
http://support.citrix.com/servlet/KbServlet/download/34966-102-706122/CTX137837_XenServer%206_2_0_Configuration%20Limits.pdf
In addition there seems to be a limit to the total amount of assigned vpcus on
a XenServer.
The impact of this bug is that xapi becomes unstable and keeps losing it's
master_connection because the POST to the /remote_db_access is bigger then it's
limit of 200K. This basically renders a pool slave unmanageable.
If you would look at the running instances using xentop you will see hosts
reporting with 32 vcpus
Below the relevant portion of the xensource.log that shows the effect of the
bug:
[20140204T13:52:17.264Z|debug|xenserverhost1|144 inet-RPC|host.call_plugin
R:e58e985539ab|master_connection] stunnel: Using commandline: /usr/sbin/stunnel
-fd f3b8bb12-4e03-b47a-0dc5-85ad5aef79e6
[20140204T13:52:17.269Z|debug|xenserverhost1|144 inet-RPC|host.call_plugin
R:e58e985539ab|master_connection] stunnel: stunnel has pidty: (FEFork
(43,30540))
[20140204T13:52:17.269Z|debug|xenserverhost1|144 inet-RPC|host.call_plugin
R:e58e985539ab|master_connection] stunnel: stunnel start
[20140204T13:52:17.269Z| info|xenserverhost1|144 inet-RPC|host.call_plugin
R:e58e985539ab|master_connection] stunnel connected pid=30540 fd=40
[20140204T13:52:17.346Z|error|xenserverhost1|144 inet-RPC|host.call_plugin
R:e58e985539ab|master_connection] Received HTTP error 500 ({ method = POST; uri
= /remote_db_access; query = [ ]; content_length = [ 315932 ]; transfer
encoding = ; version = 1.1; cookie = [
pool_secret=386bbf39-8710-4d2d-f452-9725d79c2393/aa7bcda9-8ebb-0cef-bb77-c6b496c5d859/1f928d82-7a20-9117-dd30-f96c7349b16e
]; task = ; subtask_of = ; content-type = ; user_agent = xapi/1.9 }) from
master. This suggests our master address is wrong. Sleeping for 60s and then
restarting.
[20140204T13:53:18.620Z|error|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] Caught Master_connection.Goto_handler
[20140204T13:53:18.620Z|debug|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] Connection to master died. I will continue to
retry indefinitely (supressing future logging of this message).
[20140204T13:53:18.620Z|error|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] Connection to master died. I will continue to
retry indefinitely (supressing future logging of this message).
[20140204T13:53:18.620Z|debug|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] Sleeping 2.000000 seconds before retrying
master connection...
[20140204T13:53:20.627Z|debug|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] stunnel: Using commandline: /usr/sbin/stunnel
-fd 3c8aed8e-1fce-be7c-09f8-b45cdc40a1f5
[20140204T13:53:20.632Z|debug|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] stunnel: stunnel has pidty: (FEFork
(23,31207))
[20140204T13:53:20.632Z|debug|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] stunnel: stunnel start
[20140204T13:53:20.632Z| info|xenserverhost1|10|dom0 networking update
D:5c5376f0da6c|master_connection] stunnel connected pid=31207 fd=20
[20140204T13:53:28.874Z|error|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection] Caught
Master_connection.Goto_handler
[20140204T13:53:28.874Z|debug|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection]
Connection to master died. I will continue to retry indefinitely (supressing
future logging of this message).
[20140204T13:53:28.874Z|error|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection]
Connection to master died. I will continue to retry indefinitely (supressing
future logging of this message).
[20140204T13:53:28.875Z|debug|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection] Sleeping
2.000000 seconds before retrying master connection...
[20140204T13:53:30.887Z|debug|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection] stunnel:
Using commandline: /usr/sbin/stunnel -fd 665b8c15-8119-78a7-1888-cde60b2108dc
[20140204T13:53:30.892Z|debug|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection] stunnel:
stunnel has pidty: (FEFork (25,31514))
[20140204T13:53:30.892Z|debug|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection] stunnel:
stunnel start
[20140204T13:53:30.892Z| info|xenserverhost1|4
unix-RPC|session.login_with_password D:2e7664ad69ed|master_connection] stunnel
connected pid=31514 fd=22
[20140204T13:54:31.472Z|error|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Caught Unix.Unix_error(31, "write", "")
[20140204T13:54:31.472Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Connection to master died. I will continue to
retry indefinitely (supressing future logging of this message).
[20140204T13:54:31.477Z|error|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Connection to master died. I will continue to
retry indefinitely (supressing future logging of this message).
[20140204T13:54:31.477Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Sleeping 2.000000 seconds before retrying
master connection...
[20140204T13:54:33.488Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: Using commandline: /usr/sbin/stunnel
-fd f5df840d-8ac0-39fd-050f-bfa23a96c148
[20140204T13:54:33.493Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel has pidty: (FEFork (28,2788))
[20140204T13:54:33.493Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel start
[20140204T13:54:33.493Z| info|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel connected pid=2788 fd=24
[20140204T13:54:33.572Z|error|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Caught Unix.Unix_error(31, "write", "")
[20140204T13:54:33.572Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Sleeping 4.000000 seconds before retrying
master connection...
[20140204T13:54:37.578Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: Using commandline: /usr/sbin/stunnel
-fd bcc34b6e-20cd-933c-7375-941d53884184
[20140204T13:54:37.583Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel has pidty: (FEFork (31,2808))
[20140204T13:54:37.584Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel start
[20140204T13:54:37.584Z| info|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel connected pid=2808 fd=26
[20140204T13:54:37.667Z|error|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Caught Unix.Unix_error(31, "write", "")
[20140204T13:54:37.667Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Sleeping 8.000000 seconds before retrying
master connection...
[20140204T13:54:45.679Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: Using commandline: /usr/sbin/stunnel
-fd 83e7a6c7-3482-8bb9-3275-b537fc695bd6
[20140204T13:54:45.683Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel has pidty: (FEFork (30,2919))
[20140204T13:54:45.683Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel start
[20140204T13:54:45.683Z| info|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel connected pid=2919 fd=25
[20140204T13:54:45.768Z|error|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Caught Unix.Unix_error(31, "write", "")
[20140204T13:54:45.768Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Sleeping 16.000000 seconds before retrying
master connection...
[20140204T13:55:01.789Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: Using commandline: /usr/sbin/stunnel
-fd abe83182-4ce5-0681-2c68-827dbbd95e94
[20140204T13:55:01.794Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel has pidty: (FEFork (32,3022))
[20140204T13:55:01.794Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel start
[20140204T13:55:01.794Z| info|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel connected pid=3022 fd=28
[20140204T13:55:02.143Z|error|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Caught Unix.Unix_error(31, "write", "")
[20140204T13:55:02.143Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Sleeping 32.000000 seconds before retrying
master connection...
[20140204T13:55:34.179Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: Using commandline: /usr/sbin/stunnel
-fd 00895b5f-b30c-0c3a-32ae-758993dcd791
[20140204T13:55:34.184Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel has pidty: (FEFork (37,3387))
[20140204T13:55:34.184Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel: stunnel start
[20140204T13:55:34.184Z| info|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] stunnel connected pid=3387 fd=33
[20140204T13:55:34.266Z|error|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Caught Unix.Unix_error(31, "write", "")
[20140204T13:55:34.267Z|debug|xenserverhost1|232 inet-RPC|host.call_plugin
R:4d3007755c69|master_connection] Sleeping 64.000000 seconds before retrying
master connection...
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)