IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 14, 2008, 12:54:25 PM (18 years ago)
Author:
eugene
Message:

reverting to pre-distributed version code (distrib is on branch)

Location:
trunk/Nebulous-Server/lib/Nebulous/Server
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous-Server/lib/Nebulous/Server/Config.pm

    r20965 r20990  
    11# Copyright (C) 2005  Joshua Hoblitt
    22#
    3 # $Id: Config.pm,v 1.4 2008-12-12 21:13:41 jhoblitt Exp $
     3# $Id: Config.pm,v 1.5 2008-12-14 22:54:25 eugene Exp $
    44
    55package Nebulous::Server::Config;
     
    88use warnings FATAL => qw( all );
    99
    10 our $VERSION = 0.03;
     10our $VERSION = 0.02;
    1111
    1212use base qw( Class::Accessor::Fast );
    1313
    1414use Log::Log4perl qw( :levels );
    15 use Params::Validate qw( validate validate_pos SCALAR );
     15use Params::Validate qw( validate SCALAR );
    1616
    1717our %LEVELS = (
     
    2525);
    2626
    27 my $db_validate = {
    28     dbindex       => {
    29         type => SCALAR,
    30         regex => qr/^\d+$/,
    31     },
     27my $new_validate = {
    3228    dsn         => { type => SCALAR },
    3329    dbuser      => { type => SCALAR },
    3430    dbpasswd    => { type => SCALAR },
    35 };
    36 
    37 my $new_validate = {
    3831    log_level   => {
    3932        type        => SCALAR,
     
    4639        },
    4740    },
    48     dsn         => { type => SCALAR, optional => 1 },
    49     dbuser      => { type => SCALAR, optional => 1 },
    50     dbpasswd    => { type => SCALAR, optional => 1 },
    5141};
    5242
    5343__PACKAGE__->mk_ro_accessors( keys %$new_validate );
    5444
    55 
    56 sub new
    57 {
     45sub init {
    5846    my $class = shift;
    5947
     
    6149
    6250    # normalize log levels to lower-case
    63     my $self ={ log_level => lc $p{ log_level } };
     51    $p{ log_level } = lc $p{ log_level };
     52
     53    my $self = \%p;
    6454
    6555    bless $self, $class || ref $class;
    66 
    67     my @dbs;
    68     $self->{dbs} = \@dbs;
    69 
    70     if (defined $p{dsn} or defined $p{dbuser} or defined $p{dbpasswd}) {
    71         $self->add_db(
    72             dbindex     => 0,
    73             dsn         => $p{dsn},
    74             dbuser      => $p{dbuser},
    75             dbpasswd    => $p{dbpasswd},
    76         );
    77     }
    7856
    7957    return $self;
    8058}
    8159
    82 
    83 sub add_db
    84 {
    85     my $self = shift;
    86    
    87     my %p = validate( @_, $db_validate );
    88 
    89     my $config_db = Nebulous::Server::Config::DB->new({
    90         dsn         => $p{dsn},
    91         dbuser      => $p{dbuser},
    92         dbpasswd    => $p{dbpasswd},
    93     });
    94 
    95     $self->{dbs}->[$p{dbindex}] = $config_db;
    96 
    97     return $self;
    98 }
    99 
    100 
    101 sub db
    102 {
    103     my $self = shift;
    104 
    105     my ($db_index) = validate_pos( @_, { type => SCALAR, optional => 1, });
    106 
    107     # default to 0
    108     $db_index ||= 0;
    109 
    110     return $self->{dbs}->[$db_index];
    111 }
    112 
    113 
    114 sub n_db
    115 {
    116     my $self = shift;
    117 
    118     return scalar @{ $self->{dbs} };
    119 }
    120 
    121 
    122 package Nebulous::Server::Config::DB;
    123 
    124 use strict;
    125 use warnings FATAL => qw( all );
    126 
    127 our $VERSION = 0.01;
    128 
    129 use base qw( Class::Accessor::Fast );
    130 
    131 __PACKAGE__->mk_ro_accessors(qw( dsn dbuser dbpasswd ));
    132 
    133601;
    13461
  • trunk/Nebulous-Server/lib/Nebulous/Server/Log.pm

    r20965 r20990  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: Log.pm,v 1.8 2008-12-12 21:13:41 jhoblitt Exp $
     3# $Id: Log.pm,v 1.9 2008-12-14 22:54:25 eugene Exp $
    44
    55package Nebulous::Server::Log;
     
    1616    my ($self, $config) = @_;
    1717
    18 #    my $dsn         = $config->db->dsn;
    19 #    my $dbuser      = $config->db->dbuser;
    20 #    my $dbpasswd    = $config->db->dbpasswd;
     18    my $dsn         = $config->dsn;
     19    my $dbuser      = $config->dbuser;
     20    my $dbpasswd    = $config->dbpasswd;
    2121
    2222    my $conf = <<END;
     
    3030#   date | hostname | priority | method/sub - message\n
    3131
    32 #    log4perl.appender.SQLLOG            = Log::Log4perl::Appender::DBI
    33 #    log4perl.appender.SQLLOG.sql        = \
    34 #    log4perl.appender.SQLLOG.datasource =
    35 #    log4perl.appender.SQLLOG.username   =
    36 #    log4perl.appender.SQLLOG.password   =
     32    log4perl.appender.SQLLOG            = Log::Log4perl::Appender::DBI
     33    log4perl.appender.SQLLOG.datasource = $dsn
     34    log4perl.appender.SQLLOG.username   = $dbuser
     35    log4perl.appender.SQLLOG.password   = $dbpasswd
     36    log4perl.appender.SQLLOG.sql        = \
    3737    INSERT INTO log (timestamp, hostname, level, sub, message) \
    3838    VALUES          (%d,        %H,       %p,    %M,  %m)
  • trunk/Nebulous-Server/lib/Nebulous/Server/SOAP.pm

    r20972 r20990  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: SOAP.pm,v 1.5 2008-12-13 00:41:15 jhoblitt Exp $
     3# $Id: SOAP.pm,v 1.6 2008-12-14 22:54:25 eugene Exp $
    44
    55package Nebulous::Server::SOAP;
     
    1717our $AUTOLOAD;
    1818
    19 our $config;
     19our @args;
    2020our $neb;
    2121
    22 
    23 sub new_on_init
    24 {
     22sub new_on_init {
    2523    my $self = shift;
    2624
     
    2927    require Apache2::ServerUtil;
    3028
    31     $config = shift;
     29    @args = @_;
    3230
    3331    my $s = Apache2::ServerUtil->server;
     
    3735}
    3836
    39 
    40 sub init
    41 {
     37sub init {
    4238    my $self = shift;
    4339
    44     $neb = Nebulous::Server->new_from_config($config);       
     40    $neb = Nebulous::Server->new(@args);       
    4541
    4642    return Apache2::Const::OK;
    4743}
    4844
    49 
    50 sub AUTOLOAD
    51 {
     45sub AUTOLOAD {
    5246    my $self = shift;
    5347
     
    8276}
    8377
    84 
    85781;
  • trunk/Nebulous-Server/lib/Nebulous/Server/SQL.pm

    r20966 r20990  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: SQL.pm,v 1.77 2008-12-12 21:41:07 jhoblitt Exp $
     3# $Id: SQL.pm,v 1.78 2008-12-14 22:54:25 eugene Exp $
    44
    55package Nebulous::Server::SQL;
     
    88use warnings FATAL => qw( all );
    99
    10 our $VERSION = '0.03';
     10our $VERSION = '0.02';
    1111
    1212use base qw( Class::Accessor::Fast );
     
    4747        (so_id, vol_id, uri)
    4848        VALUES (?, ?, 'error')
    49     },
    50     get_all_instances   => qq{
    51         SELECT * FROM INSTANCE
    52         WHERE so_id = ?
    5349    },
    5450    get_object          => qq{
     
    328324        HAVING available_instances < instances OR instances < copies
    329325    },
    330     find_objects_with_extra_instances_by_xattr => qq{
    331         SELECT
    332             so.so_id,
    333             so.ext_id,
     326    find_objects_with_extra_instances => qq{
     327        SELECT
     328            storage_object.so_id,
     329            ext_id,
    334330            count(ins_id) as instances,
    335             mv.name as volume_name,
    336             mv.host as volume_host,
    337             count(mv.vol_id) as available_instances,
    338             xattr.value as copies
    339         FROM storage_object AS so
    340         JOIN storage_object_xattr as xattr
    341             ON so.so_id = xattr.so_id
    342             AND xattr.name = 'user.copies'
    343         JOIN instance AS i
    344             ON so.so_id = i.so_id
    345         JOIN mountedvol AS mv
     331            volume.name as volume_name,
     332            volume.host as volume_host,
     333            count(mymountedvol.vol_id) as available_instances,
     334            count(mymountedvol.vol_id) > 0 as recoverable,
     335            storage_object_xattr.value as copies
     336        FROM storage_object
     337        JOIN instance
     338            USING(so_id)
     339        JOIN volume
     340            USING(vol_id)
     341        LEFT JOIN storage_object_xattr
     342            ON storage_object.so_id = storage_object_xattr.so_id
     343        JOIN mymountedvol
    346344            USING(vol_id)
    347345        WHERE
    348             mv.available = 1
     346            mymountedvol.available = 1
     347            AND storage_object_xattr.name = 'user.copies'
    349348        GROUP BY so_id
    350349        HAVING available_instances > copies
    351         limit 5;
    352350    },
    353351    get_mounted_volumes => qq{
Note: See TracChangeset for help on using the changeset viewer.