Update tests

- add lint and syntax test for Puppet manifests
- set env GEM_HOME to allow jenkins install gem locally

Change-Id: I4678088dc5ea9ef4cdd5e20feec9880538605067
This commit is contained in:
Swann Croiset 2015-09-09 16:20:10 +02:00
parent 7379def0b9
commit 0f4fe35c19
5 changed files with 89 additions and 29 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@
.build
Gemfile.lock
.tox
.bundled_gems

View File

@ -0,0 +1,24 @@
# Copyright 2015 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
source 'https://rubygems.org'
group :development, :test do
gem 'rake'
gem "puppet", ENV['PUPPET_VERSION'] || '~> 3.4.0'
gem 'puppetlabs_spec_helper'
# Need to use master branch of puppet-lint because of
# # https://github.com/rodjek/puppet-lint/issues/355
gem 'puppet-lint', :git => 'https://github.com/rodjek/puppet-lint.git'
end

View File

@ -0,0 +1,13 @@
require 'puppet-lint/tasks/puppet-lint'
require 'puppet-syntax/tasks/puppet-syntax'
PuppetLint.configuration.fail_on_warnings = true
PuppetLint.configuration.send('disable_80chars')
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
PuppetLint.configuration.send('disable_class_parameter_defaults')
desc "Run lint and syntax tests."
task :test => [
:lint,
:syntax,
]

View File

@ -44,11 +44,10 @@ if $storage_options['objects_ceph']{
}
class { 'lma_infra_alerting':
openstack_deployment_name => $env_id,
openstack_management_vip => $management_vip,
additional_services => keys($services),
# UI password
password => $password,
openstack_deployment_name => $env_id,
openstack_management_vip => $management_vip,
additional_services => keys($services),
password => $password,
}
class { 'lma_infra_alerting::nagios::contact':
@ -141,19 +140,19 @@ $influxdb_node_name = $influxdb_grafana['node_name']
$influxdb_nodes = filter_nodes(hiera('nodes'), 'user_node_name', $influxdb_node_name)
if ! empty($influxdb_nodes){
lma_infra_alerting::nagios::check_http { 'Grafana':
host_name => $influxdb_nodes[0]['name'],
port => $lma_infra_alerting::params::grafana_port,
url => '/login',
custom_var_address => 'internal_address',
string_expected_in_content => 'grafana',
host_name => $influxdb_nodes[0]['name'],
port => $lma_infra_alerting::params::grafana_port,
url => '/login',
custom_var_address => 'internal_address',
string_expected_in_content => 'grafana',
}
lma_infra_alerting::nagios::check_http { 'InfluxDB':
host_name => $influxdb_nodes[0]['name'],
port => $lma_infra_alerting::params::influxdb_port,
url => '/ping',
custom_var_address => 'internal_address',
string_expected_in_status => '204 No Content',
string_expected_in_headers => 'X-Influxdb-Version',
host_name => $influxdb_nodes[0]['name'],
port => $lma_infra_alerting::params::influxdb_port,
url => '/ping',
custom_var_address => 'internal_address',
string_expected_in_status => '204 No Content',
string_expected_in_headers => 'X-Influxdb-Version',
}
}
@ -163,19 +162,19 @@ $es_node_name = $es_kibana['node_name']
$es_kibana_nodes = filter_nodes(hiera('nodes'), 'user_node_name', $es_node_name)
if ! empty($es_kibana_nodes){
lma_infra_alerting::nagios::check_http { 'Kibana':
host_name => $es_kibana_nodes[0]['name'],
port => $lma_infra_alerting::params::kibana_port,
url => '/',
custom_var_address => 'internal_address',
string_expected_in_content => 'Kibana 3',
host_name => $es_kibana_nodes[0]['name'],
port => $lma_infra_alerting::params::kibana_port,
url => '/',
custom_var_address => 'internal_address',
string_expected_in_content => 'Kibana 3',
}
lma_infra_alerting::nagios::check_http { 'Elasticsearch':
host_name => $es_kibana_nodes[0]['name'],
port => $lma_infra_alerting::params::elasticserach_port,
url => '/',
custom_var_address => 'internal_address',
string_expected_in_content => '"status" : 200',
host_name => $es_kibana_nodes[0]['name'],
port => $lma_infra_alerting::params::elasticserach_port,
url => '/',
custom_var_address => 'internal_address',
string_expected_in_content => '"status" : 200',
}
}

29
tox.ini
View File

@ -1,19 +1,42 @@
[tox]
envlist = nagios,lma_infra_alerting
envlist = manifests,nagios,lma_infra_alerting
skipsdist = True
[testenv:manifests]
deps =
changedir = {toxinidir}/deployment_scripts/puppet/manifests
whitelist_externals =
mkdir
bundle
setenv =
GEM_HOME={toxinidir}/.bundled_gems
commands =
mkdir -p {toxinidir}/.bundled_gems
bundle install
bundle exec rake test
[testenv:nagios]
deps =
changedir = {toxinidir}/deployment_scripts/puppet/modules/{envname}
whitelist_externals = bundle
whitelist_externals =
mkdir
bundle
setenv =
GEM_HOME={toxinidir}/.bundled_gems
commands =
mkdir -p {toxinidir}/.bundled_gems
bundle install
bundle exec rake test
[testenv:lma_infra_alerting]
deps =
changedir = {toxinidir}/deployment_scripts/puppet/modules/{envname}
whitelist_externals = bundle
whitelist_externals =
mkdir
bundle
setenv =
GEM_HOME={toxinidir}/.bundled_gems
commands =
mkdir -p {toxinidir}/.bundled_gems
bundle install
bundle exec rake test