Spec-Zone.ru › Chef 18

ресурс хоста

[править на GitHub]

Используйте ресурс аудита Chef InSpec, чтобы проверить имя, используемое для ссылки на определенный хост, и его доступность, включая интернет-протоколы и порты, по которым это имя хоста должно быть доступно.

Доступность

Установка

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

Версия

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

Синтаксис

Блок ресурса host объявляет имя хоста, а затем (в зависимости от того, что проверяется) порт и/или протокол:

describe host('example.com', port: 80, protocol: 'tcp') do
  it { should be_reachable }
  it { should be_resolvable }
  its('ipaddress') { should include '12.34.56.78' }
end

где

  • host() должен указывать имя хоста и может указывать номер порта и/или протокол
  • 'example.com' — имя хоста
  • port: — номер порта
  • protocol: — интернет-протокол: TCP (protocol: 'tcp'), UDP (protocol: 'udp' или ICMP (protocol: 'icmp'))

Свойства

ipaddress

Свойство ipaddress возвращает ipaddress хоста.

its('ipaddress') { should include '93.184.216.34' }

соединение

Свойство connection возвращает строку подключения.

its('connection') { should match /connection refused/ }

protocol

Свойство protocol возвращает протокол, используемый данным хостом.

its('protocol') { should eq 'tcp' }

socket свойство возвращает сокет для заданного хоста.

its('socket') { should match /STATUS_OK/ }

Примеры

Проверить, что имя хоста разрешается в определенный IP-адрес.

describe host('example.com') do
  its('ipaddress') { should include '93.184.216.34' }
end

Проверить, что имя хоста доступно по определенному протоколу и номеру порта

describe host('example.com', port: 80, protocol: 'tcp') do
  it { should be_reachable }
end

Проверить, что определенный IP-адрес может быть разрешен

describe host('example.com') do
  it { should be_resolvable }
  its('ipaddress') { should include '93.184.216.34' }
end

Рассмотреть настройку подключения и содержимое сокета при проверке доступности

describe host('example.com', port: 12345, protocol: 'tcp') do
  it { should be_reachable }
  its('connection') { should_not match /connection refused/ }
  its('socket') { should match /STATUS_OK/ }
end

Матчеры

У этого ресурса аудита Chef InSpec есть следующие специальные матчеры. Полный список доступных матчеров можно найти на нашей странице страница матчеров.

be_reachable

Матчер be_reachable проверяет, доступно ли имя хоста:

it { should be_reachable }

be_resolvable

Матчер be_resolvable проверяет разрешение имени хоста, т. е. «разрешение на IP-адрес»:

it { should be_resolvable }

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

Spec-Zone.ru

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