Spec-Zone.ru › Chef 16

пакет resource

[изменить на GitHub]

Используйте ресурс аудита package Chef InSpec, чтобы проверить, установлен ли на системе указанный пакет и/или версия пакета.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс стал доступен в версии v1.0.0 InSpec.

Синтаксис

Блок ресурса package объявляет пакет и (необязательно) версию пакета:

describe package('name') do
  it { should be_installed }
end

где

  • ('name') должен указать имя пакета, например 'nginx'
  • be_installed — это допустимый матчер для данного ресурса

Примеры

Следующие примеры демонстрируют, как использовать этот ресурс аудита Chef InSpec.

Проверка установки NGINX версии 1.9.5

describe package('nginx') do
  it { should be_installed }
  its('version') { should eq '1.9.5' }
end

Проверка отсутствия установки пакета

describe package('some_package') do
  it { should_not be_installed }
end

Проверка отсутствия установки Telnet

describe package('telnetd') do
  it { should_not be_installed }
end

describe inetd_conf do
  its('telnet') { should eq nil }
end

Проверка установки и работы ClamAV (антивирусного движка)

describe package('clamav') do
  it { should be_installed }
  its('version') { should eq '0.98.7' }
end

describe service('clamd') do
  it { should be_enabled }
  it { should be_installed }
  it { should be_running }
end

Проверка установки пакета в соответствии с моей базой данных rpm

describe package('some_package', rpm_dbpath: '/var/lib/my_rpmdb') do
  it { should be_installed }
end

Проверка установки, включения и работы Memcached

Memcached — это хранилище значений ключей в оперативной памяти, которое помогает повысить производительность веб-сайтов, работающих с базами данных. Его можно установить, обслуживать и тестировать с помощью кулинарии memcached (разработанной Chef). Следующий пример взят из кулинарии memcached и демонстрирует, как использовать комбинацию ресурсов аудита package, service, и port Chef InSpec для проверки установки, включения и работы Memcached:

describe package('memcached') do
  it { should be_installed }
end

describe service('memcached') do
  it { should be_installed }
  it { should be_enabled }
  it { should be_running }
end

describe port(11_211) do
  it { should be_listening }
end

Матчеры

Полный список доступных матчеров можно найти на нашей странице матчеров.

be_held

Матчер be_held проверяет, «заблокирован» ли указанный пакет. На платформах dpkg «заблокированный» пакет не будет обновлён до более поздней версии.

it { should be_held }

be_installed

Матчер be_installed проверяет, установлен ли указанный пакет на системе:

it { should be_installed }

версия

Матчер version проверяет, есть ли на системе указанная версия пакета:

its('version') { should eq '1.2.3' }

Вы также можете использовать матчер cmp OPERATOR для выполнения сравнений с использованием атрибута version:

its('version') { should cmp >= '7.35.0-1ubuntu3.10' }

cmp понимает номера версий с помощью Gem::Version и может использовать операторы ==, <, <=, >=, and >. Он будет сравнивать версии по каждому сегменту, а не как строки — например, «7.4» меньше, чем «7.30».

© 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/package/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API