ࡱ> Y[XM bjbj== ZWWBl8 /2.......$E0 e2..n.nnn.n.nn$:(,.) bh( .)d.0/(R 3n 3.)nData Points for Testing Migration Initial Contributors: Rob Diebboll, Jay Wolf, Steve McAfee, Saeed, Rich M., Bob Keville, Joe K. Document checked in as: $TOP/misc/specs/product/octopus/DB_56_approach_TestingMigration.doc Changes: 10-29-02keefAdded Smart Diff section.10-29-02keefInitial Version. Overview Engineering was asked by QA to provide some knowledge about customer data that could break migration. Although the migrations that we are current considered are shown below, most of the information contained in this document is probably of general use and could be re-used for Moby and beyond. 4.8 ( 5.6 5.02 ( 5.6 5.5 ( 5.6 QA will probably need three master migration databases for doing this testing. One 4.8 database (from a real system that polls), one 5.02 database (which is not just a migrated 4.8 database and which is polling in 5.02), and one 5.5 database (a true 5.5 database, not just a migrated 4.8 one). The data points summarized below are data-related variations that may possibly be detected by normal QA methods (MAT, SMOKE, FAT, etc.) but which must be carefully constructed in the source database prior to migration (using the UI, config files, DDI, or SQL statements). Data Points POLLER CONFIG Variations CommentsAliasesNull, same as name, different than nameUse the UILatencyNo latency, Dev, Part, DisabledAsk the poller teamNMS Key/StateActive, DeletedAsk the poller teamDeleted ElementsDelete using the UIStore_in_db0, 1, 2 (cisco ping)Use SQL to force a 2Monitor_le0, 1, badUse SQL to force bad dataFull_duplex0, 1, badUse SQL to force bad dataInc_in_lw_rpts0, 1, badUse SQL to force bad dataMtf_nameGood data, bad dataUse SQL to force bad dataCustomer typesVarious OMX filesCustom variablesVarious USR filesIf needed, ask Rob DiebbollAssocs with bad element_IdsUse SQL to force bad data STATS Variations CommentsStats0 dataIndexed, non-indexed, and DUPLICATESUse SQL to force bad dataStats1 and Stats2 dataNormal rollup data DAC TABLES Variations CommentsNH_RPT_CONFIGInclude refs that dont existIf needed, ask Jay for helpNH_DA_QUEUEInclude DACs that dont existIf needed, ask Jay for help LE Variations CommentsNH_SUBJECTInclude one referring to a deleted group (PT25809)If needed, ask Rob DiebbollProfile AssociationsInclude one with a deleted group, Include one with a deleted profileIf needed, ask Rich MitchellAlarmsInclude alarms against deprecated system rulesAsk Jay to identify which system rules have been deprecatedLE NotifierInclude notifier rules against deleted groups and against deprecated alarm rules.If needed, ask Rich Mitchell TA Variations CommentsDLG dataGood data, Data with bad NAPsUse SQL to force bad dataAddressesAddresses with bad NodeIdsNAPsNAPs with bad AddressIdsDlg PollerMake sure its polling after migration MISC Variations CommentsMyHealth ReportWith deleted group (PT23703)If needed, ask Rob Diebboll Sanity Checks In addition to running MATs, SMOKEs, FATs, etc. on the migrated database, we feel it would be useful for QA to: Ensure that everything that was polling before migration is still polling after the migration. Ensure that all the indexes exist that should exist (this id difficult to do without a tool from the db group). Ensure that all the schedule jobs before/after are the same. Ensure that all row counts (in key tables) are the same before/after. Ensure that HDL table contains the same seed numbers before/after migration. Dual Migration Test While discussing migration and the ability to test that a migration was successful, we thought it would be useful to attempt two different migrations (at some point) and validate that they give identical results: Start out with the appropriate 4.8 master database that manifests all the data points (described above) migrate it to 5.5 (not 5.6) Do another system (or the same system with a different database) and migrate 4.8 straight to 5.6 Smartly diff the two resulting 5.6 systems (i.e. the databases): they really should be identical (see DUAL in the Smart Diff section below) Comparison Against Octopus Virgin Install There are things that can (and should) be compared between a migrated (and/or upgraded) system to a virgin Octopus install from the same kit. See VIRGIN in the Smart Diff section below. Smart Diff The following table shows things that can be compared between two systems. When DUAL column is checked, it means that the Dual Migration Test should yield the same result. When the VIRGIN column is checked, it means that any migrated database should yield the same result as a virgin 5.6 installation. Source of Report  DUAL VIRGIN ORACLE LIST OF USER TABLES: select table_name from user_tables order by table_name;  X X ORACLE LIST OF TABLE COLUMNS + DATATYPES: select table_name, column_name, data_type, data_length, data_precision from user_tab_columns order by table_name, column_name;  X X ROW COUNTS OF ALL THE EHEALTH TABLES: ~jkuefler/bin/count NH%  X - BASIC DUMP OF eHEALTH CONFIG: nhExportConfig -sections Elements,ElementGroups|, (everything)  X - DUMP OF CONCORD DBID SEED TABLE: select * from HDL order by 1;  X - EHealth Scheduled jobs (not sure how to dump these)  X - SNAPSHOT OF WHAT NHI PROCESSES ARE RUNNING: Sun: /bin/ps ef | grep nhi | grep v grep | cut -c48- Hp: /bin/ps ef | grep nhi | grep v grep | cut -c49-  X - Joe Kuefler Data Points for Testing Migration Page -  PAGE 1 qr|} u . pqrGK}0JmHnHu0J j0JU5OJQJ\^J OJQJ^J5\6] jmHnHu>"#$c~$$IflF8X 80X 6    4 lal  !$If$If $$Ifa$ !23456789Bgeeeeeec~$$IflF8X 80X 6    4 lal  !$If$If $$Ifa$ BClmw$If  0 ; tnn$If  !$If$$IflpF ,"   06    4 la; < D e y yyy$If$$Ifl?F ,"   06    4 lay z  {{{{{{{{{{$If~$$IflF ,"   06    4 la " < = I S m n } {{{~$$IflF ,"   06    4 la$If  < = Y Z t u | {{{{{{{{{x{$If~$$IflF ,"   06    4 la| y0$$IflyF ,"   06    4 la$If  # - {{{{{{$If~$$IflF ,"   06    4 la- . < Z v $yyy$If$$IflyF ,"   06    4 lav w {{{l{{{$If~$$IflF ,"   06    4 la  3 lyyy$If$$IflyF ,"   06    4 la3 4 I +}{{{{{{{{{l{$If~$$IflF ,"   06    4 lay$$IflyF ,"   06    4 la$If$=>?JKq{{{{{{{{p  !$If$If~$$IflF ,"   06    4 la qrxt{{{$If~$$IflF ,"   06    4 la(yyy$If$$IflyF ,"   06    4 la[\+h}xxxxx & F~$$IflF ,"   06    4 la TpabcdePQRSU`a & Frllfl$If$If~$$IflF'*06    4 la $$Ifa$$If FGxrrrlr$If$If~$$IflF'*06    4 la $$Ifa$  "v pppp$If$$IflF'*06    4 la $$Ifa$ "#BC{{{rrrr,{{{{ $$Ifa$$If~$$IflF'*06    4 la p$$IflF'*06    4 la $$Ifa$$If EFK}~vppppppppp$If$$IflF'*06    4 la $$Ifa$ vttttr$$IflF'*06    4 la $$Ifa$ / =!"#$% i0@0 Normal_HmH sH tH 0@0 Heading 1$@&CJ$2@2 Heading 2$@&5\<A@< Default Paragraph Font,@, Header  !, @, Footer  !&)@& Page Number8B`"8 Body Text5OJQJ\^J Z"#$!23456789BClmw0;<Deyz  "<=ISmn} <=YZtu|   #-.<Zvw 3 4 I   + }     $ = > ? J K q r x [ \ + h TpabcdePQRSU`aFG"#BCEFK}~00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0  0  0  0  0  0 0 0 0 0 0 0 00 0 0  0  0  0  0 0000 0000000000000000000000000000000000000000000000000000000000000000000000000@0 0AAADB; y  | - v 3 q" !"#$%&'()*+,5<>D!`e [_ =Hn|=CMX" * 3 ;    # $ ( 2 < ? B     NXZegpz29CQ_uPRTV NTT[GM CQz33333333333Joseph Kuefler]C:\WINNT\Profiles\jkuefler\Application Data\Microsoft\Word\AutoRecovery save of Document4.asdJoseph Kuefler3U:\jkuefler\doc\DB_56_approach_TestingMigration.docJoseph Kuefler3U:\jkuefler\doc\DB_56_approach_TestingMigration.docJoseph Kuefler3U:\jkuefler\doc\DB_56_approach_TestingMigration.docJoseph KueflersC:\WINNT\Profiles\jkuefler\Application Data\Microsoft\Word\AutoRecovery save of DB_56_approach_TestingMigration.asdJoseph KueflersC:\WINNT\Profiles\jkuefler\Application Data\Microsoft\Word\AutoRecovery save of DB_56_approach_TestingMigration.asdJoseph KueflersC:\WINNT\Profiles\jkuefler\Application Data\Microsoft\Word\AutoRecovery save of DB_56_approach_TestingMigration.asdJoseph KueflersC:\WINNT\Profiles\jkuefler\Application Data\Microsoft\Word\AutoRecovery save of DB_56_approach_TestingMigration.asdJoseph Kuefler3U:\jkuefler\doc\DB_56_approach_TestingMigration.docJoseph Kuefler3U:\jkuefler\doc\DB_56_approach_TestingMigration.doc^ZVm7}A\qh ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.}A^Z                  !23r}0;<Deyz  "<=ISmn} <=YZtu|   #-.<Zvw 3 4 I   + }     $ = > ? J K q r x "#@ =X @UnknownGz Times New Roman5Symbol3& z Arial;Wingdings?5 z Courier New"qhEj&jF0% &!20  2Q!Data Points for Testing MigrationJoseph KueflerJoseph KueflerOh+'0 ,8 T ` lx"Data Points for Testing MigrationosataJoseph Kuefler oseose Normal.dotlJoseph Kuefler 5seMicrosoft Word 9.0t@ @.~@-h%՜.+,0  hp  Concord&   "Data Points for Testing Migration Title  !"#$%&'()*+,-/0123456789:;<=>?@ABCDEFGIJKLMNOQRSTUVWZRoot Entry F0h\1Table. 3WordDocumentZSummaryInformation(HDocumentSummaryInformation8PCompObjjObjectPool0h0h  FMicrosoft Word Document MSWordDocWord.Document.89q