Получение переменной версии в качестве вывода в отчете InSpe c - PullRequest
0 голосов
/ 20 апреля 2020

Я использую chef insp c для проверки изображений AMI, созданных с использованием упаковщика, чтобы соответствовать стандартам. Одним из требований является проверка различий в версиях между образами AMI.

У меня есть следующий код, который проверяет наличие ansible версии 2.8.

control 'Ansible check' do
  impact 1.0
  title 'Check anisble is installed'
    describe package('ansible') do
      it { should be_installed }
      its('version') { should match (/2.8.*/) }
    end
end

Однако мне нужно получить полную версию переменная для проверки разницы между AMI. Пример 2.8.8

Есть ли способ получить переменную версии, выводимую в функции отчета exam c, или мне нужно использовать другие инструменты для этого?

Спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Используя этот пост https://discourse.chef.io/t/customise-testing-report/11722/4, я настроил простой хак для записи версии в другой текстовый файл, используя ruby.

Ниже приведен мой код.

f = File.open('versions.txt', 'a')

control 'Ansible check' do
  impact 1.0
  title 'Check anisble is installed'
    describe package('ansible') do
      it { should be_installed }
      its('version') { should match (/2.8.*/) }
      f.write("ansible : ", packages('ansible').versions[0], "\n")
    end
end

Вывод файла версии, как показано ниже

# cat versions.txt
ansible : 2.8.10+dfsg-1
0 голосов
/ 20 апреля 2020

Что плохого в том, чтобы просто добавить еще 8 к вашему чеку!?

[...]
its('version') { should match /2\.8\.8/ }
[...]
...