Major refactoring of GRES reconfig/update logic
Add new logic to set node's GRES string on reconfig. Set node GRES sockets based upon real socket/core config info. Validate GRES changes before making them. Specifically we want to make sure no requests to process changes in the count of a GRES associated with File specifications happens. For example, if we have 4 gres/gpu associated with /dev/nvidia[0-3] and "scontrol update NodeName=... Gres=gpu:2" is executed that request will return an error. This is because we have no idea which specific gres/gpu records should be removed. We can issue a request to keep the count unchanged or set the count to 0, but any other count will return an error. This restrictions is not placed on GRES without Files (e.g. gres/craynetwork). Changed some variable names to better reflect their contents.
Please register or sign in to comment