Bug #16056
closedNon-english locale casuses "Vendor Class not found" errors when using windows dhcp provider
Description
Good morning,
iam Setting up a new Foreman/Puppet infrastructure for provisioning VM's on VMware.
For this i need a DHCP Foreman-Proxy. I set up a new Forman-Proxy with following Details:
- Windows Server 2012 R2
- Foreman-Proxy stable Version 1.11.4
- netsh commands available and the DHCP Administrator Account is running the Foreman-Proxy-Service
The Foreman-Proxy is communicating with a DHCP Server based in Windows Server 2008.
The smart-Proxy.log said:
D, [2016-08-11T09:07:03.973132 #2532] DEBUG -- : executing: c:\windows\system32\cmd.exe /c c:\Windows\System32\netsh.exe -c dhcp server x.x.x.x show scope I, [2016-08-11T09:07:06.379463 #2532] INFO -- : Vendor class not found E, [2016-08-11T09:07:06.379463 #2532] ERROR -- : Netsh failed: Der folgende Befehl wurde nicht gefunden: server x.x.x.x show scope. E, [2016-08-11T09:07:06.379463 #2532] ERROR -- : Unknown error while processing 'Failed to enumerate the scopes on x.x.x.x Vendor class not found' D, [2016-08-11T09:07:06.379463 #2532] DEBUG -- : Unknown error while processing 'Failed to enumerate the scopes on x.x.x.x Vendor class not found' (Proxy::DHCP::Error) C:/smart-proxy-1.11-stable/modules/dhcp_native_ms/dhcp_native_ms_main.rb:247:in `rescue in report' C:/smart-proxy-1.11-stable/modules/dhcp_native_ms/dhcp_native_ms_main.rb:224:in `report' C:/smart-proxy-1.11-stable/modules/dhcp_native_ms/dhcp_native_ms_main.rb:219:in `execute' C:/smart-proxy-1.11-stable/modules/dhcp_native_ms/dhcp_native_ms_main.rb:182:in `find_all_subnets' C:/smart-proxy-1.11-stable/modules/dhcp_native_ms/dhcp_native_ms_main.rb:195:in `load_subnets' C:/smart-proxy-1.11-stable/modules/dhcp/dhcp_api.rb:13:in `block in <class:DhcpApi>' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:in `block in compile!' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1015:in `block in process_route' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in `catch' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in `process_route' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:966:in `block in filter!' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:966:in `each' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:966:in `filter!' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1084:in `block in dispatch!' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `block in invoke' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `catch' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `invoke' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1082:in `dispatch!' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in `block in call!' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `block in invoke' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `catch' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `invoke' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in `call!' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:895:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/methodoverride.rb:21:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/commonlogger.rb:33:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:219:in `call' C:/smart-proxy-1.11-stable/lib/proxy/log.rb:60:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/nulllogger.rb:9:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/head.rb:11:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/show_exceptions.rb:25:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:182:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:2013:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:in `block in call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1787:in `synchronize' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/builder.rb:138:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/urlmap.rb:65:in `block in call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in `each' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/builder.rb:138:in `call' C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/rack-1.5.5/lib/rack/handler/webrick.rb:60:in `service' C:/Ruby23-x64/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service' C:/Ruby23-x64/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run' C:/Ruby23-x64/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'
It seems it is a known Bug Comes if the DHCP Server is based on Windows Server 2008. I read this here (last Entry):
http://projects.theforeman.org/projects/foreman/wiki/ERF12-6899
There is also a Workaround for this, but it seems its for an old Smart-Proxy Version (ok - the post is three years old :) ) ...
I dont have the file dhcp.rb in path lib/proxy/dhcp.rb. This file is in my /module/dhcp path and the file is empty (just first "require 'dhcp/dhcp_plugin".
Did anyone know a Workaround for Smart-Proxy Version 1.11.4 ? ( i have this bug in 11.13 also .. :) ) - seems always been there and not Version specific.
Thanks for your Support.
Best Regards