Besides updating the documentation, I'm tempted to even explicitly add a
command that would disable the  cockpit  service on boot and stop it (and
echo the message that we've disabled it...)- as part of the
cloudstack-setup-management or similar.
Otherwise, novice users will certainly stumble sooner or later on this
issue.


On Wed, 1 Jul 2020 at 09:34, Rohit Yadav <rohit.ya...@shapeblue.com> wrote:

> I think we can document in our CloudStack qig/release/install notes to say
> users must disable cockpit on CentOS8. Here are my 2paisas;
>
>   *   Most users using CentOS (7/8) won't use a single-host specific
> management tool/UI such as cockpit; they would probably use some fleet
> management software or automate using ansible/puppet/ceph etc.
>   *   Last time I checked the minimal CentOS-8 ISO does not install
> cockpit or that it is enabled by default (service does not run by default
> until you active the port 9090 target)
>   *   Some users may have monitoring scripts/tools or security rules that
> expect port 9090 to be used by CloudStack, so it's probably safer to ask
> users to change port for cockpit than CloudStack by default
>
> Regards.
>
> ________________________________
> From: Abhishek Kumar <abhishek.ku...@shapeblue.com>
> Sent: Wednesday, July 1, 2020 11:14
> To: dev@cloudstack.apache.org <dev@cloudstack.apache.org>;
> us...@cloudstack.apache.org <us...@cloudstack.apache.org>
> Subject: [DISCUSS] Management server default port conflict
>
> Hi all,
>
> I would like to know everyone's opinion regarding an issue seen with
> CloudStack on CentOS8 (https://github.com/apache/cloudstack/pull/4068).
> CentOS8 comes with cockpit (https://cockpit-project.org/) installed which
> uses port 9090, although it is not active by default. CloudStack management
> server also needs port 9090. And when CloudStack management server is
> started with systemd it triggers the start of cockpit first and management
> server fails to start,
>
>
> 2020-06-25 07:20:51,707 ERROR [c.c.c.ClusterManagerImpl] (main:null)
> (logid:) Detected that another management node with the same IP 10.10.2.167
> is already running, please check your cluster configuration
> 2020-06-25 07:20:51,708 ERROR [o.a.c.s.l.CloudStackExtendedLifeCycle]
> (main:null) (logid:) Failed to configure ClusterManagerImpl
> javax.naming.ConfigurationException: Detected that another management node
> with the same IP 10.10.2.167 is already running, please check your cluster
> configuration
>         at
> com.cloud.cluster.ClusterManagerImpl.checkConflicts(ClusterManagerImpl.java:1192)
>         at
> com.cloud.cluster.ClusterManagerImpl.configure(ClusterManagerImpl.java:1065)
>         at
> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle$3.with(CloudStackExtendedLifeCycle.java:114)
>         at
> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.with(CloudStackExtendedLifeCycle.java:153)
>         at
> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.configure(CloudStackExtendedLifeCycle.java:110)
>         at
> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:55)
>         at
> org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182)
>         at
> org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:53)
>         at
> org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:360)
>         at
> org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:158)
>         at
> org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:122)
>         at
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:894)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:144)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:121)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:244)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:249)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:249)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:232)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:116)
>         at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:78)
>         at
> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
>         at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:70)
>         at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:57)
>         at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:61)
>         at
> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:51)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:930)
>         at
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:889)
>         at
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
>         at
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
>         at
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
>         at
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
>         at
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
>         at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>         at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>         at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>         at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>         at
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
>         at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>         at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>         at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>         at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>         at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>         at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>         at org.eclipse.jetty.server.Server.start(Server.java:407)
>
> Therefore, in your opinion how this should be handled? Should we document
> that CS management server needs port 9090 free by default and any other
> process using it should be moved a different port or the management server
> port should be moved in case of CentOS8, either in code or documentation to
> change cluster.servlet.port in db.properties?
>
> Regards,
> Abhishek
>
> abhishek.ku...@shapeblue.com
> www.shapeblue.com<http://www.shapeblue.com>
> 3 London Bridge Street,  3rd floor, News Building, London  SE1 9SGUK
> @shapeblue
>
>
>
>
> rohit.ya...@shapeblue.com
> www.shapeblue.com
> 3 London Bridge Street,  3rd floor, News Building, London  SE1 9SGUK
> @shapeblue
>
>
>
>

-- 

Andrija Panić

Reply via email to