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)

Reply via email to