[master] 96ba7a4 Add function to produce HAproxy backend confs
Poul-Henning Kamp
phk at FreeBSD.org
Thu Mar 29 11:13:11 UTC 2018
commit 96ba7a4a20cbeb468d32a17958bc127bf45272d8
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Thu Mar 29 11:05:02 2018 +0000
Add function to produce HAproxy backend confs
diff --git a/bin/varnishtest/vtc.h b/bin/varnishtest/vtc.h
index f5b8e35..5776e9b 100644
--- a/bin/varnishtest/vtc.h
+++ b/bin/varnishtest/vtc.h
@@ -91,7 +91,8 @@ int http_process(struct vtclog *vl, const char *spec, int sock, int *sfd,
char * synth_body(const char *len, int rnd);
-void cmd_server_genvcl(struct vsb *vsb);
+void cmd_server_gen_vcl(struct vsb *vsb);
+void cmd_server_gen_haproxy_conf(struct vsb *vsb);
void vtc_loginit(char *buf, unsigned buflen);
struct vtclog *vtc_logopen(const char *id);
diff --git a/bin/varnishtest/vtc_server.c b/bin/varnishtest/vtc_server.c
index 9496046..a339a7f 100644
--- a/bin/varnishtest/vtc_server.c
+++ b/bin/varnishtest/vtc_server.c
@@ -386,7 +386,7 @@ server_wait(struct server *s)
*/
void
-cmd_server_genvcl(struct vsb *vsb)
+cmd_server_gen_vcl(struct vsb *vsb)
{
struct server *s;
@@ -407,6 +407,39 @@ cmd_server_genvcl(struct vsb *vsb)
/**********************************************************************
+ * Generate VCL backend decls for our servers
+ */
+
+void
+cmd_server_gen_haproxy_conf(struct vsb *vsb)
+{
+ struct server *s;
+
+ AZ(pthread_mutex_lock(&server_mtx));
+ VTAILQ_FOREACH(s, &servers, list) {
+ if (*s->listen != '/')
+ VSB_printf(vsb,
+ "\n backend be%s\n"
+ "\tserver srv%s %s:%s\n",
+ s->name + 1, s->name + 1, s->aaddr, s->aport);
+ else
+ INCOMPL();
+ }
+ VTAILQ_FOREACH(s, &servers, list) {
+ if (*s->listen != '/')
+ VSB_printf(vsb,
+ "\n frontend http%s\n"
+ "\tuse_backend be%s\n"
+ "\tbind \"fd@${fe%s}\"\n",
+ s->name + 1, s->name + 1, s->name + 1);
+ else
+ INCOMPL();
+ }
+ AZ(pthread_mutex_unlock(&server_mtx));
+}
+
+
+/**********************************************************************
* Server command dispatch
*/
diff --git a/bin/varnishtest/vtc_varnish.c b/bin/varnishtest/vtc_varnish.c
index d09d7cf..4c2e529 100644
--- a/bin/varnishtest/vtc_varnish.c
+++ b/bin/varnishtest/vtc_varnish.c
@@ -754,7 +754,7 @@ varnish_vclbackend(struct varnish *v, const char *vcl)
VSB_printf(vsb2, "vcl %.1f;\n", v->syntax);
- cmd_server_genvcl(vsb2);
+ cmd_server_gen_vcl(vsb2);
AZ(VSB_finish(vsb2));
More information about the varnish-commit
mailing list