| 540 | | and here: |
| 541 | | {{{ |
| 542 | | http://datastore.ipp.ifa.hawaii.edu/IPP-MOPS-TEST/ |
| 543 | | }}} |
| 544 | | |
| 545 | | Bedtime! Will add some more details on Wednesday. |
| | 540 | and also with the datastore ipp IPP-MOPS-TEST |
| | 541 | |
| | 542 | UPDATE: A new and improved way of getting all the info: |
| | 543 | {{{ |
| | 544 | mysql -hscidbm --uXXXXXX -pXXXXXXX gpc1 -B -e "SELECT |
| | 545 | selchunk.chunk,selchunk.object,MAX(CASE WHEN selchunk.visit=1 THEN |
| | 546 | selchunk.warp_id ELSE 0 END) as warp1,MAX(CASE WHEN selchunk.visit=2 |
| | 547 | THEN selchunk.warp_id ELSE 0 END) as warp2,MAX(CASE WHEN |
| | 548 | selchunk.visit=3 THEN selchunk.warp_id ELSE 0 END) as warp3,MAX(CASE |
| | 549 | WHEN selchunk.visit=4 THEN selchunk.warp_id ELSE 0 END) as |
| | 550 | warp4,MAX(CASE WHEN diffchunk.visit=1 THEN diffchunk.diff_id ELSE 0 END) |
| | 551 | as diff1,MAX(CASE WHEN diffchunk.visit=2 THEN diffchunk.diff_id ELSE 0 |
| | 552 | END) as diff2,MAX(CASE WHEN diffchunk.visit=3 THEN diffchunk.diff_id |
| | 553 | ELSE 0 END) as diff3,MAX(CASE WHEN diffchunk.visit=4 THEN |
| | 554 | diffchunk.diff_id ELSE 0 END) as |
| | 555 | diff4,selchunk.workdir,selchunk.label,selchunk.data_group,selchunk.reduction |
| | 556 | FROM (SELECT SUBSTRING_INDEX(comment, ' ',1) AS |
| | 557 | chunk,SUBSTRING_INDEX(comment, ' ',-1) AS |
| | 558 | visit,object,warp_id,rawExp.workdir,chipRun.label,chipRun.data_group,rawExp.reduction |
| | 559 | FROM warpRun JOIN fakeRun USING (fake_id) JOIN camRun USING (cam_id) |
| | 560 | JOIN camProcessedExp USING (cam_id) JOIN chipRun USING (chip_id) JOIN |
| | 561 | rawExp USING (exp_id) WHERE rawExp.exp_name LIKE 'o%' AND rawExp.dateobs |
| | 562 | LIKE '`date -u "+%Y-%m-%d"`%' ORDER BY warp_id DESC) as selchunk LEFT |
| | 563 | JOIN (SELECT SUBSTRING_INDEX(comment, ' ',1) AS |
| | 564 | chunk,SUBSTRING_INDEX(comment, ' ',-1) AS visit, object,warp_id,diff_id |
| | 565 | FROM diffRun JOIN diffInputSkyfile USING (diff_id) JOIN warpRun ON |
| | 566 | (warp1=warp_id) JOIN fakeRun USING (fake_id) JOIN camRun USING (cam_id) |
| | 567 | JOIN camProcessedExp USING (cam_id) JOIN chipRun USING (chip_id) JOIN |
| | 568 | rawExp USING (exp_id) WHERE rawExp.exp_name LIKE 'o%' AND rawExp.dateobs |
| | 569 | LIKE '`date -u "+%Y-%m-%d"`%' AND stack2 IS NULL GROUP BY warp_id) as |
| | 570 | diffchunk ON selchunk.warp_id=diffchunk.warp_id GROUP BY |
| | 571 | selchunk.chunk,selchunk.object;" |
| | 572 | }}} |
| | 573 | |
| | 574 | A simple query to see the structure of the diffRun table. This is important as it shows the style required when running the difftool command: |
| | 575 | {{{ |
| | 576 | SELECT data_group, diff_id, dist_group, label, workdir, reduction FROM diffRun WHERE data_group LIKE "%20190501"; |
| | 577 | |
| | 578 | EXAMPLE: |
| | 579 | | OSS.20190501 | 1758779 | SweetSpot | OSS.nightlyscience | neb://@HOST@.0/gpc1/OSS.nt/2019/05/01 | SWEETSPOT | |
| | 580 | | OSS.20190501 | 1758780 | SweetSpot | OSS.nightlyscience | neb://@HOST@.0/gpc1/OSS.nt/2019/05/01 | SWEETSPOT | |
| | 581 | | OSS.20190501 | 1758781 | OSS.WS | OSS.WS.nightlyscience | neb://@HOST@.0/gpc1/OSS.WS.nightlyscience/2019/05/01 | SWEETSPOT_WS | |
| | 582 | | OSS.20190501 | 1758782 | OSS.WS | OSS.WS.nightlyscience | neb://@HOST@.0/gpc1/OSS.WS.nightlyscience/2019/05/01 | SWEETSPOT_WS | |
| | 583 | }}} |
| | 584 | So you can see there is a particular format to the workdir, different spellings of sweetspot for the reduction and dist_group etc. |
| | 585 | |
| | 586 | |
| | 591 | * EAM? 08:00 : running test processing on ippc128 - ippc150 as user ipptest (label is UNIONS.DR2.20190430). |
| | 592 | |
| | 593 | * CCL: touch /data/ipp123.0/nebulous/39/3c/10949746515.gpc2:20190117:o8500h0253o:o8500h0253o.ota64.fits time stamp changed |
| | 594 | |
| | 595 | |
| | 596 | JRF: The long night has come to a close, and I have modified last nights notes to be a little more coherent (and a few warnings have been included). |
| | 597 | |
| | 598 | |
| | 599 | ''' stuck stamp requests ''' by JRF |
| | 600 | |
| | 601 | Do the usual pstamp check: |
| | 602 | {{{ |
| | 603 | pstamptool -dbname ippRequestServer -dbserver ipp113 -pendingdependent -simple |
| | 604 | }}} |
| | 605 | To get a list of the problem warps and skycells. |
| | 606 | |
| | 607 | |
| | 608 | Just need to set them to update since they have been cleaned away |
| | 609 | {{{ |
| | 610 | chiptool -dbname gpc1 -setimfiletoupdate -set_label ps_ud_MOPS -chip_id |
| | 611 | warptool -dbname gpc1 -setskyfiletoupdate -set_label ps_ud_MOPS -warp_id |
| | 612 | }}} |
| | 613 | |
| | 614 | Run a typical query to see how they are doing: |
| | 615 | {{{ |
| | 616 | SELECT |
| | 617 | rawExp.exp_name,rawExp.exp_id, |
| | 618 | chipRun.chip_id, chipRun.state chip_state, chipRun.label chip_label, |
| | 619 | warpRun.warp_id,warpSkyfile.skycell_id,warpRun.state,warpRun.label |
| | 620 | FROM |
| | 621 | warpSkyfile, warpRun, fakeRun, camRun, chipRun, rawExp |
| | 622 | WHERE |
| | 623 | warpSkyfile.warp_id = warpRun.warp_id AND warpRun.fake_id = fakeRun.fake_id AND fakeRun.cam_id = camRun.cam_id AND camRun.chip_id = chipRun.chip_id AND chipRun.exp_id = rawExp.exp_id |
| | 624 | AND warpRun.warp_id IN (1610722,1610657,1610652,1610623,1610130,1610117,1610095,1610077) |
| | 625 | GROUP BY warpRun.warp_id |
| | 626 | ; |
| | 627 | }}} |
| | 628 | |
| | 629 | However, there is an issue that the chips are not updating as their state is stuck as "wait". So I've tried to update the run and set the state: |
| | 630 | {{{ |
| | 631 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1663243 |
| | 632 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1663225 |
| | 633 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1663205 |
| | 634 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1663186 |
| | 635 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1662696 |
| | 636 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1662677 |
| | 637 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1662658 |
| | 638 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id 1662639 |
| | 639 | }}} |
| | 640 | Note that I search for the ones that say wait, and have updated their label to update. |
| | 641 | |
| | 642 | They are now beginning to error in the chiptool stage: |
| | 643 | {{{ |
| | 644 | burntool state vs burntoolStateGoodUpdate : -14 vs 13 |
| | 645 | Running [/data/ippc64.1/ippitc/psconfig/ipp-20170121.lin64/bin/neb-repair neb://ipp088.0/gpc1/20150801/o7235g0278o/o7235g0278o.ota31.fits]... |
| | 646 | Reading from filehandle failed at /data/ippc64.1/ippitc/psconfig/ipp-20170121.lin64/bin/neb-repair line 78. |
| | 647 | Unable to attempt repair: neb://ipp088.0/gpc1/20150801/o7235g0278o/o7235g0278o.ota31.fits 1280 at /data/ippc64.1/ippitc/psconfig/ipp-20170121.lin64/bin/chip_imfile.pl line 834 |
| | 648 | main::my_die('Unable to attempt repair: neb://ipp088.0/gpc1/20150801/o7235g...', 951756, 1662658, 'XY31', 2) called at /data/ippc64.1/ippitc/psconfig/ipp-20170121.lin64/bin/chip_imfile.pl line 358 |
| | 649 | }}} |
| | 650 | I think it might be best to reprocess the lot, then send these broken jobs to clean (be sure to check the reduction) |
| | 651 | {{{ |
| | 652 | chiptool -dbname gpc1 -definebyquery -set_label mopsfix -set_workdir neb://@HOST@.0/gpc1/mops.fixbrokenOSS.20190501 -set_dist_group NULL -set_tess_id RINGS.V3 -set_end_stage warp -set_data_group mops.fixbrokenOSS.20190501 -set_reduction SWEETSPOT -exp_name |
| | 653 | }}} |
| | 654 | |
| | 655 | |
| | 656 | Check they have reprocessed (you'll need to query the exposure idea because of the reprocess) |
| | 657 | And then clean up the ones stuck under the ps_ud_WEB label: |
| | 658 | {{{ |
| | 659 | chiptool -dbname gpc1 -updaterun -set_state goto_cleaned -set_label ps_ud_MOPS -chip_id |
| | 660 | warptool -dbname gpc1 -updaterun -set_state goto_cleaned -set_label ps_ud_MOPS -warp_id |
| | 661 | }}} |
| | 662 | |
| | 663 | |
| | 664 | |
| | 665 | |
| | 666 | ''' Restoring computer node functionality''' by JRF |
| | 667 | |
| | 668 | The compute nodes require a specific set of files to be on them and some 'tmp' directories to temporarily store data while processing. The general process is copy across all the static files that are needeed, then sort out all the links between the drives and '/local/' |
| | 669 | |
| | 670 | First sure there is an ipp directory to put things in on volume .0, then rsync across the data files required (and set permissions): |
| | 671 | {{{ |
| | 672 | mkdir -p /export/`hostname`.0/ipp |
| | 673 | rsync -auv /data/ippc64.0/ipp/ /export/`hostname`.0/ipp |
| | 674 | chown -R ipp:users /export/`hostname`.0/ipp |
| | 675 | chmod -R 775 /export/`hostname`.0/ipp |
| | 676 | }}} |
| | 677 | |
| | 678 | Then, replace the symlink for 'tmp' in the /local/ directory to point to volume .0: |
| | 679 | {{{ |
| | 680 | rm /local/ipp/tmp |
| | 681 | ln -s /export/`hostname`.0/ipp /local/ipp |
| | 682 | }}} |
| | 683 | |
| | 684 | Finally, make a 'tmp' directory on volume .1, and have the 'tmp' dir from .0 link to it. |
| | 685 | {{{ |
| | 686 | mkdir -p /export/`hostname`.1/ipp/tmp |
| | 687 | chown -R ipp:users /export/`hostname`.1/ipp/tmp |
| | 688 | chmod -R 775 /export/`hostname`.1/ipp/tmp |
| | 689 | ln -s /export/`hostname`.1/ipp/tmp /export/`hostname`.0/ipp/tmp |
| | 690 | }}} |
| | 691 | '''Note:''' the setup can be slightly different between nodes e.g. not all nodes have volume .1 |
| | 692 | |
| | 693 | |
| | 694 | Now the real important part is to actually test the node to see if it works. |
| | 695 | |
| | 696 | Add it back to stdscience: |
| | 697 | {{{ |
| | 698 | ~ippitc/stdscience> pantasks_client |
| | 699 | pantasks> controller host on ippc91 |
| | 700 | }}} |
| | 701 | This will allow one connection to be made to ippc91. Do it multiple times to add more, but before that first let it handle a job or two and keep an eye out for errors (check pantasks.stdout.log). |
| | 702 | |
| | 703 | Once satisfied add the host more times to pantasks_client, and it can be added back to the hosts list file if removed {{{ ~ippitc/ippconfig/pantasks_hosts.input}}}. |
| | 704 | |
| | 705 | |
| | 706 | '''More stamp fun:''' by JRF |
| | 707 | |
| | 708 | Check what the problem warps are: |
| | 709 | {{{ |
| | 710 | pstamptool -dbname ippRequestServer -dbserver ipp113 -pendingdependent -simple |
| | 711 | }}} |
| | 712 | |
| | 713 | Get all the details |
| | 714 | {{{ |
| | 715 | SELECT |
| | 716 | rawExp.exp_name,rawExp.exp_id, |
| | 717 | chipRun.chip_id, chipRun.state chip_state, chipRun.label chip_label, |
| | 718 | warpRun.warp_id,warpSkyfile.skycell_id,warpRun.state warp_state, warpRun.label warp_label |
| | 719 | FROM |
| | 720 | warpSkyfile, warpRun, fakeRun, camRun, chipRun, rawExp |
| | 721 | WHERE |
| | 722 | warpSkyfile.warp_id = warpRun.warp_id AND warpRun.fake_id = fakeRun.fake_id AND fakeRun.cam_id = camRun.cam_id AND camRun.chip_id = chipRun.chip_id AND chipRun.exp_id = rawExp.exp_id |
| | 723 | AND |
| | 724 | warpRun.warp_id IN (1921752,1921730,1921712,1921694,1206567) |
| | 725 | GROUP BY warpRun.warp_id |
| | 726 | ; |
| | 727 | |
| | 728 | +-------------+---------+---------+-------+---------+------------------+---------+--------------+ |
| | 729 | | exp_name | exp_id | chip_id | state | warp_id | skycell_id | state | label | |
| | 730 | +-------------+---------+---------+-------+---------+------------------+---------+--------------+ |
| | 731 | | o6889g0624o | 781745 | 1250507 | wait | 1206567 | skycell.1591.080 | cleaned | goto_cleaned | |
| | 732 | | o7977g0243o | 1283018 | 1977751 | wait | 1921694 | skycell.1218.090 | cleaned | goto_cleaned | |
| | 733 | | o7977g0262o | 1283037 | 1977770 | wait | 1921712 | skycell.1218.090 | cleaned | goto_cleaned | |
| | 734 | | o7977g0281o | 1283056 | 1977789 | wait | 1921730 | skycell.1218.090 | cleaned | goto_cleaned | |
| | 735 | | o7977g0300o | 1283075 | 1977808 | wait | 1921752 | skycell.1218.090 | cleaned | goto_cleaned | |
| | 736 | +-------------+---------+---------+-------+---------+------------------+---------+--------------+ |
| | 737 | }}} |
| | 738 | |
| | 739 | This looks identical to earlier, so try to update and then force the chips that are stuck in 'wait': |
| | 740 | {{{ |
| | 741 | chiptool -dbname gpc1 -setimfiletoupdate -set_label ps_ud_MOPS -chip_id XXXXX |
| | 742 | warptool -dbname gpc1 -setskyfiletoupdate -set_label ps_ud_MOPS -warp_id XXXXX |
| | 743 | |
| | 744 | chiptool -dbname gpc1 -updaterun -state wait -set_state update -set_label ps_ud_MOPS -chip_id XXXXXX |
| | 745 | }}} |
| | 746 | |
| | 747 | Query the result: |
| | 748 | {{{ |
| | 749 | SELECT |
| | 750 | rawExp.exp_name,rawExp.exp_id, |
| | 751 | chipRun.chip_id, chipRun.state chip_state, chipRun.label chip_label |
| | 752 | FROM |
| | 753 | chipRun, rawExp |
| | 754 | WHERE |
| | 755 | chipRun.exp_id = rawExp.exp_id |
| | 756 | AND |
| | 757 | rawExp.exp_name IN ("o6889g0624o","o7977g0243o","o7977g0262o","o7977g0281o","o7977g0300o") |
| | 758 | ; |
| | 759 | |
| | 760 | |
| | 761 | SELECT |
| | 762 | rawExp.exp_name,rawExp.exp_id, |
| | 763 | chipRun.chip_id, chipRun.state chip_state, chipRun.label chip_label, |
| | 764 | warpRun.warp_id,warpSkyfile.skycell_id,warpRun.state warp_state, warpRun.label warp_label |
| | 765 | FROM |
| | 766 | warpSkyfile, warpRun, fakeRun, camRun, chipRun, rawExp |
| | 767 | WHERE |
| | 768 | warpSkyfile.warp_id = warpRun.warp_id AND warpRun.fake_id = fakeRun.fake_id AND fakeRun.cam_id = camRun.cam_id AND camRun.chip_id = chipRun.chip_id AND chipRun.exp_id = rawExp.exp_id |
| | 769 | AND |
| | 770 | rawExp.exp_name IN ("o6889g0624o","o7977g0243o","o7977g0262o","o7977g0281o","o7977g0300o") |
| | 771 | ; |
| | 772 | }}} |
| | 773 | |
| | 774 | However... even though they are in update it does not seem to be picking them up... |
| | 775 | |
| | 776 | |
| | 777 | |