Hi Clay,
I have given it a try, but still see the same results - please see below.
Jan
* tags missing in source manifest are present in converted manifest
For instance, I have noticed that for 'hostname'. It is not present in
current default AI manifest, but it is added to converted manifest
with value set to empty string.
Such manifest will not validate on AI client, since 'value' with
empty strings are not allowed:
...
<AI Jun 15 12:37:43> Parsing system configuration manifest
<AI_E Jun 15 12:37:43> Property 'hostname' in system configuration
manifest is set to empty string which is invalid value.
If you do not want to configure this property, please remove it from SC
manifest.
<AI Jun 15 12:37:43> Automated Installation failed in parser module
<AI Jun 15 12:37:43> Invalid System Configuration manifest provided
The correct behavior is that tags missing in source manifest
should not be present in converted manifest.
* converted manifest is not valid from publish-manifest point of view
(the source was AI default manifest)
# installadm add -m /tmp/default.xml -n 1003x-15678-137
# /tmp/update_sc.py -i /tmp/default.xml -o /tmp/sc.xml
# installadm add -m /tmp/sc.xml -n 1003x-15678-137
Error: SC Manifest AI failed validation:
Start tag expected, '<' not found
I have tried to modify verifyXML.py as you suggested in your webrev:
http://cr.opensolaris.org/~clayb/SC_using_XSLT_webrev/
But it does not work either:
# diff
/usr/lib/python2.6/vendor-packages/osol_install/auto_install/verifyXML.py /usr/lib/python2.6/vendor-packages/osol_install/auto_install/verifyXML.py.orig
49,50c49
< dtd_validation=False,
remove_comments=True,
< recover=True)
---
> dtd_validation=False,
remove_comments=True)
# installadm add -m /tmp/sc.xml -n 1003x-15678-137
Traceback (most recent call last):
File "/usr/lib/installadm/publish-manifest", line 1065, in <module>
data = parse_options()
File "/usr/lib/installadm/publish-manifest", line 99, in parse_options
criteria_path = crit_manifest)
File "/usr/lib/installadm/publish-manifest", line 596, in __init__
self.find_SC_from_crit_man()
File "/usr/lib/installadm/publish-manifest", line 811, in
find_SC_from_crit_man
self.verify_SC_manifest(xml_data, name=SC_man.attrib['name'])
File "/usr/lib/installadm/publish-manifest", line 1012, in
verify_SC_manifest
xml_root = verifyXML.verifyDTDManifest(data, self.smfDtd)
File
"/usr/lib/python2.6/vendor-packages/osol_install/auto_install/verifyXML.py",
line 60, in verifyDTDManifest
if dtd.validate(root):
File "lxml.etree.pyx", line 2646, in lxml.etree._Validator.validate
(src/lxml/lxml.etree.c:99632)
File "dtd.pxi", line 72, in lxml.etree.DTD.__call__
(src/lxml/lxml.etree.c:100227)
File "apihelpers.pxi", line 32, in lxml.etree._documentOrRaise
(src/lxml/lxml.etree.c:28521)
ValueError: Input object has no document: lxml.etree._ElementTree
#
On 06/18/10 09:18 AM, [email protected] wrote:
Hi Jan,
Thank you for meeting with me on IRC today. Just for those
following at home I've updated
http://cr.opensolaris.org/~clayb/SC_using_XSLT/
And further, I've added one necessary fix to publish-manifest thanks
to the brain damage of doing the SC manifest in comments:
http://cr.opensolaris.org/~clayb/SC_using_XSLT_webrev/
Thank you,
Clay
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss