Вы упоминаете, что переопределяете атрибуты, но ваш код указывает, что вы устанавливаете эти атрибуты на уровне default
.Вам следует просмотреть Приоритет атрибута в Chef, чтобы понять, что именно означает default
.Кроме того, внутри файла атрибутов вам не нужно ставить префикс node
, просто используйте default
::
default['nexus3']['properties_variables'] = { port: '8383', host: '0.0.0.0', args: '${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml', context_path: '/nexus/' }
default['nexus3']['api']['host'] = 'http://localhost:8383'
default['nexus3']['api']['username'] = 'admin'
default['nexus3']['api']['password'] = 'Ch5f@A4min'
Синтаксис node.default
используется внутри строки, внутри рецепта для установки атрибутов.Если вы просмотрите таблицу приоритетов, то заметите, что встроенные атрибуты и атрибуты по умолчанию на один уровень выше.
Если вы хотите использовать override
, вы можете сделать это для каждого атрибута:
override['nexus3']['properties_variables'] = { port: '8383', host: '0.0.0.0', args: '${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml', context_path: '/nexus/' }
override['nexus3']['api']['host'] = 'http://localhost:8383'
override['nexus3']['api']['username'] = 'admin'
override['nexus3']['api']['password'] = 'Ch5f@A4min'
Однако, если нет необходимости устанавливать эти атрибуты в кулинарной книге-обертке, вероятно, лучше установить его как атрибут default
с более высоким приоритетом, например роль.См. Цитату ниже из раздела тот же документ 'Типы атрибутов об атрибутах переопределения:
Атрибут переопределения автоматически сбрасывается в начале каждого запуска chef-client и имеет более высокийприоритет атрибута, чем по умолчанию, force_default и обычные атрибуты.Атрибут переопределения чаще всего указывается в рецепте, но может быть указан в файле атрибутов, для роли и / или для среды. Кулинарная книга должна создаваться так, чтобы она использовала атрибуты переопределения только при необходимости .
Если вы просто установите их как default
в файле attributes/default.rb
вашей поваренной книги, то обаИсходная кулинарная книга и ваша обертка пытаются установить один и тот же атрибут на одном уровне.Это может привести к неожиданному поведению или просто не работать.