rackslab / Slurm-web

Open source web dashboard for Slurm HPC clusters
https://slurm-web.com
GNU General Public License v3.0
340 stars 97 forks source link

Gateway - Reservation displays invalid date #335

Closed attssystem closed 3 months ago

attssystem commented 3 months ago

Hi :) (sorry for the spam...)

I'm running the gateway (3.1.0-1.deb12 in production mode using Apache) in a Debian 12 container and I've got an issue with the Reservation view. On my cluster I've got one reservation that appears mostly correctly but I get "Invalid date" for start and end times (see below screenshot).

Capture d’écran 2024-08-19 à 13 52 51

It doesn't generate error in the web console, agent doesn't seem to generate error either (nothing appears in frontend at least).

I've done a scontrol show res on my cluster and got those (time-related) dates :

StartTime=2024-08-20T17:00:00 EndTime=2024-08-20T23:59:00 Duration=06:59:00

Is something wrong on my side ?

Thanks for your help ! :)

rezib commented 3 months ago

Hello @attssystem, thanks for reporting!

Do you get this behavior with multiple browsers? What Slurm version are you using?

Can I have the result of this command (possibly anonymized)?

# curl --unix-socket /run/slurmrestd/slurmrestd.socket http://slurm/slurm/v0.0.39/reservations
attssystem commented 3 months ago

I get this issue with Safari and Chrome on MacOS14. I'm running slurm 23.11.7 (sinfo -V on a login node) and API v0.0.40 (specified in agent.ini).

So with curl --unix-socket PATH_TO_SOCKET/slurmrestd.socket http://slurm/slurm/v0.0.40/reservations I get :

{
   "reservations": [
     {
       "accounts": "...",
       ...
       "core_specializations": [
       ],
       "end_time": {
         "set": true,
         "infinite": false,
         "number": 1724191140
       },
       "features": "",
       "flags": [
         "WEEKLY",
         "SPEC_NODES"
       ],
       "groups": "",
       "licenses": "",
       "max_start_delay": 0,
       "name": "...",
       "node_count": ...,
       "node_list": "L[XXX-YYY]",
       "partition": "standard",
       "purge_completed": {
         "time": {
           "set": true,
           "infinite": false,
           "number": 300
         }
       },
       "start_time": {
         "set": true,
         "infinite": false,
         "number": 1724166000
       },
       "watts": {
         "set": false,
         "infinite": false,
         "number": 0
       },
       "tres": "cpu=ZZZ",
       "users": ""
     }
   ],
   "last_update": {
     "set": true,
     "infinite": false,
     "number": 1724074580
   },
   "meta": {
     "plugin": {
       "type": "openapi\/slurmctld",
       "name": "Slurm OpenAPI slurmctld",
       "data_parser": "data_parser\/v0.0.40",
       "accounting_storage": "accounting_storage\/slurmdbd"
     },
     "client": {
       "source": ".../slurmrestd.socket->socket...",
       "user": "...",
       "group": "..."
     },
     "command": [
     ],
     "slurm": {
       "version": {
         "major": "23",
         "micro": "5",
         "minor": "11"
       },
       "release": "23.11.5",
       "cluster": "..."
     }
   },
   "errors": [
   ],
   "warnings": [
   ]
 }

(I tried to obfuscate not too much)

It could come from my API version ? (sorry I didn't check before asking)

rezib commented 3 months ago

Heh yes, specifying an alternative version in agent.ini is clearly not recommended, this should be considered more as a developper setting. Restoring the default value should fix your issue.

rezib commented 3 months ago

Can you confirm that removing [slurmrestd] > version from agent.ini (or setting value 0.0.39) fixes your issue?

attssystem commented 3 months ago

Hi, just tested. It doesn't work because our slurmrestd is set on 0.0.40. It doesn't answer to 0.0.39 requests and removing the line version just broke the agent making the cluster unavailable on the gateway.

I'll have to discuss with my colleagues if we can enable 0.0.39 alongside 0.0.40.

attssystem commented 3 months ago

Just tried exposing 0.0.39 and it works ! Thanks for your help