131e2e63d2
Record offline 161 passed, green test-vsphere probes, and full pulumi-tests 7/7 with REST matrix 1987/1987 (critical=0); note the Terraform cookbook binary mismatch separately.
98 lines
13 KiB
HTML
98 lines
13 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8"/>
|
||
<title>pulumi hybrid lab report</title>
|
||
<style>
|
||
:root {
|
||
--bg:#0f1419; --panel:#1a222c; --text:#e7eef7; --muted:#9aa8b8;
|
||
--ok:#3dd68c; --fail:#ff6b6b; --skip:#f0c14a; --line:#2a3542; --accent:#5b9fd4;
|
||
}
|
||
body { margin:0; font-family:"IBM Plex Sans","Segoe UI",sans-serif; background:var(--bg); color:var(--text); }
|
||
header, main { max-width:1200px; margin:0 auto; padding:1.5rem; }
|
||
h1 { margin:0 0 .4rem; }
|
||
h2 { margin:1.75rem 0 .6rem; color:var(--accent); }
|
||
h3 { margin:1rem 0 .4rem; font-size:1rem; color:var(--muted); }
|
||
.meta { color:var(--muted); }
|
||
.summary { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin:1rem 0 1.5rem; }
|
||
.stat { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1rem; }
|
||
.stat strong { display:block; font-size:1.5rem; margin-top:.25rem; }
|
||
.ok strong { color:var(--ok); } .fail strong { color:var(--fail); } .skip strong { color:var(--skip); }
|
||
table { width:100%; border-collapse:collapse; background:var(--panel); border:1px solid var(--line);
|
||
border-radius:12px; overflow:hidden; margin-bottom:1rem; }
|
||
th, td { padding:.55rem .65rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; font-size:.9rem; }
|
||
th { color:var(--accent); }
|
||
tr.failed td:nth-child(3) { color:var(--fail); font-weight:600; }
|
||
tr.passed td:nth-child(3) { color:var(--ok); }
|
||
tr.skipped td:nth-child(3) { color:var(--skip); }
|
||
code { font-family:ui-monospace,Menlo,monospace; font-size:.8rem; }
|
||
.outs, .err { word-break:break-word; }
|
||
.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-bottom:1rem; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<h1>pulumi hybrid lab suite</h1>
|
||
<div class="meta">Generated 2026-07-18T06:12:31.657947+00:00 · server api-gateway
|
||
· base https://api-gateway
|
||
· smoke=False</div>
|
||
</header>
|
||
<main>
|
||
<section class="summary">
|
||
<div class="stat"><span>Cases</span><strong>7</strong></div>
|
||
<div class="stat ok"><span>Passed</span><strong>7</strong></div>
|
||
<div class="stat fail"><span>Failed</span><strong>0</strong></div>
|
||
<div class="stat skip"><span>Skipped</span><strong>0</strong></div>
|
||
</section>
|
||
<section class="metrics">
|
||
<div class="stat"><span>REST failed</span><strong>0</strong>
|
||
<span class="meta"> / 1987 probes</span></div>
|
||
<div class="stat"><span>CRUD failed</span><strong>0</strong>
|
||
<span class="meta"> / 5 flows</span></div>
|
||
<div class="stat"><span>SOAP failed</span><strong>0</strong>
|
||
<span class="meta"> / 44 ops</span></div>
|
||
</section>
|
||
<h2>Suite cases</h2>
|
||
<table>
|
||
<thead><tr><th>ID</th><th>Title</th><th>Status</th><th>Outputs</th><th>Error</th></tr></thead>
|
||
<tbody><tr class='passed'><td>PU-INV</td><td>Inventory data sources (dc/cluster/ds/net/vm/host/folder/pool)</td><td>passed</td><td class='outs'><code>cluster_id</code>=domain-c21<br/><code>cluster_name</code>=Cluster<br/><code>cluster_resource_pool_id</code>=resgroup-22<br/><code>datacenter_id</code>=datacenter-21<br/><code>datacenter_name</code>=Datacenter<br/><code>datastore_id</code>=datastore-31<br/><code>datastore_name</code>=datastore1<br/><code>folder_id</code>=group-v100<br/><code>folder_path</code>=/Datacenter/vm/production<br/><code>host_id</code>=host-11<br/><code>host_name</code>=esxi01.lab.local<br/><code>network_id</code>=network-41<br/><code>network_name</code>=VM Network<br/><code>resource_pool_id</code>=resgroup-22<br/><code>resource_pool_name</code>=Cluster/Resources<br/><code>vm_id</code>=4200aaaa-bbbb-cccc-dddd-000000000101<br/><code>vm_name</code>=web-01</td><td class='err'>—</td></tr><tr class='passed'><td>PU-FOLDER</td><td>Folder create/destroy</td><td>passed</td><td class='outs'><code>datacenter_id</code>=datacenter-21<br/><code>folder_id</code>=group-8b2a68<br/><code>folder_path</code>=pulumi-folder-7ee0f4fd</td><td class='err'>—</td></tr><tr class='passed'><td>PU-VM</td><td>VirtualMachine create/destroy</td><td>passed</td><td class='outs'><code>datastore_id</code>=datastore-31<br/><code>lab_vm_id</code>=4200aaaa-bbbb-cccc-dddd-000000000151<br/><code>lab_vm_name</code>=pulumi-lab-7bc84995<br/><code>network_id</code>=network-41<br/><code>resource_pool_id</code>=resgroup-22</td><td class='err'>—</td></tr><tr class='passed'><td>PU-TAG</td><td>TagCategory + Tag create/destroy</td><td>passed</td><td class='outs'><code>category_id</code>=urn:vmomi:InventoryServiceCategory:3070f3744accd472:GLOBAL<br/><code>category_name</code>=pulumi-cat-32857be7<br/><code>tag_id</code>=urn:vmomi:InventoryServiceTag:f1722581807beddf:GLOBAL<br/><code>tag_name</code>=pulumi-tag-32857be7</td><td class='err'>—</td></tr><tr class='passed'><td>PU-REST</td><td>REST HTTP matrix majors=[6, 7, 8, 9] (IMPLEMENTED + HEAD; Layer A)</td><td>passed</td><td class='outs'><code>coverage</code>=1987/1987<br/><code>critical</code>=0<br/><code>probed</code>=1987<br/><code>declared</code>=1987<br/><code>by_verb</code>={'GET': 682, 'HEAD': 682, 'POST': 301, 'DELETE': 135, 'PATCH': 91, 'PUT': 96}<br/><code>majors</code>=[6, 7, 8, 9]</td><td class='err'>—</td></tr><tr class='passed'><td>PU-CRUD</td><td>Deep REST CRUD (session/folder/tag/library/vm)</td><td>passed</td><td class='outs'><code>total</code>=5<br/><code>failed</code>=0<br/><code>flows</code>=['session', 'folder', 'tagging', 'content-library', 'vm']</td><td class='err'>—</td></tr><tr class='passed'><td>PU-SOAP</td><td>SOAP WSDL ops (44 operations)</td><td>passed</td><td class='outs'><code>total</code>=44<br/><code>failed</code>=0<br/><code>wsdl_ops</code>=44</td><td class='err'>—</td></tr></tbody>
|
||
</table>
|
||
|
||
<h2>REST HTTP contract matrix (Layer A)</h2>
|
||
<p class="meta"><strong>coverage 1987/1987</strong>
|
||
· critical=0
|
||
· probed=1987
|
||
· declared=1987
|
||
· verbs: DELETE=135 · GET=682 · HEAD=682 · PATCH=91 · POST=301 · PUT=96
|
||
<br/>100% = HTTP matrix (IMPLEMENTED × majors + HEAD), not pulumi-vsphere resource count.</p>
|
||
<table>
|
||
<thead><tr><th>Major</th><th>Version</th><th>Declared</th><th>Probed</th><th>Coverage</th>
|
||
<th>Critical</th><th>2xx</th><th>4xx</th><th>5xx</th><th>deep/stub</th></tr></thead>
|
||
<tbody><tr><td>6</td><td>7.0.0</td><td>52</td><td>52</td><td>52/52</td><td>0</td><td>47</td><td>5</td><td>0</td><td>52/0</td></tr><tr><td>7</td><td>7.0.3</td><td>117</td><td>117</td><td>117/117</td><td>0</td><td>98</td><td>19</td><td>0</td><td>117/0</td></tr><tr><td>8</td><td>8.0.0</td><td>170</td><td>170</td><td>170/170</td><td>0</td><td>147</td><td>23</td><td>0</td><td>170/0</td></tr><tr><td>9</td><td>8.0.2</td><td>1648</td><td>1648</td><td>1648/1648</td><td>0</td><td>1617</td><td>31</td><td>0</td><td>225/1423</td></tr></tbody>
|
||
</table>
|
||
<h3>REST critical failures (sample)</h3>
|
||
<table>
|
||
<thead><tr><th>Major</th><th>Verb</th><th>Path</th><th>Kind</th><th>Status</th><th>Detail</th></tr></thead>
|
||
<tbody><tr><td colspan="6">none</td></tr></tbody>
|
||
</table>
|
||
|
||
|
||
<h2>Deep REST CRUD</h2>
|
||
<p class="meta">total=5 · failed=0</p>
|
||
<table>
|
||
<thead><tr><th>Flow</th><th>Step</th><th>Status</th><th>Detail</th></tr></thead>
|
||
<tbody><tr class='passed'><td>session</td><td>done</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td>folder</td><td>done</td><td>passed</td><td class='err'>group-f69b97</td></tr><tr class='passed'><td>tagging</td><td>done</td><td>passed</td><td class='err'>urn:vmomi:InventoryServiceCategory:ae660bd2f74e6215:GLOBAL/urn:vmomi:InventoryServiceTag:a38524329d11df43:GLOBAL</td></tr><tr class='passed'><td>content-library</td><td>done</td><td>passed</td><td class='err'>lib-e9186bb2c6cb/item-4c7c9504b62d</td></tr><tr class='passed'><td>vm</td><td>done</td><td>passed</td><td class='err'>vm-160</td></tr></tbody>
|
||
</table>
|
||
|
||
|
||
<h2>SOAP WSDL ops</h2>
|
||
<p class="meta">total=44 · failed=0</p>
|
||
<table>
|
||
<thead><tr><th>Operation</th><th>HTTP</th><th>Status</th><th>Detail</th></tr></thead>
|
||
<tbody><tr class='passed'><td><code>RetrieveServiceContent</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>Login</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>Logout</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>RetrieveProperties</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>RetrievePropertiesEx</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>ContinueRetrievePropertiesEx</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CreateFilter</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>WaitForUpdatesEx</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CreateContainerView</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>DestroyPropertyFilter</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>FindByInventoryPath</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>FindByUuid</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>FindByDnsName</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>FindByIp</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>FindChild</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CreateVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CreateChildVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CreateFolder</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>PowerOnVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>PowerOffVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CloneVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CreateSnapshot_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>Rename_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>ReconfigVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>RelocateVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>Destroy_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CustomizeVM_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CancelTask</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CurrentTime</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>InitiateFileTransferToGuest</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>InitiateFileTransferFromGuest</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>ListFilesInGuest</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>DeleteFileInGuest</code></td><td>404</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>MakeDirectoryInGuest</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>ImportVApp_Task</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>CreateImportSpec</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>HttpNfcLeaseComplete</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>HttpNfcLeaseProgress</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>HttpNfcLeaseAbort</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>HttpNfcLeaseGetManifest</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>QueryConfigOption</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>QueryConfigOptionEx</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>QueryConfigOptionDescriptor</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr><tr class='passed'><td><code>QueryConfigTarget</code></td><td>200</td><td>passed</td><td class='err'>—</td></tr></tbody>
|
||
</table>
|
||
|
||
</main>
|
||
</body>
|
||
</html>
|