Ceph : Issueshttps://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2020-04-28T13:11:52ZCeph
Redmine Dashboard - Feature #45306 (New): mgr/dashboard: asynchronous back-end: Use HTTP2 or websocketshttps://tracker.ceph.com/issues/453062020-04-28T13:11:52ZStephan Müller
<p>In order to determine what we want to use in future. I will compare both HTTP2 and websockets.</p>
<p>First a bunch of information.</p>
<p>Currently we use the protocol HTTP1.1, which only allows one request per connection.</p>
<p>With HTTP2 and websockets it is possible to allow an unlimited amount of request per connection.</p>
<p>What does one request per connection mean? For example a client asks the server for a file, this will open a connection telling the server GET me something, the server will respond and close the connection. As our dashboard does not only consist of one file, a lot of connections are made. To meet the demand of any modern site of so many connections all modern browsers will do 8 connections simultaneously. On every connection also the same header is send.</p>
<p>What does unlimited amount of requests per connection mean? For example a client asks for a (whole) website. The client sends the first request like in HTTP1.1, the server responds with an HTTP1.1 Upgrade header, client and server negotiate which protocol to use (handshake). A connection is established and left open for requests. The client sends requests for multiple files while the server already responds with the files. This maxes out the established connection, as both participants can send at the same time (for example a video chat). As the connection is left open the server can PUSH data to the client even if he had not explicitly asked for (removes polling). To save data, only the headers during the handshake are send, they will not be send multiple times.</p>
<p>Whats the difference between HTTP2 (released as standard 2015) and websockets (released as standard 2011)?<br />Both only need one connection. Websockets can run insecure using port 80 and both can run secure using port 443. Websockets use a different URL prefix <strong>ws://</strong> for insecure connections or <strong>wss://</strong> for secure ones, HTTP2 uses only <strong>https://</strong> as prefix. If HTTP2 is used data will automatically be compressed and the handshake is easier to implement than with websockets.</p>
<p>Sure HTTP2 is the better one as the protocol is much newer, but can we use it with cherrypy?<br />Currently I only found a <a href="https://docs.cherrypy.org/en/latest/advanced.html#websocket-support" class="external">plugin</a> for cherrypy to allow websockets.<br />I've not found one for HTTP2 yet but I'm still collecting information.</p> Dashboard - Feature #43930 (New): mgr/dashboard: Make user creation with password change on logon...https://tracker.ceph.com/issues/439302020-01-31T11:37:12ZStephan Müller
<p>After <a class="issue tracker-2 status-5 priority-6 priority-high2 closed child" title="Feature: mgr/dashboard: Enforce password change upon first login (Closed)" href="https://tracker.ceph.com/issues/24655">#24655</a> has been resolved, I can create a new user without a password an check "User must change password at next logon".</p>
<p>But I can't click the logon button without typing a password, but the user has no password as it should be set on next logon.</p>
<p>There are 3 ways to solve this:<br />1. Enable logon without a password<br />2. Enable passwords without password rule if the user has to change his PW anyway on his first logon according to the rules.<br />3. Button to automatically generate a password that complies with the rules and copy into to the clipboard.</p> Dashboard - Feature #43351 (New): mgr/dashboard: [RFC] Actions assistanthttps://tracker.ceph.com/issues/433512019-12-17T10:34:10ZStephan Müller
<p>Not sure if this is needed for all pages but it could help users.</p>
<p>I just looked at the OSD page which is crowed by actions.</p>
<p>There are two ways to implement it,<br />as an modal that triggers the action modal,<br />or as an modal that describes what to do in order to trigger the action.</p>
<p>The second approach could be implemented globally and not only for a specific page as it could search through every page actions that are available.</p>
<p>How the modal should look like?<br />It should be pretty straight forward like an FAQ search.<br />If you open it you will see a big input field to type in words that describe what you want to do.</p>
<p>The string will be used to calculate a score for each available description. Than the highest ranked actions (3, 5 or 10?) will be shown, sorted by rank.</p>
<p>The action will shown as accordion showing the description of it if expanded and the button to take the action or the help text to get to the page and action.</p>
<p>As said in the beginning, I'm not sure if we need this.</p> Dashboard - Documentation #42350 (New): mgr/dashboard: The reason to testhttps://tracker.ceph.com/issues/423502019-10-17T12:33:33ZStephan Müller
<p>Give an interesting introduction into our tests.</p>
<p>This task should be split in the following subtasks</p>
<p>1. Describe the benefits of the different tests.</p>
<p>2. Describe consideration that are to be made to decide where I use the one or the other.</p>
<p>3. Show the benefits of different testing strategies (Test first / TDD)</p>
<p>4. Add some best practice links and showcase good tests in our code base.</p>
<p>The benefit of this should be that everybody should be capable of writing tests with the different test scopes in mind.</p> Dashboard - Feature #42232 (New): mgr/dashboard: CephFs directory size calculationhttps://tracker.ceph.com/issues/422322019-10-08T15:02:25ZStephan Müller
<p>Add a button to calculate the size of the current selected directory</p> Dashboard - Cleanup #41397 (New): mgr/dashboard: Convert dashboard specific endpoints into UiApiC...https://tracker.ceph.com/issues/413972019-08-22T15:28:05ZStephan Müller
<p>Currently I only know of the pools _info endpoint.</p> Dashboard - Feature #40310 (New): mgr/dashboard: Create a landing page (aggregated overview) pagehttps://tracker.ceph.com/issues/403102019-06-13T09:08:43ZStephan Müller
<p>Create a landing page (aggregated overview) page, the third step to take for multi cluster management.</p> Dashboard - Feature #40309 (New): mgr/dashboard: Implement the authentication configuration with ...https://tracker.ceph.com/issues/403092019-06-13T09:06:42ZStephan Müller
<p>Pairing of different cluster dashboards from web-ui, the second step to take for multi cluster management.</p> Dashboard - Feature #40308 (New): mgr/dashboard: Implement authentication with multiple Clusters ...https://tracker.ceph.com/issues/403082019-06-13T09:05:27ZStephan Müller
<p>Pairing of different cluster dashboards from commandline, the first step to take for multi cluster management.</p> Dashboard - Cleanup #38936 (New): mgr/dashboard: Unify polling behaviorhttps://tracker.ceph.com/issues/389362019-03-25T13:41:58ZStephan Müller
<p>Unify the polling behavior means that all API calls should be handled similar on failure.</p>
<p>The idea is that the dashboard can recover from connection issues automatically, but it should not send out notification on every failure after the initial or it should raise the polling time on each failure.</p>
<p>INHO muting notifications that would be triggered after the initial failure sounds like the best idea.</p> Dashboard - Tasks #38072 (New): mgr/dashboard: Reflect RBD QoS setting values in formshttps://tracker.ceph.com/issues/380722019-01-29T10:58:04ZStephan Müller
<p>It would be great to see the global or pool values reflected as default parameters in the forms, you could use a toggle icon to show the default and the user specific value. IMHO a `link` and `unlink` icon would suite it best.</p>
<p>As discussed in <a class="external" href="https://github.com/ceph/ceph/pull/25233/">https://github.com/ceph/ceph/pull/25233/</a></p> Dashboard - Tasks #25167 (New): mgr/dashboard: Display useful popovers in formshttps://tracker.ceph.com/issues/251672018-07-30T14:49:33ZStephan Müller
<p>Add useful popovers to each form attribute, for inexperienced users.</p> Dashboard - Tasks #25163 (New): mgr/dashboard: Extend the Ceph pool by configurationshttps://tracker.ceph.com/issues/251632018-07-30T14:26:53ZStephan Müller
<p>The ceph pool details found on /api/pools aren't complete yet and shall be extended by the missing configurations listed in <a class="external" href="http://docs.ceph.com/docs/master/rados/operations/pools/#get-pool-values">http://docs.ceph.com/docs/master/rados/operations/pools/#get-pool-values</a>.</p> Dashboard - Tasks #25162 (New): API interceptor should handle client and server side offline statushttps://tracker.ceph.com/issues/251622018-07-30T14:25:02ZStephan Müller
<p>API interceptor should handle client and server side offline status</p> mgr - Tasks #25157 (New): Refine the details of the Ceph pools opticallyhttps://tracker.ceph.com/issues/251572018-07-30T14:04:23ZStephan Müller
<p>The details of the Ceph pools in the listing are relatively raw displayed. This should be enhanced and the details should be refined optically.</p>
<a name="Data-Table"></a>
<h2 >Data Table<a href="#Data-Table" class="wiki-anchor">¶</a></h2>
<ul>
<li>Replica size is only valid for replicated pools.</li>
<li>The "type" defines, which column is valid.</li>
<li>The minimum number of replicas is missing. Maybe even as an optional column.</li>
<li>Show the pool quota.</li>
</ul>
<a name="Details"></a>
<h2 >Details<a href="#Details" class="wiki-anchor">¶</a></h2>
<ul>
<li>Show Replica size only for replicated pools.</li>
<li>Only show erasure code profile on erasure coded pools.</li>
<li>Add a mouse over or hyper link for the properties.</li>
</ul>