Интерфейс ресурса
Используйте ресурс проверки Chef InSpec, чтобы протестировать основные свойства сетевого адаптера, такие как имя, статус, IP-адреса и скорость соединения (в Мбит/с).
- В Linux платформах, используется
/sys/class/net/#{iface}в качестве источника - В Windows платформах, используется
Get-NetAdaptercmdlet в качестве источника - В BSD и MacOS платформах, используется
ifconfigкоманда в качестве источника. Скорость соединения может отсутствовать.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии v1.0.0 Chef InSpec.
Синтаксис
Блок ресурса interface объявляет свойства сетевого интерфейса, которые нужно проверить:
describe interface('eth0') do
it { should be_up }
its('speed') { should eq 1000 }
its('name') { should eq eth0 }
its('ipv4_addresses') { should include '10.0.0.5' }
end
Свойства
ipv4_address
Возвращает первый ipv4_addresses элемент в виде строки. Примечание: это свойство несовместимо с ServerSpec, который возвращает значение, включающее диапазон CIDR, например «10.0.0.5/32».
its('ipv4_address') { should eq '10.0.0.5' }
ipv4_addresses
Свойство ipv4_addresses возвращает массив IP-адресов IPv4 в виде строк. Вы можете проверить, существует ли указанный адрес в указанном сетевом интерфейсе:
its('ipv4_addresses') { should include '127.0.0.1' }
ipv4_addresses_netmask
Свойство ipv4_addresses_netmask возвращает массив строк, каждая из которых содержит IP-адрес IPv4, слеш и маску сети. Вы можете проверить, существует ли указанный адрес и маска сети в указанном сетевом интерфейсе:
its('ipv4_addresses_netmask') { should include '127.0.0.1/255.0.0.0' }
ipv6_address
Возвращает первый ipv6_address элемент. Примечание: это свойство несовместимо с ServerSpec, который возвращает значение, включающее диапазон CIDR.
its('ipv6_address') { should eq '2089:98b::faeb' }
ipv6_addresses
Свойство ipv6_addresses возвращает массив строк и проверяет, существует ли указанный адрес в указанном сетевом интерфейсе:
its('ipv6_addresses') { should include '::1' }
ipv4_cidrs
Свойство ipv4_cidrs возвращает массив строк и проверяет, существует ли указанная комбинация адреса и маски сети в указанном сетевом интерфейсе:
its('ipv4_cidrs') { should include '127.0.0.1/8' }
ipv6_cidrs
Свойство ipv6_cidrs возвращает массив строк и проверяет, существует ли указанная комбинация адреса и маски сети в указанном сетевом интерфейсе:
its('ipv6_cidrs') { should include '::1/128' }
name
Свойство name возвращает имя интерфейса:
its('name') { should eq 'eth0' }
speed
Свойство speed проверяет скорость сетевого интерфейса в Мбит/с. Примечание: в BSD и MacOS платформах это значение может быть nil, потому что его трудно получить надежно.
its('speed') { should eq 1000 }
Сопоставители
Полный список доступных сопоставителей вы найдете на нашей странице сопоставителей.
be_up
Сопоставитель be_up проверяет, доступен ли сетевой интерфейс:
it { should be_up }
exist
Сопоставитель exist проверяет, существует ли сетевой интерфейс:
it { should exist }
have_an_ipv4_address
Сопоставитель have_an_ipv4_address проверяет, назначены ли сетевому интерфейсу какие-либо IP-адреса IPv4:
it { should have_an_ipv4_address }
have_an_ipv6_address
Сопоставитель have_an_ipv6_address проверяет, назначены ли сетевому интерфейсу какие-либо IP-адреса IPv6:
it { should have_an_ipv6_address }
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/interface/