Este documento descreve como solucionar o erro do CloudCenter "Unable to communication with orchestrator" (Não é possível se comunicar com o orquestrador) com o erro 408
A Cisco recomenda que você tenha conhecimento destes tópicos:
A Cisco recomenda conhecimento em:
As informações neste documento foram criadas a partir dos dispositivos em um ambiente de laboratório privado específico. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Interrupções de energia, reinicializações inesperadas ou falhas de rede por longos períodos podem fazer com que o dispositivo CloudCenter seja dessincronizado. É necessário executar as seguintes verificações para saber se os dispositivos estão conectados corretamente Ao configurar o orquestrador na interface gráfica do usuário do CloudCenter Manager (CCM GUI), os usuários podem receber o erro como mostrado na imagem.
Ao verificar os registros do CCO, o seguinte erro pode ser mostrado:
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:337)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
... 87 more
java.lang.RuntimeException: Failed to connect to CCM, please check network connection between CCM and CCO. JobId: 21912 at com.osmosix.commons.mgmtserver.impl.MgmtServerServiceImpl.getUserCloudAccountByJobId(MgmtServerServiceImpl.java:236) at com.osmosix.gateway.persistence.impl.hazelcast.AbstractDistributedJobDaoImpl.find(AbstractDistributedJobDaoImpl.java:109) at com.osmosix.gateway.persistence.impl.hazelcast.AbstractDistributedJobDaoImpl.find(AbstractDistributedJobDaoImpl.java:17) at com.osmosix.gateway.lifecycle.impl.AbstractLifecycle.getJob(AbstractLifecycle.java:207) at com.osmosix.gateway.lifecycle.helpers.LifecycleReaper.reapApp(LifecycleReaper.java:62) at com.osmosix.gateway.lifecycle.helpers.LifecycleReaper.reapDeadApps(LifecycleReaper.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)
É necessário reiniciar os componentes do CloudCenter um por um para atualizar o handshake entre os componentes
Etapa 1. Fazer login como raiz
Etapa 2. Reiniciar o serviço AMQP
Em todas as versões até 4.8.1.2
# /etc/init.d/tomcatgua restart
Em versões a partir de 4.8.2
# systemctl restart rabbit
Etapa 1. Fazer login como raiz
Etapa 2. Reiniciar serviço CCO
Em todas as versões até 4.8.1.2
# /etc/init.d/tomcat restart
Em versões a partir de 4.8.2
# systemctl restart cco
Etapa 1. Fazer login como raiz
Etapa 2. Reiniciar o serviço CCM
Em todas as versões até 4.8.1.2
# /etc/init.d/tomcat restart
Em versões a partir de 4.8.2
# systemctl restart ccm
É importante que todos os dispositivos estejam conectados corretamente, pois é necessário verificar cada um dos componentes do CloudCenter.
Etapa 1. Fazer login como raiz
Etapa 2. Verifique se o tomcat (anterior a 4.8.2) ou o serviço CCM (post 4.8.2) estão realmente em execução
Em todas as versões até 4.8.1.2
[root@localhost ~]# ps -ef | grep -i tomcat
Em versões a partir de 4.8.2
[root@localhost ~]# systemctl status ccm
Etapa 3. Se telnet for instalado, uma tentativa pode ser feita do CCO para o CCM, isso permitirá entender que a comunicação é possível
[root@cliqr-centos7-base-image ~]# telnet 10.31.127.41 8443 Trying 10.31.127.41... Connected to 10.31.127.41. Escape character is '^]'.
Se ocorrer um erro, nenhuma comunicação é possível. Isso tem que ser consertado.
Etapa 4. Se for configurar o orquestrador na GUI do CCM, um nome de host será usado, certifique-se de que o nome de host esteja presente no arquivo /etc/hosts
[root@cliqr-centos7-base-image ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 devCC 10.31.127.42 CCO
Etapa 1. Fazer login como raiz
Etapa 2. Verifique se há uma conexão estabelecida do AMQP para cada um dos CCOs existentes.
[root@localhost ~]# rabbitmqctl list_connections -p /cliqr Listing connections ... cliqr 10.31.127.42 33062 running cliqr_worker 10.31.127.42 33130 running cliqr_worker 10.31.127.59 38596 running cliqr_worker 10.31.127.67 49781 running cliqr_worker 10.31.127.79 49778 running cliqr_worker 10.31.127.85 49786 running
No comando anterior, as conexões para o CCO podem ser vistas na linha com o usuário do cliente (nesse caso, há apenas um CCO)
No caso de alta disponibilidade (HA) e AMQP sob um balanceador de carga, você verá uma conexão por CCO conectado ao IP do balanceador de carga da AMQP (no exemplo a seguir, há 2 CCOs)
[root@amqp-azre1 ~]# rabbitmqctl list_connections -p /cliqr Listing connections ... cliqr 15.1.0.10 35788 running cliqr 15.1.0.10 36212 running cliqr_worker 15.1.0.10 37714 running cliqr_worker 15.1.0.10 38362 running cliqr_worker 15.1.0.10 41102 running
Se não for esse o caso, reinicie o processo de tomcatgua (anterior a 4.8.2) ou o serviço de coelho (post 4.8.2)
Etapa 1. Fazer login como raiz
Em todas as versões até 4.8.1.2
[root@localhost ~]# ps -ef | grep -i tomcat
Em versões a partir de 4.8.2
[root@localhost ~]# systemctl status cco
Etapa 3. Verifique se as conexões para o CCM estão estabelecidas. Ele também deve aparecer no status CLOSE_WAIT (Nesse caso, nosso CCM está em 10.31.127.41)
[root@cliqr-centos7-base-image ~]# netstat -anp | grep 10.31.127.41 tcp 86 0 10.31.127.42:38542 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38562 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38546 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38566 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38556 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38554 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38550 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38564 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38560 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38568 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38552 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38558 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38570 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38548 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38572 10.31.127.41:8443 CLOSE_WAIT 1330/java tcp 86 0 10.31.127.42:38544 10.31.127.41:8443 CLOSE_WAIT 1330/java