Browse Source

Added Kitchen and Travis

pull/33/head
Martin819 7 years ago
parent
commit
92294ff2af
13 changed files with 204 additions and 3 deletions
  1. +149
    -0
      .kitchen.yml
  2. +30
    -0
      .travis.yml
  3. +2
    -0
      salt/control/virt.sls
  4. +2
    -0
      salt/minion/ca.sls
  5. +7
    -3
      salt/minion/service.sls
  6. +2
    -0
      tests/pillar/master_acl.sls
  7. +2
    -0
      tests/pillar/master_api.sls
  8. +2
    -0
      tests/pillar/master_cluster_failover.sls
  9. +2
    -0
      tests/pillar/master_custom_handler.sls
  10. +2
    -0
      tests/pillar/master_ssh_minion_key.sls
  11. +2
    -0
      tests/pillar/master_ssh_minion_password.sls
  12. +2
    -0
      tests/pillar/master_ssh_minion_root.sls
  13. +0
    -0
      tests/pillar/salt_master_peer.sls

+ 149
- 0
.kitchen.yml View File

@@ -0,0 +1,149 @@
---
driver:
name: docker
hostname: salt.ci.local
use_sudo: false

provisioner:
name: salt_solo
salt_install: bootstrap
salt_bootstrap_url: https://bootstrap.saltstack.com
salt_version: latest
require_chef: false
log_level: error
formula: salt
grains:
noservices: true
state_top:
base:
"*":
- salt
pillars:
top.sls:
base:
"*":
- salt
- common
common.sls:
salt:
minion:
enabled: true
master:
host: localhost
linux:
system:
enabled: true
name: salt
domain: ci.local
dependencies:
- name: git
repo: git
source: https://github.com/salt-formulas/salt-formula-git.git
- name: reclass
repo: git
source: https://github.com/salt-formulas/salt-formula-reclass.git

verifier:
name: inspec
sudo: true

platforms:
- name: <%=ENV['PLATFORM'] || 'ubuntu-xenial'%>
driver_config:
image: <%=ENV['PLATFORM'] || 'trevorj/salty-whales:xenial'%>
platform: ubuntu

# - name: ubuntu-xenial
# driver_config:
# image: trevorj/salty-whales:xenial
# platform: ubuntu

# - name: debian-jessie
# driver_config:
# image: debian:jessie

# - name: debian-stretch
# driver_config:
# image: debian:stretch

suites:

- name: minion-default
provisioner:
pillars:
top.sls:
base:
"*":
- common
- minion_pki
- minion_mine
- minion_graph
- minion_handler
- minion_local_pillar
- minion_local_reclass
pillars-from-files:
minion_pki.sls: tests/pillar/minion_pki_ca.sls
minion_mine.sls: tests/pillar/minion_mine.sls
minion_graph.sls: tests/pillar/minion_graph.sls
minion_handler.sls: tests/pillar/minion_custom_handler.sls
minion_local_pillar.sls: tests/pillar/minion_local_pillar.sls
minion_local_reclass.sls: tests/pillar/minion_local_reclass.sls

- name: master-default
provisioner:
pillars:
top.sls:
base:
"*":
- common
- master_api
- master_acl
- master_ssh_key
- master_ssh_password
- master_ssh_root
- master_handler
pillars-from-files:
master_api.sls: tests/pillar/master_api.sls
master_acl.sls: tests/pillar/master_acl.sls
master_ssh_key.sls: tests/pillar/master_ssh_minion_key.sls
master_ssh_password.sls: tests/pillar/master_ssh_minion_password.sls
master_ssh_root.sls: tests/pillar/master_ssh_minion_root.sls
master_handler.sls: tests/pillar/master_custom_handler.sls

- name: control-default
provisioner:
grains:
noservices: true
pillars:
top.sls:
base:
"*":
- common
- control_cloud_digitalocean
- control_cloud_openstack
- control_virt
pillars-from-files:
control_cloud_digitalocean.sls: tests/pillar/control_cloud_digitalocean.sls
control_cloud_openstack.sls: tests/pillar/control_cloud_openstack.sls
control_virt.sls: tests/pillar/control_virt.sls

- name: minion_multi_master_failover
provisioner:
pillars-from-files:
salt.sls: tests/pillar/minion_multi_master_failover.sls


