Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
4.3 KiB

  1. use frsobjsup;
  2. package main;
  3. my ($__HashRef, $__k, $__v);
  4. use Time::Local;
  5. printf "Report generated at %s\n\n", scalar localtime;
  6. $stage = "D:\\staging";
  7. $__HashRef = FRS_SERVER->New(
  8. RP=>"E:\\RSB", SP=>"$stage", COMPUTER=>"hub0/hubsite/servers/", NAME=>"hub0.hubsite.ajax.com", MNAME=>"hub0"
  9. );
  10. &FRSSUP::AddToSet("HUB", $__HashRef);
  11. $__HashRef = FRS_SERVER->New(
  12. RP=>"E:\\RSB", SP=>"$stage", COMPUTER=>"hub1/hubsite/servers/", NAME=>"hub1.hubsite.ajax.com", MNAME=>"hub0"
  13. );
  14. &FRSSUP::AddToSet("HUB", $__HashRef);
  15. $__HashRef = FRS_SERVER->New(
  16. RP=>"E:\\RSB", SP=>"$stage", COMPUTER=>"hub2/hubsite/servers/", NAME=>"hub2.hubsite.ajax.com", MNAME=>"hub0"
  17. );
  18. &FRSSUP::AddToSet("HUB", $__HashRef);
  19. $__HashRef = FRS_SERVER->New(
  20. RP=>"E:\\RSB", SP=>"$stage", COMPUTER=>"hub3/hubsite/servers/", NAME=>"hub3.hubsite.ajax.com", MNAME=>"hub0"
  21. );
  22. &FRSSUP::AddToSet("HUB", $__HashRef);
  23. $__HashRef = FRS_SERVER->New(
  24. RP=>"E:\\RSB", SP=>"$stage", COMPUTER=>"hub4/hubsite/servers/", NAME=>"hub4.hubsite.ajax.com", MNAME=>"hub0"
  25. );
  26. &FRSSUP::AddToSet("HUB", $__HashRef);
  27. for $b (0 .. 20) {
  28. $bchname = "Branch-$b";
  29. $__HashRef = FRS_SERVER->New(
  30. RP=>"D:\\RSB", SP=>"D:\\staging", COMPUTER=>"$bchname/hubsite/servers/", id=>"-$b", NAME=>"$bchname.hubsite.ajax.com"
  31. );
  32. &FRSSUP::AddToSet("BCH", $__HashRef);
  33. }
  34. $__HashRef = FRS_SCHEDULE->New(
  35. REPL_INTERVAL=>4, REPL_DURATION=>1, TIME_ZONE=>0, REPL_OFFSET=>0, STAGGER=>2, METHOD=>0, TYPE=>0, NAME=>'Primary Sched'
  36. );
  37. &FRSSUP::AddToSet("PRIMARY_SCH", $__HashRef);
  38. $__HashRef = FRS_SCHEDULE->New(
  39. REPL_INTERVAL=>4, REPL_DURATION=>1, TIME_ZONE=>0, REPL_OFFSET=>2, STAGGER=>2, METHOD=>0, TYPE=>0, NAME=>'Backup Sched'
  40. );
  41. &FRSSUP::AddToSet("BACKUP_SCH", $__HashRef);
  42. sub CREATE_HUB_SPOKE {
  43. my %__args = (@_);
  44. my ($__HashRef, $__k, $__v);
  45. while ( ($__k, $__v) = each %__args ) { print "\t$__k => '$__v'\n"; }
  46. # FRSSUP::PrintHash(\%__args);
  47. # FRSSUP::FRS_SHOW( SET=>$__args{HUBSET} );
  48. foreach $hub ( @{ FRSSUP::FRS_SET( SET=>$__args{HUBSET} ) } ) {
  49. $__HashRef = FRS_MEMBER->New( UNDER=>$__args{REPSETDN}, SERVER=>$hub, COMPUTER=>$hub->{COMPUTER}, ONAME=>$hub->{MNAME}
  50. );
  51. &FRSSUP::AddToSet("MOBJHUB", $__HashRef);
  52. }
  53. foreach $bch ( @{ FRSSUP::FRS_SET( SET=>$__args{BCHSET} ) } ) {
  54. $__HashRef = FRS_MEMBER->New( UNDER=>$__args{REPSETDN}, SERVER=>$bch, COMPUTER=>$bch->{COMPUTER}, ONAME=>"B".$bch->{id}
  55. );
  56. &FRSSUP::AddToSet("MOBJBCH", $__HashRef);
  57. }
  58. $Hx = 0;
  59. $NHub = FRSSUP::FRS_COUNT_SET( SET=>&FRSSUP::SelectSet("MOBJHUB") ) ;
  60. print " NHUB = $NHub\n\n";
  61. foreach $bch ( @{ FRSSUP::FRS_SET( SET=>&FRSSUP::SelectSet("MOBJBCH") ) } ) {
  62. print "branch oname : $bch->{ONAME} \n";
  63. @hubset = FRSSUP::FRS_SET( SET=>&FRSSUP::SelectSet("MOBJHUB") ) ;
  64. print "Hx : $Hx \n";
  65. $hubsrv = &FRSSUP::SelectSet("MOBJHUB")->[$Hx];
  66. print "hubsrv : $hubsrv \n";
  67. print "hub oname : $hubsrv->{ONAME} \n";
  68. FRS_CONNECTION->New( TO=>$bch, FROM=>&FRSSUP::SelectSet("MOBJHUB")->[$Hx], SCHED=>$__args{SC1}, ONAME=>"FROM-".$hubsrv->{MNAME}."-TO-".$bch->{ONAME} );
  69. FRS_CONNECTION->New( TO=>&FRSSUP::SelectSet("MOBJHUB")->[$Hx], FROM=>$bch, SCHED=>$__args{SC1}, ONAME=>"FROM-".$bch->{ONAME}."-TO-".$hubsrv->{MNAME} );
  70. $Hx=($Hx+1) % $NHub;
  71. if ($Hx == 0) {
  72. FRS_SCHEDULE::FRS_STAGGER( SCHED=>$__args{SC1} );
  73. }
  74. }
  75. &FRSSUP::DeleteSet("MOBJHUB");
  76. &FRSSUP::DeleteSet("MOBJBCH");
  77. } # FRS_END_SUB
  78. $__HashRef = FRS_SETTINGS->New(
  79. DN=>"cn=file replication service,cn=system,dc=frs1221,dc=nttest,dc=microsoft,dc=com", ONAME=>"OU=ReplicaSets"
  80. );
  81. &FRSSUP::AddToSet("SETTINGS", $__HashRef);
  82. $__HashRef = FRS_REPLICASET->New(
  83. UNDER=>&FRSSUP::SelectSet("SETTINGS")->[0], TYPE=>DFS, ONAME=>"HubSpokeRepSet"
  84. );
  85. &FRSSUP::AddToSet("SET", $__HashRef);
  86. &CREATE_HUB_SPOKE (
  87. HUBSET=>&FRSSUP::SelectSet("HUB"), BCHSET=>&FRSSUP::SelectSet("BCH"), SC1=>&FRSSUP::SelectSet("PRIMARY_SCH")->[0], SC2=>&FRSSUP::SelectSet("BACKUP_SCH")->[0], REPSETDN=>&FRSSUP::SelectSet("SET")->[0] );
  88. __END__