Changeset 2067
- Timestamp:
- 18/04/09 20:31:15 (3 years ago)
- Files:
-
- trunk/server/lib/Munin/Master/Node.pm (modified) (6 diffs)
- trunk/server/lib/Munin/Master/UpdateWorker.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/server/lib/Munin/Master/Node.pm
r2065 r2067 47 47 ) or croak "Failed to create socket: $!"; 48 48 49 my $greeting = $self->_ read_socket_single();49 my $greeting = $self->_node_read_single(); 50 50 51 51 $self->_run_starttls_if_required(); … … 64 64 logger => \&logger, 65 65 read_fd => fileno($self->{socket}), 66 read_func => sub { _ read_socket_single($self) },66 read_func => sub { _node_read_single($self) }, 67 67 tls_ca_cert => $config->{tls_ca_certificate}, 68 68 tls_cert => $config->{tls_certificate}, … … 94 94 my ($self) = @_; 95 95 96 $self->_ write_socket_single("cap $self->{master_capabilities}\n");97 my @lines = $self->_ read_socket();96 $self->_node_write_single("cap $self->{master_capabilities}\n"); 97 my @lines = $self->_node_read(); 98 98 99 99 if (index($lines[0], '# Unknown command') == 0) { … … 114 114 my ($self) = @_; 115 115 116 $self->_ write_socket_single("list\n"); # FIX specify which host117 my $list = $self->_ read_socket_single();116 $self->_node_write_single("list\n"); # FIX specify which host 117 my $list = $self->_node_read_single(); 118 118 119 119 return split / /, $list; 120 120 } 121 121 122 sub fetch_service_config {} 122 sub fetch_service_config { 123 my ($self, $service) = @_; 124 125 logger("[DEBUG] Configuring service: $service") if $config->{debug}; 126 $self->_node_write_single("config $service\n"); 127 128 my @lines = $self->_node_read(); 129 130 my @global_config = (); 131 my @data_source_config = (); 132 133 for my $line (@lines) { 134 croak "Client reported timeout in configuration of '$service'" 135 if $line =~ /\# timeout/; 136 137 next unless $line; 138 next if $line =~ /^\#/; 139 140 141 if ($line =~ m{\A (\w+)\.(\w+) \s+ (.+) }xms) { 142 push @data_source_config, [$1, $2, $3]; 143 # FIX sanitise $1 and $2 if label some where 144 logger("config: $service->$1.$2 = $3") if $config->{debug}; 145 # FIX graph_order 146 } 147 elsif ($line =~ m{\A (\w+) \s+ (.+) }xms) { 148 push @global_config, [$1, $2]; 149 logger ("Config: $service->$1 = $2") if $config->{debug}; 150 # FIX graph_order 151 } 152 } 153 154 return (global => \@global_config, data_source => \@data_source_config); 155 } 123 156 124 157 sub fetch_service_data {} 125 158 126 sub _starttls {} 127 128 129 130 sub _write_socket_single { 159 160 sub _node_write_single { 131 161 my ($self, $text) = @_; 132 162 … … 148 178 } 149 179 150 sub _ read_socket_single {180 sub _node_read_single { 151 181 my ($self) = @_; 152 182 my $res; … … 170 200 171 201 172 sub _ read_socket{202 sub _node_read { 173 203 my ($self) = @_; 174 204 my @array = (); trunk/server/lib/Munin/Master/UpdateWorker.pm
r2065 r2067 6 6 7 7 use Carp; 8 use English qw(-no_match_vars); 8 9 use Munin::Master::Node; 9 10 … … 30 31 my @services = $self->{node}->list_services(); 31 32 33 for my $service (@services) { 34 eval { 35 my %service_config = $self->{node}->fetch_service_config($service); 36 use Data::Dumper; warn Dumper(\%service_config); 37 38 }; 39 if ($EVAL_ERROR) { 40 # FIX use old config if exists, else stop all further 41 # processing og service 42 } 43 44 } 45 32 46 $retval->{services} = \@services; 33 47 $retval->{capabilities} = \@capabilities;
