[PATCH] Update web content to match libvirt.org

# HG changeset patch # User Jay Gagnon <grendel@linux.vnet.ibm.com> # Date 1209666871 14400 # Node ID 9616af4ad2341ecb47dc0b139017636d14e0e86a # Parent bd075f76943a0facc8aa69d7788f3d6a1a2f8d8c Update web content to match libvirt.org Signed-off-by: Jay Gagnon <grendel@linux.vnet.ibm.com> diff -r bd075f76943a -r 9616af4ad234 doc/Makefile.am --- a/doc/Makefile.am Thu Apr 24 10:25:48 2008 -0400 +++ b/doc/Makefile.am Thu May 01 14:34:31 2008 -0400 @@ -1,23 +1,26 @@ XSLTPROC = /usr/bin/xsltproc XSLTPROC = /usr/bin/xsltproc +XMLLINT = /usr/bin/xmllint -WEB_PAGES = index.html \ - architecture.html \ - downloads.html \ - intro.html \ - news.html \ - patches.html \ - platforms.html \ - schema.html +dot_html_in = $(wildcard *.html.in) +dot_html = $(dot_html_in:%.html.in=%.html) -EXTRA_DIST = site.xsl libvirt-cim.html $(WEB_PAGES) - -$(WEB_PAGES): libvirt-cim.html site.xsl - -@(if [ -x $(XSLTPROC) ]; then \ - $(XSLTPROC) --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/libvirt-cim.html > index.html; \ - fi); +EXTRA_DIST = site.xsl $(dot_html) $(dot_html_in) install-data-local: $(mkinstalldirs) $(DESTDIR)$(HTML_DIR) @INSTALL@ -m 0644 $(srcdir)/*.html $(DESTDIR)$(HTML_DIR) -all: $(WEB_PAGES) +all: $(dot_html) + +%.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in + @(if [ -x $(XSLTPROC) ] ; then \ + echo "Generating $@"; \ + name=`echo $@ | sed -e 's/.tmp//'`; \ + echo "name: $$name"; \ + $(XSLTPROC) --stringparam pagename $$name --nonet --html $(top_srcdir)/doc/site.xsl $< > $@ || (rm $@ && exit 1) ; fi ) + + +%.html: %.html.tmp + @(if [ -x $(XMLLINT) ] ; then \ + echo "Validating $@" ; \ + $(XMLLINT) --nonet --format --valid $< > $@ || : ; fi ); diff -r bd075f76943a -r 9616af4ad234 doc/architecture.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/architecture.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,30 @@ +<html> + <body> + <h1>Architecture</h1> + + <p> + The libvirt-cim provider consists of two major parts: + </p> + <ul> + <li> + The provider classes themselves (<tt>src/</tt>) + </li> + <li> + A helper library of common components (<tt>libxkutil/</tt>) + </li> + </ul> + <p> + The provider classes implement the actual CIM class model. Some of + the provider libraries implement one CIM class and one providier. + However, many of them perform more than one task. For example, + the <tt>Virt_Device</tt> and <tt>Virt_DevicePool</tt> providers + implement the device and device pool classes for each of the major + device types: Memory, Processor, Network, and Disk. + </p> + <p> + The helper library contains common routines that almost all of the + providers use, such as libvirt connection type detection and device + and system XML parsing. + </p> + </body> +</html> diff -r bd075f76943a -r 9616af4ad234 doc/downloads.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/downloads.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,27 @@ +<html> + <body> + <h1>Downloads</h1> + + <p> + Official releases can be found on the libvirt.org + <a href="ftp://libvirt.org/libvirt-cim">FTP</a> server. Alternatively, + you can grab a + <a href="http://libvirt.org/hg/libvirt-cim/archive/tip.tar.gz">tarball</a> or + <a href="http://libvirt.org/hg/libvirt-cim/archive/tip.zip">zip</a> file + snapshot of the development repository. These snapshots will have the + latest features (and bugs). + </p> + <p> + The libvirt-cim development tree can be found in the + <a href="http://libvirt.org/hg">libvirt.org/hg</a> repository. + </p> + <p> + To get a copy of the development tree, use + <a href="http://www.selenic.com/mercurial/wiki/">mercurial</a>'s clone + feature: + </p> + <pre> + $ hg clone http://libvirt.org/hg/libvirt-cim + </pre> + </body> +</html> diff -r bd075f76943a -r 9616af4ad234 doc/generic.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/generic.css Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,75 @@ + +body { + margin: 0em; + padding: 0px; + color: rgb(0,0,0); + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 80%; +// font-size: 83%; +} + +p, ul, ol, dl { + padding: 0px; + margin: 0px; +} + +ol,ul { + margin-left: 3em; +} + +ol,ul,dl,p { + margin-top: 1em; + margin-bottom: 1em; +} + +p:first-line { + margin-right: 1em; +} + +div.body p:first-letter { + font-size: 1.2em; + font-weight: bold; +} + +h1,h2,h3,h4,h5,h6 { + font-weight: bold; + margin: 0px; + padding: 0px; + margin-top: 0.5em; +} + +div.footer { + margin-top: 1em; +} + +h1 { + font-size: 2em; +} +h2 { + font-size: 1.6em; +} +h3 { + font-size: 1.4em; +} +h4 { + font-size: 1.2em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.8em; +} + +dl dt { + margin-left: 1em; + margin-right: 2em; + font-weight: bold; + font-size: larger; +} + +dl dd { + margin-left: 2em; + margin-right: 2em; + margin-bottom: 0.5em; +} diff -r bd075f76943a -r 9616af4ad234 doc/index.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/index.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,25 @@ +<html> + <body> + <h1>What is <strong>libvirt-cim</strong>?</h1> + <p> + Libvirt-CIM is a CIM provider for managing linux virtualization platforms + using libvirt. It is written in C and should work in any CIMOM that + supports CMPI 2.0 providers. The intent is to implement the SVPC + virtualization class model currently available in the DMTF Experimental + 2.16 schema. + </p> + <p> + Libvirt-CIM is a CIM provider for managing linux virtualization platforms + using libvirt. It is written in C and should work in any CIMOM that + supports CMPI 2.0 providers. The intent is to implement the SVPC + virtualization class model currently available in the DMTF Experimental 2. + 16 schema. + </p> + <p> + The providers are currently under heavy development. Focus is on Xen + support right now, which means some of the providers have some "shortcuts" + hard-coded to Xen right now. The long-term goal is to support all of the + platforms that libvirt supports with minimal differences. + </p> + </body> +</html> diff -r bd075f76943a -r 9616af4ad234 doc/libvirt.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/libvirt.css Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,343 @@ + + +h1 { + font-weight: normal; + color: #3c857c; +} +h1 strong { + font-weight: bold; +} + +h2, h3, h4, h5, h6 { + color: #3c857c; +} + +#header { + position: absolute; + top: 0px; + left: 0px; + margin: 0px; + height: 104px; + width: 100%; + background: url(libvirt-header-bg.png); + border: 0px; +} + +#body { + position: relative; + border: 0px; + padding-top: 104px; + left: 0px; + margin: 0px; + padding-left: 250px; +} + +#content { + float: right; + padding: 0px; + width: 100%; + padding-bottom: 1em; +} + +#menu { + border: 0px; + margin-left: -250px; + position: relative; + margin-top: 0px; + left: 0px; + width: 220px; + margin-bottom: 1em; +} + +#menu ul { + margin: 0px; + padding: 0px; + margin-left: 40px; +} + +#menu li ul { + margin-left: 0px; +} + +#menu ul li { + list-style: none; + color: black; + padding: 0px; + font-weight: bold; + font-size: 1.2em; +} + +#menu li ul li { + font-size: 1em; +} + +#menu ul li a, #menu ul li span { + text-decoration: inherit; + color: inherit; + display: block; + padding: 6px; + margin: 2px; +} + +#menu ul li .active { + background: #a4c6c2; +} + +#menu ul.l0 li .inactive { + background: #c5dbd8; +} + + +#menu ul.l1 li .inactive, +#menu ul.l2 li .inactive { + background: #dfebea; + border-left: 8px solid #dfebea; +} + +#menu ul.l1 li .inactive, +#menu ul.l1 li .active { + padding-left: 1em; +} + +#menu ul.l1 li .inactive { + border-left: 6px solid #dfebea; +} +#menu ul.l1 li .active { + border-left: 6px solid #a5c6c2; +} + +#menu ul.l2 li .inactive, +#menu ul.l2 li .active { + padding-left: 2em; + border-left: 8px solid #c5dbd8; +} + + +#headerLogo { + position: absolute; + top: 0px; + left: 0px; + height: 104px; + width: 400px; + background: url(libvirt-header-logo.png); +} +#headerSearch { + position: absolute; + top: 0px; + right: 0px; + padding: 2em; + z-index: 10; +} + +#headerSearch input { + border: 1px solid #999999; + color: #999999; + background: white; + padding: 3px; + font-size: 1em; +} + +#headerSearch #submit { + border: 1px solid #999999; + background: #eeeeee; + color: black; + padding: 3px; + font-size: 1em; +} + + +#sitemap ul li { + list-style: none; +} + +#sitemap ul { + margin: 1em; + padding: 0em; +} + +#sitemap ul ul { + padding-left: 2em; +} + +#sitemap li { + margin: 0.5em; +} + +#sitemap a { + color: inherit; + text-decoration: underline; + font-weight: bold; +} + +pre { + border: 1px solid #999999; + background: #eeeeee; + color: black; + padding: 1em; +} + +a { + color: #566866; +} + + +div.api { + border: 1px solid #999999; + background: #eeeeee; + color: black; +} + +div.api pre { + margin: 0px; + border: 0px; + background: inherit; +} + +div.api table { + margin: 0px; + padding-left: 2em; + font-family: fixed; + whitespace: pre; +} + + +h1 a, h2 a, h3 a, h4 a, h5 a { + color: inherit; + text-decoration: inherit; +} + +#changelog .author { + color: #3c857c; + font-weight: bold; +} + +p.image { + text-align: center; +} + +.top_table { + border-collapse: collapse; +} + +.top_table th { + background: #a4c6c2; +} + +.top_table th a { + color: inherit; + text-decoration: inherit; +} + +.top_table td, .top_table th { + border: 1px solid #999999; +} + +.top_table tr:hover td, .top_table col:hover td { + background: #eeeeee; +} + +.top_table tr td:hover { + background: #c5dbd8; +} + +#footer { + clear: both; + position: relative; + margin: 0px; + padding: 0px; + border: 0px; + width: 100%; + background: #757575 url(footer_pattern.png) repeat-x; + height: 180px; +} + +#footer p { + position: absolute; + top: 0px; + left: 0px; + margin: 0px; + border: 0px solid red; + width: 220px; + text-align: center; +} + +#footer p a img { + border: 0px; +} + +#projects { + margin: 0px; + border: 0px; + position: absolute; + top: 0px; + left: 0px; + width: 100%; +} + + +#projects dl { + margin: 0px; + border: 0px solid white; + background: url(footer_corner.png) no-repeat; + height: 180px; + position: absolute; + top: 0px; + left: 0px; +} + + +#projects #p1 { + margin-left: 25%; + width: 75%; +} + +#projects #p2 { + margin-left: 50%; + width: 50%; +} + +#projects #p3 { + margin-left: 75%; + width: 25%; +} + +#projects dt, #projects dd { + padding: 0px; + margin: 0px; +} + +#projects #p1 dt, #projects #p1 dd { + width: 33%; +} +#projects #p2 dt, #projects #p2 dd { + width: 50%; +} +#projects #p3 dt, #projects #p3 dd { + width: 99%; +} + +#projects { +} + +#projects span { + font-size: 0.8em; + display: block; + padding-left: 1em; + padding-top: 0.5em; +} + +#projects a { + font-size: 0.8em; + display: block; + padding-left: 0.8em; + padding-top: 1em; +} + +#projects a { + color: white; + text-decoration: inherit; +} + +#projects span { + color: #ccc; +} diff -r bd075f76943a -r 9616af4ad234 doc/main.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/main.css Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,2 @@ +@import url(generic.css); +@import url(libvirt.css); diff -r bd075f76943a -r 9616af4ad234 doc/page.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/page.xsl Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,127 @@ +<?xml version="1.0"?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + exclude-result-prefixes="xsl exsl" + version="1.0"> + + <!-- The sitemap.html.in page contains the master navigation structure --> + <xsl:variable name="sitemap" select="document('sitemap.html.in')/html/body/div[@id='sitemap']"/> + + <!-- This processes the sitemap to form a context sensitive + navigation menu for the current page --> + <xsl:template match="ul" mode="menu"> + <xsl:param name="pagename"/> + <xsl:param name="level"/> + <ul class="{concat('l', $level)}"> + <xsl:for-each select="li"> + <li> + <!-- A menu is active if there is an 'a' tag with + a href matching this pagename at this level + or a child menu --> + <xsl:variable name="class"> + <xsl:choose> + <xsl:when test="count(.//a[@href = $pagename]) > 0"> + <xsl:text>active</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>inactive</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <!-- A menu should use a 'span' instead of 'a' if + the immediate 'a' tag has href matching the + current pagename --> + <xsl:choose> + <xsl:when test="$pagename = a/@href"> + <span class="{$class}"><xsl:value-of select="a"/></span> + </xsl:when> + <xsl:when test="a/@href = 'http://wiki.libvirt.org'"> + <a title="{./span}" class="{$class}" href="{a/@href}"><xsl:value-of select="a"/></a> + </xsl:when> + <xsl:otherwise> + <a title="{./span}" class="{$class}" href="{concat($href_base, a/@href)}"><xsl:value-of select="a"/></a> + </xsl:otherwise> + </xsl:choose> + + <!-- A sub-menu should only be expanded it contains + an 'a' tag with href matching this pagename --> + <xsl:if test="count(.//a[@href = $pagename]) > 0"> + <xsl:apply-templates select="ul" mode="menu"> + <xsl:with-param name="pagename" select="$pagename"/> + <xsl:with-param name="level" select="$level + 1"/> + </xsl:apply-templates> + </xsl:if> + </li> + </xsl:for-each> + </ul> + </xsl:template> + + <!-- This is the master page structure --> + <xsl:template match="/" mode="page"> + <xsl:param name="pagename"/> + <html> + <xsl:comment> + This file is autogenerated from <xsl:value-of select="$pagename"/>.in + Do not edit this file. Changes will be lost. + </xsl:comment> + <head> + <link rel="stylesheet" type="text/css" href="{$href_base}main.css"/> + <link rel="SHORTCUT ICON" href="{$href_base}32favicon.png"/> + <title>libvirt: <xsl:value-of select="html/body/h1"/></title> + <meta name="description" content="libvirt, virtualization, virtualization API"/> + </head> + <body> + <div id="header"> + <div id="headerLogo"/> + <div id="headerSearch"> + <form action="{$href_base}search.php" enctype="application/x-www-form-urlencoded" method="get"> + <input id="query" name="query" type="text" size="12" value=""/> + <input id="submit" name="submit" type="submit" value="Search"/> + </form> + </div> + </div> + <div id="body"> + <div id="content"> + <xsl:copy-of select="html/body/*"/> + </div> + <div id="menu"> + <xsl:apply-templates select="exsl:node-set($sitemap)/ul" mode="menu"> + <xsl:with-param name="pagename" select="$pagename"/> + <xsl:with-param name="level" select="0"/> + </xsl:apply-templates> + </div> + </div> + <div id="footer"> + <div id="projects"> + <dl id="p1"> + <dt><a href="http://augeas.net/">Augeas</a></dt> + <dd><span>A configuration editing tool and API</span></dd> + <dt><a href="http://libvirt.org/">libvirt</a></dt> + <dd><span>The open source virtualization API</span></dd> + </dl> + <dl id="p2"> + <dt><a href="http://cobbler.et.redhat.com/">Cobbler</a></dt> + <dd><span>OS provisioning and profile management</span></dd> + <dt><a href="http://ovirt.org/">oVirt</a></dt> + <dd><span>Virtualization management across the data center</span></dd> + </dl> + <dl id="p3"> + <dt><a href="http://freeipa.org/">FreeIPA</a></dt> + <dd><span>Identity, policy and audit management</span></dd> + <dt><a href="http://virt-manager.org/">Virtual Machine Manager</a></dt> + <dd><span>Virtualization management from the desktop</span></dd> + </dl> + </div> + <!-- + <p id="et"> + <a href="http://et.redhat.com/"><img src="{$href_base}et_logo.png" alt="A Red Hat Emerging Technology Project"/></a> + </p> + --> + </div> + </body> + </html> + </xsl:template> + +</xsl:stylesheet> diff -r bd075f76943a -r 9616af4ad234 doc/patches.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/patches.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,195 @@ +<html> + <body> + <h1>Patches</h1> + + <p> + To submit patches to libvirt-cim, you must follow the DCO process, + outlined below: + </p> + <h3>Developer's Certificate of Origin 1.1</h3> + <p> + By making a contribution to this project, I certify that: + </p> + <ol> + <li> + <p> + The contribution was created in whole or in part by me and I have the + right to submit it under the open source license indicated in the + file; or + </p> + </li> + <li> + <p> + The contribution is based upon previous work that, to the best of my + knowledge, is covered under an appropriate open source license and I + have the right under that license to submit that work with + modifications, whether created in whole or in part by me, under the + same open source license (unless I am permitted to submit under a + different license), as indicated in the file; or + </p> + </li> + <li> + <p> + The contribution was provided directly to me by some other person who + certified (1), (2) or (3) and I have not modified it. + </p> + </li> + <li> + <p> + I understand and agree that this project and the contribution are + public and that a record of the contribution (including all personal + information I submit with it, including my sign-off) is maintained + indefinitely and may be redistributed consistent with this project or + the open source license(s) involved. + </p> + </li> + </ol> + <p> + then you just add a line saying + </p> + <p> + Signed-off-by: Random J Developer <random@developer.example.org> + </p> + <p> + using your real name (sorry, no pseudonyms or anonymous contributions.) + </p> + <h3>Guidelines for Submitting Patches.</h3><p> + Patches should be submitted using Mercurial's patchbomb extension, and we + recommend using the queues extension as well. On top of that, we have some + guidelines you should follow when submitting patches. This makes reviewing + patches easier, which in turns improves the chances of your patch being + accepted in a timely fashion. + </p> + <p> + For help on how to use the patchbomb extension, see + <a href="http://hgbook.red-bean.com/hgbookch14.html">Section 14.4</a> of + <i>Distributed revision control with Mercurial</i>. + </p> + <p> + For help on the queues extension, see + <a href="http://hgbook.red-bean.com/hgbookch12.html">Chapter 12</a>. + </p> + <h4>Single Patches:</h4> + <ol> + <li> + <p> + When you add a patch to the queue you have an idea of where + you're going with it, and the commit message should reflect + that. Be specific. Avoid just saying something like, + "Various fixes to AllocationCapabilities." Add a list of + what was actually fixed, like, "Add EnumInstanceNames + support," and, "Eliminate duplicate instances." + </p> + </li> + <li> + <p> + The first line of your commit message will be the subject of + the patch email when you send it out, so write it like a + subject. Keep it short and to the point, then start a new + line and feel free to be as verbose as you need to be. The + entire commit message will be included in the patch. + </p> + </li> + <li> + <p> + Stay on task with a patch. If you notice other problems + while you are working on a patch, and they are not most + definitely specific to your patch, they should be another + patch. The same goes for nitpicking. While it might be + only a line or two here and there that is off track, this is + actually one of the easiest ways to make a patch difficult + to review. All the trivial changes hide what is really + going on. Make the unrelated changes a new patch or don't + make them at all. + </p> + </li> + <li> + <p> + If your patch addresses a strange issue or a rare edge case + that the reviewers are unlikely to be familiar with, make + sure the commit message include some example testcase with + results, so the reviewers can verify your patch more + quickly. + </p> + </li> + <li> + <p> + Before you email, export. If you have a patch called + "alloc_fixes", which would be emailed with "hg email + alloc_fixes", you should first run "hg export alloc_fixes". + This lets you review your patch. Does it have any typos in + the comments? Did you accidentally include an irrelevant + change? Is your commit message still accurate and useful? + This is the single biggest step in ensuring you have a good + patch. + </p> + </li> + <li> + <p> + If your patch needs to be reworked and resent, prepend a + "version number" to the first line of the commit message. + For example, "Add EnumInstance to RASD," becomes "#2 Add + EnumInstance to RASD." This helps mail readers thread + discussions correctly and helps maintainers know they are + applying the right version of your patch. At the end of the + commit message, explain what is different from one version + to the next. Nobody likes having to diff a diff. + </p> + </li> + <li> + <p> + If your patch depends on a patch that exists on the mailing + list but not in the tree, it is okay to send your patch to + the list as long as your commit message mentions the + dependency. It is also a good idea to import the patch into + your tree before you make your patch. For example, a new + patch called "cu_statusf API change" is on the list, and + your patch needs the new API. Save the email (no need to + trim headers) as api_change.eml, then do "hg qimport + api_change.eml" and "hg qpush" so that the patch is applied + to your tree. Now write your patch on top of it. You + should still indicate the dependency in your commit message. + </p></li> + </ol><h4>Patchsets:</h4><ol><li> + <p> + When you send a group of patches, Mercurial's email + extension will create a "header" email. Make the subject + and body of that email meaningful, so we know how the + patches relate. It's easy to say, "Each patch has a commit + message, it's obvious how they work together," but the rest + of the list usually won't agree with that. If the commit + messages for each patch are good, you shouldn't need more + than a sentence or two to tie them all together, but you do + need it. + </p> + </li> + <li> + <p> + If any of your patches are rejected and you rework them, + resend the entire set. This prevents things like, "So use + patch 1 of 4 from the set I sent yesterday, 2 and 3 of 4 + from the patch I sent an hour later, and patch 4 of 4 from + today." + </p> + </li> + <li> + <p> + If you resend a patchset, apply part (6) of the Single + Patches guidelines to your "Patch [0 of 3]" header email, + for all the same reasons. + </p> + </li> + </ol> + <p> + Questions/Comments on the Guidelines should be directed to: + </p> + <p> + Jay Gagnon < + <a href="mailto:grendel@linux.vnet.ibm.com"> + grendel@linux.vnet.ibm.com + </a>> + <br /> + Patch Compliance Officer + </p> + </body> +</html> diff -r bd075f76943a -r 9616af4ad234 doc/platforms.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/platforms.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,47 @@ +<html> + <body> + <h1>Platform Support</h1> + <p> + Currently, libvirt-cim is targeting Xen as its primary support + platform because is has the largest installed user base. The + long-term plan is to support many others (hopefully any that libvirt + supports). This includes KVM and containers. + </p> + <p> + The code base currently has many Xen-specific "shortcuts" that need + to be resolved and generalized in order to support other platforms. + A short list of these may include: + </p> + <ul> + <li> + The XML generation and parsing code and the related device + modeling code. + </li> + <li> + The libvirt connection logic. Right now, (in most places) we + detect the current hypervisor in use and connect to libvirt + appropriately. This may or may not be the correct behavior in a + situation where you could need to support containers and QEMU + virtual machines. + </li> + <li> + Some lingering hard-coded "Xen_Foo" class names. + </li> + </ul> + <p> + Further, supporting new platforms have some registration and + modeling implications: + </p> + <ul> + <li> + Additions to the MOF and registration files for "branded" + classes (Xen_Foo, KVM_Foo, etc) + </li> + <li> + Modifications to some of the association providers that register + separate CMPI provider structures for each class type they handle + (to avoid duplicate results in the general case) + </li> + </ul> + </body> +</html> diff -r bd075f76943a -r 9616af4ad234 doc/releases.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/releases.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,25 @@ +<html> + <body> + <h1>Releases</h1> + + <p> + <strong>livirt-cim-0.1: Jan 14 2008</strong> + <ul> + <li> + Initial Release + </li> + <li> + Focused on Xen paravirtual guest support + </li> + </ul> + </p> + <p> + <strong>libcmpiutil-0.1: Nov 30 2007</strong> + <ul> + <li> + Initial Release + </li> + </ul> + </p> + </body> +</html> diff -r bd075f76943a -r 9616af4ad234 doc/schema.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/schema.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,82 @@ +<html> + <body> + <h1>Schema</h1> + <p> + The libvirt-cim provider depends on an installed + <a href="http://www.dmtf.org/standards/cim/cim_schema_v216/">DMTF + CIM v2.16</a> Experimental schema. The package can be obtained + <a href="http://www.dmtf.org/standards/cim/cim_schema_v216/cimv216Experimental-MOFs.zip"> + here + </a>. + </p> + + <h4>To install the schema in Pegasus:</h4> + <p> + <pre> + $ PEGASUS_REPO=/var/lib/Pegasus # adjust this as needed + $ mkdir cim216 + $ cd cim216 + $ unzip $PATH_TO_ZIPFILE + $ sudo cimmofl -uc -aEV -R$PEGASUS_REPO -n /root/virt cimv216.mof + $ sudo cimmofl -uc -aEV -R$PEGASUS_REPO -n /root/virt qualifiers.mof + $ sudo cimmofl -uc -aEV -R$PEGASUS_REPO -n /root/virt qualifiers_optional.mof + $ sudo cimmofl -uc -aEV -R$PEGASUS_REPO -n /root/interop cimv216-interop.mof + </pre> + </p> + + <h4>To install the schema in SFCB:</h4> + <p> + <pre> + $ SFCB_CIM=/usr/local/share/sfcb/CIM # adjust this as needed + $ mkdir cim216 + $ cd cim216 + $ unzip $PATH_TO_ZIPFILE + $ mv cimv216.mof CIM_Schema.mof + $ sudo cp * $SFCB_CIM + $ sudo sfcbrepos + </pre> + </p> + <p> + <strong>Note:</strong> in both cases, the CIM v2.16 schema seems to have a + few classes that don't register correctly. You may need to + disable installation of classes with something like the + following: + </p> + <p> + <pre> + --- CIM_Schema.mof 2007-10-15 00:15:44.000000000 -0700 + +++ cimv216.mof 2007-10-22 10:11:19.000000000 -0700 + @@ -507,3 +507,3 @@ + #pragma include ("Policy/CIM_SharedSecretAuthentication.mof") + -#pragma include ("Security/CIM_SecurityIndication.mof") + +//#pragma include ("Security/CIM_SecurityIndication.mof") + #pragma include ("Support/PRS_Activity.mof") + @@ -728,4 +728,4 @@ + #pragma include ("Policy/CIM_PolicyConditionInPolicyRule.mof") + -#pragma include ("Security/CIM_IPNetworkSecurityIndication.mof") + -#pragma include ("Security/CIM_IPPacketFilterIndication.mof") + +//#pragma include ("Security/CIM_IPNetworkSecurityIndication.mof") + +//#pragma include ("Security/CIM_IPPacketFilterIndication.mof") + #pragma include ("Support/PRS_ActivityContact.mof") + </pre> + </p> + <p> + <strong>cimv216-interop.mof</strong> is not part of the official DMTF + CIM v2.16 schema package. Please create with the following content: + </p> + <p> + <pre> + #pragma locale ("en_US") + #pragma include ("qualifiers.mof") + #pragma include ("qualifiers_optional.mof") + #pragma include ("Core/CIM_ManagedElement.mof") + #pragma include ("Interop/CIM_RegisteredProfile.mof") + #pragma include ("Interop/CIM_RegisteredSubProfile.mof") + #pragma include ("Core/CIM_Dependency.mof") + #pragma include ("Interop/CIM_ElementConformsToProfile.mof") + #pragma include ("Interop/CIM_ReferencedProfile.mof") + #pragma include ("Interop/CIM_SubProfileRequiresProfile.mof") + </pre> + </p> + </body> +</html> diff -r bd075f76943a -r 9616af4ad234 doc/site.xsl --- a/doc/site.xsl Thu Apr 24 10:25:48 2008 -0400 +++ b/doc/site.xsl Thu May 01 14:34:31 2008 -0400 @@ -1,258 +1,25 @@ <?xml version="1.0"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - <xsl:output method="xml" encoding="ISO-8859-1" indent="yes" - doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" - doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + exclude-result-prefixes="xsl exsl" + version="1.0"> + + <xsl:import href="page.xsl"/> + + <xsl:output + method="xml" + encoding="ISO-8859-1" + indent="yes" + doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> <xsl:variable name="href_base" select="''"/> - <xsl:variable name="menu_name">Main Menu</xsl:variable> -<!-- - - returns the filename associated to an ID in the original file - --> - <xsl:template name="filename"> - <xsl:param name="name" select="string(@href)"/> - <xsl:choose> - <xsl:when test="$name = '#Introducti'"> - <xsl:text>intro.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Documentat'"> - <xsl:text>docs.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Reporting'"> - <xsl:text>development.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#help'"> - <xsl:text>help.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Help'"> - <xsl:text>help.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Errors'"> - <xsl:text>errors.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Downloads'"> - <xsl:text>downloads.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#News'"> - <xsl:text>news.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Contributi'"> - <xsl:text>development.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#architecture'"> - <xsl:text>architecture.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#FAQ'"> - <xsl:text>FAQ.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Platforms'"> - <xsl:text>platforms.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Schema'"> - <xsl:text>schema.html</xsl:text> - </xsl:when> - <xsl:when test="$name = '#Patches'"> - <xsl:text>patches.html</xsl:text> - </xsl:when> - <xsl:when test="$name = ''"> - <xsl:text>unknown.html</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$name"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> -<!-- - - The global title - --> - <xsl:variable name="globaltitle" select="string(/html/body/h1[1])"/> -<!-- - the main menu box - --> - <xsl:template name="linkList"> - <div class="linkList2"> - <div class="llinks2"> - <h3 class="links2"><span>main menu</span></h3> - <ul> - <li><a href="{$href_base}index.html">Home</a></li> - <xsl:for-each select="/html/body/h2"> - <xsl:variable name="filename"> - <xsl:call-template name="filename"> - <xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/> - </xsl:call-template> - </xsl:variable> - <xsl:if test="$filename != ''"> - <li> - <xsl:element name="a"> - <xsl:attribute name="href"> - <xsl:value-of select="$filename"/> - </xsl:attribute> - <xsl:if test="$filename = 'docs.html'"> - <xsl:attribute name="style">font-weight:bold</xsl:attribute> - </xsl:if> - <xsl:value-of select="."/> - </xsl:element> - </li> - </xsl:if> - </xsl:for-each> - </ul> - </div> - <div class="llinks2"> - <h3 class="links2"><span>related links</span></h3> - <ul> - <li> <a href="https://www.redhat.com/mailman/listinfo/libvirt-cim/">Mailing list</a></li> - <li> <a href="http://libvirt.org/">libvirt</a></li> - <li><a href="http://xmlsoft.org/"> <img src="http://libvirt.org/Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li> - </ul> - <p class='credits'>Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p> - </div> - </div> + <xsl:template match="/"> + <xsl:apply-templates select="." mode="page"> + <xsl:with-param name="pagename" select="$pagename"/> + </xsl:apply-templates> </xsl:template> -<!-- - the page title - --> - - <xsl:template name="titlebox"> - <xsl:param name="title"/> - <h1 class="style1"><xsl:value-of select="$title"/></h1> - </xsl:template> - -<!-- - - Write the styles in the head - --> - <xsl:template name="style"> - <link rel="stylesheet" type="text/css" href="http://libvirt.org/libvirt.css" /> - <link rel="SHORTCUT ICON" href="/32favicon.png" /> - </xsl:template> - -<!-- - - The top section - --> - <xsl:template name="top"> - <div id="top"> - <img src="{$href_base}libvirtHeader.png" alt="Libvirt the virtualization API" /> - </div> - </xsl:template> - -<!-- - - The top section for the main page - --> - <xsl:template name="topmain"> - <div id="topmain"> - <img src="{$href_base}libvirtLogo.png" alt="Libvirt the virtualization API" /> - </div> - </xsl:template> - -<!-- - - The bottom section - --> - <xsl:template name="bottom"> - <div id="bottom"> - <p class="p1"></p> - </div> - </xsl:template> - -<!-- - - Handling of nodes in the body after an H2 - - Open a new file and dump all the siblings up to the next H2 - --> - <xsl:template name="subfile"> - <xsl:param name="header" select="following-sibling::h2[1]"/> - <xsl:variable name="filename"> - <xsl:call-template name="filename"> - <xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="title"> - <xsl:value-of select="$header"/> - </xsl:variable> - <xsl:document href="{$filename}" method="xml" encoding="ISO-8859-1" - doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" - doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html> - <head> - <xsl:call-template name="style"/> - <xsl:element name="title"> - <xsl:value-of select="$title"/> - </xsl:element> - </head> - <body> - <div id="container"> - <div id="intro"> - <div id="adjustments"/> - <div id="pageHeader"/> - <div id="content2"> - <xsl:call-template name="titlebox"> - <xsl:with-param name="title" select="$title"/> - </xsl:call-template> - <xsl:apply-templates mode="subfile" select="$header/following-sibling::*[preceding-sibling::h2[1] = $header and name() != 'h2' ]"/> - </div> - </div> - <xsl:call-template name="linkList"/> - <xsl:call-template name="bottom"/> - </div> - </body> - </html> - </xsl:document> - </xsl:template> - - <xsl:template mode="subcontent" match="@*|node()"> - <xsl:copy> - <xsl:apply-templates mode="subcontent" select="@*|node()"/> - </xsl:copy> - </xsl:template> - - <xsl:template mode="content" match="@*|node()"> - <xsl:if test="name() != 'h1' and name() != 'h2'"> - <xsl:copy> - <xsl:apply-templates mode="subcontent" select="@*|node()"/> - </xsl:copy> - </xsl:if> - </xsl:template> - - <xsl:template mode="subfile" match="@*|node()"> - <xsl:copy> - <xsl:apply-templates mode="content" select="@*|node()"/> - </xsl:copy> - </xsl:template> - -<!-- - - Handling of the initial body and head HTML document - --> - <xsl:template match="body"> - <xsl:variable name="firsth2" select="./h2[1]"/> - <body> - <div id="container"> - <div id="intro"> - <div id="adjustments"> - <p class="p1"></p> - </div> - <div id="content"> - <xsl:apply-templates mode="content" select="($firsth2/preceding-sibling::*)"/> - <xsl:for-each select="./h2"> - <xsl:call-template name="subfile"> - <xsl:with-param name="header" select="."/> - </xsl:call-template> - </xsl:for-each> - </div> - </div> - <xsl:call-template name="linkList"/> - <xsl:call-template name="bottom"/> - </div> - </body> - </xsl:template> - <xsl:template match="head"> - </xsl:template> - <xsl:template match="html"> - <xsl:message>Generating the Web pages</xsl:message> - <html> - <head> - <xsl:call-template name="style"/> - <title>the virtualization API</title> - </head> - <xsl:apply-templates/> - </html> - </xsl:template> </xsl:stylesheet> diff -r bd075f76943a -r 9616af4ad234 doc/sitemap.html.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/sitemap.html.in Thu May 01 14:34:31 2008 -0400 @@ -0,0 +1,50 @@ +<html> + <body> + <h1>Sitemap</h1> + + <div id="sitemap"> + <ul> + <li> + <a href="index.html">CIM</a> + <span>The libvirt-cim CIM providers</span> + <ul> + <li> + <a href="releases.html">Releases</a> + <span>Official releases</span> + </li> + <li> + <a href="downloads.html">Downloads</a> + <span>Development code</span> + </li> + <li> + <a href="patches.html">Patches</a> + <span>How to contribute</span> + </li> + <li> + <a href="schema.html">Schema</a> + <span>Required CIM Schema for the providers</span> + </li> + <li> + <a href="platforms.html">Platform Support</a> + <span>Target platforms</span> + </li> + <li> + <a href="architecture.html">Architecture</a> + <span>Basic code structure</span> + </li> + <li> + <a href="https://www.redhat.com/mailman/listinfo/libvirt-cim/"> + Mailing List + </a> + <span>Report bugs, discuss development</span> + </li> + </ul> + </li> + <li> + <a href="sitemap.html">Sitemap</a> + <span>Overview of all content on the website</span> + </li> + </ul> + </div> + </body> +</html>

