Bug #2750

DNS record for BMC interface don't append domain name

Added by Romain Vrignaud almost 5 years ago. Updated almost 4 years ago.

Status:Duplicate
Priority:Normal
Assigned To:Trey Dockendorf
Category:BMC
Target version:-
Difficulty: Bugzilla link:
Found in release: Pull request:
Story points-
Velocity based estimate-

Description

When creating a new BMC interface on existing host,
I set Name : proxy2-ipmi
Domain: example.com
Subnet : dc1

It seems that foreman try to set DNS A record without domain.
See following traces.
If I set in Name field a valid FQDN saving works.

Foreman and smart-proxy 1.2.0

I get an error on Foreman side :

Started PUT "/hosts/proxy2.example.com" for 192.168.200.11 at 2013-07-05 11:04:37 +0200
Processing by HostsController#update as */*
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"L+DrLyvpxSx+Xm+swLS1+/PVneVGNwVUhR4HFc+m0HA=", "host"=>{"name"=>"proxy2", "hostgroup_id"=>"17", "environment_id"=>"1", "puppet_ca_proxy_id"=>"2", "puppet_proxy_id"=>"2", "puppetclass_ids"=>[""], "managed"=>"1", "progress_report_id"=>"[FILTERED]", "mac"=>"00:1c:23:e1:b1:d2", "domain_id"=>"4", "subnet_id"=>"2", "ip"=>"192.168.200.224", "interfaces_attributes"=>{"new_interfaces"=>{"_destroy"=>"false", "type"=>"Nic::Managed", "mac"=>"", "name"=>"", "domain_id"=>"", "subnet_id"=>"", "ip"=>"rvrignaud", "provider"=>"IPMI"}, "new_1373015051051"=>{"_destroy"=>"false", "type"=>"Nic::BMC", "mac"=>"00:1c:23:e1:b1:d4", "name"=>"proxy2-ipmi", "domain_id"=>"4", "subnet_id"=>"2", "ip"=>"192.168.200.223", "username"=>"foreman", "password"=>"[FILTERED]", "provider"=>"IPMI"}}, "architecture_id"=>"1", "operatingsystem_id"=>"16", "provision_method"=>"build", "medium_id"=>"6", "ptable_id"=>"6", "disk"=>"", "root_pass"=>"[FILTERED]", "is_owned_by"=>"9-Users", "enabled"=>"1", "model_id"=>"2", "comment"=>"", "overwrite"=>"false"}, "id"=>"proxy2.example.com"}
Create DHCP reservation for proxy2-ipmi-00:1c:23:e1:b1:d4/192.168.200.223
Add DNS A record for proxy2-ipmi/192.168.200.223
Create DNS record for proxy2-ipmi task failed with the following error: 400 Bad Request/opt/foreman/vendor/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/abstract_response.rb:48:in `return!'
/opt/foreman/vendor/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:230:in `process_result'
/opt/foreman/vendor/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:178:in `block in transmit'
/usr/lib/ruby/1.9.1/net/http.rb:745:in `start'
/opt/foreman/vendor/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in `transmit'
/opt/foreman/vendor/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in `execute'
/opt/foreman/vendor/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
/opt/foreman/vendor/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/resource.rb:67:in `post'
/opt/foreman/lib/proxy_api/resource.rb:76:in `post'
/opt/foreman/lib/proxy_api/dns.rb:13:in `set'
/opt/foreman/lib/net/dns/a_record.rb:21:in `create'
/opt/foreman/app/models/orchestration/dns.rb:33:in `set_dns_a_record'
/opt/foreman/app/models/orchestration.rb:151:in `execute'
/opt/foreman/app/models/orchestration.rb:91:in `block in process'
/opt/foreman/app/models/orchestration.rb:83:in `each'
/opt/foreman/app/models/orchestration.rb:83:in `process'
/opt/foreman/app/models/orchestration.rb:21:in `on_save'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:627:in `_run__1206801557567445375__save__3004087242711543902__callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_save_callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/callbacks.rb:264:in `create_or_update'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/persistence.rb:84:in `save'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/validations.rb:50:in `save'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/attribute_methods/dirty.rb:22:in `save'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:259:in `block (2 levels) in save'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:208:in `transaction'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:311:in `with_transaction_returning_status'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:259:in `block in save'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:270:in `rollback_active_record_state!'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:258:in `save'
/opt/foreman/lib/foreman/sti.rb:26:in `save_with_type'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/persistence.rb:217:in `block in update_attributes'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:208:in `transaction'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/transactions.rb:311:in `with_transaction_returning_status'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/persistence.rb:215:in `update_attributes'
/opt/foreman/app/controllers/hosts_controller.rb:110:in `block in update'
/opt/foreman/app/models/taxonomy.rb:48:in `block in no_taxonomy_scope'
/opt/foreman/app/models/taxonomy.rb:55:in `block (2 levels) in as_taxonomy'
/opt/foreman/lib/foreman/thread_session.rb:140:in `as_location'
/opt/foreman/app/models/taxonomy.rb:54:in `block in as_taxonomy'
/opt/foreman/lib/foreman/thread_session.rb:105:in `as_org'
/opt/foreman/app/models/taxonomy.rb:53:in `as_taxonomy'
/opt/foreman/app/models/taxonomy.rb:47:in `no_taxonomy_scope'
/opt/foreman/app/controllers/hosts_controller.rb:102:in `update'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:167:in `process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/rendering.rb:10:in `process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:549:in `block (3 levels) in _run__1534121847872689640__process_action__1381217565883779306__callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_4557'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:326:in `around'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:310:in `_callback_around_917'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_4557'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:526:in `block (2 levels) in _run__1534121847872689640__process_action__1381217565883779306__callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_4556'
/opt/foreman/lib/foreman/thread_session.rb:31:in `clear_thread'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_4556'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:415:in `block in _run__1534121847872689640__process_action__1381217565883779306__callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_4555'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:326:in `around'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:310:in `_callback_around_13'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_4555'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:414:in `_run__1534121847872689640__process_action__1381217565883779306__callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:17:in `process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/rescue.rb:29:in `process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `block in instrument'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `instrument'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:121:in `process'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/rendering.rb:45:in `process'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal.rb:203:in `dispatch'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal.rb:246:in `block in action'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:36:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call'
/opt/foreman/vendor/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
/opt/foreman/vendor/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:612:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/apipie-rails-0.0.16/lib/apipie/static_dispatcher.rb:56:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-openid-1.3.1/lib/rack/openid.rb:98:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/etag.rb:23:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/conditionalget.rb:35:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/head.rb:14:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/flash.rb:242:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:210:in `context'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:205:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/cookies.rb:341:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/query_cache.rb:64:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `_run__264268188735438121__call__3004087242711543902__callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/railties-3.2.13/lib/rails/rack/logger.rb:32:in `call_app'
/opt/foreman/vendor/ruby/1.9.1/gems/railties-3.2.13/lib/rails/rack/logger.rb:16:in `block in call'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/tagged_logging.rb:22:in `tagged'
/opt/foreman/vendor/ruby/1.9.1/gems/railties-3.2.13/lib/rails/rack/logger.rb:16:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/request_id.rb:22:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/static.rb:63:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in `pass'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in `invalidate'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in `call!'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/railties-3.2.13/lib/rails/engine.rb:479:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/railties-3.2.13/lib/rails/application.rb:223:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:134:in `call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:64:in `block in call'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `each'
/opt/foreman/vendor/ruby/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `call'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/request_handler.rb:96:in `process_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:516:in `accept_and_process_next_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:206:in `start_request_handler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:171:in `block in handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:479:in `safe_fork'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:166:in `handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:180:in `start'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:129:in `start'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:253:in `block (2 levels) in spawn_rack_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:246:in `block in spawn_rack_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:82:in `block in synchronize'
<internal:prelude>:10:in `synchronize'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:244:in `spawn_rack_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:137:in `spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:99:in `<main>'
Rolling back due to a problem: [Create DNS record for proxy2-ipmi     10     failed     [#<Nic::BMC id: nil, mac: "00:1c:23:e1:b1:d4", ip: "192.168.200.223", type: "Nic::BMC", name: "proxy2-ipmi", host_id: 742, subnet_id: 2, domain_id: 4, attrs: {:username=>"foreman", :password=>"strongpassword", :provider=>"IPMI"}, created_at: nil, updated_at: nil>, :set_dns_a_record]]
Delete DHCP reservation for proxy2-ipmi-00:1c:23:e1:b1:d4/192.168.200.223
Failed to save: Create DNS record for proxy2-ipmi task failed with the following error: 400 Bad Request

And on proxy side :

D, [2013-07-05T11:04:39.526395 #2464] DEBUG -- : running /usr/bin/nsupdate -k /etc/bind/foreman.key 
D, [2013-07-05T11:04:39.530682 #2464] DEBUG -- : nsupdate: executed - server localhost
D, [2013-07-05T11:04:39.532283 #2464] DEBUG -- : nsupdate: executed - update add proxy2-ipmi.  86400 A 192.168.200.223
D, [2013-07-05T11:04:39.546982 #2464] DEBUG -- : nsupdate: errors
Answer:

;; ->>HEADER<<- opcode: UPDATE, status: NOTAUTH, id:   8276

;; flags: qr ra; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1

;; ZONE SECTION:

;.                              IN      SOA

;; TSIG PSEUDOSECTION:

foreman.yakaz.com.      0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1373015079 300 16 nR71u98Fp14td7xngS7WIg== 8276 NOERROR 0 

E, [2013-07-05T11:04:39.547375 #2464] ERROR -- : Update errors: Answer:

;; ->>HEADER<<- opcode: UPDATE, status: NOTAUTH, id:   8276

;; flags: qr ra; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1

;; ZONE SECTION:

;.                              IN      SOA

;; TSIG PSEUDOSECTION:

foreman.yakaz.com.      0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1373015079 300 16 nR71u98Fp14td7xngS7WIg== 8276 NOERROR 0 

D, [2013-07-05T11:04:39.547448 #2464] DEBUG -- : /opt/smart-proxy/lib/proxy/dns/nsupdate.rb:80:in `nsupdate'
/opt/smart-proxy/lib/proxy/dns/nsupdate.rb:36:in `create'
/opt/smart-proxy/lib/dns_api.rb:28:in `block in <class:SmartProxy>'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in `call'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in `block in compile!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in `[]'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in `block (3 levels) in route!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:876:in `route_eval'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in `block (2 levels) in route!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:897:in `block in process_route'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in `catch'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in `process_route'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:859:in `block in route!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in `each'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in `route!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in `block in dispatch!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in `block in invoke'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in `catch'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in `invoke'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in `dispatch!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in `block in call!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in `block in invoke'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in `catch'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in `invoke'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in `call!'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
/var/lib/gems/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/xss_header.rb:27:in `call'
/var/lib/gems/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/path_traversal.rb:16:in `call'
/var/lib/gems/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/json_csrf.rb:17:in `call'
/var/lib/gems/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/base.rb:48:in `call'
/var/lib/gems/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/base.rb:48:in `call'
/var/lib/gems/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/xss_header.rb:27:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/logger.rb:15:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:161:in `call'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:154:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in `call'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in `block in call'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1499:in `synchronize'
/var/lib/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in `call'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/request_handler.rb:96:in `process_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:516:in `accept_and_process_next_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:206:in `start_request_handler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:171:in `block in handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:479:in `safe_fork'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:166:in `handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:180:in `start'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/application_spawner.rb:129:in `start'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:253:in `block (2 levels) in spawn_rack_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:246:in `block in spawn_rack_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:82:in `block in synchronize'
<internal:prelude>:10:in `synchronize'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:244:in `spawn_rack_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:137:in `spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:99:in `<main>'


Related issues

Related to Foreman - Bug #4599: Managed interfaces do not create proper DNS records Closed 03/09/2014

History

#1 Updated by Romain Vrignaud almost 5 years ago

  • Category changed from DNS to BMC

#2 Updated by Jeremy Kitchen over 4 years ago

this is happening to me as well. I'm trying to track it down for a PR

#3 Updated by Jeremy Kitchen over 4 years ago

after a bunch of looking and not really finding what I was looking for, I found that you can set them if you specify the full domain, but something tells me this is wrong to do.

#4 Updated by Ohad Levy over 4 years ago

Jeremy Kitchen wrote:

after a bunch of looking and not really finding what I was looking for, I found that you can set them if you specify the full domain, but something tells me this is wrong to do.

This is the workaround, foreman doesn't currently auto add the domain name to the hostname(which is the bug), the resulting trace means dns reject registering a client without a FQDN.

#5 Updated by Ohad Levy over 4 years ago

  • Description updated (diff)

#6 Updated by Trey Dockendorf about 4 years ago

  • Related to Bug #4599: Managed interfaces do not create proper DNS records added

#7 Updated by Trey Dockendorf about 4 years ago

  • Assigned To set to Trey Dockendorf

#8 Updated by Dominic Cleal almost 4 years ago

  • Status changed from New to Duplicate

Fixed in 1.5.0-RC2 via #4599.

Also available in: Atom PDF