serverpec if выражение для версии mysql на сервере

Есть ли способ проверить, какой пакет установлен на сервере, с помощью вывода команды?

describe command('mysql -e "select version();"') do
  if its(:stdout) { should =~ /5.6.27-76.0-log/ } 
    describe package('MySQL-client') do
    it { should be_installed }
  else
    describe package('Percona-client') do
    it { should be_installed }
  end
end

Спасибо,

1
задан 7 March 2017 в 08:42
1 ответ

Что ж, я не мог придумать способ лучше это:

def mysql_version
  command('mysql -e "select version();"').stdout
end

def plain_mysql?
  mysql_version =~ /5.6.27-76.0-log/
end

def mysql_package_name
  if plain_mysql?
    'MySQL-client'
  else
    'Percona-client'
  end
end

describe package(mysql_package_name) do
  it { should be_installed }
end
1
ответ дан 3 December 2019 в 23:44

Теги

Похожие вопросы