ginger
ginger copied to clipboard
Issue while updating MTU in network interface file.
After performing PUT with MTU as "" which returns 500, GET gives incorrect(null) MTU value which does not matched with ifcfg file info and performing PUT without MTU sets it to None.
Performed below steps to reproduce this:
-
curl -k -u username:password -H "Content-Type: application/json" -H "Accept: application/json" 'https://<IPaddress>:8001/plugins/ginger/network/cfginterfaces/enp0s3d' { "IPV4_INFO":{ "PEERROUTES":""yes"", "BOOTPROTO":""dhcp"", "DEFROUTE":""yes"", "PEERDNS":""yes"", "IPV4_FAILURE_FATAL":""no"" }, "BASIC_INFO":{ "UUID":""7241d3b4-2b15-49a8-994e-b788062a9b02"", "HWADDR":"08:00:27:65:33:7F", "DEVICE":"enp0s3de", "TYPE":"Ethernet", "ONBOOT":"yes", "NAME":"enp0s3d" }, "IPV6_INFO":{ "IPV6INIT":""yes"", "IPV6_PEERDNS":""yes"", "IPV6_DEFROUTE":""yes"", "IPV6_AUTOCONF":""yes"", "IPV6_FAILURE_FATAL":""no"", "IPV6_PEERROUTES":""yes"" } }
-
Update MTU curl -k -u username:password -H "Content-Type: application/json" -H "Accept: application/json" -X PUT -d '{"BASIC_INFO":{"DEVICE":"enp0s3de","MTU":"2"}}' 'https://<IPAddress>/plugins/ginger/network/cfginterfaces/enp0s3d' { "IPV4_INFO":{ "PEERROUTES":""yes"", "BOOTPROTO":""dhcp"", "DEFROUTE":""yes"", "PEERDNS":""yes"", "IPV4_FAILURE_FATAL":""no"" }, "BASIC_INFO":{ "UUID":""7241d3b4-2b15-49a8-994e-b788062a9b02"", "MTU":"2", "HWADDR":"08:00:27:65:33:7F", "DEVICE":"enp0s3de", "TYPE":"Ethernet", "ONBOOT":"yes", "NAME":"enp0s3d" }, "IPV6_INFO":{ "IPV6INIT":""yes"", "IPV6_PEERDNS":""yes"", "IPV6_DEFROUTE":""yes"", "IPV6_AUTOCONF":""yes"", "IPV6_FAILURE_FATAL":""no"", "IPV6_PEERROUTES":""yes"" } }
-
PUT operation with MTU "'. time curl -k -u username:password -H "Content-Type: application/json" -H "Accept: application/json" -X PUT -d '{"BASIC_INFO":{"DEVICE":"enp0s3de","MTU":""}}' 'https://127.0.0.1:8001/plugins/ginger/network/cfginterfaces/enp0s3d' { "reason":"The server encountered an unexpected condition which prevented it from fulfilling the request.", "code":"500 Internal Server Error" }
real 0m0.899s user 0m0.031s sys 0m0.081s 4a) PUT without MTU, result into None. time curl -k -u username:password -H "Content-Type: application/json" -H "Accept: application/json" -X PUT -d '{"BASIC_INFO":{"DEVICE":"enp0s3de"}}' 'https://127.0.0.1:8001/plugins/ginger/network/cfginterfaces/enp0s3d' { "IPV4_INFO":{ "PEERROUTES":""yes"", "BOOTPROTO":""dhcp"", "DEFROUTE":""yes"", "PEERDNS":""yes"", "IPV4_FAILURE_FATAL":""no"" }, "BASIC_INFO":{ "UUID":""7241d3b4-2b15-49a8-994e-b788062a9b02"", "MTU":"None", "HWADDR":"08:00:27:65:33:7F", "DEVICE":"enp0s3de", "TYPE":"Ethernet", "ONBOOT":"yes", "NAME":"enp0s3d" }, "IPV6_INFO":{ "IPV6INIT":""yes"", "IPV6_PEERDNS":""yes"", "IPV6_DEFROUTE":""yes"", "IPV6_AUTOCONF":""yes"", "IPV6_FAILURE_FATAL":""no"", "IPV6_PEERROUTES":""yes"" } }
4b) Even if instead of step 4a, perform this step after performing PUT(step 3) with blank MTU result into null MTU, however ifcfg-
This can be small enhacement from the backend and ui to not to write into ifcfg file in case value is default.
Is this bug still happening?