Как ограничить тест InSpec конкретной версией ОС
У нас есть кулинарная книга, которая используется на машинах Centos 6 и 7. На 7 он устанавливает последнюю версию узла, на 6 он устанавливает конкретную версию узла. Также на 6 он устанавливает некоторые другие пакеты, которые мы не устанавливаем на 7. Я пытаюсь выяснить, как написать тесты InSpec, которые будут показывать / утверждать, что вещи находятся в состоянии дачи, если мы тестируем коробку centos 6, Как мне это сделать?
Работаю с тестовой кухней.
2 ответа
Вы бы использовали псевдо-ресурс os
, Это предоставляет кучу информации о базовой платформе, но в этом случае вы хотите os[:release].start_with?('6')
(и аналогично для 7
).
InSpec имеет ресурс ОС. Вот пример того, как его использовать:
if os.family == 'debian'
describe port(69) do
its('processes') { should include 'in.tftpd' }
end
elsif os.family == 'redhat'
describe port(69) do
its('processes') { should include 'xinetd' }
end
end
Вы можете найти больше об этом ресурсе (и примере выше) в ссылке InSpec: