ресурс виртуализации
Используйте ресурс аудита virtualization Chef InSpec, чтобы проверить платформу виртуализации, на которой работает система.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии v1.28.0 InSpec.
Синтаксис
Блок ресурса virtualization объявляет платформу виртуализации, которая должна быть протестирована:
describe virtualization do
its('system') { should MATCHER 'value' }
end
где
-
('system')— это имя системной информации платформы виртуализации (например, docker, lxc, vbox, kvm и т.д.) -
MATCHER— это допустимый матчер для этого ресурса -
'value'— это значение, которое нужно протестировать
Примеры
Следующие примеры демонстрируют, как использовать этот ресурс аудита Chef InSpec.
Тестирование Docker
describe virtualization do
its('system') { should eq 'docker' }
end
Тестирование VirtualBox
describe virtualization do
its('system') { should eq 'vbox' }
its('role') { should eq 'guest' }
end
Обнаружение платформы виртуализации
if virtualization.system == 'vbox'
describe package('name') do
it { should be_installed }
end
end
Матчеры
Полный список доступных матчеров можно найти на нашей странице матчеров.
Вспомогательная функция virtualization.virtual_system?
Эта вспомогательная функция возвращает значение true, если была обнаружена любая из поддерживаемых платформ виртуализации и машина-объект теста является гостевой. Вы можете использовать её в only_if { virtual_system? } -оператор, чтобы выполнить тест только на виртуализированных системах.
Вспомогательная функция virtualization.physical_system?
Если платформа виртуализации не обнаружена, это вернёт true. Для неподдерживаемых платформ виртуализации это может привести к ложным срабатываниям.
Имена платформ виртуализации
Ресурс поддерживает следующие платформы виртуализации:
На машинах Linux:
-
docker(только для ролиguest) -
hyper-v(только для ролиguest) kvmlinux vserver-
lxc/lxd -
openstack(только для ролиhost) openvz-
parallels(только для ролиguest) virtualbox-
vmware(только для ролиguest) xen
На машинах Windows (только для роли guest )
hyper-vkvmvmwarevirtualboxxen
virtualization.role
Может быть либо
guesthost
См. документацию по virtualization.system для проверки поддерживаемых ролей по платформам.
© 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/virtualization/