Bug 1332186

Summary: VM creation fails after IP conflict
Product: Red Hat Satellite Reporter: Tomas Strachota <tstrachota>
Component: HostsAssignee: Ivan Necas <inecas>
Status: CLOSED ERRATA QA Contact: Kedar Bidarkar <kbidarka>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.2.0CC: bbuckingham, bkearney, dmacpher, inecas, kbidarka, rplevka, sghai, tstrachota
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/5859
Whiteboard:
Fixed In Version: foreman-1.11.0.24-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-27 11:29:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tomas Strachota 2016-05-02 12:57:49 UTC
I recently upgraded to Foreman 1.5.0 and just discovered that I can't provision a new VM when the initial attempt results in any DNS issue.  I get a 500 response stating that the MAC address is invalid.

I get the following stack trace in the GUI:

Net::Validations::Error
Invalid MAC 
lib/net/validations.rb:19:in `validate_mac'
lib/net/dhcp/record.rb:7:in `initialize'
app/models/concerns/orchestration/dhcp.rb:16:in `new'
app/models/concerns/orchestration/dhcp.rb:16:in `dhcp_record'
app/models/concerns/orchestration/dhcp.rb:120:in `queue_remove_dhcp_conflicts'
app/models/concerns/orchestration/dhcp.rb:73:in `queue_dhcp'
app/models/concerns/orchestration.rb:47:in `valid?'
app/models/concerns/foreman/sti.rb:29:in `save_with_type'
app/controllers/hosts_controller.rb:94:in `create'
app/models/concerns/foreman/thread_session.rb:33:in `clear_thread'
lib/middleware/catch_json_parse_errors.rb:9:in `call'

From Foreman's production log:

Started POST "/hosts" for 10.103.100.234 at 2014-05-21 13:57:42 -0400
Processing by HostsController#create as */*
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"LFrxz49nB00DpkYELn2TOJiIv6Z9TSL8vye7YQXKrns=", "host"=>{"name"=>"rabbitmq-bulk-1", "hostgroup_id"=>"3", "compute_resource_id"=>"1", "compute_profile_id"=>"8", "environment_id"=>"6", "puppet_ca_proxy_id"=>"1", "puppet_proxy_id"=>"1", "puppetclass_ids"=>["", "29"], "managed"=>"true", "progress_report_id"=>"[FILTERED]", "type"=>"Host::Managed", "compute_attributes"=>{"cpus"=>"4", "corespersocket"=>"1", "memory_mb"=>"4096", "cluster"=>"Dell R620", "path"=>"/Datacenters/NJ3/vm", "guest_id"=>"centos64Guest", "interfaces_attributes"=>{"new_interfaces"=>{"type"=>"VirtualE1000", "network"=>"network-1024", "_delete"=>""}, "0"=>{"type"=>"VirtualE1000", "network"=>"network-1024", "_delete"=>""}}, "volumes_attributes"=>{"new_volumes"=>{"datastore"=>"depot03", "name"=>"Hard disk", "size_gb"=>"10", "thin"=>"true", "_delete"=>""}, "0"=>{"datastore"=>"depot03", "name"=>"Hard disk", "size_gb"=>"10", "thin"=>"true", "_delete"=>""}}, "scsi_controller_type"=>"VirtualLsiLogicController", "start"=>"1"}, "domain_id"=>"2", "realm_id"=>"", "mac"=>"", "subnet_id"=>"3", "ip"=>"192.168.0.75", "interfaces_attributes"=>{"new_interfaces"=>{"_destroy"=>"false", "type"=>"Nic::Managed", "mac"=>"", "name"=>"", "domain_id"=>"", "ip"=>"", "provider"=>"IPMI"}}, "architecture_id"=>"1", "operatingsystem_id"=>"4", "provision_method"=>"build", "build"=>"1", "medium_id"=>"1", "ptable_id"=>"18", "disk"=>"", "root_pass"=>"[FILTERED]", "is_owned_by"=>"2-Users", "enabled"=>"1", "comment"=>"", "overwrite"=>"true"}, "capabilities"=>"build image", "provider"=>"Vmware"}
Operation FAILED: Invalid MAC
  Rendered common/500.html.erb (4.6ms)
Completed 500 Internal Server Error in 233ms (Views: 6.9ms | ActiveRecord: 4.1ms)

There is absolutely nothing in the foreman proxy log.

To clarify, this occurs when attempting to provision a new machine on VMware.  The auto-suggested IP was previously in use, so a PTR record already exists. I ack the warning and click "Overwrite" and then get the 500 error.

Comment 1 Tomas Strachota 2016-05-02 12:57:50 UTC
Created from redmine issue http://projects.theforeman.org/issues/5859

Comment 2 Tomas Strachota 2016-05-02 12:57:54 UTC
Upstream bug assigned to inecas

Comment 3 Bryan Kearney 2016-05-02 14:17:25 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/5859 has been closed

Comment 5 Ivan Necas 2016-05-17 11:46:43 UTC
*** Bug 1335553 has been marked as a duplicate of this bug. ***

Comment 6 Kedar Bidarkar 2016-07-13 14:51:03 UTC
Any suggestions what exactly needs to be done so that we can verify this bug?

"I mean how to get, auto-suggested IP that was previously in use, so a PTR record already exists and then the warning to click 'Overwrite'."

I did few things like consume the IP pool with small subnet and other things but we constantly get "smart-proxy dns" issues or some other issues, when I submit the button.

Comment 9 Kedar Bidarkar 2016-07-22 16:07:50 UTC
I was able to provision a "New host" without any error of "Invalid MAC".

[sat6-machine ~]# hammer -u admin -p changeme host create --hostgroup-id 1 --partition-table-id 61 --medium-id 9 --overwrite true --root-password dog8code --name "kbidarkarhel72" --organization-id 1 --location-id 2 --compute-resource-id 4 
Host created


VERIFIED with sat62-snap19

Comment 10 Bryan Kearney 2016-07-27 11:29:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1501

Comment 11 Tomas Strachota 2016-09-01 11:19:11 UTC
*** Bug 1335013 has been marked as a duplicate of this bug. ***