2017-09-25 3 views
1

Ich habe ein Kochbuch mit einem Splunk Forwarder. Ich habe eine Reihe von Integration - Serverspezifikationen Tests für die Konfigurationsdateien erstellt. Eine davon, /opt/splunkforwarder/etc/apps/search/local/inputs.conf, versagt weiterhin alle Tests, die die anderen Dateien passieren. Mein Code sieht wie folgt aus:Serverspec bleibt bei einer und nur einer Datei fehlerfrei

require 'spec_helper' 

describe file('/opt/splunkforwarder/etc/apps/search/local/') do 
    it { should be_directory } 
    it { should be_owned_by 'nobody' } 
    it { should be_mode 755 } 
end 

describe file('/opt/splunkforwarder/etc/system/local/') do 
    it { should be_directory } 
    it { should be_owned_by 'nobody' } 
    it { should be_mode 755 } 
end 

describe file('/opt/splunkforwarder/etc/system/local/outputs.conf') do 
    it { should exist } 
    it { should be_owned_by 'nobody' } 
    it { should be_mode 600 } 
end 

describe file('/opt/splunkforwarder/etc/system/local/inputs.conf') do 
    it { should exist } 
    it { should be_owned_by 'nobody' } 
    it { should be_mode 600 } 
end 

describe file('/opt/splunkforwarder/etc/apps/search/local/inputs.conf}') do 
    it { should exist } 
    it { should be_owned_by 'nobody' } 
    it { should be_mode 600 } 
end 

describe file('/opt/splunkforwarder/etc/apps/SplunkUniversalForwarder/default/limits.conf') do 
    it { should exist } 
    it { should be_owned_by 'nobody' } 
    it { should be_mode 444 } 
end 

describe file('/opt/splunkforwarder/etc/system/local/web.conf') do 
    it { should exist } 
    it { should be_owned_by 'nobody' } 
    it { should be_mode 600 } 
end 

Jede Datei und jedes Verzeichnis in dieser Spec-Datei geht mit Ausnahme /opt/splunkforwarder/etc/apps/search/local/inputs.conf. Ich verwende eine Docker Instanz und Test-Küche so, wenn ich in ich log finden:

  1. Die Datei existiert
  2. Die Datei von "nobody" ist im Besitz
  3. Die Datei 600 Berechtigungen

Genau wie einige der anderen Dateien. Außerdem kann ich aus dem Standard meiner Chef-Konvergenz sehen, dass die Datei mit den richtigen Berechtigungen und Besitzrechten sowie Inhalt erstellt wird.

Ich habe überprüft, ob eines der übergeordneten Verzeichnisse nicht korrekt ist oder andere Berechtigungen als die anderen Dateien hat, die bestehen, aber das ist nicht der Fall.

Ich habe keine Ahnung, warum das nicht passiert.

+3

Was ist die ausführliche Fehlerausgabe für diesen Test? –

+0

Haben Sie SELinux aktiviert und erzwingen? Wenn ja, gibt es Einträge in der Datei "audit.log" für die Datei inputs.conf? – jayhendren

Antwort

2

Ich vermute, dass Tippfehler im Test ist dein Feind.

describe file('/opt/splunkforwarder/etc/apps/search/local/inputs.conf}') do

versuchen, diese Halterung zu entfernen und den Test erneut ausführen.

Verwandte Themen