Bug 1371837

Summary: It is better to allow saving edit page after the resource is edited in other tabs
Product: OpenShift Container Platform Reporter: Xingxing Xia <xxia>
Component: Management ConsoleAssignee: Jessica Forrester <jforrest>
Status: CLOSED WONTFIX QA Contact: Yadan Pei <yapei>
Severity: low Docs Contact:
Priority: medium    
Version: 3.3.0CC: aos-bugs, jokerman, mmccomas, spadgett
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-28 19:46:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Xingxing Xia 2016-08-31 08:44:43 UTC
Description of problem:
On web console, as a user, he/she may want to edit one resource and later recover to as it was before the edit.
Therefore, he/she may open the edit page in 2 tabs, edit in one tab (called A), click "Save", with the other tab (called B) unmodified. Then he/she does something else and comes back and it is straightforward for him/her to think that on tab B, clicking "Save" would recover the resource as it was before previous edit.
But, it will fail to "Save" on tab B and prompt:
An error occurred updating route frontend. Operation cannot be fulfilled on routes "frontend": the object has been modified; please apply your changes to the latest version and try again

However, if user opens the edit page again (called C), and modify tab C as same as tab B, he/she can recover the config now.

Tried edit page of other resources, such as bc, same issue.
This is inconvenient if user does much modification when editing in tab A, then he/she has to do much manual modification from tab B to tab C. After all, tab B and tab C are same.

**** Compared with CLI: oc edit resource in 2 terminals, in terminal A edit and save, then in terminal B edit and save, terminal B can save without error prompt. ****

Version-Release number of selected component (if applicable):
openshift v3.3.0.27

How reproducible:
Always

Steps to Reproduce:
1. Take edit route as example.
$ oc new-app -f https://raw.githubusercontent.com/openshift/origin/master/examples/sample-app/application-template-stibuild.json # Will create route frontend
2. On web console, open edit page for route/frontend in 2 tabs (called tab A and B) by:
Click Applications-->Routes-->frontend-->Actions-->Edit (not Edit YAML)

3. In tab A, change TLS termination to None, click "Save"

4. Recover TLS termination back to Edge by below methods:
1> By clicking "Save" on tab B, 
2> Have to open edit page (called tab C), modify tab C as same as tab B: change TLS termination to Edge, copy the many certs/keys to local files, upload and click "Save"

Actual results:
4.
1> It will fail and prompt like above stated.
2> It will succeed. But this is inconvenient.

Expected results:
4.
1> It is better to allow saving edit page in tab B after the resource is edited in tab A to avoid the inconvenience of opening new tab C and making C as same as B

Additional info:

Comment 2 Samuel Padgett 2019-10-28 19:46:16 UTC
The form editors in the 4.x console use patch to update resources, which avoids this problem. Background changes to the resource won't block you from saving your changes.

We don't plan to backport this change to 3.x.