summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-04-13 10:58:38 +0000
committerArne Juul <arnej@yahoo-inc.com>2018-04-16 13:57:57 +0000
commitb58cbe68e30c37cb67e4eb18e3a7a29a12722f1a (patch)
treede7e3312cc4a1c18a719958cb8ee0fa259c14c98 /config
parent7c90afed7e18ebac57ba0dd7986c1a4159f78c98 (diff)
handle VESPA_CONFIGSERVERS
* also some refactoring * also, make C++ code (in defaults) handle same variable variants, like services__addr_configserver * also, update some error messages to indicate that VESPA_CONFIGSERVERS is the variable we expected to use
Diffstat (limited to 'config')
-rwxr-xr-xconfig/src/apps/vespa-config/vespa-config.pl40
1 files changed, 23 insertions, 17 deletions
diff --git a/config/src/apps/vespa-config/vespa-config.pl b/config/src/apps/vespa-config/vespa-config.pl
index 61a1714873a..735a8054f52 100755
--- a/config/src/apps/vespa-config/vespa-config.pl
+++ b/config/src/apps/vespa-config/vespa-config.pl
@@ -76,7 +76,6 @@ my $myHostname = `vespa-print-default hostname`;
chomp $myHostname;
my $default_configproxy_port = "19090";
my $default_configserver_port = "19070";
-my $zk_client_port;
my $base_cfg_dir = $VESPA_HOME . "/conf/vespa";
@@ -84,9 +83,6 @@ my $base_cfg_dir = $VESPA_HOME . "/conf/vespa";
# of in environment variables
my $lookupInConfig = 0;
-sub vespa_base_env {
- $zk_client_port = getCCSVar('zookeeper_clientPort', 2181);
-}
sub getValue {
my ($varname, $prefix) = @_;
@@ -131,11 +127,12 @@ sub getCCSVar {
return $default;
}
-sub getVar {
+sub getServicesVar {
my ($varname, $default, $warn) = @_;
# print "GET var '$varname'\n";
my $cloud = getValue($varname, "services");
my $vespa = getValue($varname, "vespa_base");
+ my $plain = $ENV{$varname};
if (defined($cloud) && defined($vespa)) {
print STDERR "Found settings for both services.$varname and vespa_base.$varname, using settings from services\n";
}
@@ -143,22 +140,32 @@ sub getVar {
return $cloud;
} elsif (defined($vespa)) {
return $vespa;
+ } elsif (defined($plain)) {
+ return $plain;
} elsif ($warn > 0) {
print STDERR "No value found for 'services.$varname' or 'vespa_base.$varname'; using '$default'\n";
}
return $default;
}
+sub getConfigServerPort {
+ my $port = getServicesVar('port_configserver_rpc', $default_configserver_port, 0);
+ return $port;
+}
+
sub printConfigServerPort {
- my $port = getVar('port_configserver_rpc', $default_configserver_port, 0);
+ my $port = getConfigServerPort();
print "$port\n";
}
sub getConfigServers {
my @ret;
- my $addr = getVar('addr_configserver', $myHostname, 1);
- my $port = getVar('port_configserver_rpc', $default_configserver_port, 0);
+ my $addr = $ENV{'VESPA_CONFIGSERVERS'};
+ if (! defined($addr)) {
+ $addr = getServicesVar('addr_configserver', $myHostname, 1);
+ }
+ my $port = getConfigServerPort();
my $h;
foreach $h (split(/,|\s+/, $addr)) {
@@ -171,7 +178,12 @@ sub getConfigServers {
return @ret;
}
+sub getZKPort {
+ my $zk_client_port = getCCSVar('zookeeper_clientPort', 2181);
+ return $zk_client_port;
+}
sub getZKString {
+ my $zk_client_port = getZKPort();
my $out;
my $addr;
foreach $addr (getConfigServers()) {
@@ -188,8 +200,8 @@ sub printZKString {
}
sub printAllConfigSourcesWithPort {
- my $cfport = getVar('port_configserver_rpc', $default_configserver_port, 0);
- my $cpport = getVar('port_configproxy_rpc', $default_configproxy_port, 0);
+ my $cfport = getConfigServerPort();
+ my $cpport = getServicesVar('port_configproxy_rpc', $default_configproxy_port, 0);
my $addr = "localhost";
my $out = "tcp/${addr}:${cpport}";
foreach $addr (getConfigServers()) {
@@ -279,39 +291,33 @@ if ( @ARGV == 0 ) {
}
if ( $ARGV[0] eq "-allconfigsources" ) {
- vespa_base_env();
printAllConfigSourcesWithPort();
exit 0;
}
if ( $ARGV[0] eq "-configsources" ) {
- vespa_base_env();
printConfigSources();
exit 0;
}
if ( $ARGV[0] eq "-confighttpsources" ) {
$lookupInConfig = 1;
- vespa_base_env();
printConfigHttpSources();
exit 0;
}
if ( $ARGV[0] eq "-zkstring" ) {
- vespa_base_env();
printZKString();
exit 0;
}
if ( $ARGV[0] eq "-configserverport" ) {
$lookupInConfig = 1;
- vespa_base_env();
printConfigServerPort();
exit 0;
}
if ( $ARGV[0] eq "-zkclientport" ) {
- vespa_base_env();
+ my $zk_client_port = getZKPort();
print "$zk_client_port\n";
exit 0;
}
if ( $ARGV[0] eq "-isthisaconfigserver" ) {
- vespa_base_env();
isThisAConfigServer();
exit 0;
}