martes, 29 de octubre de 2013

[solved] libodm: The specified search criteria is incorrectly formed

Hoy un compañero me ha comentado que una máquina arrojaba algunos warnings al ejecutar ciertos comandos:

# lscfg -vpl fcs0
libodm: The specified search criteria is incorrectly formed.
        Make sure the criteria contains only valid descriptor names and
        the search values are correct.

libodm: The specified search criteria is incorrectly formed.
        Make sure the criteria contains only valid descriptor names and
        the search values are correct.

libodm: The specified search criteria is incorrectly formed.
        Make sure the criteria contains only valid descriptor names and
        the search values are correct.

libodm: The specified search criteria is incorrectly formed.
        Make sure the criteria contains only valid descriptor names and
        the search values are correct.

[salida comando]

Buscando por google hay varias entradas que nos indican que hay algún problema en la ODM, pero no dábamos con ella hasta que otro compañero, Javier, ha dado con la clave:

# lsdev -C
lsdev: 0514-521 Cannot find information in the predefined device
        configuration database for the customized device gab.
lsdev: 0514-521 Cannot find information in the predefined device
        configuration database for the customized device vxdmp.
lsdev: 0514-521 Cannot find information in the predefined device
        configuration database for the customized device vxio.
lsdev: 0514-521 Cannot find information in the predefined device
        configuration database for the customized device vxspec.
[...]

Al listar los objetos contenidos en la clase "Customized Devices" se queja de ciertos objetos que no están en la clase "Predefined Devices" que son los que están provocando los mensajes de arriba. Borramos estos objetos de la ODM:

# odmdelete -q "name=gab" -o CuDv
# odmdelete -q "name=vxdump" -o CuDv
# odmdelete -q "name=vxio" -o CuDv
# odmdelete -q "name=vxspec" -o CuDv

NOTA: si alguien no se siente cómodo tocando la ODM, se puede hacer un backup antes bien de todo /etc/objrepos o bien de /etc/objrepos/CuDv.