--- <% vagrant = system('gem list -i kitchen-vagrant 2>/dev/null >/dev/null') %> <% version = '2018.3.3' %> <% 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: 2019.2 repo: git testingdir: /testing salt_copy_filter: - __pycache__ - '*.pyc' - .bundle - .tox - .kitchen - artifacts - Gemfile.lock state_top: base: "os:Windows": - match: grain - 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 customize: cpus: 4 memory: 8192 transport: name: winrm username: Vagrant password: vagrant provisioner: salt_bootstrap_url: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.ps1 salt_bootstrap_options: -version <%= version %> 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 enable_filenames: true 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 %>