Атрибут ножа SSH не работает

Меня смущает команда knife ssh. Согласно документам, вы можете передать флаг -a, если на вашем узле не установлен атрибут FQDN или ipaddress. Кроме того, если вы хотите переопределить эти атрибуты. Я запускаю это, чтобы протестировать knife ssh на локальной виртуальной машине:

  $ knife ssh "role:webserver" "sudo chef-client" -x someusername -a 192.168.14.141

Ошибка, которую я получаю:

FATAL: 1 узел найден, но не имеет необходимого атрибута для установления соединения. Попробуйте установить другой атрибут, чтобы открыть соединение, используя --attribute.

Я использую Chef 11.4.0.


person glenbot    schedule 16.04.2013    source источник


Ответы (1)


Аргумент -a на самом деле означает имя атрибута, который содержит IP-адрес узла, если атрибуты node[:fqdn] или node[:ipaddress] не установлены.

Например, у меня установлен плагин openstack ohai, общедоступный IPv4-адрес хранится в node[:openstack][:public_ipv4]. Я бы написал команду knife ssh, например:

$ knife ssh "role:webserver" "sudo chef-client" -x user -a openstack_public_ipv4

где openstack_public_ipv4 — это формат атрибута поиска, соответствующий атрибуту node[:openstack][:public_ipv4].

person Tim Potter    schedule 17.04.2013