Ceph : Issueshttps://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2020-07-06T15:28:51ZCeph
Redmine Orchestrator - Tasks #46376 (Resolved): cephadm: Make vagrant usage more comfortablehttps://tracker.ceph.com/issues/463762020-07-06T15:28:51ZStephan Müller
<p>Currently you can only use a big scale factor using the vagrant setup. You can have x * (mgr, mon, osd with 2 disks). It would be nicer to use the same constants as vstart is using to select how many mgr, mons and osds one likes to have. I would go further and add a disks constant two.</p>
<p>This would make the creation a lot more flexible. Another thing that is missing is an script to easily snapshot the created vm's and recreate them</p> 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 #42617 (Resolved): mgr/dashboard: Add reload button for CephFS directorieshttps://tracker.ceph.com/issues/426172019-11-04T13:34:51ZStephan Müller
<p>As many request have to made in oder to reload the all directories, the requests are only done once.</p>
<p>This isn't as intuitive as most pages use the build in auto reload feature of cd-table.</p>
<p>As this is a different structure it's a bit harder to update as there are two source that have to be updated.</p>
<p>There are 2 solutions two handle it:<br />1. Just replay all requests (will reload and therefore update all loaded directories)<br />2. Do one really big request with the deepest open depth (will load all available directories into this depth)</p> Dashboard - Documentation #41396 (Resolved): mgr/dashboard: Add a dashboard specific endpoint whi...https://tracker.ceph.com/issues/413962019-08-22T15:09:47ZStephan Müller
<p>Currently there is no defined way how to create a dashboard specific endpoint that consumes existing endpoints.</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 - Bug #39296 (Resolved): mgr/dashboard: Alert details UTC times should be converted int...https://tracker.ceph.com/issues/392962019-04-15T15:39:27ZStephan Müller
<p>Alert -> details -> 'endsAt' and 'startsAt' attributes provide a UTC time but are not converted into local time in the frontend</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 - Tasks #37950 (Resolved): mgr/dashboard: Application icons in notificationshttps://tracker.ceph.com/issues/379502019-01-17T11:55:20ZStephan Müller
<p>Notifications and alerts should show an application icon, that gives a hint about their origin.</p> Dashboard - Tasks #37585 (Closed): mgr/dashboard/docker: Add Alertmanager and rules to docker env...https://tracker.ceph.com/issues/375852018-12-10T14:35:24ZStephan Müller
<p>Add Alertmanager and Prometheus rules to the <a href="https://github.com/ricardoasmarques/ceph-dev-docker" class="external">ceph-docker</a> environment which is used for dashboard development.</p> Dashboard - Documentation #37468 (Resolved): mgr/dashboard: Document custom RESTController endpo...https://tracker.ceph.com/issues/374682018-11-29T12:30:21ZStephan Müller
<p>Extend HACKING.rst by the fact how to extend a RESTController with a custom endpoint which has all permissions preserved.</p> Dashboard - Tasks #37291 (Resolved): mgr/dashboard: Add a command to easily test e2e test with a ...https://tracker.ceph.com/issues/372912018-11-16T15:52:25ZStephan Müller
<p>To achieve this I currently need to run `npm run e2e -- --dev-server-target` which is a bit long and not everybody knows about this option.</p> Dashboard - Tasks #36467 (Resolved): mgr/dashboard: Add a unit test form helper to easily test formshttps://tracker.ceph.com/issues/364672018-10-16T14:48:07ZStephan Müller
Things it should do:
<ul>
<li>Check for an specific error for a form field</li>
<li>Set a form field</li>
<li>Validate if a change is ok to make</li>
<li>Control if the form element is shown in the template</li>
</ul> Dashboard - Feature #36357 (Resolved): Allow custom badges within badges componenthttps://tracker.ceph.com/issues/363572018-10-09T12:54:00ZStephan Müller
<p>Allow custom badges and badges filtering in badges component so that it looks like the tag filter from github.</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> Dashboard - Tasks #24460 (Resolved): Make notification and tasks look more human readablehttps://tracker.ceph.com/issues/244602018-06-08T15:05:20ZStephan Müller
<p>Currently the notification and tasks don't look alike and are not the nicest way to present information as it is often pretty redundant.</p>
<p>The idea is the following have 3 kinds of message types.</p>
<p>1. One runn*ing* message<br /><pre>
Creating ....
</pre></p>
<p>2. One finish*ed* message<br /><pre>
Created ...
</pre></p>
<p>3. One *fail*ure message with description<br /><pre>
Creation ... failed
error description
</pre></p>
<p>Currently our messages look like this:<br /><pre>
Create ...
description message for running/finished and failure
</pre></p>