2015-06-09 2 views
3

В моей конфигурации .kitchen.yml я пытаюсь применить атрибуты в зависимости от версии платформы. Моя кухня конфигурация выглядит следующим образом:test-kitchen: как читать специфические атрибуты платформы в kitchen.yml

platforms: 
    - name: centos-6.3 
    driver_plugin: ec2 
    driver: 
     image_id: ami-xxxxxxxx 
    attributes: 
     pg_version: "9.3" 
    - name: centos-6.5 
    driver_plugin: ec2 
    driver: 
     image_id: ami-yyyyyyyy 
    attributes: 
     pg_version: "9.4" 

Во время kitchen converge процесса я не в состоянии получить pg_version значение правильно. Для этого кода в моем выходе повар сценарий pp node.debug_value('pg_version') является следующее:

[["set_unless_enabled?", false], 
    ["default", :not_present], 
    ["env_default", :not_present], 
    ["role_default", :not_present], 
    ["force_default", :not_present], 
    ["normal", "9.4"], 
    ["override", :not_present], 
    ["role_override", :not_present], 
    ["env_override", :not_present], 
    ["force_override", :not_present], 
    ["automatic", :not_present]] 

Я не ясно понимать этот результат. Я предполагаю, что уровень приоритета атрибута, который я указал в platforms, содержит y12-раздел normal, так как я могу его получить?

Пользователь danieljimenez также поднят подобный вопрос here.

+0

Можете ли вы показать нам, как вы обращаетесь к атрибуту? Я ожидал бы этого в 'node ['pg_version']'. – Martin

+0

@Martin только что обновлен –

+0

@Martin Означает ли это, что все атрибуты платформы по умолчанию находятся на уровне приоритета «normal», и нам нужно использовать smth, например 'node.normal ['pg_version']'? –

ответ

2

Различные уровни приоритета объединены в один объект node. Вы захотите получить к нему доступ, используя node['pg_version'] в вашем случае. При настройке значения вам понадобятся только node.default, node.set, node.override.

+0

Получил, спасибо! –

Смежные вопросы