We are having a hard time understanding the logic on the change.
If tunnel_authentication is not on the model and the tunnel_identify_file is present, we change the tunnel_identify_file in the model to null? Is this what you mean?
Yes, basically we make use of identity file only in case of tunnel authentication is enabled (true/false).
The earlier logic was written in such way that if tunnel authentication is set to disbaled/false then set the identity file filed value to empty string in the model, But as you can see that tunnel authentication is by default set to '0' in the model, so whenever user opens a edit/properties dialog the identitiy files sets to empty string even if ssh tunnel is disbaled. In my patch I choose to nullify the value instead of empty string so that it will be easy on python side condition checking :)
PFA minor patch to fix the issue when you change any field in server dialog 'tunnel_identity_file' model value get included unnecessarily in the update request.
eg: Change the server name and click on Save button, Check the request payload in network console.