• J
    docs,rng: Adjust storage pool name grammar checks · 5d765902
    John Ferlan 提交于
    https://bugzilla.redhat.com/show_bug.cgi?id=1475250
    
    It's possible to define and start a pool with a '.' in the
    name; however, when trying to add a volume to a domain using
    the storage pool source with a '.' in the storage pool name,
    the domain RNG validation fails because RNG uses 'genericName'
    which does not allow a '.' in the name.
    
    Domain XML def parsing has a virXMLValidateAgainstSchema which
    generates the error. The Storage Pool XML def parsing has no
    call to virXMLValidateAgainstSchema. The only Storage Pool name
    validation occurs in virStoragePoolDefParseXML to ensure the
    name doesn't have a '/' in it and in storagePoolDefineXML to
    call virXMLCheckIllegalChars using the same parameter "\n" as
    qemuDomainDefineXMLFlags would check after the RNG check
    could be succesful.
    
    In order to resolve this, create a poolName definition in
    storagecommon.rng that will mimic the domain name regex that
    disallows a newline character, but add the "/" in the exclude
    list. Then modify the pool and volume source name definitions
    to key off that poolName.
    5d765902
domaincommon.rng 158.7 KB