ginger icon indicating copy to clipboard operation
ginger copied to clipboard

Issue while updating MTU in network interface file.

Open archu-s opened this issue 9 years ago • 2 comments

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:

  1. 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"" } }

  2. 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"" } }

  3. 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- file shows correct MTU value. curl -k -u username:password -H "Content-Type: application/json" -H "Accept: application/json" '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":null, "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"" } }

archu-s avatar Dec 14 '15 16:12 archu-s

This can be small enhacement from the backend and ui to not to write into ifcfg file in case value is default.

potula-chandra avatar Jan 21 '16 10:01 potula-chandra

Is this bug still happening?

danielhb avatar Jul 07 '16 14:07 danielhb