Changeset 41172 for trunk/Nebulous-Server/lib/Test/Nebulous.pm
- Timestamp:
- Nov 27, 2019, 12:04:14 PM (7 years ago)
- File:
-
- 1 edited
-
trunk/Nebulous-Server/lib/Test/Nebulous.pm (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous-Server/lib/Test/Nebulous.pm
r24540 r41172 19 19 our @EXPORT = qw( $NEB_DB $NEB_USER $NEB_PASS $NEB_MEMCACHED_SERVERS); 20 20 21 our $NEB_DB = $ENV{'NEB_DB'} || "DBI:mysql:database=test:host=localhost"; 22 our $NEB_USER = $ENV{'NEB_USER'} || "test"; 23 our $NEB_PASS = $ENV{'NEB_PASS'} || ''; 21 # require use of the test database server: 22 23 our $NEB_DB = "DBI:mysql:database=test:host=localhost:mysql_socket=/var/run/mysqld/mysqld.sock"; 24 our $NEB_USER = "test"; 25 our $NEB_PASS = ''; 24 26 our $NEB_MEMCACHED_SERVERS = ['127.0.0.1:11211']; 25 27 … … 35 37 my $dir6 = ""; 36 38 my $dir7 = ""; 39 my $dir8 = ""; 40 41 sub show_setup { 42 my $self = shift; 43 44 print "DB: $NEB_DB, USER: $NEB_USER, PASS: $NEB_PASS\n"; 45 } 46 37 47 38 48 sub setup { … … 49 59 $dir6 = tempdir( CLEANUP => 0 ); 50 60 $dir7 = tempdir( CLEANUP => 0 ); 61 $dir8 = tempdir( CLEANUP => 0 ); 51 62 52 63 foreach my $statement (@{ $sql->get_db_schema }) { … … 54 65 } 55 66 56 # node01/node02: allocate = TRUE 57 $dbh->do(qq{ INSERT INTO volume (vol_id, name, host, path, mountpoint, allocate, available) VALUES (1, 'node01', 'node01', ?, '/', TRUE, TRUE) }, undef, $dir1); 58 $dbh->do(qq{ INSERT INTO mountedvol SELECT *, 10e10, 10e7 FROM volume WHERE vol_id = ? }, undef, 1); 59 # $dbh->do(qq{ INSERT INTO mount VALUES (?, 10e10, 10e7) }, undef, $dir1); 67 # generate 2 cabinets so we can replicate to a valid location 68 $dbh->do(qq{ INSERT INTO cabinet (name, site_id, location) values ("cab01", 1, "main") }); 69 $dbh->do(qq{ INSERT INTO cabinet (name, site_id, location) values ("cab02", 1, "main") }); 70 $dbh->do(qq{ INSERT INTO cabinet (name, site_id, location) values ("cab03", 2, "back") }); 71 $dbh->do(qq{ INSERT INTO cabinet (name, site_id, location) values ("cab04", 2, "back") }); 60 72 61 $dbh->do(qq{ INSERT INTO volume (vol_id, name, host, path, mountpoint, allocate, available) VALUES (2, 'node02', 'node02', ?, '/', TRUE, TRUE) }, undef, $dir2);62 $dbh->do(qq{ INSERT INTO mountedvol SELECT *, 10e10, 10e8 FROM volume WHERE vol_id = ? }, undef, 2);63 # $dbh->do(qq{ INSERT INTO mount VALUES (?, 10e10, 10e8) }, undef, $dir2);73 # node01 : allocate = TRUE (cab01, site 1) 74 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (1, 1, 'node01', 'node01', ?, '/', TRUE, TRUE) }, undef, $dir1); 75 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e7, note FROM volume WHERE vol_id = ? }, undef, 1); 64 76 65 # node03: allocate = TRUE 66 $dbh->do(qq{ INSERT INTO volume (vol_id, name, host, path, mountpoint, allocate, available) VALUES (3, 'node03', 'node03', ?, '/', TRUE, TRUE) }, undef, $dir3); 67 $dbh->do(qq{ INSERT INTO mountedvol SELECT *, 10e10, 10e8 FROM volume WHERE vol_id = ? }, undef, 3); 68 # $dbh->do(qq{ INSERT INTO mount VALUES (?, 10e10, 10e8) }, undef, $dir3); 77 # node02 : allocate = TRUE (cab02, site 1) 78 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (2, 2, 'node02', 'node02', ?, '/', TRUE, TRUE) }, undef, $dir2); 79 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e8, note FROM volume WHERE vol_id = ? }, undef, 2); 80 81 # node03: allocate = TRUE (cab03, site 2) 82 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (3, 3, 'node03', 'node03', ?, '/', TRUE, TRUE) }, undef, $dir3); 83 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e8, note FROM volume WHERE vol_id = ? }, undef, 3); 69 84 70 85 # node04: allocate = FALSE, available = FALSE 71 $dbh->do(qq{ INSERT INTO volume (vol_id, name, host, path, mountpoint, allocate, available) VALUES (4, 'node04', 'node04', ?, '/', FALSE, FALSE) }, undef, $dir4); 72 $dbh->do(qq{ INSERT INTO mountedvol SELECT *, 10e10, 10e7 FROM volume WHERE vol_id = ? }, undef, 4); 73 # $dbh->do(qq{ INSERT INTO mount VALUES (?, 10e10, 10e7) }, undef, $dir4); 86 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (4, 1, 'node04', 'node04', ?, '/', FALSE, FALSE) }, undef, $dir4); 87 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e8, note FROM volume WHERE vol_id = ? }, undef, 4); 74 88 75 89 # node05: allocate = FALSE, available = TRUE 76 $dbh->do(qq{ INSERT INTO volume (vol_id, name, host, path, mountpoint, allocate, available) VALUES (5, 'node05', 'node05', ?, '/', FALSE, TRUE) }, undef, $dir5); 77 $dbh->do(qq{ INSERT INTO mountedvol SELECT *, 10e10, 10e7 FROM volume WHERE vol_id = ? }, undef, 5); 78 # $dbh->do(qq{ INSERT INTO mount VALUES (?, 10e10, 10e7) }, undef, $dir5); 90 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (5, 1, 'node05', 'node05', ?, '/', FALSE, TRUE) }, undef, $dir5); 91 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e8, note FROM volume WHERE vol_id = ? }, undef, 5); 79 92 80 93 # node06: allocate = TRUE, available = FALSE 81 $dbh->do(qq{ INSERT INTO volume (vol_id, name, host, path, mountpoint, allocate, available) VALUES (6, 'node06', 'node06', ?, '/', TRUE, FALSE) }, undef, $dir6); 82 $dbh->do(qq{ INSERT INTO mountedvol SELECT *, 10e10, 10e7 FROM volume WHERE vol_id = ? }, undef, 6); 83 # $dbh->do(qq{ INSERT INTO mount VALUES (?, 10e10, 10e7) }, undef, $dir6); 94 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (6, 1, 'node06', 'node06', ?, '/', TRUE, FALSE) }, undef, $dir6); 95 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e8, note FROM volume WHERE vol_id = ? }, undef, 6); 84 96 85 97 # node07: full 86 $dbh->do(qq{ INSERT INTO volume (vol_id, name, host, path, mountpoint, allocate, available) VALUES (7, 'node07', 'node07', ?, '/', TRUE, TRUE) }, undef, $dir7); 87 $dbh->do(qq{ INSERT INTO mountedvol SELECT *, 10e10, 10e10 FROM volume WHERE vol_id = ? }, undef, 7); 88 # $dbh->do(qq{ INSERT INTO mount VALUES (?, 10e10, 10e10) }, undef, $dir7); 98 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (7, 1, 'node07', 'node07', ?, '/', TRUE, TRUE) }, undef, $dir7); 99 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e10, note FROM volume WHERE vol_id = ? }, undef, 7); 100 101 # node08: allocate = TRUE, (cab04, site 2) 102 $dbh->do(qq{ INSERT INTO volume (vol_id, cab_id, name, host, path, mountpoint, allocate, available) VALUES (8, 4, 'node08', 'node08', ?, '/', TRUE, TRUE) }, undef, $dir8); 103 $dbh->do(qq{ INSERT INTO mountedvol SELECT vol_id,name,host,path,allocate,available,xattr,mountpoint, 10e10, 10e8, note FROM volume WHERE vol_id = ? }, undef, 8); 89 104 90 # $dbh->do(qq{ call getmountedvol() });105 # $dbh->do(qq{ call getmountedvol() }); 91 106 } 92 107 93 108 sub cleanup { 94 109 # memcached needs to be emptied between test runs 95 Cache::Memcached->new(servers => $NEB_MEMCACHED_SERVERS)->flush_all;110 Cache::Memcached->new(servers => $NEB_MEMCACHED_SERVERS)->flush_all; 96 111 # if flush_all() turns out to be useless as feared 97 112 # my $memd = Cache::Memcached->new(servers => $NEB_MEMCACHED_SERVERS); … … 106 121 # $query->finish; 107 122 123 108 124 foreach my $statement (@{ $sql->get_db_clear }) { 109 125 $dbh->do( $statement ); … … 118 134 rmtree([$dir6], 0, 1) if -e $dir6; 119 135 rmtree([$dir7], 0, 1) if -e $dir7; 136 rmtree([$dir8], 0, 1) if -e $dir8; 137 } 138 139 # function to change state of one node for tests: 140 sub switch_node_state { 141 my $self = shift; 142 143 $dbh->do(qq{ UPDATE volume set available = FALSE where name = 'node02'}); 144 $dbh->do(qq{ UPDATE mountedvol set available = FALSE where name = 'node02'}); 145 } 146 147 sub get_node_dirs { 148 my $self = shift; 149 150 return ($dir1, $dir2, $dir3, $dir4, $dir5, $dir6, $dir7, $dir8); 120 151 } 121 152
Note:
See TracChangeset
for help on using the changeset viewer.
