[master] 59d4d33f2 shard director: coverage
Nils Goroll
nils.goroll at uplex.de
Mon Jan 18 15:18:07 UTC 2021
commit 59d4d33f29bf9b41eec7da29ad24b2875a2eb6fd
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Mon Jan 18 14:44:23 2021 +0100
shard director: coverage
diff --git a/bin/varnishtest/tests/d00015.vtc b/bin/varnishtest/tests/d00015.vtc
index c283732be..e0b7395f3 100644
--- a/bin/varnishtest/tests/d00015.vtc
+++ b/bin/varnishtest/tests/d00015.vtc
@@ -130,6 +130,9 @@ varnish v1 -vcl+backend {
return(fail("reconfigure failed"));
}
+ vd.set_warmup(1);
+ vd.set_warmup(-0.001);
+
std.log("-- END");
## gcov - semantic testing via the client request & .list
@@ -268,8 +271,10 @@ logexpect l1 -v v1 -g raw -d 1 {
expect 0 0 Debug {^vmod_directors: shard:.*point = d51dafe6, host = 0}
expect 0 0 Debug {^vmod_directors: shard:.*point = eb74a7d5, host = 4}
expect 0 0 Debug {^vmod_directors: shard:.*point = f493ce58, host = 2}
+ expect 0 0 Notice {^\Qvmod_directors: shard vd: .set_warmup(1.000000) ignored\E$}
+ expect 0 0 Notice {^\Qvmod_directors: shard vd: .set_warmup(-0.001000) ignored\E$}
-expect 0 0 VCL_Log {^-- END$}
+ expect 0 0 VCL_Log {^-- END$}
} -start
client c1 {
diff --git a/bin/varnishtest/tests/d00020.vtc b/bin/varnishtest/tests/d00020.vtc
index 5e99f3758..877672f06 100644
--- a/bin/varnishtest/tests/d00020.vtc
+++ b/bin/varnishtest/tests/d00020.vtc
@@ -85,6 +85,7 @@ varnish v1 -vcl+backend {
if (bereq.url ~ "^/b/c/hash/") {
set beresp.http.override = bereq.url;
p_def.set(by=HASH, alt=7);
+ p_hash.clear();
p_hash.set(by=HASH, alt=8);
p_url.set(by=HASH, alt=9);
p_key.set(by=HASH, alt=10);
diff --git a/bin/varnishtest/tests/d00021.vtc b/bin/varnishtest/tests/d00021.vtc
index 730c32705..2ed251a46 100644
--- a/bin/varnishtest/tests/d00021.vtc
+++ b/bin/varnishtest/tests/d00021.vtc
@@ -36,6 +36,7 @@ varnish v1 -vcl+backend {
new l = directors.shard();
new lp = directors.shard_param();
+ l.associate();
l.associate(lp.use());
if (!l.add_backend(s1)) {
return(fail("add s1 failed"));
diff --git a/bin/varnishtest/tests/d00030.vtc b/bin/varnishtest/tests/d00030.vtc
index 070dfa74b..c458a6b37 100644
--- a/bin/varnishtest/tests/d00030.vtc
+++ b/bin/varnishtest/tests/d00030.vtc
@@ -4,7 +4,7 @@ varnish v1 -vcl {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new shard = directors.shard();
@@ -55,7 +55,7 @@ varnish v1 -errvcl {shard .associate param invalid} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new shard = directors.shard();
@@ -67,7 +67,7 @@ varnish v1 -errvcl {missing key argument with by=KEY} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -79,7 +79,7 @@ varnish v1 -errvcl {invalid key argument -5 with by=KEY} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -91,7 +91,7 @@ varnish v1 -errvcl {missing key_blob argument with by=BLOB} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -103,7 +103,7 @@ varnish v1 -errvcl {key and key_blob arguments are invalid with by=URL} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -115,7 +115,7 @@ varnish v1 -errvcl {key and key_blob arguments are invalid with by=HASH} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -127,7 +127,7 @@ varnish v1 -errvcl {invalid alt argument -1} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -139,7 +139,7 @@ varnish v1 -errvcl {invalid warmup argument -0.5} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -151,7 +151,7 @@ varnish v1 -errvcl {invalid warmup argument 1.1} {
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new p = directors.shard_param();
@@ -163,7 +163,7 @@ varnish v1 -errvcl {vmod_directors: shard shard: .backend(resolve=LAZY) with oth
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new shard = directors.shard();
@@ -176,7 +176,7 @@ varnish v1 -errvcl {vmod_directors: shard shard: .backend(resolve=NOW) can not b
import directors;
import blob;
- backend dummy { .host = "${bad_backend}"; }
+ backend dummy None;
sub vcl_init {
new shard = directors.shard();
@@ -184,3 +184,25 @@ varnish v1 -errvcl {vmod_directors: shard shard: .backend(resolve=NOW) can not b
rr.add_backend(shard.backend(resolve=NOW));
}
}
+
+varnish v1 -errvcl {vmod_directors: shard shard: NULL backend cannot be added}{
+ import directors;
+
+ backend dummy None;
+
+ sub vcl_init {
+ new shard = directors.shard();
+ shard.add_backend(dummy);
+ }
+}
+
+varnish v1 -errvcl {vmod_directors: shard shard: .remove_backend(): either backend or ident are required}{
+ import directors;
+
+ backend dummy None;
+
+ sub vcl_init {
+ new shard = directors.shard();
+ shard.remove_backend();
+ }
+}
diff --git a/bin/varnishtest/tests/d00041.vtc b/bin/varnishtest/tests/d00041.vtc
index 587f1b897..3e108b81b 100644
--- a/bin/varnishtest/tests/d00041.vtc
+++ b/bin/varnishtest/tests/d00041.vtc
@@ -29,6 +29,9 @@ varnish v1 -vcl+backend {
if (!vd.add_backend(s2, weight=2)) {
return(fail("add s2 failed"));
}
+ # weight ignored
+ vd.add_backend(s3, weight=0.3);
+ vd.remove_backend(s3);
if (!vd.add_backend(s3, weight=3)) {
return(fail("add s3 failed"));
}
@@ -49,6 +52,7 @@ varnish v1 -vcl+backend {
logexpect l1 -v v1 -g raw -d 1 {
expect 0 0 CLI "^Rd vcl.load"
+ expect 0 = Notice {^\Qvmod_directors: shard vd: .add_backend(weight=0.300000) ignored\E$}
expect 0 = Debug {^vmod_directors: shard: hashcircle.* 0. = .point = *238d0ef, host = 2.}
expect 0 = Debug {^vmod_directors: shard: hashcircle.* 1. = .point = *321c598, host = 2.}
expect 0 = Debug {^vmod_directors: shard: hashcircle.* 2. = .point = *3b6b56a, host = 0.}
diff --git a/vmod/vmod_directors_shard.c b/vmod/vmod_directors_shard.c
index 77fab676a..242723684 100644
--- a/vmod/vmod_directors_shard.c
+++ b/vmod/vmod_directors_shard.c
@@ -348,7 +348,7 @@ vmod_shard_remove_backend(VRT_CTX, struct vmod_directors_shard *vshard,
if (be == NULL && ident == NULL) {
shard_fail(ctx, vshard->shardd->name, "%s",
- ".backend_remove(): either backend or ident are required");
+ ".remove_backend(): either backend or ident are required");
return (0);
}
More information about the varnish-commit
mailing list