Bug #6689

"ERROR -- : Invalid MAC address:" using the "Build PXE Default" button

Added by Jorick Astrego over 6 years ago. Updated over 2 years ago.

Target version:
Bugzilla link:
Fixed in Releases:
Found in Releases:


I did a clean install with foreman 1.6 nightly today and when I use the "Build PXE Default" button, I get an error:

There was an error creating the PXE Default file: deploy01.netbulae.mgmt: ERF12-9243 [ProxyAPI::ProxyException]: Unable to create default TFTP boot menu ([RestClient::Forbidden]: 403 Forbidden) for proxy

In the proxy log, I see this:

E, [2014-07-18T15:43:58.654044 #20549] ERROR -- : Invalid MAC address:
xx.xx.xx.xx - - [18/Jul/2014 15:43:58] "POST /create_default HTTP/1.1" 403 21 0.0007

So now I can't edit/add the Provisioning Templates.

Related issues

Related to Smart Proxy - Feature #6341: Support 64-bit MAC addressesClosed2014-06-23

Associated revisions

Revision bdc3b51e (diff)
Added by Trey Dockendorf over 6 years ago

Fixes #6689 - Allow nil mac address for TFTP API calls that do not require a MAC


#1 Updated by Dominic Cleal over 6 years ago

#2 Updated by Dominic Cleal over 6 years ago

  • Project changed from Foreman to Smart Proxy
  • Category set to TFTP
  • Legacy Backlogs Release (now unused) set to 10

Looks like 1.5 allowed a blank MAC address via the API, while #6341 changed it so it didn't.

#3 Updated by Trey Dockendorf over 6 years ago

I see where #6341 went wrong. PR #189 has been uploaded to fix the regression.

#4 Updated by The Foreman Bot over 6 years ago

  • Status changed from New to Ready For Testing
  • Pull request added
  • Pull request deleted ()

#5 Updated by Trey Dockendorf over 6 years ago

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

#6 Updated by Dominic Cleal over 6 years ago

  • Assignee set to Trey Dockendorf
  • Target version set to 1.8.0

#7 Updated by ask stack almost 6 years ago

vmware ESXi-5.5U2


/usr/share/foreman-proxy/modules/tftp/tftp_api.rb line 13 is

log_halt 403, "Invalid MAC address: #{mac}"                  unless valid_mac?(mac) or mac.nil?

Foreman production.log
Processing by HostsController#create as /*
Parameters: {"utf8"=>"✓", "authenticity_token"=>"yMutR8HVMzHS9ceYfQidijzZnn+DfnSOuxC6dqNxPf4=", "host"=>{"name"=>"aa", "organization_id"=>"3", "location_id"=>"4", "hostgroup_id"=>"1", "compute_resource_id"=>"3", "compute_profile_id"=>"1", "environment_id"=>"1", "content_source_id"=>"1", "puppet_ca_proxy_id"=>"1", "puppet_proxy_id"=>"1", "puppetclass_ids"=>[""], "managed"=>"true", "progress_report_id"=>"[FILTERED]", "type"=>"Host::Managed", "compute_attributes"=>{"cpus"=>"1", "corespersocket"=>"1", "memory_mb"=>"768", "cluster"=>"", "path"=>"/ha-folder-root/ha-datacenter/vm", "guest_id"=>"rhel6_64Guest", "interfaces_attributes"=>{"new_interfaces"=>{"type"=>"VirtualE1000", "network"=>"HaNetwork-VM Network", "_delete"=>""}, "0"=>{"type"=>"VirtualVmxnet3", "network"=>"HaNetwork-VM Network 192", "_delete"=>""}}, "volumes_attributes"=>{"new_volumes"=>{"datastore"=>"datastore1", "name"=>"Hard disk", "size_gb"=>"10", "thin"=>"true", "_delete"=>""}, "0"=>{"datastore"=>"datastore1", "name"=>"Hard disk", "size_gb"=>"10", "thin"=>"true", "_delete"=>""}}, "scsi_controller_type"=>"VirtualLsiLogicController", "start"=>"1"}, "domain_id"=>"1", "realm_id"=>"", "mac"=>"", "subnet_id"=>"2", "ip"=>"", "interfaces_attributes"=>{"new_interfaces"=>{"_destroy"=>"false", "type"=>"Nic::Managed", "mac"=>"", "name"=>"", "domain_id"=>"", "ip"=>"", "provider"=>"IPMI"}}, "architecture_id"=>"1", "operatingsystem_id"=>"2", "provision_method"=>"build", "build"=>"1", "medium_id"=>"7", "ptable_id"=>"7", "disk"=>"", "root_pass"=>"[FILTERED]", "is_owned_by"=>"3-Users", "enabled"=>"1", "model_id"=>"", "comment"=>"", "overwrite"=>"false"}, "kt_environment_id"=>"", "capabilities"=>"build image", "provider"=>"Vmware"}
Adding Compute instance for
Successfully decrypted field for Foreman::Model::Vmware pt-gl-1
Successfully decrypted field for Foreman::Model::Vmware pt-gl-1
Removing Compute instance for
mac value is blank!
Rolling back due to a problem: [Query instance details for 4 failed [#<Host::Managed id: nil, name: "", ip: nil, last_compile: nil, last_freshcheck: nil, last_report: nil, updated_at: nil, source_file_id: nil, created_at: nil, mac: nil, root_pass: "$1$IFhILZvs$ve3ErLPyfTgrWYesk2Brn.", serial: nil, puppet_status: 0, domain_id: 1, architecture_id: 1, operatingsystem_id: 2, environment_id: 1, subnet_id: 2, ptable_id: 7, medium_id: 7, build: true, comment: "", disk: "", installed_at: nil, model_id: nil, hostgroup_id: 1, owner_id: 3, owner_type: "User", enabled: true, puppet_ca_proxy_id: 1, managed: true, use_image: nil, image_file: nil, uuid: "52fd8ce9-a8dd-130d-7d96-928da2fe8514", compute_resource_id: 3, puppet_proxy_id: 1, certname: nil, image_id: nil, organization_id: 3, location_id: 4, type: "Host::Managed", otp: nil, realm_id: nil, compute_profile_id: 1, provision_method: "build", content_source_id: 1>, :setComputeDetails]]
Removing Compute instance for
Failed to save: mac value is blank!
Rendered hosts/_progress.html.erb (0.4ms)
Rendered puppetclasses/_selectedClasses.html.erb (0.0ms)
Rendered puppetclasses/_classes_in_groups.html.erb (0.0ms)
Rendered puppetclasses/_classes.html.erb (0.9ms)
Rendered puppetclasses/_class_selection.html.erb (260.9ms)
Rendered hosts/_compute.html.erb (11.8ms)
Rendered common/_domain.html.erb (13.3ms)
Rendered hosts/_interfaces.html.erb (19.2ms)
Rendered common/os_selection/_architecture.html.erb (4.9ms)
Rendered common/os_selection/_operatingsystem.html.erb (25.4ms)
Rendered hosts/_operating_system.html.erb (204.6ms)
Rendered hosts/_unattended.html.erb (267.0ms)
Rendered puppetclasses/_class_parameters.html.erb (0.0ms)
Rendered puppetclasses/_classes_parameters.html.erb (11.5ms)
Rendered common_parameters/_inherited_parameters.html.erb (0.3ms)
Rendered common_parameters/_puppetclass_parameter.html.erb (2.5ms)
Rendered common_parameters/_puppetclasses_parameters.html.erb (4.2ms)
Rendered common_parameters/_parameter.html.erb (1.5ms)
Rendered common_parameters/_parameters.html.erb (3.5ms)
Rendered hosts/_form.html.erb (729.9ms)
Rendered hosts/new.html.erb within layouts/application (731.9ms)
Rendered home/_submenu.html.erb (3.9ms)
Rendered home/_user_dropdown.html.erb (1.5ms)
Read fragment views/tabs_and_title_records-3 (0.1ms)
Rendered home/_topbar.html.erb (6.8ms)
Rendered layouts/base.html.erb (8.2ms)
Completed 200 OK in 3085ms (Views: 718.3ms | ActiveRecord: 60.1ms)
Processing by TasksController#show as */

Parameters: {"id"=>"39dd7d17-162f-40d2-91e4-bc26049cdf9d"}
Rendered tasks/_list.html.erb (0.8ms)
Completed 200 OK in 11ms (Views: 3.8ms | ActiveRecord: 0.8ms)
Connecting to database specified by database.yml

#8 Updated by ask stack almost 6 years ago

Please ignore this bug report. After I created a datacenter and gave foreman the vcenter url, this problem went away.

Also available in: Atom PDF