andreaspa
Hot Shot
Hot Shot

systemExchange is not created on MQ server

Jump to solution

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:

pastedImage_1.png

Have anyone encountered this, and will it cause some kind of weird error?

/Andreas

1 Solution

Accepted Solutions
vMarkusK1985
Expert
Expert

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.

https://mycloudrevolution.com | https://twitter.com/vMarkus_K | https://github.com/vMarkusK

View solution in original post

5 Replies
vMarkusK1985
Expert
Expert

Hi andreaspa​,

you need to create the Default Exchange in vCD AMQP Broker Setting manually on the RabbitMQ Cluster.

Best regards

Markus

https://mycloudrevolution.com | https://twitter.com/vMarkus_K | https://github.com/vMarkusK
andreaspa
Hot Shot
Hot Shot

Thanks for the reply!

What settings do I use to create the Default Exchange?

There's a few to select from..

Regards,

Andreas

0 Kudos
vMarkusK1985
Expert
Expert

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.

https://mycloudrevolution.com | https://twitter.com/vMarkus_K | https://github.com/vMarkusK

View solution in original post

andreaspa
Hot Shot
Hot Shot

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 Smiley Happy

Strange that there's nothing in the installation manual that mentions this..

/Andreas

0 Kudos
vMarkusK1985
Expert
Expert

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.

https://mycloudrevolution.com | https://twitter.com/vMarkus_K | https://github.com/vMarkusK