Hi Ash,
Thanks a bunch for pointing that out. It seems that was it.
On Thursday, February 13, 2014 2:14:21 PM UTC-6, Ash Wilson wrote:
>
> Hi Kyle!
>
> Try running it again with the environment variable EXCON_DEBUG=1 set to
> see more details from the 400 response. I did some investigation and saw
> this in the response body:
>
> @data={:body=>"{\"message\":\"Validation
> failed.\",\"code\":400,\"details\":\"Record TTL must be greater than or
> equal to 300\"}"
>
> When I set my TTL to 300, the request succeeded. Give that a shot and let
> me know if that works for you.
>
> - Ash
>
> (Sorry if you get this twice -- I tried to send this from another address
> but I hadn't joined the group with that one, so I got a bounceback.)
>
> On Thursday, February 13, 2014 1:14:35 PM UTC-5, Kyle Crumpton wrote:
>>
>> Hi all. Fairly new to Fog here. I'm creating a plugin for Openshift
>> Origin and running into some hurdles. So I'm going to give all the
>> information I have here and hope for the best.
>> The code can be found here:
>> https://github.com/kcrumpto/origin-server/blob/master/plugins/dns/rackspace/lib/openshift/rackspace_plugin.rb
>> So I have been messing around with the Fog. My goal is to create a DNS
>> CNAME record each time a new application is made by adding it to my
>> Rackspace DNS page as an entry.
>>
>> The basic usecase is that I create an app:
>>
>> "rhc app-create test <app-type>"
>> The namespace is called ns in this instance.
>> So it will create a CNAME record on the broker called "
>> test-ns.example.com". It will then try to register this record with my
>> Rackspace account so that people outside of the broker can find the
>> application and SSH to it.
>>
>> So here is the issue.. I am using the following code to register an
>> application:
>> def register_application(app_name,namespace,public_hostname)
>> fqdn="#{app_name}-#{namespace}.#{@domain_suffix}"
>> #create a CNAME record
>> update = {
>> :value => public_hostname,
>> :name => fqdn,
>> :type => "CNAME",
>> :ttl => 30
>> }
>> Rails.logger.info "FQDN=#{fqdn}. #{@rackspace_dns_zoneid}"
>> Rails.logger.info "Debug message inserted by Kyle Crumpton."
>> zone=rackspace.zones.get(@rackspace_dns_zoneid)
>> res = zone.records.create(update)
>> end
>>
>> The @rackspace_dns_zoneid, FQDN, and update parameters all reflect
>> correctly what they should be.
>> Here is the error when I try and run this method on the Rails Console:
>>
>> irb(main):003:0> d.register_application('testapp1','testns1', '
>> node1.example.com')
>> Fog::DNS::Rackspace::BadRequest: [HTTP 400 | ] Validation failed. -
>> from
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/middlewares/expects.rb:6:in
>>
>> `response_call'
>> from
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/middlewares/response_parser.rb:8:in
>>
>> `response_call'
>> from
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/connection.rb:361:in
>> `response'
>> from
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/connection.rb:254:in
>> `request'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/core/connection.rb:57:in
>> `request'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/core/deprecated/connection.rb:20:in
>>
>> `request'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/service.rb:43:in
>> `request'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/dns.rb:115:in
>> `request'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/requests/dns/add_records.rb:28:in
>>
>> `add_records'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/models/dns/record.rb:62:in
>>
>> `create'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/models/dns/record.rb:39:in
>>
>> `save'
>> from
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/core/collection.rb:52:in
>> `create'
>> from
>> /usr/local/share/gems/gems/openshift-origin-dns-rackspace-1.10.16/lib/openshift/rackspace_plugin.rb:71:in
>>
>> `register_application'
>> from (irb):3
>> from
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in
>> `start'
>> from
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in
>> `start'
>> from /usr/share/gems/gems/railties-3.2.13/lib/rails/commands.rb:41:in
>> `<top (required)>'
>> from script/rails:54:in `require'
>> from script/rails:54:in `<main>'irb(main):004:0>
>>
>> So my question is.. has anyone ever seen anything like this happening?
>> Here is some more of the trace if it helps:
>>
>>
>> 2014-02-12 21:15:08.602 [ERROR] Encountered error during execute '[HTTP
>> 400 | ] Validation failed. - ' rollback pending: false (pid:1579)
>> 2014-02-12 21:15:14.141 [ERROR] Reference ID:
>> 359f13e3fdab3c0724aa01c522d32285 - [HTTP 400 | ] Validation failed. -
>>
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/middlewares/expects.rb:6:in
>>
>> `response_call'
>>
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/middlewares/response_parser.rb:8:in
>>
>> `response_call'
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/connection.rb:361:in
>> `response'
>> /usr/local/share/gems/gems/excon-0.28.0/lib/excon/connection.rb:254:in
>> `request'
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/core/connection.rb:57:in
>> `request'
>>
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/core/deprecated/connection.rb:20:in
>>
>> `request'
>>
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/service.rb:43:in
>> `request'
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/dns.rb:115:in
>> `request'
>>
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/requests/dns/add_records.rb:28:in
>>
>> `add_records'
>>
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/models/dns/record.rb:62:in
>>
>> `create'
>>
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/rackspace/models/dns/record.rb:39:in
>>
>> `save'
>> /usr/local/share/gems/gems/fog-1.18.0/lib/fog/core/collection.rb:52:in
>> `create'
>>
>> /usr/local/share/gems/gems/openshift-origin-dns-rackspace-1.10.16/lib/openshift/rackspace_plugin.rb:71:in
>>
>> `register_application'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/gear.rb:123:in
>>
>> `register_dns'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/pending_ops/register_dns_op.rb:9:in
>>
>> `execute'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/pending_app_op_group.rb:75:in
>>
>> `block in execute'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/pending_app_op_group.rb:64:in
>>
>> `each'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/pending_app_op_group.rb:64:in
>>
>> `execute'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/application.rb:1557:in
>>
>> `run_jobs'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/application.rb:676:in
>>
>> `block in add_features'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/application.rb:1623:in
>>
>> `run_in_application_lock'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/application.rb:669:in
>>
>> `add_features'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/models/application.rb:253:in
>>
>> `create_app'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/app/controllers/applications_controller.rb:147:in
>>
>> `create'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/implicit_render.rb:4:in
>>
>> `send_action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:167:in
>>
>> `process_action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/rendering.rb:10:in
>>
>> `process_action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:18:in
>>
>> `block in process_action'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:481:in
>>
>> `block in
>> _run__2585324845023905795__process_action__3526227800655018281__callbacks'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:215:in
>>
>> `block in _conditional_callback_around_386'
>>
>> /usr/share/gems/gems/openshift-origin-controller-1.18.0/lib/openshift/controller/action_log.rb:80:in
>>
>> `set_logged_request'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:214:in
>>
>> `_conditional_callback_around_386'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:403:in
>>
>> `_run__2585324845023905795__process_action__3526227800655018281__callbacks'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in
>>
>> `__run_callback'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in
>>
>> `_run_process_action_callbacks'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in
>>
>> `run_callbacks'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:17:in
>>
>> `process_action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/rescue.rb:29:in
>>
>> `process_action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:30:in
>>
>> `block in process_action'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in
>>
>> `block in instrument'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in
>>
>> `instrument'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in
>>
>> `instrument'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:29:in
>>
>> `process_action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/params_wrapper.rb:207:in
>>
>> `process_action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:121:in
>>
>> `process'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/rendering.rb:45:in
>>
>> `process'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal.rb:203:in
>> `dispatch'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/rack_delegation.rb:14:in
>>
>> `dispatch'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal.rb:246:in
>> `block in action'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in
>>
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in
>>
>> `dispatch'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:36:in
>>
>> `call'
>> /usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in `block
>> in call'
>> /usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
>> /usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:612:in
>>
>> `call'
>>
>> /usr/share/gems/gems/mongoid-3.1.4/lib/rack/mongoid/middleware/identity_map.rb:34:in
>>
>> `block in call'
>> /usr/share/gems/gems/mongoid-3.1.4/lib/mongoid/unit_of_work.rb:39:in
>> `unit_of_work'
>>
>> /usr/share/gems/gems/mongoid-3.1.4/lib/rack/mongoid/middleware/identity_map.rb:34:in
>>
>> `call'
>> /usr/share/gems/gems/sass-3.2.6/lib/sass/plugin/rack.rb:54:in `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/best_standards_support.rb:17:in
>>
>> `call'
>> /usr/share/gems/gems/rack-1.4.5/lib/rack/etag.rb:23:in `call'
>> /usr/share/gems/gems/rack-1.4.5/lib/rack/conditionalget.rb:35:in `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/head.rb:14:in
>>
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/params_parser.rb:21:in
>>
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/flash.rb:242:in
>>
>> `call'
>> /usr/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:210:in
>> `context'
>> /usr/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:205:in
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/cookies.rb:341:in
>>
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:28:in
>>
>> `block in call'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in
>>
>> `_run__2339041322041708277__call__741858123488100523__callbacks'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in
>>
>> `__run_callback'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in
>>
>> `_run_call_callbacks'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in
>>
>> `run_callbacks'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:27:in
>>
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/remote_ip.rb:31:in
>>
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/debug_exceptions.rb:16:in
>>
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/show_exceptions.rb:56:in
>>
>> `call'
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/rack/logger.rb:32:in
>> `call_app'
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/rack/logger.rb:16:in
>> `block in call'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/tagged_logging.rb:22:in
>>
>> `tagged'
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/rack/logger.rb:16:in
>> `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/request_id.rb:22:in
>>
>> `call'
>> /usr/share/gems/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
>> /usr/share/gems/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
>>
>> /usr/share/gems/gems/activesupport-3.2.13/lib/active_support/cache/strategy/local_cache.rb:72:in
>>
>> `call'
>> /usr/share/gems/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
>>
>> /usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/static.rb:63:in
>>
>> `call'
>> /usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in
>> `forward'
>> /usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in
>> `pass'
>> /usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in
>> `invalidate'
>> /usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in
>> `call!'
>> /usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in
>> `call'
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/engine.rb:479:in `call'
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/application.rb:223:in
>> `call'
>>
>> /usr/share/gems/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in
>> `method_missing'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/request_handler.rb:97:in
>>
>> `process_request'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:521:in
>>
>> `accept_and_process_next_request'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:274:in
>>
>> `main_loop'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:206:in
>>
>> `start_request_handler'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:171:in
>>
>> `block in handle_spawn_application'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/utils.rb:470:in
>> `safe_fork'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:166:in
>>
>> `handle_spawn_application'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:357:in
>>
>> `server_main_loop'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:206:in
>>
>> `start_synchronously'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:180:in
>>
>> `start'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:129:in
>>
>> `start'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:253:in
>>
>> `block (2 levels) in spawn_rack_application'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server_collection.rb:132:in
>>
>> `lookup_or_add'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:246:in
>>
>> `block in spawn_rack_application'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server_collection.rb:82:in
>>
>> `block in synchronize'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server_collection.rb:79:in
>>
>> `synchronize'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server_collection.rb:79:in
>>
>> `synchronize'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:244:in
>>
>> `spawn_rack_application'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:137:in
>>
>> `spawn_application'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:275:in
>>
>> `handle_spawn_application'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:357:in
>>
>> `server_main_loop'
>>
>> /usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:206:in
>>
>> `start_synchronously'
>>
>> /usr/share/gems/gems/passenger-3.0.21/helper-scripts/passenger-spawn-server:102:in
>>
>> `<main>' (pid:1579)
>> 2014-02-12 21:15:14.142 [INFO ] Completed 500 Internal Server Error in
>> 16029ms (Views: 0.5ms) (pid:1579)
>>
>> Now the funny part; when I run the equivalent code on my local system as
>> a simple ruby script it works like a charm.
>>
>> Any ideas? thank you.
>>
>
--
You received this message because you are subscribed to the Google Groups
"ruby-fog" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.