Bug #27557
closedRebuilding hosts with 64-bit MACs fails because DHCP entries are not deleted
Description
Description:
When attempting to re-build a host with a managed primary interface with a 64-bit MAC (e.g. an InfiniBand NIC configured for IPoIB), the rebuild fails, complaining that the DHCP entry already exists. It appears that the original DHCP entry is not found and thus not deleted. I don't really know ruby or the codebase, but I think the proxy may be failing to parse these entries out of the leases file.
Version-Release number of selected component (if applicable):
Foreman server:
CentOS Linux release 7.6.1810
foreman-1.21.3-1
Foreman proxy server:
CentOS Linux release 7.6.1810
foreman-proxy-1.21.3-1
dhcp-4.2.5-68
How reproducible:
Always
Steps to Reproduce:
1.) Create a host with a 64-bit MAC (e.g. 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff) on the primary interface.
2.) Cancel the initial build
3.) Hit build again
Actual results:
Build fails with complaint:
Failed to enable cameron-test-64bitmac.rcc.fsu.edu for installation: ["Create DHCP Settings for cameron-test-64bitmac.rcc.fsu.edu task failed with the following error: ERF12-6899 [ProxyAPI::ProxyException]: Unable to set DHCP entry ([RestClient::BadRequest]: 400 Bad Request) for proxy https://h22-dns1-36.rcc.fsu.edu:9090/dhcp", "Failed to perform rollback on Remove DHCP Settings for cameron-test-64bitmac.rcc.fsu.edu - ERF12-6899 [ProxyAPI::ProxyException]: Unable to set DHCP entry ([RestClient::BadRequest]: 400 Bad Request) for proxy https://h22-dns1-36.rcc.fsu.edu:9090/dhcp"]
Expected results:
Build continues without error
Additional info:
Logs from the foreman-proxy:
Note in particular where the DHCP record cannot be found.
2019-08-08T11:03:23 [D] accept: ::ffff:144.174.87.2:54546 2019-08-08T11:03:23 [D] Rack::Handler::WEBrick is invoked. 2019-08-08T11:03:23 3db4fc39 [I] Started GET /features 2019-08-08T11:03:23 3db4fc39 [I] Finished GET /features with 200 (0.58 ms) 2019-08-08T11:03:23 [D] close: ::ffff:144.174.87.2:54546 2019-08-08T11:03:25 [D] accept: ::ffff:144.174.87.2:54566 2019-08-08T11:03:25 [D] Rack::Handler::WEBrick is invoked. 2019-08-08T11:03:25 3db4fc39 [I] Started GET /144.174.40.0/mac/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff 2019-08-08T11:03:25 3db4fc39 [D] verifying remote client ::ffff:144.174.87.2 against trusted_hosts ["katello.rcc.fsu.edu", "h22-dns1-36.rcc.fsu.edu"] 2019-08-08T11:03:25 3db4fc39 [E] No DHCP record for MAC 144.174.40.0/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff found 2019-08-08T11:03:25 3db4fc39 [D] No DHCP record for MAC 144.174.40.0/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff found 2019-08-08T11:03:25 3db4fc39 [I] Finished GET /144.174.40.0/mac/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff with 404 (3.75 ms) 2019-08-08T11:03:25 [D] close: ::ffff:144.174.87.2:54566 2019-08-08T11:03:25 [D] accept: ::ffff:144.174.87.2:54568 2019-08-08T11:03:25 [D] Rack::Handler::WEBrick is invoked. 2019-08-08T11:03:25 3db4fc39 [I] Started GET /144.174.40.0/ip/144.174.40.225 2019-08-08T11:03:25 3db4fc39 [D] verifying remote client ::ffff:144.174.87.2 against trusted_hosts ["katello.rcc.fsu.edu", "h22-dns1-36.rcc.fsu.edu"] 2019-08-08T11:03:25 3db4fc39 [E] No DHCP records for IP 144.174.40.0/144.174.40.225 found 2019-08-08T11:03:25 3db4fc39 [D] No DHCP records for IP 144.174.40.0/144.174.40.225 found 2019-08-08T11:03:25 3db4fc39 [I] Finished GET /144.174.40.0/ip/144.174.40.225 with 404 (3.47 ms) 2019-08-08T11:03:25 [D] close: ::ffff:144.174.87.2:54568 2019-08-08T11:03:25 [D] accept: ::ffff:144.174.87.2:54570 2019-08-08T11:03:25 [D] Rack::Handler::WEBrick is invoked. 2019-08-08T11:03:25 3db4fc39 [I] Started GET /144.174.40.0/mac/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff 2019-08-08T11:03:25 3db4fc39 [D] verifying remote client ::ffff:144.174.87.2 against trusted_hosts ["katello.rcc.fsu.edu", "h22-dns1-36.rcc.fsu.edu"] 2019-08-08T11:03:25 3db4fc39 [E] No DHCP record for MAC 144.174.40.0/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff found 2019-08-08T11:03:25 3db4fc39 [D] No DHCP record for MAC 144.174.40.0/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff found 2019-08-08T11:03:25 3db4fc39 [I] Finished GET /144.174.40.0/mac/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff with 404 (3.04 ms) 2019-08-08T11:03:25 [D] close: ::ffff:144.174.87.2:54570 2019-08-08T11:03:25 [D] accept: ::ffff:144.174.87.2:54574 2019-08-08T11:03:25 [D] Rack::Handler::WEBrick is invoked. 2019-08-08T11:03:25 3db4fc39 [I] Started DELETE /144.174.40.0/mac/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff 2019-08-08T11:03:25 3db4fc39 [D] verifying remote client ::ffff:144.174.87.2 against trusted_hosts ["katello.rcc.fsu.edu", "h22-dns1-36.rcc.fsu.edu"] 2019-08-08T11:03:25 3db4fc39 [I] Finished DELETE /144.174.40.0/mac/80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff with 200 (1.63 ms) 2019-08-08T11:03:25 [D] close: ::ffff:144.174.87.2:54574 2019-08-08T11:03:25 [D] accept: ::ffff:144.174.87.2:54576 2019-08-08T11:03:25 [D] Rack::Handler::WEBrick is invoked. 2019-08-08T11:03:25 3db4fc39 [I] Started POST /144.174.40.0 2019-08-08T11:03:25 3db4fc39 [D] verifying remote client ::ffff:144.174.87.2 against trusted_hosts ["katello.rcc.fsu.edu", "h22-dns1-36.rcc.fsu.edu"] 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set name = "cameron-test-64bitmac.rcc.fsu.edu" 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set ip-address = 144.174.40.225 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set hardware-type = 1 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set statements = "filename = \"pxelinux.0\"; next-server = 90:ae:57:02; option host-name = \"cameron-test-64bitmac.rcc.fsu.edu\";" 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - create 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [E] Omshell failed: > > > obj: <null> , > obj: host , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , hardware-type = 1 , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , hardware-type = 1 , statements = "filename = "pxelinux.0"; next-server = 90:ae:57:02; option host-name = "cameron-test-64bitmac.rcc.fsu.edu";" , > can't open object: already exists , obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , hardware-type = 1 , statements = "filename = "pxelinux.0"; next-server = 90:ae:57:02; option host-name = "cameron-test-64bitmac.rcc.fsu.edu";" , > 2019-08-08T11:03:25 3db4fc39 [E] Failed to add DHCP reservation for cameron-test-64bitmac.rcc.fsu.edu (144.174.40.225 / 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff): Entry already exists 2019-08-08T11:03:25 3db4fc39 [D] <Proxy::DHCP::Error> Failed to add DHCP reservation for cameron-test-64bitmac.rcc.fsu.edu (144.174.40.225 / 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff): Entry already exists /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:97:in `report' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:80:in `om_disconnect' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:54:in `om_add_record' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:30:in `add_record' /usr/share/foreman-proxy/modules/dhcp/dhcp_api.rb:98:in `block in <class:DhcpApi>' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in `block in compile!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `[]' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (3 levels) in route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:994:in `route_eval' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (2 levels) in route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1015:in `block in process_route' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `catch' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `process_route' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:973:in `block in route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `each' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1085:in `block in dispatch!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block in invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1082:in `dispatch!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `block in call!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block in invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `call!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:895:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/methodoverride.rb:22:in `call' /usr/share/foreman-proxy/lib/proxy/log.rb:86:in `call' /usr/share/foreman-proxy/lib/proxy/request_id_middleware.rb:14:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/nulllogger.rb:9:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/head.rb:13:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/show_exceptions.rb:25:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:182:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:2013:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in `block in call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1787:in `synchronize' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb:66:in `block in call' /usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb:50:in `each' /usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb:50:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/builder.rb:153:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/handler/webrick.rb:88:in `service' /usr/share/ruby/webrick/httpserver.rb:138:in `service' /usr/share/ruby/webrick/httpserver.rb:94:in `run' /usr/share/ruby/webrick/server.rb:295:in `block in start_thread' /usr/share/gems/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `call' /usr/share/gems/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context' 2019-08-08T11:03:25 3db4fc39 [I] Finished POST /144.174.40.0 with 400 (26.67 ms) 2019-08-08T11:03:25 [D] close: ::ffff:144.174.87.2:54576 2019-08-08T11:03:25 [D] accept: ::ffff:144.174.87.2:54578 2019-08-08T11:03:25 [D] Rack::Handler::WEBrick is invoked. 2019-08-08T11:03:25 3db4fc39 [I] Started POST /144.174.40.0 2019-08-08T11:03:25 3db4fc39 [D] verifying remote client ::ffff:144.174.87.2 against trusted_hosts ["katello.rcc.fsu.edu", "h22-dns1-36.rcc.fsu.edu"] 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set name = "cameron-test-64bitmac.rcc.fsu.edu" 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set ip-address = 144.174.40.225 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set hardware-type = 1 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - set statements = "filename = \"pxelinux.0\"; next-server = 90:ae:57:02; option host-name = \"cameron-test-64bitmac.rcc.fsu.edu\";" 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [D] omshell: executed - create 2019-08-08T11:03:25 3db4fc39 [D] <NilClass> nil 2019-08-08T11:03:25 3db4fc39 [E] Omshell failed: > > > obj: <null> , > obj: host , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , hardware-type = 1 , > obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , hardware-type = 1 , statements = "filename = "pxelinux.0"; next-server = 90:ae:57:02; option host-name = "cameron-test-64bitmac.rcc.fsu.edu";" , > can't open object: already exists , obj: host , name = "cameron-test-64bitmac.rcc.fsu.edu" , ip-address = 90:ae:28:e1 , hardware-address = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff , hardware-type = 1 , statements = "filename = "pxelinux.0"; next-server = 90:ae:57:02; option host-name = "cameron-test-64bitmac.rcc.fsu.edu";" , > 2019-08-08T11:03:25 3db4fc39 [E] Failed to add DHCP reservation for cameron-test-64bitmac.rcc.fsu.edu (144.174.40.225 / 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff): Entry already exists 2019-08-08T11:03:25 3db4fc39 [D] <Proxy::DHCP::Error> Failed to add DHCP reservation for cameron-test-64bitmac.rcc.fsu.edu (144.174.40.225 / 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:aa:bb:cc:dd:ee:ff): Entry already exists /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:97:in `report' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:80:in `om_disconnect' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:54:in `om_add_record' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:30:in `add_record' /usr/share/foreman-proxy/modules/dhcp/dhcp_api.rb:98:in `block in <class:DhcpApi>' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in `block in compile!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `[]' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (3 levels) in route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:994:in `route_eval' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (2 levels) in route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1015:in `block in process_route' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `catch' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `process_route' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:973:in `block in route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `each' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `route!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1085:in `block in dispatch!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block in invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1082:in `dispatch!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `block in call!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block in invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `call!' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:895:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/methodoverride.rb:22:in `call' /usr/share/foreman-proxy/lib/proxy/log.rb:86:in `call' /usr/share/foreman-proxy/lib/proxy/request_id_middleware.rb:14:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' /usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/nulllogger.rb:9:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/head.rb:13:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/show_exceptions.rb:25:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:182:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:2013:in `call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in `block in call' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1787:in `synchronize' /usr/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb:66:in `block in call' /usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb:50:in `each' /usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb:50:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/builder.rb:153:in `call' /usr/share/gems/gems/rack-1.6.4/lib/rack/handler/webrick.rb:88:in `service' /usr/share/ruby/webrick/httpserver.rb:138:in `service' /usr/share/ruby/webrick/httpserver.rb:94:in `run' /usr/share/ruby/webrick/server.rb:295:in `block in start_thread' /usr/share/gems/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `call' /usr/share/gems/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context' 2019-08-08T11:03:25 3db4fc39 [I] Finished POST /144.174.40.0 with 400 (25.42 ms) 2019-08-08T11:03:25 [D] close: ::ffff:144.174.87.2:54578