# MCldom.ctl:272: Collects Logical Domains Information # $Id: MCldom.ctl,v 1.13 2015/05/29 11:41:06 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/EXPLORER/MCldom.ctl,v 1.13 2015/05/29 11:41:06 RDA Exp $ # # Change History # 20150527 KRA Improve the documentation. =head1 NAME EXPLORER:MCldom - Collects Logical Domains Information =head1 DESCRIPTION Collects information on Logical Domains. =cut use Mrc # Initialization var $VALIDATE = true keep $VALIDATE section begin var $ERR = '---## Associated Errors' var $TOC = '%TOC%' var $TOP = '[[#Top][Back to top]]' run EXPLORER:XPLRlib('ldom') #------------------------------------------------------------------------------ # XPLR_ldom section #------------------------------------------------------------------------------ section XPLR_ldom # Validate the execution context call log_run('Processing LDOM sections ...') if !is_pkg_installed('SUNWldm') return log_info('SUNWldm not installed') =head2 ldom - Logical Domains Information Gathers the Logical Domain information using the following commands: =over 2 =item o C =item o C<${LDM}/opt/SUNWldm/bin/ldm -V> =item o C<${LDM}/opt/SUNWldm/bin/ldm list> =item o C<${LDM}/opt/SUNWldm/bin/ldm list -l> =item o C<${LDM}/opt/SUNWldm/bin/ldm list -l -p> =item o C<${LDM}/opt/SUNWldm/bin/ldm list -o core> =item o C<${LDM}/opt/SUNWldm/bin/ldm list -o disk> =item o C<${LDM}/opt/SUNWldm/bin/ldm list -o network> =item o C<${LDM}/opt/SUNWldm/bin/ldm list -o physio> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-bindings -e> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-bindings primary> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-constraints> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-constraints -p> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-constraints -x> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-dependencies -l> (LDOM 3.2 and later) =item o C<${LDM}/opt/SUNWldm/bin/ldm list-dependencies -l -p> (LDOM 3.2 and later) =item o C<${LDM}/opt/SUNWldm/bin/ldm list-devices> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-devices -a> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-devices cpu> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-devices io> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-devices mau> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-devices memory> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-io -l> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-netdev> (LDOM 3.2 and later) =item o C<${LDM}/opt/SUNWldm/bin/ldm list-netstat> (LDOM 3.2 and later) =item o C<${LDM}/opt/SUNWldm/bin/ldm list-permits> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-rsrc-group -l> (LDOM 3.2 and later) =item o C<${LDM}/opt/SUNWldm/bin/ldm list-services> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-spconfig> =item o C<${LDM}/opt/SUNWldm/bin/ldm list-variable primary> =item o C<${LDM}/opt/SUNWldm/bin/ldm ls-dom> =item o C<${LDM}/opt/SUNWldm/bin/ldm ls-dom -l> =item o C<${LDM}/opt/SUNWldm/bin/ldm ls-dom -p> =item o C<${LDM}/opt/SUNWldm/bin/ldm ls-io> =back where C<${LDM}> is obtained from the output of command: C Collects the following Files: =over 2 =item o F =item o F =back =cut debug ' Inside LDOM collection, gathering logical domains information' pretoc '2:Logical Domains' report ldom title '---+!! Logical Domains Information' title $TOC # Determine the program path and collect command outputs if ?$dir = get_pkg_base('SUNWldm','opt/SUNWldm/bin') {if ?testFile('x',$ldm = catFile($dir,'ldm')) {call do_exec(\ ['ldom/ldm_-V',\ $ldm,'-V',\ '---+ LDOM Software Version Information',\ {out=>{tag=>'_ldom_ldm_V_'}}],\ ['ldom/ldm_list',\ $ldm,'list',\ '---+ Domains - Short Listing'],\ ['ldom/ldm_list-bindings_-e',\ $ldm,'list-bindings -e',\ '---+ LDOM Device Binding Including the LDC Id'],\ ['ldom/ldm_list-bindings_primary',\ $ldm,'list-bindings primary',\ '---+ Bound Resources'],\ ['ldom/ldm_list-constraints',\ $ldm,'list-constraints',\ '---+ Constraints'],\ ['ldom/ldm_list-constraints_-p',\ $ldm,'list-constraints -p',\ '---+ Constraints in Paseable Format'],\ ['ldom/ldm_list-constraints_-x',\ $ldm,'list-constraints -x',\ '---+ Constraints in XML format'],\ ['ldom/ldm_list-devices',\ $ldm,'list-devices',\ '---+ All Server Resources'],\ ['ldom/ldm_list-devices_cpu',\ $ldm,'list-devices cpu',\ '---+ CPU Resources'],\ ['ldom/ldm_list-devices_io',\ $ldm,'list-devices io',\ '---+ Input/Output Resources'],\ ['ldom/ldm_list-devices_mau',\ $ldm,'list-devices mau',\ '---+ Modular Arithmetic Unit Resources'],\ ['ldom/ldm_list-devices_memory',\ $ldm,'list-devices memory',\ '---+ Memory Resources'],\ ['ldom/ldm_list-permits',\ $ldm,'list-permits',\ '---+ Permit information for CPU cores'],\ ['ldom/ldm_list-services',\ $ldm,'list-services',\ '---+ Exported Services'],\ ['ldom/ldm_list-spconfig',\ $ldm,'list-spconfig',\ '---+ Service Processor'],\ ['ldom/ldm_list-variable_primary',\ $ldm,'list-variable primary',\ '---+ Variables and Values'],\ ['ldom/ldm_ls-io',\ $ldm,'ls-io',\ '---+ List of I/O Devices'],\ ['ldom/ldm_ls-dom',\ $ldm,'ls-dom',\ '---+ Logical Domains'],\ ['ldom/ldm_ls-dom_-l',\ $ldm,'ls-dom -l',\ '---+ Logical Domains - Long Listing'],\ ['ldom/ldm_ls-dom_-p',\ $ldm,'ls-dom -p',\ '---+ Logical Domains - Parseable Format'],\ ['ldom/ldm_list_-o_ core',\ $ldm,'list -o core',\ '---+ LDOM Core Assignment'],\ ['ldom/ldm_list_-o_ disk',\ $ldm,'list -o disk',\ '---+ LDOM VDS and VDISK Assignment and Configuration'],\ ['ldom/ldm_list_-o_ network',\ $ldm,'list -o network',\ '---+ LDOM VSW and Net Configuration'],\ ['ldom/ldm_list_-o_physio',\ $ldm,'list -o physio',\ '---+ Peripheral Component Interconnect (PCI) and Network Interface Unit \ (NIU)'],\ ['ldom/ldm_list-io_-l',\ $ldm,'list-io -l',\ '---+ Sub-Devices Hosted by Direct I/O-Assignable Devices'],\ {cmd => 'LN',\ nam => 'ldom/ldm_list_-l.out',\ src => '../sysconfig/ldm_list_-l.out'},\ {cmd => 'LN',\ nam => 'ldom/ldm_list_-l_-p.out',\ src => '../sysconfig/ldm_list_-l_-p.out'},\ {cmd => 'LN',\ nam => 'ldom/ldm_list-devices_-a.out',\ src => '../sysconfig/ldm_list-devices_-a.out'}) var ($ver) = grepCommand({cmd=>join(' ',$ldm,'-V'),\ tag=>'_ldom_ldm_V_'},\ '^\s*Logical Domains Manager\s+\050v\s+(\d+(\.\d+)*)','1') if compare('VALID',$ver,'3.2') call do_exec(\ ['ldom/ldm_list-dependencies_-l',\ $ldm,'list-dependencies -l',\ '---+ Dependencies - Long Listing'],\ ['ldom/ldm_list-dependencies_-l_-p',\ $ldm,'list-dependencies -l -p',\ '---+ Dependencies - Long Listing - Parseable'],\ ['ldom/ldm_list-netdev',\ $ldm,'list-netdev',\ '---+ Network Devices'],\ ['ldom/ldm_list-netstat',\ $ldm,'list-netstat',\ '---+ Network Statistics'],\ ['ldom/ldm_list-rsrc-group_-l',\ $ldm,'list-rsrc-group -l',\ '---+ Resource Groups - Long Listing']) } if ?$pgm = testFile('x','/usr/bin/mdb') call do_exec(\ ['ldom/mdb-ldcinfo',$pgm,'-k',\ '---+ LDC status for LDOM configuration',\ {det => 'echo "::ldcinfo" | /usr/bin/mdb -k',\ req => {inp => "::ldcinfo\012",\ pre => "echo '::ldcinfo' |"}}]) } # Collect the files loop $rec (['ldom/ldom-db.xml',\ '/var/opt/SUNWldm/ldom-db.xml'],\ ['ldom/mac_allocation.xml',\ '/var/opt/SUNWldm/mac_allocation.xml']) {prefix {write '---+ Display of ',encode(basename($rec->[1])),' File' write '---## Information Taken from ',encode($rec->[1]) call addBlock('E','D',$rec->[0]) } call writeFile($rec->[1]) if hasOutput(true) write $TOP } # Add the report to the table of content if isCreated(true) toc '3:[[',getFile(),'][rda_report][Logical Domains Information]]' =head2 ldom_core - Logical Domains Core Files Gathers the following core files: =over 2 =item o F =item o F =item o F =item o F =item o F =back =cut debug ' Inside LDOM collection, gathering logical domains core files' report ldom_core prefix {write '---+!! Logical Domains Core Files' write ' * Links point to files that have been collected in their original \ format. Opening them directly in your browser can present risks. \ To prevent them, access the file outside the browser or use the \ link to save them and use an adequate viewer.' write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_fil(['ldom/core/core', '/var/opt/SUNWldm/core', true],\ ['ldom/core/core.1','/var/opt/SUNWldm/core.1',true],\ ['ldom/core/core.2','/var/opt/SUNWldm/core.2',true],\ ['ldom/core/core.3','/var/opt/SUNWldm/core.3',true],\ ['ldom/core/core.4','/var/opt/SUNWldm/core.4',true]) if isCreated(true) {write $TOP toc '3:[[',getFile(),'][rda_report][Logical Domains Core Files]]' } =head2 ldom_log - Virtual Console Log Files Gathers the virtual console log files from the F directory when available. =cut if ?testDir('d','/var/log/vntsd') {debug ' Inside LDOM collection, gathering virtual console log files' report ldom_log prefix {write '---+!! Virtual Console Log Files' write ' * Links point to files that have been collected in their original \ format. Opening them directly in your browser can present risks. \ To prevent them, access the file outside the browser or use the \ link to save them and use an adequate viewer.' write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_dir('ldom/log/vntsd','/var/log/vntsd',true) if isCreated(true) {write $TOP toc '3:[[',getFile(),'][rda_report][Virtual Console Log Files]]' } } unpretoc =head1 SEE ALSO L, L =head1 COPYRIGHT NOTICE Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. =head1 TRADEMARK NOTICE Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. =cut