Hi,
I have two vCD installations, both seems to be working fine, however I have noticed that when doing certain tasks I get errors in the log file:
2019-01-16 10:31:01,654 | ERROR | auto-pool-eventPublishing-4-thread-1 | NotificationsAmqpPublisher | Error publishing notification to AMQP broker using connection 'amqp://vcd@<redacted>:5672/' | com.rabbitmq.client.AlreadyClosedException: channel is already closed due to channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'systemExchange' in vhost '/', class-id=60, method-id=40)
at com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:198) at com.rabbitmq.client.impl.AMQChannel.transmit(AMQChannel.java:312) at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:664) at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:646) at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:636) at com.vmware.vcloud.common.event.impl.NotificationsAmqpPublisher.publishXmlNotification(NotificationsAmqpPublisher.java:124) at com.vmware.vcloud.common.event.impl.NotificationsAmqpPublisher.publishBatch(NotificationsAmqpPublisher.java:92) at com.vmware.vcloud.common.event.impl.AuditEventsAmqpPublisher.publishBatch(AuditEventsAmqpPublisher.java:124) at com.vmware.vcloud.common.event.impl.EventPublishingAgent.publishBatch(EventPublishingAgent.java:410) at com.vmware.vcloud.common.event.impl.EventPublishingAgent.publishOwnEvents(EventPublishingAgent.java:376) at com.vmware.vcloud.common.event.impl.EventPublishingAgent.access$800(EventPublishingAgent.java:60) at com.vmware.vcloud.common.event.impl.EventPublishingAgent$1.run(EventPublishingAgent.java:305) at com.vmware.vcloud.common.event.impl.EventPublishingAgent$1.run(EventPublishingAgent.java:287) at com.vmware.vcloud.common.persist.ConversationFactoryImpl.executeIsolated(ConversationFactoryImpl.java:329) at com.vmware.vcloud.common.event.impl.EventPublishingAgent.processEvents(EventPublishingAgent.java:287) at com.vmware.vcloud.common.event.impl.EventPublishingAgent.doPublishing(EventPublishingAgent.java:251) at com.vmware.vcloud.common.event.impl.EventPublishingAgent.access$000(EventPublishingAgent.java:60) at com.vmware.vcloud.common.event.impl.EventPublishingAgent$PublishingRunner.run(EventPublishingAgent.java:159) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2019-01-16 10:31:01,654 | WARN | auto-pool-eventPublishing-4-thread-1 | NotificationsAmqpPublisher | Error closing AMQP channel |
I have noticed this on my fresh lab install, as well as my 2 year old (and upgraded from 8.10 in steps with every new release) production install.
Looking at the RabbitMQ server, I can see the below exchanges:
Have anyone encountered this, and will it cause some kind of weird error?
/Andreas
I have used the same setup as the vcd.notifications Exchange. But there is no official documentation available for that... I have raised an SR to verify the setup.
Hi andreaspa,
you need to create the Default Exchange in vCD AMQP Broker Setting manually on the RabbitMQ Cluster.
Best regards
Markus
Thanks for the reply!
What settings do I use to create the Default Exchange?
There's a few to select from..
Regards,
Andreas
I have used the same setup as the vcd.notifications Exchange. But there is no official documentation available for that... I have raised an SR to verify the setup.
Hi,
I follow your tip, and I can see that there are messages coming in and out, so I guess it seems to be working. So far no errors in logs anymore
Strange that there's nothing in the installation manual that mentions this..
/Andreas
Sounds good.
I also mentioned the lack of documentation during my GSS call.
That was the feedback regarding my configuration:
If you copy the exchanges that vcd creates so Topic + Durable would look to be a good option.
We had a talk with someone from the VCloud Extender team who use rabbitmq a lot.
Topic seems to match on a large variety of mesages so minimize the chance of message loss.
durable sounds like the queue is robust.
He did say though that for vcd their is only the requirement to setup install rabbit mq and have the correct
user configured. There after from a vcloud director the required exchange sound good.