mirror of
https://github.com/valitydev/salt.git
synced 2024-11-06 08:35:21 +00:00
231 lines
7.0 KiB
YAML
231 lines
7.0 KiB
YAML
---
|
|
<% vagrant = system('gem list -i kitchen-vagrant 2>/dev/null >/dev/null') %>
|
|
<% version = '2017.7.8' %>
|
|
<% platformsfile = ENV['SALT_KITCHEN_PLATFORMS'] || '.kitchen/platforms.yml' %>
|
|
<% driverfile = ENV['SALT_KITCHEN_DRIVER'] || '.kitchen/driver.yml' %>
|
|
<% verifierfile = ENV['SALT_KITCHEN_VERIFIER'] || '.kitchen/verifier.yml' %>
|
|
|
|
<% if File.exists?(driverfile) %>
|
|
<%= ERB.new(File.read(driverfile)).result %>
|
|
<% else %>
|
|
driver:
|
|
name: docker
|
|
use_sudo: false
|
|
hostname: salt
|
|
privileged: true
|
|
username: kitchen
|
|
volume:
|
|
- /var/run/docker.sock:/docker.sock
|
|
cap_add:
|
|
- sys_admin
|
|
disable_upstart: false
|
|
provision_command:
|
|
- echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
|
|
transport:
|
|
name: rsync
|
|
<% end %>
|
|
|
|
provisioner:
|
|
name: salt_solo
|
|
salt_install: bootstrap
|
|
salt_version: latest
|
|
salt_bootstrap_url: https://bootstrap.saltstack.com
|
|
salt_bootstrap_options: -X -p rsync git v<%= version %>
|
|
log_level: info
|
|
sudo: true
|
|
require_chef: false
|
|
retry_on_exit_code:
|
|
- 139
|
|
max_retries: 2
|
|
remote_states:
|
|
name: git://github.com/saltstack/salt-jenkins.git
|
|
branch: 2017.7
|
|
repo: git
|
|
testingdir: /testing
|
|
salt_copy_filter:
|
|
- __pycache__
|
|
- '*.pyc'
|
|
- .bundle
|
|
- .tox
|
|
- .kitchen
|
|
- artifacts
|
|
- Gemfile.lock
|
|
state_top:
|
|
base:
|
|
"os:Windows":
|
|
- match: grain
|
|
- prep_windows
|
|
"*":
|
|
- <%= ENV['KITCHEN_STATE'] || 'git.salt' %>
|
|
pillars:
|
|
top.sls:
|
|
base:
|
|
"*":
|
|
- jenkins
|
|
"os:Windows":
|
|
- match: grain
|
|
- windows
|
|
jenkins.sls:
|
|
testing_dir: "{{salt.config.get('root_dir')|replace('\\', '\\\\')}}/testing"
|
|
clone_repo: false
|
|
salttesting_namespec: salttesting==2017.6.1
|
|
windows.sls:
|
|
virtualenv_path: 'c:\Python27\Scripts\pip.exe'
|
|
<% if File.exists?(platformsfile) %>
|
|
<%= ERB.new(File.read(platformsfile)).result %>
|
|
<% else %>
|
|
platforms:
|
|
- name: fedora
|
|
driver_config:
|
|
image: fedora:latest
|
|
run_command: /usr/lib/systemd/systemd
|
|
provisioner:
|
|
salt_bootstrap_options: -X -p rsync git v<%= version %> >/dev/null
|
|
- name: centos-7
|
|
driver_config:
|
|
run_command: /usr/lib/systemd/systemd
|
|
- name: centos-6
|
|
driver_config:
|
|
run_command: /sbin/init
|
|
provision_command:
|
|
- yum install -y upstart
|
|
provisioner:
|
|
salt_bootstrap_options: -P -p rsync -y -x python2.7 -X git v<%= version %> >/dev/null
|
|
- name: ubuntu-18.04
|
|
driver_config:
|
|
run_command: /lib/systemd/systemd
|
|
- name: ubuntu-16.04
|
|
driver_config:
|
|
run_command: /lib/systemd/systemd
|
|
- name: ubuntu-14.04
|
|
driver_config:
|
|
run_command: /sbin/init
|
|
provision_command:
|
|
- rm -f /sbin/initctl
|
|
- dpkg-divert --local --rename --remove /sbin/initctl
|
|
- name: debian-8
|
|
driver_config:
|
|
run_command: /lib/systemd/systemd
|
|
provision_command:
|
|
- apt-get install -y dbus
|
|
- echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
|
|
- name: debian-9
|
|
driver_config:
|
|
run_command: /lib/systemd/systemd
|
|
- name: arch
|
|
driver_config:
|
|
image: base/archlinux
|
|
run_command: /usr/lib/systemd/systemd
|
|
provision_command:
|
|
- pacman -Syu --noconfirm systemd
|
|
- systemctl enable sshd
|
|
- echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
|
|
provisioner:
|
|
salt_bootstrap_options: -X -p rsync git v<%= version %> >/dev/null
|
|
- name: opensuse
|
|
driver_config:
|
|
run_command: /usr/lib/systemd/systemd
|
|
provision_command:
|
|
- systemctl enable sshd.service
|
|
- echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
|
|
provisioner:
|
|
salt_bootstrap_options: -X -p rsync git v<%= version %> >/dev/null
|
|
<% if vagrant != false %>
|
|
- name: windows-2012r2
|
|
driver:
|
|
box: mwrock/Windows2012R2
|
|
name: vagrant
|
|
gui: true
|
|
transport:
|
|
name: winrm
|
|
username: Administrator
|
|
password: Pass@word1
|
|
provisioner:
|
|
init_environment: |
|
|
Clear-Host
|
|
$AddedLocation ="c:\salt;c:\salt\bin\Scripts"
|
|
$Reg = "Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
|
|
$OldPath = (Get-ItemProperty -Path $Reg -Name PATH).Path
|
|
$NewPath= $OldPath + ";" + $AddedLocation
|
|
Set-ItemProperty -Path $Reg -Value $NewPath -Name PATH
|
|
reg add "hklm\system\currentcontrolset\control\session manager\memory management" /v pagingfiles /t reg_multi_sz /d "d:\pagefile.sys 4096 8192" /f
|
|
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="5000"}'
|
|
salt_bootstrap_url: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.ps1
|
|
salt_bootstrap_options: ''
|
|
verifier:
|
|
windows: true
|
|
types:
|
|
- unit
|
|
coverage_xml: false
|
|
save:
|
|
$env:TEMP/salt-runtests.log: artifacts/logs/salt-runtests.log
|
|
/salt/var/log/salt/minion: artifacts/logs/minion
|
|
- name: windows-2016
|
|
driver:
|
|
box: mwrock/Windows2016
|
|
name: vagrant
|
|
gui: true
|
|
transport:
|
|
name: winrm
|
|
username: Administrator
|
|
password: vagrant
|
|
provisioner:
|
|
init_environment: |
|
|
Clear-Host
|
|
$AddedLocation ="c:\salt;c:\salt\bin\Scripts"
|
|
$Reg = "Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
|
|
$OldPath = (Get-ItemProperty -Path $Reg -Name PATH).Path
|
|
$NewPath= $OldPath + ";" + $AddedLocation
|
|
Set-ItemProperty -Path $Reg -Value $NewPath -Name PATH
|
|
reg add "hklm\system\currentcontrolset\control\session manager\memory management" /v pagingfiles /t reg_multi_sz /d "d:\pagefile.sys 4096 8192" /f
|
|
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="5000"}'
|
|
salt_bootstrap_url: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.ps1
|
|
salt_bootstrap_options: ''
|
|
verifier:
|
|
windows: true
|
|
types:
|
|
- unit
|
|
coverage_xml: false
|
|
xml: /tmp/xml-unittests-output/
|
|
save:
|
|
/tmp/xml-unittests-output/: artifacts/
|
|
$env:TEMP/salt-runtests.log: artifacts/logs/salt-runtests.log
|
|
/salt/var/log/salt/minion: artifacts/logs/minion
|
|
<% end %>
|
|
<% end %>
|
|
suites:
|
|
- name: py2
|
|
verifier:
|
|
python_bin: python2.7
|
|
- name: py3
|
|
excludes:
|
|
- centos-6
|
|
- ubuntu-14.04
|
|
verifier:
|
|
python_bin: python3
|
|
provisioner:
|
|
pillars:
|
|
jenkins.sls:
|
|
py3: true
|
|
windows.sls:
|
|
virtualenv_path: 'c:\Python35\Scripts\pip.exe'
|
|
|
|
<% if File.exists?(verifierfile) %>
|
|
<%= ERB.new(File.read(verifierfile)).result %>
|
|
<% else %>
|
|
verifier:
|
|
name: runtests
|
|
sudo: true
|
|
run_destructive: true
|
|
transport: zeromq
|
|
types:
|
|
- ssh
|
|
xml: /tmp/xml-unittests-output/
|
|
coverage_xml: /tmp/coverage.xml
|
|
save:
|
|
/tmp/xml-unittests-output: artifacts/
|
|
/tmp/coverage.xml: artifacts/coverage/coverage.xml
|
|
/tmp/kitchen/var/log/salt/minion: artifacts/logs/minion
|
|
/tmp/salt-runtests.log: artifacts/logs/salt-runtests.log
|
|
<% end %>
|