Description of problem
State of "View and Accept Hosts" page (which is part of "Create Cluster"
workflow) is lost on page reload. This also means that one can't get back
to this page later (no matter if there is a link to it or not).
Related packages on RHSC 2.0 server machine:
Related packages on RHSC 2.0 Ceph server machines:
Steps to Reproduce
1. Install RHSC 2.0 following the documentation, make sure you have few nodes
ready to be accepted later.
2. Go to Clusters page and click on "Create Cluster" to start the wizard.
3. Modal window with warning stating "Unaccepted Hosts Detected" should be
shown. Click on "View and Accept" button to go to "View and Accept Hosts"
page, where you click on "Accept All" button and *stay on this page*.
4. Force a reload of the page (in Firefox via control-F5) while the accept
process is still running.
The state of the page is cleared on reload and the content is lost.
The state is preserved (in the same was as it's done for *Tasks* page for
example) and it's possible to revisit this page later.
Created attachment 1162514 [details]
screenshot of "View and Accept Hosts" page
Attaching screenshot of "View and Accept Hosts" page after the reload while the
accept tasks are still running.
TL;DR: Most likely, not a UI bug
Summarized explanation: As long as backend doesn't consider "In progress of being accepted" as "unmanaged", this will be auto fixed in the frontend. Don't change "unmanaged" flag (in backend) while accepting host is initiated, but while it's finished (success or failure).
So I went through the code & apparently the moment accepting host is triggered, I think, backend removes their "discovered hosts" flag & also they don't have "accepted host" flag yet - so they're in a limbo. Hence, API doesn't return those hosts for the unmanaged_hosts list (or provide any alternative API call).
As they're not returned in the unmanaged_hosts call, frontend doens't see those hosts in consecutive API calls, and can't list them.
Frontend code (seems good): kitoon/app/components/rest/server.ts:155-163
Backend code that probably needs update: skyring/apps/skyring/nodes.go:313..
If you think it still should be fixed in the frontend, feel free to correct me and give directions.
Found the actual bug which causes this.