# - name: minion-local
# provisioner:
# pillars:
# top.sls:
# base:
# "*":
# - common
# - minion_local_pillar
# - minion_local_reclass
# pillars-from-files:
# minion_local_pillar.sls: tests/pillar/minion_local_pillar.sls
# minion_local_reclass.sls: tests/pillar/minion_local_reclass.sls

# vim: ft=yaml sw=2 ts=2 sts=2 tw=125

+ 30
- 0
.travis.yml View File

@@ -0,0 +1,30 @@
sudo: required
services:
- docker

install:
- pip install PyYAML
- pip install virtualenv
- |
test -e Gemfile || cat <<EOF > Gemfile
source 'https://rubygems.org'
gem 'rake'
gem 'test-kitchen'
gem 'kitchen-docker'
gem 'kitchen-inspec'
gem 'inspec'
gem 'kitchen-salt', :git => 'https://github.com/epcim/kitchen-salt.git', :branch => 'dependencis-pkg-repo2'
#Waiting for PR#78
#gem 'kitchen-salt', '>=0.2.25'
- bundle install

env:
- PLATFORM=trevorj/salty-whales:trusty
- PLATFORM=trevorj/salty-whales:xenial

before_script:
- make test | tail

script:
- test ! -e .kitchen.yml || bundle exec kitchen converge || true
- test ! -e .kitchen.yml || bundle exec kitchen verify

+ 2
- 0
salt/control/virt.sls View File

@@ -32,8 +32,10 @@ update-guestfs-appliance:
- template: jinja
- require:
- pkg: salt_control_virt_packages
{%- if not grains.get('noservices', False) %}
- watch_in:
- service: salt_minion_service
{%- endif %}

{%- for cluster_name, cluster in control.cluster.iteritems() %}


+ 2
- 0
salt/minion/ca.sls View File

@@ -10,8 +10,10 @@ include:
- template: jinja
- require:
- {{ minion.install_state }}
{%- if not grains.get('noservices', False) %}
- watch_in:
- service: salt_minion_service
{%- endif %}

{%- for ca_name,ca in minion.ca.iteritems() %}


+ 7
- 3
salt/minion/service.sls View File

@@ -26,12 +26,16 @@ salt_minion_packages:
- template: jinja
- require:
- {{ minion.install_state }}
{%- if not grains.get('noservices', False) %}
- watch_in:
- service: salt_minion_service
{%- endif %}

{%- if not grains.get('noservices', False) %}
salt_minion_service:
service.running:
- name: {{ minion.service }}
- enable: true
service.running:
- name: {{ minion.service }}
- enable: true
{%- endif %}

{%- endif %}

+ 2
- 0
tests/pillar/master_acl.sls View File

@@ -6,6 +6,8 @@ linux:
enabled: true
salt:
master:
command_timeout: 5
worker_threads: 2
enabled: true
source:
engine: pkg

+ 2
- 0
tests/pillar/master_api.sls View File

@@ -6,6 +6,8 @@ linux:
enabled: true
salt:
master:
command_timeout: 5
worker_threads: 2
enabled: true
source:
engine: pkg

+ 2
- 0
tests/pillar/master_cluster_failover.sls View File

@@ -6,6 +6,8 @@ linux:
enabled: true
salt:
master:
command_timeout: 5
worker_threads: 2
enabled: true
source:
engine: pkg

+ 2
- 0
tests/pillar/master_custom_handler.sls View File

@@ -6,6 +6,8 @@ linux:
enabled: true
salt:
master:
command_timeout: 5
worker_threads: 2
enabled: true
source:
engine: pkg

+ 2
- 0
tests/pillar/master_ssh_minion_key.sls View File

@@ -6,6 +6,8 @@ linux:
enabled: true
salt:
master:
command_timeout: 5
worker_threads: 2
enabled: true
source:
engine: pkg

+ 2
- 0
tests/pillar/master_ssh_minion_password.sls View File

@@ -6,6 +6,8 @@ linux:
enabled: true
salt:
master:
command_timeout: 5
worker_threads: 2
enabled: true
source:
engine: pkg

+ 2
- 0
tests/pillar/master_ssh_minion_root.sls View File

@@ -6,6 +6,8 @@ linux:
enabled: true
salt:
master:
command_timeout: 5
worker_threads: 2
enabled: true
source:
engine: pkg

+ 0
- 0
tests/pillar/salt_master_peer.sls View File


Loading…
Cancel
Save