why go_router can't receive register information that is sent from cc_ng?

35 views
Skip to first unread message

dj19...@gmail.com

unread,
Mar 12, 2014, 4:19:07 AM3/12/14
to vcap...@cloudfoundry.org
Hi all,

I am deploying cf-153 using BOSH. I meet a trouble that go_router can't receive register information that is sent from cc_ng. 

First of all, I have all jobs running after deploying.

Suppose I have a dns server that can resolve the cc_ng's domain -- api.cf.test

when I try to `curl api.cf.test`, I get the `504 Gateway Time-out `, then I realized that I have forgotten to configure the dns nameserver in the instance booted by BOSH. After configuring the dns nameserver in every instance and restarting the job `router` and `cc_ng`. I find I still get `504 Gateway Time-out`.

However, I can get good information if I type `curl <cc_ng_ip>:9022/info`. It shows that cc_ng works well. 

In fact, when inside go_router, I can `ping` cc_ng's domain(api.cf.test), but fail to use `curl api.cf.test:9022/info`. It shows that go_router can't receive register information that is sent from cc_ng.

When I see the log produced by cc_ng, it says:
{"timestamp":1394611994.636654,"message":"Sending registration: {:host=>\"10.1.1.106\", :port=>9022, :uris=>[\"api.cf.test\"], :tags=>{:component=>\"CloudController\"}, :index=>0, :private_instance_id=>nil}","log_level":"debug","source":"cf.registrar","data":{},"thread_id":11849720,"fiber_id":34656440,"process_id":21173,"file":"/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/cache/vcap-common-c95b30d61ea2/lib/cf/registrar.rb","lineno":98,"method":"send_registration_message"}

So, I have no idea why go_router ignore the register information sent by cc_ng? BTW, how can I restart all jobs without recreating instances using bosh command as I find a bit annoying to ssh into eachinstance and type `monit restart all`. 

--
Best Regards,
Du Jun 

James Bayer

unread,
Mar 12, 2014, 12:57:38 PM3/12/14
to vcap...@cloudfoundry.org
you appear on the right track in that it sounds like the router in-memory routing table for some reason isn't managing the api.systemdomain route as intended. you could see if the router logs show receiving a periodic NATS message advertising the route for the CC api request. i'm not sure if they do that or not, but you've certainly narrowed down the problem to the right area.

BTW, how can I restart all jobs without recreating instances using bosh command as I find a bit annoying to ssh into eachinstance and type `monit restart all`. 

I talked to Tony H, a very experienced bosh and ssh user. you could run commands as the vcap user using a remote ssh access, but unfortunately to restart monit, you need to be root and therefore must go through the full "bosh ssh" flow.


To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.



--
Thank you,

James Bayer
Reply all
Reply to author
Forward
0 new messages