mhoffmann21 opened a new issue #4928:
URL: https://github.com/apache/cloudstack/issues/4928
##### ISSUE TYPE
* Bug Report
##### COMPONENT NAME
~~~
Cloudstack management server
~~~
##### CLOUDSTACK VERSION
~~~
4.15.0
~~~
##### CONFIGURATION
<!--
Information about the configuration if relevant, e.g. basic network,
advanced networking, etc. N/A otherwise
-->
Two management servers and several kvm hosts, aggregated to one cluster.
Advanced networking is used, since there is no other option. Networking
works fine.
The cloudstack ist configured so that both management servers are populated
to the host ('host' global configuration parameter). The lb algorithm is
roundrobin.
Both management servers use the same ntp servers and have a connection.
##### OS / ENVIRONMENT
Ubuntu 20.04 LTS
##### SUMMARY
I'm not able to add an additional management server, following the official
documentation.
##### STEPS TO REPRODUCE
- follow the instructions of the documentation, describing how to add
another management server
##### EXPECTED RESULTS
~~~
The second management server is added und can be seen within the ui, without
any error message inside the logs.
~~~
##### ACTUAL RESULTS
I followed the documentation on adding another management server.
After the second management server finishes the
`cloudstack-setup-management` command and starts the cloudstack service, I got
the following error within the `management.log` of the FIRST management server.
~~~
2021-04-15 17:35:42,971 ERROR [c.c.c.d.ManagementServerHostDaoImpl]
(Cluster-Heartbeat-1:ctx-9ae6e55f) (logid:d5142009) Unexpected exception,
com.cloud.utils.exception.CloudRuntimeException: Invalid cluster session
detected, runId 1618500697537 is no longer valid
at
com.cloud.cluster.dao.ManagementServerHostDaoImpl.update(ManagementServerHostDaoImpl.java:144)
at jdk.internal.reflect.GeneratedMethodAccessor74.invoke(Unknown
Source)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at
com.cloud.utils.db.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:34)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy184.update(Unknown Source)
at
com.cloud.cluster.ClusterManagerImpl$4.runInContext(ClusterManagerImpl.java:555)
at
org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
at
org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:45)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.cloud.cluster.ClusterInvalidSessionException: runId
1618500697537 is no longer valid
at
com.cloud.cluster.dao.ManagementServerHostDaoImpl.update(ManagementServerHostDaoImpl.java:144)
at jdk.internal.reflect.GeneratedMethodAccessor74.invoke(Unknown
Source)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
... 22 more
~~~
The error repeats every second.
If I restart the first managment server, I get the error within the SECOND
management server log. So both switched roles (that makes sense).
Furthermore, if both managers are running, I can only see one manager up in
th UI (the one which has been started at last).
Also within the database (`cloud.mshost`) there is only one management
server.
So my question here is, why the additional management server is not added,
but the old one is replaced?
Do I miss a configuration detail, which is not mentioned in the docs?
Thanks in advance.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]