Ñò i'dWc@sdddkZddkZddkiZddklZddklZdei fd„ƒYZ dS(iÿÿÿÿN(tPopen(tZvolt UpdateDumpAdmcBs,eZdZd„Zd„Zed„ZRS(ssICT checkpoint class updates the dumpadm.conf file to customize it according to the install parameters. cCstt|ƒi|ƒdS(s£Initializes the class Parameters: -name - this arg is required by the AbstractCheckpoint and is not used. N(tsuperRt__init__(tselftname((s../update_dumpadm.pyR&scCstƒ}|iidtƒ}g}|D]!}|idjo ||q)q)~}xs|D]k}|id j o<tii d|i ƒ}|i i d|ƒ|i |ƒqZ|i i dt|ƒƒqZW|o0t|ƒdjotd|ƒ‚n|dSd S( sÆ Returns the dump zvol device specified in the desired target tree. If no dump zvols specified, return None If more than one dump zvol specified, raise RuntimeError. t class_typetdumps /dev/zvol/dsksFound dump zvol %ss#Unable to determine path to zvol %sisMultiple dump devices found: %siN(tlistttargettget_descendantsRtusetparenttNonetostpathtjoint full_realnametloggertdebugtappendtstrtlent RuntimeError(Rt dump_devicestzvolst_[1]tzvolt dump_zvolst dump_zvolt zvol_path((s../update_dumpadm.pyt_get_dump_device.s$ 5    cCs‡|iƒ|iƒ}|oftid|id|g}|iid|ƒ|p,ti|dti dti d|iƒqƒndS(s( The AbstractCheckpoint class requires this method in sub-classes. Updates the dumpadm.conf file using 'dumpadm -r' to customize it according to the install parameters. Parameters: - the dry_run keyword parameter. The default value is False. If set to True, the log message provides the steps that would be run for the checkpoint. Returns: - Nothing On failure, errors raised are managed by the engine. s-rs-ds Executing: %ststdouttstderrRN( t parse_docR tICTtDUMPADMt target_dirRRRt check_calltSTORE(Rtdry_runt dump_devicetcmd((s../update_dumpadm.pytexecuteMs  (t__name__t __module__t__doc__RR tFalseR,(((s../update_dumpadm.pyR"s  ( Rtshutiltsolaris_install.icttictR$tsolaris_installRtsolaris_install.target.logicalRt ICTBaseClassR(((s../update_dumpadm.pyts