Project

General

Profile

Bug #13725

Orchestration fails with 409 when there is a MAC DHCP conflict

Added by Ohad Levy about 4 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
Orchestration
Target version:
Difficulty:
Triaged:
Bugzilla link:
Fixed in Releases:
Found in Releases:

Description

in latest develop, upon having a proxy conflict (e.g. DHCP) the overwrite option is no longer visible.
instead, I'm just getting the proxy error message:

Unable to save
Create DHCP Settings for h04.example.com task failed with the following error: ERF12-6899 [ProxyAPI::ProxyException]: Unable to set DHCP entry ([RestClient::Conflict]: 409 Conflict) for proxy http://h01.example.com:8443/dhcp

in the log file:

Create DHCP Settings for h04.example.com task failed with the following error: ERF12-6899 [ProxyAPI::ProxyException]: Unable to set DHCP entry ([RestClient::Conflict]: 409 Conflict) for proxy http://h01.example.com:8443/dhcp
 | ProxyAPI::ProxyException: ERF12-6899 [ProxyAPI::ProxyException]: Unable to set DHCP entry ([RestClient::Conflict]: 409 Conflict) for proxy http://h01.example.com:8443/dhcp
 | /home/foreman/git/foreman/lib/proxy_api/dhcp.rb:66:in `rescue in set'
 | /home/foreman/git/foreman/lib/proxy_api/dhcp.rb:62:in `set'
 | /home/foreman/git/foreman/lib/net/dhcp/record.rb:29:in `create'
 | /home/foreman/git/foreman/app/models/concerns/orchestration/dhcp.rb:51:in `set_dhcp'
 | /home/foreman/git/foreman/app/models/concerns/orchestration.rb:162:in `execute'
 | /home/foreman/git/foreman/app/models/concerns/orchestration.rb:107:in `block in process'
 | /home/foreman/git/foreman/app/models/concerns/orchestration.rb:99:in `each'
 | /home/foreman/git/foreman/app/models/concerns/orchestration.rb:99:in `process'
 | /home/foreman/git/foreman/app/models/concerns/orchestration.rb:35:in `on_save'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:429:in `block in make_lambda'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:161:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:161:in `block in halting'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:501:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:501:in `block in call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:501:in `each'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:501:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:86:in `run_callbacks'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/callbacks.rb:302:in `create_or_update'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/persistence.rb:103:in `save'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/validations.rb:51:in `save'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/attribute_methods/dirty.rb:21:in `save'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:268:in `block (2 levels) in save'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/connection_adapters/abstract/database_statements.rb:199:in `transaction'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:208:in `transaction'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:268:in `block in save'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:283:in `rollback_active_record_state!'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:267:in `save'
 | /home/foreman/git/foreman/app/models/concerns/foreman/sti.rb:29:in `save_with_type'
 | /home/foreman/gems/gems/protected_attributes-1.1.3/lib/active_record/mass_assignment_security/persistence.rb:65:in `block in update'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:208:in `transaction'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
 | /home/foreman/gems/gems/protected_attributes-1.1.3/lib/active_record/mass_assignment_security/persistence.rb:63:in `update'
 | /home/foreman/git/foreman/app/controllers/hosts_controller.rb:109:in `block in update'
 | /home/foreman/git/foreman/app/models/taxonomy.rb:75:in `block in no_taxonomy_scope'
 | /home/foreman/git/foreman/app/models/taxonomy.rb:82:in `block (2 levels) in as_taxonomy'
 | /home/foreman/git/foreman/app/models/concerns/foreman/thread_session.rb:147:in `as_location'
 | /home/foreman/git/foreman/app/models/taxonomy.rb:81:in `block in as_taxonomy'
 | /home/foreman/git/foreman/app/models/concerns/foreman/thread_session.rb:112:in `as_org'
 | /home/foreman/git/foreman/app/models/taxonomy.rb:80:in `as_taxonomy'
 | /home/foreman/git/foreman/app/models/taxonomy.rb:74:in `no_taxonomy_scope'
 | /home/foreman/git/foreman/app/controllers/hosts_controller.rb:106:in `update'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/abstract_controller/base.rb:189:in `process_action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal/rendering.rb:10:in `process_action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:113:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:113:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:552:in `block (2 levels) in compile'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:495:in `block (2 levels) in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `block (2 levels) in halting'
 | /home/foreman/gems/gems/rails-observers-0.1.2/lib/rails/observers/action_controller/caching/sweeping.rb:73:in `around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:452:in `public_send'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:452:in `block in make_lambda'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `block in halting'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `block in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:495:in `block (2 levels) in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `block (2 levels) in halting'
 | /home/foreman/git/foreman/app/controllers/concerns/application_shared.rb:13:in `set_timezone'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:429:in `block in make_lambda'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `block in halting'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `block in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:495:in `block (2 levels) in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `block (2 levels) in halting'
 | /home/foreman/git/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:429:in `block in make_lambda'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `block in halting'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `block in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:495:in `block (2 levels) in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:306:in `block (2 levels) in halting'
 | /home/foreman/gems/gems/rails-observers-0.1.2/lib/rails/observers/action_controller/caching/sweeping.rb:73:in `around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:452:in `public_send'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:452:in `block in make_lambda'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:305:in `block in halting'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:494:in `block in around'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:502:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:86:in `run_callbacks'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/abstract_controller/callbacks.rb:19:in `process_action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal/rescue.rb:29:in `process_action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/notifications.rb:159:in `block in instrument'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/notifications.rb:159:in `instrument'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/abstract_controller/base.rb:136:in `process'
 | /home/foreman/gems/gems/actionview-4.1.14.1/lib/action_view/rendering.rb:30:in `process'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal.rb:196:in `dispatch'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_controller/metal.rb:232:in `block in action'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/routing/route_set.rb:80:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/routing/route_set.rb:48:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/journey/router.rb:73:in `block in call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/journey/router.rb:59:in `each'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/journey/router.rb:59:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/routing/route_set.rb:690:in `call'
 | /home/foreman/gems/gems/apipie-rails-0.3.5/lib/apipie/static_dispatcher.rb:65:in `call'
 | /home/foreman/gems/gems/apipie-rails-0.3.5/lib/apipie/extractor/recorder.rb:132:in `call'
 | /home/foreman/gems/gems/apipie-rails-0.3.5/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/etag.rb:23:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/conditionalget.rb:35:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/head.rb:11:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
 | /home/foreman/git/foreman/lib/middleware/catch_json_parse_errors.rb:9:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/flash.rb:254:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/session/abstract/id.rb:225:in `context'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/session/abstract/id.rb:220:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/cookies.rb:562:in `call'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/query_cache.rb:36:in `call'
 | /home/foreman/gems/gems/activerecord-4.1.14.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/callbacks.rb:82:in `run_callbacks'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
 | /home/foreman/gems/gems/railties-4.1.14.1/lib/rails/rack/logger.rb:38:in `call_app'
 | /home/foreman/gems/gems/railties-4.1.14.1/lib/rails/rack/logger.rb:22:in `call'
 | /home/foreman/gems/gems/quiet_assets-1.1.0/lib/quiet_assets.rb:27:in `call_with_quiet_assets'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/methodoverride.rb:21:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/runtime.rb:17:in `call'
 | /home/foreman/gems/gems/activesupport-4.1.14.1/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
 | /home/foreman/gems/gems/actionpack-4.1.14.1/lib/action_dispatch/middleware/static.rb:84:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/sendfile.rb:112:in `call'
 | /home/foreman/gems/gems/railties-4.1.14.1/lib/rails/engine.rb:514:in `call'
 | /home/foreman/gems/gems/railties-4.1.14.1/lib/rails/application.rb:144:in `call'
 | /home/foreman/gems/gems/railties-4.1.14.1/lib/rails/railtie.rb:194:in `public_send'
 | /home/foreman/gems/gems/railties-4.1.14.1/lib/rails/railtie.rb:194:in `method_missing'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/builder.rb:138:in `call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/urlmap.rb:65:in `block in call'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in `each'
 | /home/foreman/gems/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in `call'
 | /root/.gem/gems/passenger-5.0.7/lib/phusion_passenger/rack/thread_handler_extension.rb:89:in `process_request'
 | /root/.gem/gems/passenger-5.0.7/lib/phusion_passenger/request_handler/thread_handler.rb:155:in `accept_and_process_next_request'
 | /root/.gem/gems/passenger-5.0.7/lib/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop'
 | /root/.gem/gems/passenger-5.0.7/lib/phusion_passenger/request_handler.rb:414:in `block (3 levels) in start_threads'
 | /root/.gem/gems/passenger-5.0.7/lib/phusion_passenger/utils.rb:111:in `block in create_thread_and_abort_on_exception'
 | /home/foreman/gems/gems/logging-2.0.0/lib/logging/diagnostic_context.rb:448:in `call'
 | /home/foreman/gems/gems/logging-2.0.0/lib/logging/diagnostic_context.rb:448:in `block in create_with_logging_context'
2016-02-16T07:43:10 [app] [I] Failed to save: Create DHCP Settings for h04.example.com task failed with the following error: ERF12-6899 [ProxyAPI::ProxyException]: Unable to set DHCP entry ([RestClient::Conflict]: 409 Conflict) for proxy http://h01.example.com:8443/dhcp
2016-02-16T07:43:10 [app] [I]   Rendered hosts/_progress.html.erb (0.6ms)
2016-02-16T07:43:10 [app] [I]   Rendered config_groups/_config_group.html.erb (32.2ms)
2016-02-16T07:43:10 [app] [I]   Rendered config_groups/_config_groups_selection.html.erb (73.0ms)
2016-02-16T07:43:10 [app] [I]   Rendered puppetclasses/_selectedClasses.html.erb (0.0ms)
2016-02-16T07:43:10 [app] [I]   Rendered puppetclasses/_classes_in_groups.html.erb (0.0ms)
2016-02-16T07:43:11 [app] [I]   Rendered puppetclasses/_classes.html.erb (161.8ms)
2016-02-16T07:43:11 [app] [I]   Rendered puppetclasses/_class_selection.html.erb (333.0ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_base_form.html.erb (47.9ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_virtual_form.html.erb (3.1ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_provider_specific_form.html.erb (0.6ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/manageds/_managed.html.erb (55.8ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_base_form.html.erb (40.5ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_virtual_form.html.erb (2.8ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_provider_specific_form.html.erb (0.4ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/manageds/_managed.html.erb (47.2ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_base_form.html.erb (41.1ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_provider_specific_form.html.erb (0.6ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/bmcs/_bmc.html.erb (46.4ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_base_form.html.erb (41.2ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_virtual_form.html.erb (2.3ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/_provider_specific_form.html.erb (0.5ms)
2016-02-16T07:43:11 [app] [I]   Rendered nic/manageds/_managed.html.erb (47.4ms)
2016-02-16T07:43:11 [app] [I]   Rendered hosts/_interfaces.html.erb (203.2ms)
2016-02-16T07:43:11 [app] [I]   Rendered common/os_selection/_architecture.html.erb (12.4ms)
2016-02-16T07:43:11 [app] [I]   Rendered common/os_selection/_operatingsystem.html.erb (78.6ms)
2016-02-16T07:43:11 [app] [I]   Rendered hosts/provision_method/build/_form.html.erb (80.5ms)
2016-02-16T07:43:11 [app] [I]   Rendered hosts/provision_method/image/_form.html.erb (0.6ms)
2016-02-16T07:43:11 [app] [I]   Rendered hosts/_operating_system.html.erb (101.7ms)
2016-02-16T07:43:11 [app] [I]   Rendered hosts/_unattended.html.erb (102.5ms)
2016-02-16T07:43:11 [app] [I]   Rendered puppetclasses/_class_parameters.html.erb (151.4ms)
2016-02-16T07:43:11 [app] [I]   Rendered puppetclasses/_classes_parameters.html.erb (172.6ms)
2016-02-16T07:43:11 [app] [I]   Rendered common_parameters/_inherited_parameters.html.erb (7.9ms)
2016-02-16T07:43:11 [app] [I]   Rendered common_parameters/_parameter.html.erb (3.5ms)
2016-02-16T07:43:11 [app] [I]   Rendered common_parameters/_parameters.html.erb (6.9ms)
2016-02-16T07:43:11 [app] [I]   Rendered hosts/_form.html.erb (991.0ms)
2016-02-16T07:43:11 [app] [I]   Rendered hosts/edit.html.erb within layouts/application (994.4ms)
2016-02-16T07:43:11 [app] [I]   Rendered layouts/_application_content.html.erb (0.7ms)
2016-02-16T07:43:11 [app] [I]   Rendered home/_user_dropdown.html.erb (3.2ms)
2016-02-16T07:43:11 [app] [I] Read fragment views/tabs_and_title_records-1 (0.5ms)
2016-02-16T07:43:11 [app] [I]   Rendered home/_topbar.html.erb (5.7ms)
2016-02-16T07:43:11 [app] [I]   Rendered layouts/base.html.erb (7.8ms)
2016-02-16T07:43:11 [app] [I] Completed 200 OK in 1581ms (Views: 937.4ms | ActiveRecord: 98.3ms)


Related issues

Related to Foreman - Bug #8727: Discovered hosts with same MAC address are reported as DHCP conflictsClosed2014-12-16
Related to Foreman - Bug #12425: Fact import triggers ip conflicts checks, which drives cpu utilization to 100% on smart-proxyClosed

Associated revisions

Revision 4c9529c7 (diff)
Added by Lukas Zapletal almost 4 years ago

Fixes #13725 - DHCP MAC conflicts are reported

Revision a9c352dc (diff)
Added by Lukas Zapletal almost 4 years ago

Fixes #13725 - DHCP MAC conflicts are reported

(cherry picked from commit 4c9529c7bc3c081fb3d0bfdbee09b2e7d6eabc0a)

History

#1 Updated by Ohad Levy about 4 years ago

  • Related to Bug #8727: Discovered hosts with same MAC address are reported as DHCP conflicts added

#2 Updated by Ohad Levy about 4 years ago

I think the original fix for #8727 might be related, as it simply ignores conflict checking by foreman regardless if its discovered or not.

#4 Updated by Lukas Zapletal about 4 years ago

Ohad, what is your conflicting record? Can you dump me data from Smart Proxy via the API and tell me, what parameters have you entered in the New Host form.

#5 Updated by Lukas Zapletal about 4 years ago

  • Subject changed from host conflict resolution does not work anymore to Orchestration fails with 409 when there is a MAC DHCP conflict

So I investigated this issue carefuly and it looks like after #8538 was merged, multiple leases are no longer possible. Proxy now loads and retains only the last lease, therefore we can put the MAC validation back. I am currently testing this if that's the case.

#6 Updated by Lukas Zapletal about 4 years ago

Confirmed, multiple leases are no longer a problem, we always return the last one.

[lzap@lzapx foreman]$ curl -sk http://localhost:8448/dhcp/192.168.122.0 | json_reformat
{
    "reservations": [
        {
            "hostname": "test01.local.lan",
            "ip": "192.168.122.14",
            "mac": "52:54:00:01:4a:01" 
        }
    ],
    "leases": [
        {
            "ip": "192.168.122.67",
            "mac": "52:54:00:13:05:13",
            "starts": "2016-02-18 09:04:28 UTC",
            "ends": "2016-02-20 17:16:17 UTC",
            "state": "active" 
        },
        {
            "ip": "192.168.122.68",
            "mac": "52:54:00:13:05:13",
            "starts": "2016-02-18 09:04:28 UTC",
            "ends": "2016-02-18 09:59:19 UTC",
            "state": "active" 
        }
    ]
}
[lzap@lzapx foreman]$ curl -sk http://localhost:8448/dhcp/192.168.122.0/52:54:00:13:05:13 | json_reformat
{
    "subnet": "192.168.122.0/255.255.255.0",
    "ip": "192.168.122.68",
    "mac": "52:54:00:13:05:13",
    "starts": "2016-02-18 09:04:36 UTC",
    "ends": "2016-02-18 09:59:19 UTC",
    "state": "active" 
}
[lzap@lzapx foreman]$ curl -sk http://localhost:8448/dhcp/192.168.122.0/unused_ip?mac=52:54:00:13:05:13 | json_reformat
{
    "ip": "192.168.122.68" 
}

#7 Updated by The Foreman Bot about 4 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to Lukas Zapletal
  • Pull request https://github.com/theforeman/foreman/pull/3206 added

#8 Updated by Lukas Zapletal almost 4 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#9 Updated by Dominic Cleal almost 4 years ago

  • Legacy Backlogs Release (now unused) set to 141

#10 Updated by Dominic Cleal almost 4 years ago

  • Related to Bug #12425: Fact import triggers ip conflicts checks, which drives cpu utilization to 100% on smart-proxy added

Also available in: Atom PDF