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 #44621 (Pending Backport): mgr/dashboard: Automatic preselection of failure d...https://tracker.ceph.com/issues/446212020-03-16T12:12:19ZStephan Müller
<p>Use the automatic preselection of the crush rule creation form inside the erasure code profile form to prevent wrong configured ec profiles which can't be used in the end.</p> Dashboard - Bug #44620 (Resolved): mgr/dashboard: Pool form max sizehttps://tracker.ceph.com/issues/446202020-03-16T12:07:27ZStephan Müller
<p>Currently the pool form max size is determined by "max_size" of the selected rule or the maximum amount of available OSDs. The amount can be wrong if the failure domain of the rule is not OSD.</p>
<p>I'm also currently not sure if "max_size" and "min_size" are useful values to show, at least pools created on a vstart cluster always show the same min and max size values. Please make that sure that those values can still be used safely.</p> Dashboard - Backport #40982 (Resolved): nautilus: mgr/dashboard: Fix the table mouseenter event h...https://tracker.ceph.com/issues/409822019-07-26T13:04:35ZStephan Müller
<p><a class="external" href="https://github.com/ceph/ceph/pull/29354">https://github.com/ceph/ceph/pull/29354</a></p> Dashboard - Backport #40699 (Resolved): nautilus: mgr/dashboard: Silence Alertmanager alertshttps://tracker.ceph.com/issues/406992019-07-09T10:57:04ZStephan Müller
<p><a class="external" href="https://github.com/ceph/ceph/pull/28968">https://github.com/ceph/ceph/pull/28968</a></p> Dashboard - Bug #40330 (Resolved): mgr/dashboard: Warning about stale data makes it hard to click...https://tracker.ceph.com/issues/403302019-06-13T12:29:53ZStephan Müller
<p>Warning about Stale data in the datatable makes the content move up and down, making it hard to hit a certain row</p> Dashboard - Feature #40296 (In Progress): mgr/dashboard: Maintain and improve code coverage on da...https://tracker.ceph.com/issues/402962019-06-12T12:46:28ZStephan Müller
<p>Find <a href="https://github.com/marketplace?utf8=%E2%9C%93&query=coverage" class="external">github plugins</a> or extend Jenkins to enforce a test coverage that cannot decrease.</p>
<p>Best would be on a per file basis for unit tests.</p>
<p>Currently no idea how to measure E2E and API tests, may be there is a way.</p> Dashboard - Backport #39534 (Resolved): nautilus: mgr/dashboard: New RBD snapshot names should be...https://tracker.ceph.com/issues/395342019-04-30T10:38:01ZStephan Müller
<p><a class="external" href="https://github.com/ceph/ceph/pull/27890">https://github.com/ceph/ceph/pull/27890</a></p> Dashboard - Backport #39371 (Resolved): nautilus: mgr/dashboard: Localization for date picker modulehttps://tracker.ceph.com/issues/393712019-04-18T09:17:43ZStephan Müller
<p><a class="external" href="https://github.com/ceph/ceph/pull/27673">https://github.com/ceph/ceph/pull/27673</a></p> Dashboard - Backport #39370 (Resolved): nautilus: mgr/dashboard: Buggy data table search fieldhttps://tracker.ceph.com/issues/393702019-04-18T09:01:40ZStephan Müller
<p><a class="external" href="https://github.com/ceph/ceph/pull/27672">https://github.com/ceph/ceph/pull/27672</a></p> Dashboard - Backport #39058 (Resolved): nautilus: mgr/dashboard: Back button componenthttps://tracker.ceph.com/issues/390582019-04-01T10:42:53ZStephan Müller
<p><a class="external" href="https://github.com/ceph/ceph/pull/27405">https://github.com/ceph/ceph/pull/27405</a></p> Dashboard - Bug #39034 (Resolved): mgr/dashboard: Queue notifications as defaulthttps://tracker.ceph.com/issues/390342019-03-29T14:34:58ZStephan Müller
<p>All notifications should be queued for a short amount of time, like the current notifications from Prometheus.</p>
<p>This will allow notifications with the same header to be combined and it can filter out duplicated notifications.</p> Dashboard - Bug #38932 (Resolved): mgr/dashboard: Fix tooltip behavior in RGW user formhttps://tracker.ceph.com/issues/389322019-03-25T11:28:30ZStephan Müller
<p>The problem is that if you hover a sub user and get to a button with a tooltip the rounded corner will disappear and replace with a straight line.</p> Dashboard - Bug #37841 (Resolved): mgr/dashboard: RbdMirroringService test suite fails in dev modehttps://tracker.ceph.com/issues/378412019-01-09T12:47:32ZStephan Müller
<p>If you have set <strong><em>DEV</em></strong> in <strong>unit-test-configuration.ts</strong> to <strong>true</strong>, in order to run all unit tests much faster, the unit test suite of rbd mirroring service fails.</p>
<p>The reason is, that it's expecting a call, that is triggered inside the constructor, which is only done once in for the copy used in the fast testing mode (if it would be done on within <strong>ngOnInit</strong> this wouldn't be a problem).</p> Dashboard - Cleanup #25161 (Resolved): Every keystroke for the username in the RGW user form trig...https://tracker.ceph.com/issues/251612018-07-30T14:23:26ZStephan Müller
<p>Every keystroke for the username in the RGW user form triggers an API call, this should be minimized to at max 2 requests.</p>