2016-12-21 8 views
0

В настоящее время я пытаюсь добавить некоторые единицы в мой растущий файл конфигурации лака.Varnish VTC include - override backend {} -

Мне удалось инициализировать его, и я думаю, что получил основы varnishtest и vtc.

Мне нужно загрузить мой varnish.vcl - внутри есть несколько бэкэндов. которые имеют .host для некоторых внутренних узлов, которые не могут быть разрешены на машине CI.

Как я могу переопределить бэкэнд?

моя идея в основном, как: (api01 определяется в varnish.vcl с внутренним СНД.)

varnish v1 -vcl { 
    # …some vcl to define backends… # 
    include "${pwd}/varnish.vcl"; 
    backend api01 { .host = "127.0.0.1"; } 
} 
varnish v1 -start 

он не - что Backend host '"api_loadbalancer"' could not be resolved to an IP address

но не продолжает определять бэкенд выше (с 127.0.0.1) - выполнение бэкэнда перед включением приводит к ошибке переопределения.

Каков правильный способ издеваться над базой данных?

ответ

0

Мы разделили наш код VCL на несколько файлов, а затем включили все их в «main.vcl», которые затем используются для запуска лака. Вот упрощенный пример структуры:

main.vcl 
-- backends.vcl 
-- directors.vcl 
-- mainLogic.vcl 

Это позволяет включать только некоторые из VCL-файлов в тестовом случае и позволяет указать движки. Например, если вы хотите использовать реальный бэкенд:

varnish v1 -vcl { 
    backend api01 { .host = "127.0.0.1"; } 
    include "${pwd}/mainLogic.vcl"; 
} 

или если вы хотите, чтобы высмеивать движки (то, что мы делаем):

varnish v1 -vcl { 
    backend api01 { 
    .host = "${s1_addr}"; 
    .port = "${s1_port}"; 
    } 
    include "${pwd}/mainLogic.vcl"; 
} 
+0

было довольно много ту же идею, ТНХ для ответа. –

+0

просто для того, чтобы дать вам дополнительную идею: мы «метапрограммируем» наши лаковые тесты. что я имею в виду, это то, что у нас есть код ruby ​​и конфигурация в JSON, и код ruby ​​может генерировать код VCL для бэкэндов и директоров из конфигурации и т. д. – Ronald

+0

, что звучит потрясающе! - Есть ли что-нибудь, что вы можете поделиться со мной? –