ресурс bond
Используйте ресурс аудита Chef InSpec, чтобы проверить логический, объединённый сетевой интерфейс (т.е. «два или более сетевых интерфейса, объединённых в один логический сетевой интерфейс»). В Linux-системах можно проверить любое значение в каталоге /proc/net/bonding.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии v1.0.0 InSpec.
Синтаксис
Блок ресурса bond объявляет объединённый сетевой интерфейс и затем указывает свойства этого объединённого сетевого интерфейса, которые необходимо проверить:
describe bond('name') do
it { should exist }
end
где
-
'name'— имя объединённого сетевого интерфейса -
{ should exist }— допустимый матчер для этого ресурса
Свойства
content
Свойство content возвращает содержимое файла, определяющего объединённый сетевой интерфейс. Значения свойства content — произвольные.
its('content') { should match('value') }
interfaces
Свойство interfaces проверяет, доступны ли указанные вторичные интерфейсы.
its('interfaces') { should eq ['eth0', 'eth1', ...] }
mode
Свойство mode возвращает режим Bonding.
its('mode') { should eq 'IEEE 802.3ad Dynamic link aggregation' }
params
Свойство params возвращает произвольные параметры для объединённого сетевого интерфейса.
its('params') { should eq 'value' }
Примеры
Проверка, является ли eth0 вторичным интерфейсом для bond0
describe bond('bond0') do
it { should exist }
it { should have_interface 'eth0' }
end
Проверка параметров для bond0
describe bond('bond0') do
its('mode') { should eq 'IEEE 802.3ad Dynamic link aggregation' }
its('params') { should have_key 'Transmit Hash Policy' }
its('params') { should include 'Transmit Hash Policy' => 'layer3+4 (1)' }
its('params') { should have_key 'MII Status' }
its('params') { should include 'MII Status' => 'up' }
end
Матчеры
Полный список доступных матчеров можно найти на нашей странице матчеров.
exist
Матчер exist проверяет, доступен ли объединённый сетевой интерфейс:
it { should exist }
have_interface
Матчер have_interface проверяет, имеет ли объединённый сетевой интерфейс один (или более) вторичных интерфейсов:
it { should have_interface }
© 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/bond/