Spec-Zone.ru › Chef 17

пакет 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 является допустимым соответствием для этого ресурса

Свойства

version

Свойство version проверяет, установлена ли указанная версия пакета на системе:

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

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

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

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

Примеры

В следующих примерах показано, как использовать этот ресурс аудита 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 можно установить, настроить и протестировать с помощью кулинарной книги 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 }

© 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