Case sensitivity issues with size magnitudes (KB vs kb)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Reproduce el fallo con los ejemplos de qsub usando 4194304KB y compáralo después con la forma funcional en minúsculas. Empieza en hpc/autoscale/hpctypes.py, alrededor de value_of y _value_of, y sigue el análisis a través de pbspro/resource.py; el trabajo estará terminado cuando se acepten magnitudes de tamaño en mayúsculas sin la excepción de autoscaling.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Therse seems to be a bug in CycleCloud PBS my customer was complaining about (CC version 8.7.1-3364 .... with pbspro):
Any user can make autoscaling stop working, i.e. no further jobs handled if a memory size is specified in capitalized units. For example:
$ echo sleep 300 | qsub -l select=1:ncpus=120:mem=4194304KB:mpiprocs=120 or echo 300 | qsub -l nodes=1:ppn=120 -l mem=4194304KB
OpenPBS handles this just fine, but /opt/cycle/pbspro/autoscale.log will have python exceptions - and autoscaling will never proceed for the entire cluster.
Workaround is a manual like this:
$ qalter -l select=1:ncpus=120:mem=4194304kb:mpiprocs=120 JOBID
Traceback (most recent call last):
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/resource.py", line 154, in parse
return HPCSize.value_of(expr)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/hpc/autoscale/hpctypes.py", line 106, in value_of
return Size._value_of(Size, value)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/hpc/autoscale/hpctypes.py", line 142, in _value_of
).format(mag, mag)
RuntimeError: Unknown SizeMagnitude 'KB'. To register custom magnitudes, call hpc.autoscale.hpctypes.add_magnitude_conversion('KB', N), where N is the number of bytes.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/hpc/autoscale/clilib.py", line 1892, in main
args.func(**kwargs)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/hpc/autoscale/clilib.py", line 436, in autoscale
output_columns = output_columns or self._get_default_output_columns(config)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/hpc/autoscale/clilib.py", line 1077, in _get_default_output_columns
default_cmd = self._default_output_columns(config, cmd_name)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/cli.py", line 76, in _default_output_columns
env = self._pbs_env(driver)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/cli.py", line 110, in _pbs_env
self.__pbs_env = environment.from_driver(pbs_driver.config, pbs_driver)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/environment.py", line 58, in from_driver
jobs = pbs_driver.parse_jobs(queues, default_scheduler.resources_for_scheduling)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/driver.py", line 594, in parse_jobs
self.pbscmd, self.resource_definitions, queues, resources_for_scheduling
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/driver.py", line 747, in parse_jobs
rdict = parser.convert_resource_list(res_list)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/parser.py", line 38, in convert_resource_list
ret["select"] = self.parse_select(str(raw_dict["select"]))
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/parser.py", line 101, in parse_select
value = self.resource_definitions[key].type.parse(value)
File "/opt/cycle/pbspro/venv/lib/python3.6/site-packages/pbspro/resource.py", line 157, in parse
"Could not parse '{}' as type size (e.g. 1mb)".format(expr)
pbspro.resource.ResourceParsingError: Could not parse '4194304KB' as type size (e.g. 1mb)
- Lenguaje dominante
- Python
- Estrellas
- 16
- Forks
- 30
- Merge medio
- 14 h 20 min
- PR fusionados (30 d)
- 6
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Azure/cyclecloud-pbspro
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
Azure/cyclecloud-pbspro#91 ·
-
Autoscaler is failing with KeyError: 'headnode.internal.cloudapp.net'Posiblemente ocupada @bwatrous la tomó hace 405 días. Abierto
Azure/cyclecloud-pbspro#85 · 2 asignados ·
-
Consider queue level maximums when autoscalingQuizá libre de nuevo @ryanhamel la tomó hace 736 días y no hay ningún pull request abierto. Abierto
Azure/cyclecloud-pbspro#74 · 1 asignado ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Azure/cyclecloud-pbspro#65 ·
-
Parameterize Azure.MaxScalesetSizeQuizá libre de nuevo @ryanhamel la tomó hace 882 días y no hay ningún pull request abierto. Abierto
Azure/cyclecloud-pbspro#63 · 1 asignado ·
Todos los issues de Azure/cyclecloud-pbspro
Issues similares
-
difficulty:2 enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
MakazhanAlpamys/Soup#2309 ·
Los mantenedores suelen responder en 1 día
-
TAPVid-3D: per_trajectory and local_neighborhood scaling always score 0 in evaluate_model.pyAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
google-deepmind/tapnet#173 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
change-description-authoring: jdk-33173-audit check 4 grades the hunk translation by its verbAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Netcracker/qubership-ai-packages#203 ·
Los mantenedores suelen responder en 1 día
-
PAC Wording
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día