summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2019-04-23 16:40:52 +0200
committerHåkon Hallingstad <hakon@verizonmedia.com>2019-04-23 16:40:52 +0200
commit84e0d93127618089f0795eb39fba6aeb33ced323 (patch)
treec5d51d0157f8a100f67e1abad3752a3b073e3012 /config
parentb53856d693eb83c9c0dd1031c0eaa8e6986f823a (diff)
Config generation with vespa-get-config
Diffstat (limited to 'config')
-rw-r--r--config/src/apps/vespa-get-config/getconfig.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/config/src/apps/vespa-get-config/getconfig.cpp b/config/src/apps/vespa-get-config/getconfig.cpp
index d12a278cc38..290beacf5a4 100644
--- a/config/src/apps/vespa-get-config/getconfig.cpp
+++ b/config/src/apps/vespa-get-config/getconfig.cpp
@@ -51,6 +51,7 @@ GetConfig::usage()
fprintf(stderr, "-i configId (config id, optional)\n");
fprintf(stderr, "-j (output config as json, optional)\n");
fprintf(stderr, "-l (output config in legacy cfg format, optional)\n");
+ fprintf(stderr, "-g generation (config generation, optional)\n");
fprintf(stderr, "-a schema (config def schema file, optional)\n");
fprintf(stderr, "-v defVersion (config definition version, optional, deprecated)\n");
fprintf(stderr, "-m defMd5 (definition md5sum, optional)\n");
@@ -107,6 +108,7 @@ GetConfig::Main()
bool printAsJson = false;
int traceLevel = config::protocol::readTraceLevel();
const char *vespaVersionString = nullptr;
+ int64_t generation = 0;
if (configId == NULL) {
configId = "";
@@ -119,7 +121,7 @@ GetConfig::Main()
const char *optArg = NULL;
int optInd = 0;
- while ((c = GetOpt("a:n:v:i:jlm:c:t:V:w:r:s:p:dh", optArg, optInd)) != -1) {
+ while ((c = GetOpt("a:n:v:g:i:jlm:c:t:V:w:r:s:p:dh", optArg, optInd)) != -1) {
int retval = 1;
switch (c) {
case 'a':
@@ -130,6 +132,9 @@ GetConfig::Main()
break;
case 'v':
break;
+ case 'g':
+ generation = atoll(optArg);
+ break;
case 'i':
configId = optArg;
break;
@@ -220,7 +225,7 @@ GetConfig::Main()
FRTConfigRequestFactory requestFactory(protocolVersion, traceLevel, vespaVersion, config::protocol::readProtocolCompressionType());
FRTConnection connection(spec, *_supervisor, TimingValues());
ConfigKey key(configId, defName, defNamespace, defMD5, defSchema);
- ConfigState state(configMD5, 0, false);
+ ConfigState state(configMD5, generation, false);
FRTConfigRequest::UP request = requestFactory.createConfigRequest(key, &connection, state, serverTimeout * 1000);
_target->InvokeSync(request->getRequest(), clientTimeout); // seconds