Como escrevo um teste local com o Serverspec?

4

Até agora a Serverspec está funcionando muito bem. Estou testando meus servidores, tudo parece bem.

Digamos que eu queira testar meu cluster LDAP executando alguns comandos LDAP da minha estação de trabalho local, digamos ldapsearch . A razão pela qual eu faria isso na estação de trabalho do que em qualquer um dos servidores é garantir que tudo funcione remotamente, incluindo o balanceamento de carga.

Qual é a convenção? Como isso é feito? Quais alterações eu teria que fazer no meu Rakefile ? Eu gerou um Rakefile via serverspec-init . Algum exemplo disso em algum lugar?

    
por cat pants 18.12.2015 / 20:39

2 respostas

3

Tanto quanto eu entendo, serverspec é uma ferramenta para verificar estado de configuração dos servidores para correção e certifique-se de que está no estado desejado. Isso é conseguido fazendo o login no servidor e executando comandos que verificam os itens / valores de configuração e retornam a saída. Então, tenho minhas dúvidas se o serverspec é a ferramenta certa para o que você quer fazer.

O site sobre os estados da seção:

Serverspec tests your servers' actual state by executing command locally, via SSH, via WinRM, via Docker API and so on.

A única opção perto do que você está procurando parece ser usar o tipo command resourc para executar e verificar a saída de alguns comandos que você deseja. link

command

Command resource type. its(:stdout), its(:stderr), its(:exit_status)

You can get the stdout, stderr and exit status of the command result, and can use any matchers RSpec supports.

describe command('ls -al /') do
  its(:stdout) { should match /bin/ }
end

describe command('ls /foo') do
  its(:stderr) { should match /No such file or directory/ }
end

describe command('ls /foo') do
  its(:exit_status) { should eq 0 }
end
    
por 05.01.2016 / 00:52
1

Você pode definir um comando que seja executado no loopback (127.0.0.1) em vez do servidor externo. Ainda vai ssh localmente, mas vai fazer o que você precisa.

    
por 07.01.2016 / 15:47