Introduzione
Questo documento descrive come risolvere l'errore "Connessione rifiutata" in Cisco Cloud Orchestrator (CCO) quando sta tentando di connettersi a Rabbit
Prerequisiti
Requisiti
- Le informazioni di questo documento si basano su CloudCenter 4.x
- Cisco Cloud Orchestrator (CCO)
- Rabbit server (AMQP)
- accesso root a CCO e AMQP
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Problema
In nuove distribuzioni o dopo una modifica nel nome host del server Rabbit, il CCO riceve un errore al momento per stabilire l'handshake con Rabbit con il seguente ERRORE
2018-04-17 23:58:52,180 ERROR listener.SimpleMessageListenerContainer [rabbitListenerContainer-1] - Failed to check/redeclare auto-delete queue(s).
org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused (Connection refused)
at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:62) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:368) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:573) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1430) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1411) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1387) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueProperties(RabbitAdmin.java:336) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.redeclareElementsIfNecessary(SimpleMessageListenerContainer.java:1171) [spring-rabbit-1.7.4.RELEASE.jar!/:?]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1422) [spring-rabbit-1.7.4.RELEASE.jar!/:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_162]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_162]
at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673) ~[?:1.8.0_162]
at com.rabbitmq.client.impl.SocketFrameHandlerFactory.create(SocketFrameHandlerFactory.java:50) ~[amqp-client-4.0.3.jar!/:4.0.3]
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:907) ~[amqp-client-4.0.3.jar!/:4.0.3]
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:859) ~[amqp-client-4.0.3.jar!/:4.0.3]
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:799) ~[amqp-client-4.0.3.jar!/:4.0.3]
at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:352) ~[spring-rabbit-1.7.4.RELEASE.jar!/:?]
... 8 more
Soluzione
Passaggio 1. Accedere al server Rabbit
Passaggio 2. elencare le connessioni nel server Rabbit
[root@rabbit-490 ~]# rabbitmqctl list_connections -p /cliqr
Listing connections
Passaggio 3. Individuare il file RABBITINSTALLED
[root@rabbit-490 ~]# ls -lrt /usr/local/osmosix/etc/.RABBITINSTALLED
-rw-r--r-- 1 root root 0 Apr 17 23:40 /usr/local/osmosix/etc/.RABBITINSTALLED
Passaggio 4. Rimuovere il file.
[root@rabbit-490 ~]# rm -rf /usr/local/osmosix/etc/.RABBITINSTALLED
[root@rabbit-490 ~]# ls -lrt /usr/local/osmosix/etc/.RABBITINSTALLED
[root@rabbit-490 ~]#
Passaggio 5. Eseguire il file rabbit_config.sh
[root@rabbit-490 ~]# cd /usr/local/cliqr/bin/
root@rabbit-490 bin]# ls -lrt
total 80
-rwxr-xr-x 1 cliqruser cliqruser 23235 Apr 9 16:12 wizard_util.sh
-rwxr-xr-x 1 cliqruser cliqruser 12133 Apr 9 16:12 props_migration_481_to_482.sh
-rw-r--r-- 1 cliqruser cliqruser 236 Apr 9 16:12 props_481_to_482_rabbit.csv
-rwxr-xr-x 1 cliqruser cliqruser 4004 Apr 9 16:12 gua_config_wizard.sh
-rwxr-xr-x 1 cliqruser cliqruser 3553 Apr 9 16:12 gua_config_cli.sh
-rwxr-xr-x 1 cliqruser cliqruser 8966 Apr 10 02:40 rabbit_config_cli.sh
-rwxr-xr-x 1 cliqruser cliqruser 9394 Apr 10 02:40 rabbit_config_wizard.sh
-rwxr-xr-x 1 cliqruser cliqruser 1290 Apr 10 02:41 rabbit_config.sh
-rwxr-xr-x 1 cliqruser cliqruser 279 Apr 10 02:41 startup_services.sh
[root@rabbit-490 bin]# ./rabbit_config.sh
Adding vhost /cliqr
Creating vhost "/cliqr"
Adding user cliqr
Creating user "cliqr"
Setting permissions for user "cliqr" in vhost "/cliqr"
Setting cliqr as admin
Setting tags for user "cliqr" to [administrator]
Enable management plugin
Plugin configuration unchanged.
Applying plugin configuration to rabbit@rabbit-490... nothing to do.
Adding cliqr_worker
Creating user "cliqr_worker"
Setting permissions for user "cliqr_worker" in vhost "/cliqr"
Passaggio 6. Accedere a CCO come utente root
Passaggio 7. Riavviare il servizio CCO
[root@cco-490 ~]# systemctl start cco
[root@cco-490 ~]#
Passaggio 8. Verificare che CCO sia in esecuzione
[root@cco-490 ~]# systemctl status cco
● cco.service - Cloud Center Orchestrator
Loaded: loaded (/etc/systemd/system/cco.service; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2018-04-18 22:02:09 UTC; 5min ago
Process: 3329 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3329 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CGroup: /system.slice/cco.service
Apr 18 22:02:09 cco-490 systemd[1]: Starting Cloud Center Orchestrator...
Apr 18 22:02:09 cco-490 systemd[1]: Started Cloud Center Orchestrator.
[root@cco-490 ~]#
Passaggio 9. Accedere al coniglio come radice
Passaggio 10. Elencare il numero di connessioni
[root@rabbit-490 bin]# rabbitmqctl list_connections -p /cliqr
Listing connections
cliqr_worker 10.31.127.24 50556 running
cliqr 10.31.127.24 50568 running
Ora è possibile vedere la connessione da CCO, cliqr_worker e cliqr.