After provisioning a server and no delivery service are assigned, ORT would fail without much details except some 500 errors. Looking at the UI for Config File, everything looked good without any errors and there is even an entry in parent.config (the default one).
Looks like the new API::Configs::ApacheTrafficServer is failing when there is no delivery service installed. This is really confusing and hard to know what's going on. Proper behavior would be to not fail and write down the possibly empty parent.config.
This was experienced in Traffic Ops 2.1.
Example of error :
[2017-12-07 14:30:40,910] [DEBUG] GET "/api/1.2/servers/psp6cdedge03/configfiles/ats/parent.config".
[2017-12-07 14:30:40,919] [DEBUG] Routing to controller "API::Configs::ApacheTrafficServer" and action "get_server_config".
[2017-12-07 14:30:41,016] [ERROR] Can't use an undefined value as an ARRAY reference at /opt/traffic_ops/app/lib/API/Configs/ApacheTrafficServer.pm line 2339.
[2017-12-07 14:30:41,017] [DEBUG] Template "exception.production.html.ep" not found.
[2017-12-07 14:30:41,018] [ERROR]
[2017-12-07 14:30:41,019] [DEBUG] Rendering template "exception.html.ep".
[2017-12-07 14:30:41,022] [DEBUG] Rendering template "layouts/jquery.html.ep".
[2017-12-07 14:30:41,028] [DEBUG] 500 Internal Server Error (0.117277s, 8.527/s).
After provisioning a server and no delivery service are assigned, ORT would fail without much details except some 500 errors. Looking at the UI for Config File, everything looked good without any errors and there is even an entry in parent.config (the default one).
Looks like the new
API::Configs::ApacheTrafficServer
is failing when there is no delivery service installed. This is really confusing and hard to know what's going on. Proper behavior would be to not fail and write down the possibly empty parent.config.This was experienced in Traffic Ops 2.1.
Example of error :