кухня проверить вывод показать отчет о двойном тестировании

Используя kitchen verify, я получил двойной отчет о своем тесте пакета. Я не знаю, почему, и это происходит только в этой кулинарной книге. Я выполнил ту же команду kitchen verify, и вывод ясен, так что теперь изменилось?

Это вывод (с двойным отчетом):

-----> Setting up <default-centos-72>...
       Finished setting up <default-centos-72> (0m0.00s).
-----> Verifying <default-centos-72>...
       Detected alternative framework tests for `inspec`
       Loaded
       Loaded

Target:  ssh://kitchen@localhost:32785

  ✔  When OS is Redhat :: Nginx service need to be installed and configured
     ✔  System Package nginx should be installed
     ✔  Group www-data should exist
     ✔  User www-data should exist
     ✔  File /etc/nginx/sites-available/mysite should be file
     ✔  File /etc/nginx/sites-available/mysite content should match "listen 80;"
     ✔  File /etc/nginx/sites-available/mysite content should match "server_name docs.mydomain.com default;"
     ✔  File /etc/nginx/sites-available/mysite content should match "access_log /var/www/mysite/doc_access.log;"
     ✔  File /etc/nginx/sites-available/mysite content should match "error_log /var/www/mysite/doc_error.log;"
     ✔  File /etc/nginx/sites-available/mysite content should match "root /var/www/mysite;"
     ✔  Service nginx should be enabled
     ✔  Service nginx should be running
     ✔  System Package nginx should be installed
     ✔  Group www-data should exist
     ✔  User www-data should exist
     ✔  File /etc/nginx/sites-available/mysite should be file
     ✔  File /etc/nginx/sites-available/mysite content should match "listen 80;"
     ✔  File /etc/nginx/sites-available/mysite content should match "server_name docs.mydomain.com default;"
     ✔  File /etc/nginx/sites-available/mysite content should match "access_log /var/www/mysite/doc_access.log;"
     ✔  File /etc/nginx/sites-available/mysite content should match "error_log /var/www/mysite/doc_error.log;"
     ✔  File /etc/nginx/sites-available/mysite content should match "root /var/www/mysite;"
     ✔  Service nginx should be enabled
     ✔  Service nginx should be running


Target:  ssh://kitchen@localhost:32785

     No tests executed.

Profile Summary: 1 successful, 0 failures, 0 skipped
Test Summary: 22 successful, 0 failures, 0 skipped
       Finished verifying <default-centos-72> (0m1.24s).
-----> Kitchen is finished. (0m4.86s)

Версия инструментов

chef -v
Chef Development Kit Version: 1.0.3
chef-client version: 12.16.42
delivery version: master (83358fb62c0f711c70ad5a81030a6cae4017f103)
berks version: 5.2.0
kitchen version: 1.13.2

Проверить версию

chef gem list | grep inspec
debug_inspector (0.0.2)
inspec (1.9.0, 1.4.1)
kitchen-inspec (0.17.0, 0.16.1)

Конфигурация кухни

---
driver:
  name: docker
  use_sudo: false
  privileged: true

provisioner:
  name: chef_zero

verifier: inspec

platforms:
  - name: centos-7.2
    driver:
      platform: rhel
      run_command: /usr/lib/systemd/systemd
      provision_command:
        - /bin/yum install -y iniscripts net-tools wget
suites:
  - name: default
    run_list:
      - recipe[nginx::default]
    verifier:
      inspec_tests:
        - test/integration/default/inspec/
    attributes:

Проверить хост

Когда я проверяю целевой хост, вывод проверки является правильным.

inspec exec test/integration/default/inspec -t ssh://[email protected] -i $HOME/key.pem

Target:  ssh://[email protected]:22

  ✔  When OS is Redhat Nginx:: Nginx service need to be installed and configured
     ✔  System Package nginx should be installed
     ✔  Group www-data should exist
     ✔  User www-data should exist
     ✔  File /etc/nginx/sites-available/mysite should be file
     ✔  File /etc/nginx/sites-available/mysite content should match "listen 80;"
     ✔  File /etc/nginx/sites-available/mysite content should match "server_name docs.mydomain.com default;"
     ✔  File /etc/nginx/sites-available/mysite content should match "access_log /var/www/mysite/doc_access.log;"
     ✔  File /etc/nginx/sites-available/mysite content should match "error_log /var/www/mysite/doc_error.log;"
     ✔  File /etc/nginx/sites-available/mysite content should match "root /var/www/mysite;"
     ✔  Service nginx should be enabled
     ✔  Service nginx should be running

Итак, я думаю, что проблема связана с кухонным плагином или докером, но я не уверен в этом? Любые предложения или идеи?


person Robert    schedule 15.02.2017    source источник


Ответы (1)


Это происходит, если test_base_path отличается, но включает путь, который вы указали в верификаторе.

Вы заметите, что

kitchen verify docker
-----> Starting Kitchen (v1.18.0)
-----> Verifying <base-centos-73-docker>...
   Loaded tests from {:path=>"<...>/test/integration/base"} 
   Loaded tests from test/integration/base 

на самом деле загружает два одинаковых пути.

Вызов

kitchen verify -t null docker
-----> Starting Kitchen (v1.18.0)
-----> Verifying <base-centos-73-docker>...
   Loaded tests from test/integration/base 

устраняет проблему при условии, что в системе нет нулевого пути.

person Christopher    schedule 06.10.2017