Jay Gagnon wrote:
# HG changeset patch # User Jay Gagnon <grendel@linux.vnet.ibm.com> # Date 1209666871 14400 # Node ID 9616af4ad2341ecb47dc0b139017636d14e0e86a # Parent bd075f76943a0facc8aa69d7788f3d6a1a2f8d8c Update web content to match libvirt.org
Signed-off-by: Jay Gagnon <grendel@linux.vnet.ibm.com>
My apologies for sending such a monstrosity to the list. I just didn't have the energy to try and clean it up after I finished it. Besides, reading this by hand is awful; I'd just request that somebody import it, run make, and check the pages in firefox. I'm also not entirely sure if this is the right way to do it to integrate it with the libvirt.org tree, but I imagine any changes will just be some small makefile/directory structure things, which we can get some advice on. -- -Jay

JG> # HG changeset patch JG> # User Jay Gagnon <grendel@linux.vnet.ibm.com> JG> # Date 1209666871 14400 JG> # Node ID 9616af4ad2341ecb47dc0b139017636d14e0e86a JG> # Parent bd075f76943a0facc8aa69d7788f3d6a1a2f8d8c JG> Update web content to match libvirt.org I applied and 'make' at the toplevel eventually gives me this: Making all in doc make[2]: Entering directory `/home/dan/devel/libvirt-cim/doc' make[2]: *** No rule to make target `all'. Stop. make[2]: Leaving directory `/home/dan/devel/libvirt-cim/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/dan/devel/libvirt-cim' make: *** [all] Error 2 -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@us.ibm.com
participants (2)
-
Dan Smith
-
Jay Gagnon