[master] 7b658a48c rename admin_health probe -> auto, fix admin health output

Nils Goroll nils.goroll at uplex.de
Tue Mar 5 11:09:03 UTC 2019


commit 7b658a48ce4bc214e97fc7f44d6a9bf054cb250d
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Mon Mar 4 16:00:42 2019 +0100

    rename admin_health probe -> auto, fix admin health output
    
    backend.list now shows "probe" only if a probe is present.
    
    Ref #2896

diff --git a/bin/varnishd/cache/cache_director.c b/bin/varnishd/cache/cache_director.c
index 064ac546b..345402798 100644
--- a/bin/varnishd/cache/cache_director.c
+++ b/bin/varnishd/cache/cache_director.c
@@ -60,7 +60,6 @@ vdi_str2ahealth(const char *t)
 #define VBE_AHEALTH(l,u,h) if (!strcasecmp(t, #l)) return (VDI_AH_##u);
 VBE_AHEALTH_LIST
 #undef VBE_AHEALTH
-	if (!strcasecmp(t, "auto")) return (VDI_AH_PROBE);
 	return (NULL);
 }
 
@@ -70,7 +69,11 @@ VDI_Ahealth(const struct director *d)
 
 	CHECK_OBJ_NOTNULL(d, DIRECTOR_MAGIC);
 	AN(d->vdir->admin_health);
-	return (d->vdir->admin_health->name);
+	if (d->vdir->admin_health != VDI_AH_AUTO)
+		return (d->vdir->admin_health->name);
+	if (d->vdir->methods->healthy != NULL)
+		return ("probe");
+	return ("healthy");
 }
 
 /* Resolve director --------------------------------------------------*/
diff --git a/bin/varnishd/cache/cache_director.h b/bin/varnishd/cache/cache_director.h
index d4553e150..7c0442513 100644
--- a/bin/varnishd/cache/cache_director.h
+++ b/bin/varnishd/cache/cache_director.h
@@ -46,7 +46,7 @@ struct vcldir {
 #define VBE_AHEALTH_LIST					\
 	VBE_AHEALTH(healthy,	HEALTHY,	1)		\
 	VBE_AHEALTH(sick,	SICK,		0)		\
-	VBE_AHEALTH(probe,	PROBE,		-1)		\
+	VBE_AHEALTH(auto,	AUTO,		-1)		\
 	VBE_AHEALTH(deleted,	DELETED,	0)
 
 #define VBE_AHEALTH(l,u,h) extern const struct vdi_ahealth * const VDI_AH_##u;
diff --git a/bin/varnishd/cache/cache_vrt_vcl.c b/bin/varnishd/cache/cache_vrt_vcl.c
index b70430edd..92ac448d3 100644
--- a/bin/varnishd/cache/cache_vrt_vcl.c
+++ b/bin/varnishd/cache/cache_vrt_vcl.c
@@ -186,7 +186,7 @@ VRT_AddDirector(VRT_CTX, const struct vdi_methods *m, void *priv,
 	d->vcl_name = vdir->cli_name + i;
 
 	vdir->vcl = vcl;
-	vdir->admin_health = VDI_AH_PROBE;
+	vdir->admin_health = VDI_AH_AUTO;
 	vdir->health_changed = VTIM_real();
 
 	Lck_Lock(&vcl_mtx);


More information about the varnish-commit mailing list