public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
	kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH v2 04/33] playbooks: remove Vagrant-specific playbooks and roles
Date: Sun, 27 Jul 2025 18:14:04 -0700	[thread overview]
Message-ID: <20250728011434.3197091-5-mcgrof@kernel.org> (raw)
In-Reply-To: <20250728011434.3197091-1-mcgrof@kernel.org>

Remove all Vagrant-related Ansible playbooks and roles:
- install_vagrant_boxes.yml playbook and role
- update_ssh_config_vagrant.yml playbook and role
- Vagrantfile.j2 template from gen_nodes role

This removes the complete Vagrant integration from the Ansible
provisioning system.

Generated-by: Claude AI
Suggested-by: Chuck Lever <cel@kernel.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 playbooks/install_vagrant_boxes.yml           |   5 -
 .../roles/gen_nodes/templates/Vagrantfile.j2  | 478 ------------------
 .../roles/install_vagrant_boxes/README.md     |  46 --
 .../install_vagrant_boxes/defaults/main.yml   |   6 -
 .../scripts/add-box-if-missing.sh             |  48 --
 .../install_vagrant_boxes/tasks/main.yml      |  49 --
 .../roles/update_ssh_config_vagrant/README.md |  66 ---
 .../defaults/main.yml                         |  13 -
 .../python/update_ssh_config.py               |   1 -
 .../update_ssh_config_vagrant/tasks/main.yml  |  69 ---
 .../update_ssh_config/.gitignore              |   6 -
 .../update_ssh_config/.travis.yml             |  12 -
 .../update_ssh_config/CONTRIBUTING            |  49 --
 .../update_ssh_config/LICENSE                 | 239 ---------
 .../update_ssh_config/Makefile                |  15 -
 .../update_ssh_config/README.md               | 159 ------
 .../test_update_ssh_config.py                 | 417 ---------------
 .../tests/0001_remove_hosts_top.orig          |  53 --
 .../tests/0001_remove_hosts_top.res           |  33 --
 .../tests/0002_remove_hosts_middle.orig       |  53 --
 .../tests/0002_remove_hosts_middle.res        |  33 --
 .../tests/0003_remove_hosts_bottom.orig       |  53 --
 .../tests/0003_remove_hosts_bottom.res        |  33 --
 .../tests/0004_remove_hosts_missing.orig      |  33 --
 .../tests/0004_remove_hosts_missing.res       |  33 --
 .../tests/0005_remove_hosts_similar.orig      |  53 --
 .../tests/0005_remove_hosts_similar.res       |  53 --
 .../tests/0006_add_hosts_manual.orig          |  33 --
 .../tests/0006_add_hosts_manual.res           |  53 --
 ..._remove_hosts_two_separate_ops_top.add.res |  53 --
 ...add_remove_hosts_two_separate_ops_top.orig |  53 --
 ...move_hosts_two_separate_ops_top.remove.res |  33 --
 .../0008_add_remove_hosts_one_shot_top.orig   |   1 -
 .../0008_add_remove_hosts_one_shot_top.res    |   1 -
 ..._hosts_vagrant_emulate_top.emulate_vagrant |  20 -
 .../0009_add_hosts_vagrant_emulate_top.orig   |   1 -
 .../0009_add_hosts_vagrant_emulate_top.res    |  53 --
 ...rithms_vagrant_emulate_top.emulate_vagrant |  20 -
 ...sts_kexalgorithms_vagrant_emulate_top.orig |  53 --
 ...osts_kexalgorithms_vagrant_emulate_top.res |  55 --
 ...two_separate_ops_kexalgorithms_top.add.res |  55 --
 ...ts_two_separate_ops_kexalgorithms_top.orig |  53 --
 ..._separate_ops_kexalgorithms_top.remove.res |  33 --
 .../0012_add_remove_hosts_empty_file.res      |  20 -
 .../update_ssh_config/update_ssh_config.py    | 325 ------------
 .../update_ssh_config_vagrant/vars/main.yml   |   1 -
 playbooks/update_ssh_config_vagrant.yml       |   4 -
 47 files changed, 3028 deletions(-)
 delete mode 100644 playbooks/install_vagrant_boxes.yml
 delete mode 100644 playbooks/roles/gen_nodes/templates/Vagrantfile.j2
 delete mode 100644 playbooks/roles/install_vagrant_boxes/README.md
 delete mode 100644 playbooks/roles/install_vagrant_boxes/defaults/main.yml
 delete mode 100755 playbooks/roles/install_vagrant_boxes/scripts/add-box-if-missing.sh
 delete mode 100644 playbooks/roles/install_vagrant_boxes/tasks/main.yml
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/README.md
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/defaults/main.yml
 delete mode 120000 playbooks/roles/update_ssh_config_vagrant/python/update_ssh_config.py
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/tasks/main.yml
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.gitignore
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.travis.yml
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/CONTRIBUTING
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/LICENSE
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/Makefile
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/README.md
 delete mode 100755 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/test_update_ssh_config.py
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.add.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.remove.res
 delete mode 120000 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.orig
 delete mode 120000 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.emulate_vagrant
 delete mode 120000 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.emulate_vagrant
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.add.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.orig
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.remove.res
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0012_add_remove_hosts_empty_file.res
 delete mode 100755 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/update_ssh_config.py
 delete mode 100644 playbooks/roles/update_ssh_config_vagrant/vars/main.yml
 delete mode 100644 playbooks/update_ssh_config_vagrant.yml

diff --git a/playbooks/install_vagrant_boxes.yml b/playbooks/install_vagrant_boxes.yml
deleted file mode 100644
index 8cffb36a..00000000
--- a/playbooks/install_vagrant_boxes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- hosts: localhost
-  tasks:
-    - include_role:
-        name: install_vagrant_boxes
diff --git a/playbooks/roles/gen_nodes/templates/Vagrantfile.j2 b/playbooks/roles/gen_nodes/templates/Vagrantfile.j2
deleted file mode 100644
index a52f5566..00000000
--- a/playbooks/roles/gen_nodes/templates/Vagrantfile.j2
+++ /dev/null
@@ -1,478 +0,0 @@
-# -*- mode: ruby -*-
-# # vi: set ft=ruby :
-# Automatically generated file by kdevops {{ kdevops_version }}
-
-# This file should only be edited to *grow* support for new features.
-# This file is automatically created for you from a jinja2 template file
-# and parsed with ansible after extra_vars.yaml file is created. The source is
-# playbooks/roles/gen_nodes/templates/Vagrantfile.j2
-
-Vagrant.require_version ">= 1.6.0"
-
-require 'json'
-require 'yaml'
-require 'fileutils'
-require 'rbconfig'
-
-@os = RbConfig::CONFIG['host_os']
-
-# XXX: upstream libvirt enhancement needed
-#
-# Vagrant allows multiple provider code to be supported easily, however
-# this logic assuems all provider setup is supported through configuration
-# variables from the provider. This is not the case for libvirt. We need
-# to create the qemu image, and the libvirt vagrant provider doesn't have
-# support to create the images as virtual box does. We run the commands
-# natively, however this also reveals that on execution path even code
-# for other providers gets executed regardless of the provider you are
-# using *unless* that code is using provider specific variables. Best we
-# can do for now is detect your OS and set a local variable where we *do*
-# run different local code paths depending on the target provider.
-#
-# Right now we make these assumptions:
-#
-# Your OS            Provider
-# -------------------------------
-# Linux              libirt
-# Mac OS X           virtualbox
-provider = "libvirt"
-
-# Are we in a nested virtualized environment? For now we just
-# do something different if we're not on bare metal. We may want
-# to do something different later to optimize this further but
-# we have to draw the line somewhere.
-nested = %x(which systemd-detect-virtd 1>/dev/null 2>&1 || systemd-detect-virt) != "none"
-
-case
-when @os.downcase.include?('linux')
-  provider = "libvirt"
-when @os.downcase.include?('darwin')
-  provider = "virtualbox"
-else
-  puts "You OS hasn't been tested yet, go add support and send a patch."
-  exit
-end
-
-# We assume if you are in kdevops/vagrant/ your project namespace is kdevops
-project_namespace = File.basename(File.dirname(Dir.getwd))
-
-node_config          =  "kdevops_nodes.yaml"
-node_config_override =  "kdevops_nodes_override.yaml"
-
-config_data = YAML.load_file(node_config)
-
-override_data = false
-if File.file?(node_config_override)
-  override_data = true
-  config_data_override = YAML.load_file(node_config_override)
-end
-
-global_data = config_data['vagrant_global']
-vagrant_boxes = config_data['vagrant_boxes']
-
-if override_data
-  if config_data_override['vagrant_global']
-    global_data = config_data_override['vagrant_global']
-  end
-  if config_data_override['vagrant_boxes']
-    vagrant_boxes = config_data_override['vagrant_boxes']
-  end
-end
-
-supported_provider = case provider
-  when "virtualbox" then true
-  when "libvirt" then true
-  else false
-end
-
-if ! supported_provider
-  puts "Unsupported provider: #{provider} on " + RbConfig::CONFIG['host_os']
-  puts "Consider adding support and send a patch"
-  exit
-end
-
-qemu_group = global_data['libvirt_cfg']['qemu_group']
-qemu_group_auto = global_data['libvirt_cfg']['qemu_group_auto']
-
-if qemu_group_auto
-  if File.exist?('/etc/debian_version')
-    qemu_group = 'libvirt-qemu'
-  else
-    qemu_group = 'qemu'
-  end
-end
-
-kdevops_pool_path = global_data['storage_pool_path']
-
-libvirt_session_public_network_dev = global_data['libvirt_cfg']['session_public_network_dev']
-
-Vagrant.configure("2") do |config|
-  vagrant_boxes.each do |server_data|
-    if Vagrant.has_plugin?("vagrant-timezone")
-      config.timezone.value = "{{ kdevops_host_timezone.stdout }}"
-    end
-    # Using sync folders won't work for say openstack / aws / azure / gce, and
-    # for that we'll use terraform, so best to allow whatever data we want to
-    # sync be provisioned with ansible.
-    config.vm.synced_folder './', '/vagrant', type: '9p', disabled: true, accessmode: "mapped", mount: false
-    config.vm.define server_data["name"] do |srv|
-      srv.vm.box = server_data['box'] ? server_data['box'] : global_data["box"]
-      server_box_version = server_data['box_version'] ? server_data['box_version'] : global_data["box_version"]
-      if server_box_version != ""
-        srv.vm.box_version = server_box_version
-      end
-{% if not libvirt_session %}
-      if ! nested
-        srv.vm.network "private_network", ip: server_data["ip"]
-      end
-{% endif %}
-      host_name = server_data["name"]
-      node_custom_data_path = kdevops_pool_path + "/#{host_name}"
-      FileUtils.mkdir_p(node_custom_data_path) unless File.exist?(node_custom_data_path)
-      extra_disk_path = "#{node_custom_data_path}/" + "{{ extra_disk_path }}"
-      FileUtils.mkdir_p(extra_disk_path) unless File.exist?(extra_disk_path)
-{% if libvirt_enable_cxl %}
-      cxl_path = "#{node_custom_data_path}" + "/cxl"
-      FileUtils.mkdir_p(cxl_path) unless File.exist?(cxl_path)
-{% endif %}
-{% if virtualbox_provider %}
-      srv.vm.provider "virtualbox" do |vb, override|
-	if provider == "virtualbox" && ! global_data['virtualbox_cfg']['auto_update']
-          # we'll need to run later: vagrant vbguest install
-          config.vbguest.auto_update = false
-        end
-        override.vm.hostname = host_name
-        override.vm.boot_timeout = global_data['boot_timeout']
-        vb.memory = global_data["memory"]
-        vb.cpus = global_data["cpus"]
-        if global_data['extra_disks']
-          port = 0
-          port_count = global_data['extra_disks'].size()
-          global_data['extra_disks'].each do |key, value|
-            size = value['size']
-	    # The "purpose" value below is currently an unused label at
-	    # the moment. The serial number is we really use with the
-	    # /dev/disk-id to ensure the extra drives are used as intended.
-            purpose = key
-            port_plus = port + 1
-            extra_disk = extra_disk_path + "/{{ extra_disk_driver }}#{port}n#{port_plus}.{{ libvirt_extra_drive_format }}"
-
-            # "Standard" provides a sparse file. That's what we want, we cheat
-            # the OS and only use what we need. If you want the real file size
-            # add a global config option and send a patch and justify it. I'd
-            # like to hear about it. We use sparse files for libvirt as well
-            # and should try to keep setup in sync.
-            if (! File.file?(extra_disk))
-              vb.customize ["createmedium", "disk", "--filename", extra_disk, "--variant", "Standard", "--format", "{{ libvirt_extra_drive_format | upper }}", "--size", size]
-            end
-            # Virtualbox supports only one nvme controller... this will fail
-            # unless you are a Virtualbox hacker adding support for this :)
-            if global_data['virtualbox_cfg']['nvme_controller_per_disk']
-              # https://www.virtualbox.org/manual/ch08.html#vboxmanage-storagectl
-              # This command attaches, modifies, and removes a storage
-              # controller. After this, virtual media can be attached to the
-              # controller with the storageattach command.
-              extra_drive_name = "{{ extra_disk_driver }}#{port}"
-              if (! File.file?(extra_disk))
-                vb.customize ["storagectl", :id, "--name", "#{extra_drive_name}", "--add", "pcie", "--controller", "{{ extra_disk_controller }}", "--portcount", 1, "--bootable", "off"]
-              end
-	      # Now attach the drive
-	      vb.customize ["storageattach", :id, "--storagectl", "#{extra_drive_name}", "--type", "hdd", "--medium", extra_disk, "--port", 0]
-            else
-              if (port == 0 && !File.file?(extra_disk))
-                vb.customize ["storagectl", :id, "--name", "{{ extra_disk_driver }}0", "--add", "pcie", "--controller", "{{ extra_disk_controller }}", "--portcount", port + 1, "--bootable", "off"]
-              end
-	      vb.customize ["storageattach", :id, "--storagectl", "{{ extra_disk_driver }}0", "--type", "hdd", "--medium", extra_disk, "--port", port]
-            end
-
-            if global_data['enable_sse4']
-	      # Support for the SSE4.x instruction is required in some versions of VB.
-              vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.1", "1"]
-              vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.2", "1"]
-            end
-            port += 1
-          end # end of looping all extra disks
-        end # end of checking for extra disks
-      end # end of virtualbox provider section
-{% endif %}
-{% if libvirt_provider %}
-      # For details see: https://github.com/vagrant-libvirt/vagrant-libvirt
-      srv.vm.provider "libvirt" do |libvirt, override|
-        #libvirt.host = "localhost"
-        override.vm.hostname = host_name
-        override.vm.boot_timeout = global_data['boot_timeout']
-        libvirt.watchdog :model => 'i6300esb', :action => 'reset'
-        libvirt.storage_pool_path = kdevops_pool_path
-{% if libvirt_host_passthrough %}
-        libvirt.cpu_mode = 'host-passthrough'
-{% endif %}
-{% if libvirt_storage_pool_create %}
-	libvirt.storage_pool_name = '{{ libvirt_storage_pool_name }}'
-{% endif %}
-{% if libvirt_session %}
-	libvirt.qemu_use_session = true
-	libvirt.uri = global_data['libvirt_cfg']['uri']
-	libvirt.system_uri = global_data['libvirt_cfg']['system_uri']
-	libvirt.socket = global_data['libvirt_cfg']['session_socket']
-	libvirt.management_network_device = global_data['libvirt_cfg']['session_management_network_device']
-{% else %}
-	if nested
-	  libvirt.management_network_name = 'vagrant-libvirt-private'
-	  libvirt.management_network_address = '192.168.124.0/24'
-	  libvirt.management_network_device = global_data['libvirt_cfg']['session_management_network_device']
-	end
-{% endif %}
-        libvirt.memory = global_data["memory"]
-        libvirt.cpus = global_data["cpus"]
-        libvirt.emulator_path = global_data['libvirt_cfg']['emulator_path']
-        if server_data["machine_type"]
-          libvirt.machine_type = server_data["machine_type"]
-        else
-          if global_data['libvirt_cfg']['machine_type']
-            libvirt.machine_type = global_data['libvirt_cfg']['machine_type']
-          end
-        end
-        # Add an extra spare PCI or PCI-E root bus to be used for extra drives.
-        #
-        # We use a dedicated PCI or PCI-E root bus to not clash with defaults
-        # which libvirt may use on PCI root bus (pci.0 if PCI, pcie.0 if PCI-E).
-        # For a while in kdevops we were not clashing with the defaults brought
-        # up by libvirt-qemu, however recent versions seem to start clashing up
-        # to pci.0,addr=0x3 so we'd see an error like:
-        #
-        # PCI: slot 3 function 0 not available for virtio-blk-pci, in use by nvme,id=(null) (Libvirt::Error)
-        #
-        # Just create a PCI or PCI-E root bus dedicated for extra drives. We
-        # use 0x08 to place this PCI / PCI-E root bus as we know this is
-        # available on modern x86-64 systems. Eventually we may need to bump
-        # this to 0x9, but it would be better instead to have vagant-libvirt
-        # speak "add a new PCI or PCI-E root bus" and "add extra drives" whether
-        # that is nvme or virtio.
-        #
-{% if not libvirt_override_machine_type %}
-        # For i440x on x86_64 (default on libvirt as of today) we use PCI, not
-        # PCI-E. Below assumes i440x. i440x cannot support CXL as it does not
-        # support PCI-E.
-        libvirt.qemuargs :value => "-device"
-        libvirt.qemuargs :value => "pci-bridge,id=custom-pci-for-{{ extra_disk_driver }},chassis_nr=1,bus=pci.0,addr=0x8"
-{% else %}
-{% if libvirt_machine_type == "q35" %}
-        libvirt.qemuargs :value => "-global"
-        libvirt.qemuargs :value => "ICH9-LPC.disable_s3=0"
-        libvirt.qemuargs :value => "-global"
-        libvirt.qemuargs :value => "ICH9-LPC.disable_s4=0"
-{% endif %}
-	# This is for exclusive PCIe hierarchies.
-	#
-        # For 'q35' on x86_64 and 'virt' for AArch64 we use can use PCI-E
-        # only hierarchies.
-        #
-	# We add a dedicated PCI root bus (pxb-pcie) just for dedicated PCI
-	# root ports for extra drives, this will be pcie.1.
-	#
-        # We can keep doing this to support new technologies. For instance,
-        # it may be reasonable to add a PCI-E root bus also to support PCI-E
-        # hotplug on PCI-E capable systems and avoid clashes with libvirt
-	# defaults on pcie.0. CXL uses its own host bridge so device
-	# enumeration is pretty well isolated already so no need to do anything
-	# extra there.
-        libvirt.qemuargs :value => "-device"
-        libvirt.qemuargs :value => "pxb-pcie,id=pcie.1,bus_nr=32,bus=pcie.0,addr=0x8"
-{% if libvirt_enable_cxl %}
-        libvirt.qemuargs :value => "-machine"
-        libvirt.qemuargs :value => "cxl=on"
-	cpus = global_data["cpus"]
-	memory = global_data["memory"]
-	libvirt.numa_nodes = [
-		{:cpus => "0-#{cpus - 1}", :memory => global_data["memory"]}
-	]
-	libvirt.qemuargs :value => "-m"
-	libvirt.qemuargs :value => "maxmem=#{memory *2}M,slots=16"
-	# CXL host bus
-        libvirt.qemuargs :value => "-device"
-        libvirt.qemuargs :value => "pxb-cxl,bus=pcie.0,id=cxl.0,bus_nr=52,addr=0x9"
-
-
-        cxl_mem1_path = cxl_path + "/cxl-mem1.raw"
-        libvirt.qemuargs :value => "-object"
-        libvirt.qemuargs :value => "memory-backend-file,id=kdevops-cxl-mem1,share=on,mem-path=#{cxl_mem1_path},size=4G"
-
-	# Label Storage Area, used to store CXL namespace labels and region labels
-        cxl_lsa1_path = cxl_path + "/cxl-lsa1.raw"
-        libvirt.qemuargs :value => "-object"
-        libvirt.qemuargs :value => "memory-backend-file,id=kdevops-cxl-lsa1,share=on,mem-path=#{cxl_lsa1_path},size=256M"
-
-        libvirt.qemuargs :value => "-device"
-        libvirt.qemuargs :value => "cxl-rp,port=0,bus=cxl.0,id=kdevops_cxl_root_port0,chassis=0,slot=2"
-
-{% if libvirt_enable_cxl_demo_topo2 %}
-	libvirt.qemuargs :value => "-device"
-	libvirt.qemuargs :value => "cxl-rp,port=1,bus=cxl.0,id=kdevops_cxl_root_port1,chassis=0,slot=3"
-{% endif %} # TOPO 2
-
-
-{% if libvirt_enable_cxl_switch_topo1 %}
-	libvirt.qemuargs :value => "-device"
-	libvirt.qemuargs :value => "cxl-upstream,bus=kdevops_cxl_root_port0,id=kdevops_cxl_us0,addr=0.0,multifunction=on"
-	libvirt.qemuargs :value => "-device"
-	libvirt.qemuargs :value => "cxl-switch-mailbox-cci,bus=kdevops_cxl_root_port0,addr=0.1,target=kdevops_cxl_us0"
-	libvirt.qemuargs :value => "-device"
-	libvirt.qemuargs :value => "cxl-downstream,port=0,bus=kdevops_cxl_us0,id=kdevops_cxl_swport0,chassis=0,slot=4"
-	libvirt.qemuargs :value => "-device"
-	libvirt.qemuargs :value => "cxl-downstream,port=1,bus=kdevops_cxl_us0,id=kdevops_cxl_swport1,chassis=0,slot=5"
-	libvirt.qemuargs :value => "-device"
-	libvirt.qemuargs :value => "cxl-type3,bus=kdevops_cxl_swport0,memdev=kdevops-cxl-mem1,lsa=kdevops-cxl-lsa1,id=kdevops-cxl-pmem0"
-{% else %} # !switch topo1
-	{% if not libvirt_enable_cxl_dcd_topo1 %}
-        libvirt.qemuargs :value => "-device"
-        libvirt.qemuargs :value => "cxl-type3,bus=kdevops_cxl_root_port0,memdev=kdevops-cxl-mem1,lsa=kdevops-cxl-lsa1,id=kdevops-cxl-pmem0"
-	{% else %} # dcd_topo1
-        libvirt.qemuargs :value => "-device"
-        libvirt.qemuargs :value => "cxl-type3,bus=kdevops_cxl_root_port0,nonvolatile-dc-memdev=kdevops-cxl-mem1,lsa=kdevops-cxl-lsa1,id=kdevops-cxl-dcd0,num-dc-regions=2"
-	{% endif %} # dcd topo1
-{% endif %} # !switch topo1
-        libvirt.qemuargs :value => "-M"
-        libvirt.qemuargs :value => "cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.size=8G"
-{% if libvirt_enable_qmp %}
-        libvirt.qemuargs :value => "-qmp"
-{% if libvirt_qemu_qmp_wait %}
-        libvirt.qemuargs :value => "{{ libvirt_qemu_qmp_string }},wait=on"
-{% else %} # !qmp_wait
-        libvirt.qemuargs :value => "{{ libvirt_qemu_qmp_string }},wait=off"
-{% endif %} # libvirt_qemu_qmp_wait
-{% endif %} # libvirt_enable_qmp
-{% endif %} # CXL
-{% endif %}
-
-        if server_data['pcipassthrough']
-          server_data['pcipassthrough'].each do |key, value|
-            libvirt.pci :domain => value['domain'], :bus => value['bus'], :slot => value['slot'], :function => value['function']
-          end
-        end
-        if global_data['extra_disks']
-          port = 0
-          port_count = global_data['extra_disks'].size()
-          global_data['extra_disks'].each do |key, value|
-            size = value['size']
-            zoned = value['zoned']
-            largio = value['largio']
-            if zoned && !global_data['enable_zns']
-		next
-            end
-            extra_drive_largio_args=""
-	    if zoned
-              logical_block_size = value['logical_block_size']
-              physical_block_size = value['physical_block_size']
-              zone_size = value['zone_size']
-              zone_capacity = value['zone_capacity']
-              zone_max_open = value['zone_max_open']
-              zone_max_active = value['zone_max_active']
-              zone_zasl = value['zone_zasl']
-            end
-	    if largio
-              largeio_logical_block_size = value['logical_block_size']
-              largeio_physical_block_size = value['physical_block_size']
-              extra_drive_logical_block_size_args = "logical_block_size=#{largeio_logical_block_size}"
-              extra_drive_physical_block_size_args = "physical_block_size=#{largeio_physical_block_size}"
-              extra_drive_largio_args=",#{extra_drive_logical_block_size_args},#{extra_drive_physical_block_size_args}"
-            end
-            purpose = key
-            port_plus = port + 1
-	    key_id_prefix = "{{ libvirt_extra_drive_id_prefix }}"
-	    disk_id = "#{key_id_prefix}#{port}"
-	    serial_id = "kdevops#{port}"
-            extra_disk_name = "{{ extra_disk_driver }}#{port}n#{port_plus}.{{ libvirt_extra_drive_format }}"
-            extra_disk = extra_disk_path + "/" + "#{extra_disk_name}"
-            unless File.exist? (extra_disk)
-	      if provider == "libvirt"
-	        cmd = "qemu-img create -f {{ libvirt_extra_drive_format }}  #{extra_disk} #{size}M"
-	        ok = system(cmd)
-	        if ! ok
-                  puts "Command failed: #{cmd}"
-                  exit
-                end
-              end
-            end
-{% if not libvirt_override_machine_type %}
-            bus_for_extra_drives = "custom-pci-for-{{ extra_disk_driver }}"
-            pci_function = 0 + port
-{% else %}
-	    # A PCI-E root port must be added per extra drive.
-            # Chassis must be something unique for the entire topology it seems (?)
-            chassis = 50 + port
-            bus_for_extra_drives = "pcie-port-for-{{ extra_disk_driver }}-#{port}"
-            libvirt.qemuargs :value => "-device"
-            libvirt.qemuargs :value => "pcie-root-port,id=#{bus_for_extra_drives},multifunction=on,bus=pcie.1,addr=0x#{port},chassis=#{chassis}"
-            pci_function = "0x0"
-{% endif %}
-{% if libvirt_extra_storage_drive_ide %}
-            libvirt.qemuargs :value => "-drive"
-            libvirt.qemuargs :value => "file=#{extra_disk},format={{ libvirt_extra_drive_format }},aio={{ libvirt_extra_storage_aio_mode }},cache={{ libvirt_extra_storage_aio_cache_mode }},if=ide,serial=#{serial_id}"
-{% elif libvirt_extra_storage_drive_virtio %}
-            virtio_pbs = "{{ libvirt_extra_storage_virtio_physical_block_size }}"
-            virtio_lbs = "{{ libvirt_extra_storage_virtio_logical_block_size }}"
-            libvirt.qemuargs :value => "-object"
-            libvirt.qemuargs :value => "iothread,id=kdevops-virtio-iothread-#{port}"
-            libvirt.qemuargs :value => "-drive"
-            libvirt.qemuargs :value => "file=#{extra_disk},format={{ libvirt_extra_drive_format }},if=none,aio={{ libvirt_extra_storage_aio_mode }},cache={{ libvirt_extra_storage_aio_cache_mode }},id=#{disk_id}"
-            libvirt.qemuargs :value => "-device"
-            libvirt.qemuargs :value => "virtio-blk-pci,drive=#{disk_id},id=virtio-#{disk_id},serial=#{serial_id},bus=#{bus_for_extra_drives},addr=#{pci_function},iothread=kdevops-virtio-iothread-#{port}#{extra_drive_largio_args},logical_block_size=#{virtio_lbs},physical_block_size=#{virtio_pbs}"
-{% elif libvirt_extra_storage_drive_scsi %}
-            libvirt.qemuargs :value => "-device"
-            libvirt.qemuargs :value => "virtio-scsi-pci,id=scsi#{port},bus=#{bus_for_extra_drives},addr=#{pci_function}"
-            libvirt.qemuargs :value => "-drive"
-            libvirt.qemuargs :value => "file=#{extra_disk},format={{ libvirt_extra_drive_format }},if=none,aio={{ libvirt_extra_storage_aio_mode }},cache={{ libvirt_extra_storage_aio_cache_mode }},id=#{disk_id}"
-            libvirt.qemuargs :value => "-device"
-            libvirt.qemuargs :value => "scsi-hd,drive=#{disk_id},bus=scsi#{port}.0"
-{% elif libvirt_extra_storage_drive_nvme  %}
-            if ! largio
-              nvme_lbs = "{{ libvirt_extra_storage_nvme_logical_block_size }}"
-              extra_drive_largio_args=",logical_block_size=#{nvme_lbs},physical_block_size=#{nvme_lbs}"
-            end
-            extra_drive_interface = "none"
-            if zoned
-              libvirt.qemuargs :value => "-drive"
-              libvirt.qemuargs :value => "file=#{extra_disk},format={{ libvirt_extra_drive_format }},aio={{ libvirt_extra_storage_aio_mode }},cache={{ libvirt_extra_storage_aio_cache_mode }},if=#{extra_drive_interface},id=#{disk_id}"
-              libvirt.qemuargs :value => "-device"
-              libvirt.qemuargs :value => "nvme,id={{ extra_disk_driver }}#{port},serial=#{serial_id},bus=#{bus_for_extra_drives},addr=#{pci_function},zoned.zasl=#{zone_zasl}"
-              libvirt.qemuargs :value => "-device"
-              libvirt.qemuargs :value => "nvme-ns,drive=#{disk_id},bus={{ extra_disk_driver }}#{port},nsid=1,logical_block_size=#{logical_block_size},physical_block_size=#{physical_block_size},zoned=true,zoned.zone_size=#{zone_size},zoned.zone_capacity=#{zone_capacity},zoned.max_open=#{zone_max_open},zoned.max_active=#{zone_max_active}"
-            else
-              libvirt.qemuargs :value => "-drive"
-              libvirt.qemuargs :value => "file=#{extra_disk},format={{ libvirt_extra_drive_format }},aio={{ libvirt_extra_storage_aio_mode }},cache={{ libvirt_extra_storage_aio_cache_mode }},if=#{extra_drive_interface},id=#{disk_id}"
-              libvirt.qemuargs :value => "-device"
-              libvirt.qemuargs :value => "nvme,id={{ extra_disk_driver }}#{port},serial=#{serial_id},bus=#{bus_for_extra_drives},addr=#{pci_function}"
-              libvirt.qemuargs :value => "-device"
-              libvirt.qemuargs :value => "nvme-ns,drive=#{disk_id},bus={{ extra_disk_driver }}#{port},nsid=1#{extra_drive_largio_args}"
-            end
-{% endif %}
-            port += 1
-	  end
-	  if provider == "libvirt"
-	    cmd = "sudo chgrp -R #{qemu_group} #{node_custom_data_path}"
-	    ok = system("#{cmd}")
-	    if ! ok
-              puts "Command failed: #{cmd}"
-              exit
-            end
-	    cmd = "sudo chmod -R g+rw #{node_custom_data_path}"
-	    ok = system("#{cmd}")
-	    if ! ok
-              puts "Command failed: #{cmd}"
-              exit
-            end
-	  end # end of provider check for libvirt
-	end # end of check for extra disks for libvirt
-{% if bootlinux_9p %}
-
-        libvirt.qemuargs :value => "-device"
-        libvirt.qemuargs :value => "{{ bootlinux_9p_driver }},fsdev={{ bootlinux_9p_fsdev }},mount_tag={{ bootlinux_9p_mount_tag }},bus=pcie.0,addr=0x10"
-        libvirt.qemuargs :value => "-fsdev"
-        libvirt.qemuargs :value => "local,id={{ bootlinux_9p_fsdev }},path={{ bootlinux_9p_host_path }},security_model={{ bootlinux_9p_security_model }}"
-
-{% endif %}
-      end # end of libvirt provider code
-{% endif %}
-    end # end of srv defined loop
-  end # end of vagrant_boxes loop
-end
diff --git a/playbooks/roles/install_vagrant_boxes/README.md b/playbooks/roles/install_vagrant_boxes/README.md
deleted file mode 100644
index b755febc..00000000
--- a/playbooks/roles/install_vagrant_boxes/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-install-vagrant-boxes
-=====================
-
-The ansible install-vagrant-boxes role lets you get install additional vagrant
-boxes which may be outside of the public catalog.
-
-Requirements
-------------
-
-Run system using vagrant.
-
-Role Variables
---------------
-
-  * kdevops_install_vagrant_boxes: set to True to enable installing boxes
-  * vagrant_boxes: this role is designed so that you override this varaible
-    your own list of boxes.
-
-Dependencies
-------------
-
-None.
-
-Example Playbook
-----------------
-
-Below is an example playbook, say a install-vagrant-boxes-sle.yml file which
-would try to install the aarch64 vagrant boxes for SLE using some URLs you
-have access to:
-
-```
----
-- hosts: localhost
-  tasks:
-    - include_role:
-        name: install-vagrant-boxes
-      vars:
-        vagrant_boxes:
-          - { name: 'suse/sle12sp5.aarch64', box_url: 'http://some.com/SLES12-SP5-Vagrant.aarch64-12.5-libvirt_aarch64-GM.vagrant.libvirt.box' }
-          - { name: 'suse/sle15sp2.aarch64', box_url: 'http://some.com/SLES15-SP2-Vagrant.aarch64-15.2-libvirt_aarch64-Snapshot2.vagrant.libvirt.box' }
-```
-
-License
--------
-
-copyleft-next-0.3.1
diff --git a/playbooks/roles/install_vagrant_boxes/defaults/main.yml b/playbooks/roles/install_vagrant_boxes/defaults/main.yml
deleted file mode 100644
index 13165a7c..00000000
--- a/playbooks/roles/install_vagrant_boxes/defaults/main.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-# Example boxes with URLs. You would override this.
-kdevops_install_vagrant_boxes: False
-vagrant_boxes:
-  - { name: 'suse/sle12sp5.x86_64', box_url: 'http://example.com/SLE-12-SP5-Vagrant-GM/SLES12-SP5-Vagrant.x86_64-12.5-libvirt-GM.vagrant.libvirt.box' }
-  - { name: 'suse/sle15sp2.x86_64', box_url: 'http://example.com/SLES15-SP2-Vagrant.x86_64-15.2-libvirt-Snapshot2.vagrant.libvirt.box' }
diff --git a/playbooks/roles/install_vagrant_boxes/scripts/add-box-if-missing.sh b/playbooks/roles/install_vagrant_boxes/scripts/add-box-if-missing.sh
deleted file mode 100755
index b14a52f3..00000000
--- a/playbooks/roles/install_vagrant_boxes/scripts/add-box-if-missing.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/bash
-# Looks to see if a vagrant box is present
-# Vagrant lacks the ability to tell you if a box is present in one
-# single command line so we have to wrap this up for it.
-
-TMP_FILE=""
-
-box_search_finish()
-{
-	if [[ ! -z $TMP_FILE ]]; then
-		rm -f $TMP_FILE
-	fi
-}
-
-trap "box_search_finish" EXIT
-
-if [[ $# -ne 2 ]]; then
-	echo "Usage: $0 <box_name> <box_url>"
-	exit 1
-fi
-
-BOX=$1
-BOX_URL=$2
-
-BOX_SEARCH="$1\s\+"
-TMP_FILE=$(mktemp)
-
-vagrant box list > $TMP_FILE
-grep -q "$BOX_SEARCH" $TMP_FILE
-if [ $? -eq 0 ] ; then
-	exit 0
-else
-	NAME_ARGS=""
-	echo $BOX_URL | grep -q json$
-	# Sadly we cannot rename boxes in json format, so we must stick to
-	# what is given.
-	if [[ $? -ne 0 ]]; then
-		NAME_ARGS="--name $BOX"
-	fi
-	vagrant box add --provider=libvirt --insecure $NAME_ARGS $BOX_URL
-	RET=$?
-	# We use a special return value to indicate change to the
-	# ansible script, so that it can tell a change has occurred.
-	if [ $RET -eq 0 ]; then
-		exit 314
-	fi
-	exit $RET
-fi
diff --git a/playbooks/roles/install_vagrant_boxes/tasks/main.yml b/playbooks/roles/install_vagrant_boxes/tasks/main.yml
deleted file mode 100644
index 430050f5..00000000
--- a/playbooks/roles/install_vagrant_boxes/tasks/main.yml
+++ /dev/null
@@ -1,49 +0,0 @@
----
-- name: Import optional extra_args file
-  include_vars: "{{ item }}"
-  ignore_errors: yes
-  with_first_found:
-    - files:
-      - "../extra_vars.yml"
-      - "../extra_vars.yaml"
-      - "../extra_vars.json"
-      skip: true
-  tags: vars
-
-- name: Import optional distribution specific variables
-  include_vars: "{{ item }}"
-  ignore_errors: yes
-  with_first_found:
-    - files:
-      - "{{ ansible_facts['os_family']|lower }}.yml"
-      skip: true
-  tags: vars
-
-- name: Verify vagrant installation
-  command: "which vagrant"
-  register: vagrant_present
-  changed_when: vagrant_present.rc == 0
-  failed_when: vagrant_present.rc != 0
-  tags: [ 'vagrant', 'verify' ]
-  when:
-    - kdevops_install_vagrant_boxes|bool
-
-# vagrant has no single command line to check for this so we have to
-# wrap it up ourselves, and we only add a box if not present
-- name: Add vagrant box if not present
-  shell: |
-    set -o pipefail
-    {{ role_path }}/scripts/add-box-if-missing.sh {{ item.name }} {{ item.box_url }}
-  args:
-    executable: /bin/bash
-    chdir: "{{ role_path }}"
-  register: box_check
-  changed_when: box_check.rc == 314
-  failed_when: ( box_check.rc not in [ 0,  314, 58 ] )
-  with_items:
-    - "{{ vagrant_boxes }}"
-  loop_control:
-    label: "Adding vagrant box {{ item.name }} if not present"
-  tags: [ 'vagrant', 'box', 'install' ]
-  when:
-    - kdevops_install_vagrant_boxes|bool
diff --git a/playbooks/roles/update_ssh_config_vagrant/README.md b/playbooks/roles/update_ssh_config_vagrant/README.md
deleted file mode 100644
index ddd6989d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/README.md
+++ /dev/null
@@ -1,66 +0,0 @@
-update_ssh_config_vagrant
-=========================
-
-Update your `~/.ssh/config` with the same information vagrant has.
-If you `vagrant destroy -f` and then `vagrant up` and information
-has changed, this role will delete old stale entries and replace
-them with the new ones.
-
-Care must be taken as this *does* update your local user's ~/.ssh/config by
-default. That is, this role is intended to be run locally, never on virtual
-host, unless of course you are doing nested virtualization.
-
-Development notes
------------------
-The code for updating your ssh configuration is shared with terraform.
-We do this by having the code for this ansible role effectively
-present on this ansible role through a git subtree within kdevops.
-The code upstream on that tree is used to publish a terraform module:
-
-  * https://registry.terraform.io/modules/mcgrof/add-host-ssh-config
-
-To learn how to make changes to the shared code read:
-
-  * [update_ssh_config documentation](playbooks/roles/update_ssh_config_vagrant/update_ssh_config/README.md)
-
-Requirements
-------------
-
-You can use this if you are using vagrant to deploy guests.
-
-Role Variables
---------------
-
-  * sshconfig: your ssh configuration file
-  * sshconfig_backup: where to dump the backup file
-  * vagrant_dir: the location of your vagrant deployment
-  * kexalgorithms: if set, this sets a custom ssh KexAlgorithms, useful
-    on older hosts
-
-Dependencies
-------------
-
-You should be using vagrant if you are using this role. Your system
-isa lso expected to have some sort of .ssh/config file. This runs
-*locally* on your system.
-
-Example Playbook
-----------------
-
-Below is an example playbook, say a update_ssh_config_vagrant.yml file, this
-would be fine if your vagrant deployment is located on ../vagrant/ directory:
-
-```
----
-- hosts: localhost
-  roles:
-    - role: update_ssh_config_vagrant
-```
-
-For further examples refer to one of this role's users, the
-[https://github.com/mcgrof/kdevops](kdevops) project.
-
-License
--------
-
-copyleft-next-0.3.1
diff --git a/playbooks/roles/update_ssh_config_vagrant/defaults/main.yml b/playbooks/roles/update_ssh_config_vagrant/defaults/main.yml
deleted file mode 100644
index 5b488e7a..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/defaults/main.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier copyleft-next-0.3.1
----
-# Our sensible defaults for dev_config. You can override them by putting
-# your variables in these files, the later has major precedence:
-#
-# ansible/extra_vars.yml
-
-# On your own system
-sshconfig: "~/.ssh/config"
-sshconfig_backup: "{{sshconfig}}.backup.kdevops.vagrant"
-vagrant_dir: "../vagrant"
-use_kexalgorithms: False
-kexalgorithms: ""
diff --git a/playbooks/roles/update_ssh_config_vagrant/python/update_ssh_config.py b/playbooks/roles/update_ssh_config_vagrant/python/update_ssh_config.py
deleted file mode 120000
index c3c2d5f7..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/python/update_ssh_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../update_ssh_config/update_ssh_config.py
\ No newline at end of file
diff --git a/playbooks/roles/update_ssh_config_vagrant/tasks/main.yml b/playbooks/roles/update_ssh_config_vagrant/tasks/main.yml
deleted file mode 100644
index c11dfe7e..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/tasks/main.yml
+++ /dev/null
@@ -1,69 +0,0 @@
----
-- name: Import optional extra_args file
-  include_vars: "{{ item }}"
-  ignore_errors: yes
-  with_first_found:
-    - files:
-      - "../extra_vars.yml"
-      - "../extra_vars.yaml"
-      - "../extra_vars.json"
-      skip: true
-  tags: vars
-
-- name: Set kexalgorithms preference
-  set_fact:
-    custom_ssh_kexalgorithms: '--kexalgorithms {{ kexalgorithms  }}'
-  when:
-    - use_kexalgorithms|bool
-
-- name: Ignoring kexalgorithms
-  set_fact:
-    custom_ssh_kexalgorithms: ''
-  when:
-    - not use_kexalgorithms|bool
-
-- name: Get target hosts
-  shell: |
-    set -o pipefail
-    if [ -d .vagrant ]; then
-        if uname | grep Darwin >/dev/null; then
-            SED='gsed'
-        else
-            SED='sed'
-        fi
-        vagrant ssh-config | $SED '/^[[:space:]]*$/d' | grep ^Host | awk '{print $2}' | $SED  ':a;N;$!ba;s/\n/,/g'
-    else
-        echo You are not in a directory with a .vagrant directory
-        exit 1
-    fi
-  args:
-    executable: /bin/bash
-    chdir: "{{ vagrant_dir }}"
-  register: target_hosts_comma
-  changed_when: "target_hosts_comma.rc == 0"
-
-- name: Verify sshconfig directory exists
-  delegate_to: localhost
-  local_action: file path="{{ sshconfig | dirname }}" state=directory
-  run_once: true
-
-- name: Verify sshconfig file exists
-  delegate_to: localhost
-  local_action: file path="{{ sshconfig }}" state=touch
-  run_once: true
-
-- name: Set vagrant python extra args
-  set_fact:
-    update_extra_args: '--remove {{ target_hosts_comma.stdout }} --addvagranthosts {{ custom_ssh_kexalgorithms }}'
-
-- name: Update {{ sshconfig }} with hosts entries for vagrant
-  delegate_to: localhost
-  shell: |
-    set -o pipefail
-    {{ role_path }}/python/update_ssh_config.py {{ sshconfig }} --backup_file {{ sshconfig_backup }} {{ update_extra_args }}
-  args:
-    executable: /bin/bash
-    chdir: "{{ vagrant_dir }}"
-  register: add_entry
-  changed_when: "add_entry.rc == 0"
-  run_once: true
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.gitignore b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.gitignore
deleted file mode 100644
index e02dcd09..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-tests/*.copy
-tests/*.bk
-
-*.swp
-__pycache__/
-
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.travis.yml b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.travis.yml
deleted file mode 100644
index 1d14a66b..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.travis.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-language: python
-python:
-    - "3.6"
-script:
-   - make test
-   - make flake8
-notifications:
-  email:
-    recipients:
-    - mcgrof@kernel.org
-    on_success: never
-    on_failure: always
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/CONTRIBUTING b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/CONTRIBUTING
deleted file mode 100644
index f2889597..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/CONTRIBUTING
+++ /dev/null
@@ -1,49 +0,0 @@
-
-This project embraces the Developer Certificate of Origin (DCO) for
-contributions. This means you must agree to the following prior to submitting
-patches, if you agree with this developer certificate you acknowledge this by
-adding a Signed-off-by tag to your patch commit log. Every submitted patch
-must have this.
-
-The source for the DCO:
-
-http://developercertificate.org/
-
------------------------------------------------------------------------
-
-Developer Certificate of Origin
-Version 1.1
-
-Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
-660 York Street, Suite 102,
-San Francisco, CA 94110 USA
-
-Everyone is permitted to copy and distribute verbatim copies of this
-license document, but changing it is not allowed.
-
-
-Developer's Certificate of Origin 1.1
-
-By making a contribution to this project, I certify that:
-
-(a) The contribution was created in whole or in part by me and I
-    have the right to submit it under the open source license
-    indicated in the file; or
-
-(b) The contribution is based upon previous work that, to the best
-    of my knowledge, is covered under an appropriate open source
-    license and I have the right under that license to submit that
-    work with modifications, whether created in whole or in part
-    by me, under the same open source license (unless I am
-    permitted to submit under a different license), as indicated
-    in the file; or
-
-(c) The contribution was provided directly to me by some other
-    person who certified (a), (b) or (c) and I have not modified
-    it.
-
-(d) I understand and agree that this project and the contribution
-    are public and that a record of the contribution (including all
-    personal information I submit with it, including my sign-off) is
-    maintained indefinitely and may be redistributed consistent with
-    this project or the open source license(s) involved.
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/LICENSE b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/LICENSE
deleted file mode 100644
index 431ea9e9..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/LICENSE
+++ /dev/null
@@ -1,239 +0,0 @@
-Valid-License-Identifier: copyleft-next-0.3.1
-SPDX-URL: https://spdx.org/licenses/copyleft-next-0.3.1
-Usage-Guide:
-  This license can be used in code, it has been found to be GPLv2 compatible
-  by attorneys at Redhat and SUSE, however to err on the side of caution,
-  if used on Linux it's best to only use it together with a GPL2 compatible
-  license using "OR". You do not have to do this for this project, kdevops,
-  as this project is licensed under the copyleft-next-0.3.1 license.
-  To use the copyleft-next-0.3.1 license on Linux put the following SPDX
-  tag/value pair into a comment according to the placement guidelines in the
-  licensing rules documentation:
-    SPDX-License-Identifier: GPL-2.0 OR copyleft-next-0.3.1
-    SPDX-License-Identifier: GPL-2.0-only OR copyleft-next 0.3.1
-    SPDX-License-Identifier: GPL-2.0+ OR copyleft-next-0.3.1
-    SPDX-License-Identifier: GPL-2.0-or-later OR copyleft-next-0.3.1
-License-Text:
-
-=======================================================================
-
-                      copyleft-next 0.3.1 ("this License")
-                            Release date: 2016-04-29
-
-1. License Grants; No Trademark License
-
-   Subject to the terms of this License, I grant You:
-
-   a) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
-      copyright license, to reproduce, Distribute, prepare derivative works
-      of, publicly perform and publicly display My Work.
-
-   b) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
-      patent license under Licensed Patents to make, have made, use, sell,
-      offer for sale, and import Covered Works.
-
-   This License does not grant any rights in My name, trademarks, service
-   marks, or logos.
-
-2. Distribution: General Conditions
-
-   You may Distribute Covered Works, provided that You (i) inform
-   recipients how they can obtain a copy of this License; (ii) satisfy the
-   applicable conditions of sections 3 through 6; and (iii) preserve all
-   Legal Notices contained in My Work (to the extent they remain
-   pertinent). "Legal Notices" means copyright notices, license notices,
-   license texts, and author attributions, but does not include logos,
-   other graphical images, trademarks or trademark legends.
-
-3. Conditions for Distributing Derived Works; Outbound GPL Compatibility
-
-   If You Distribute a Derived Work, You must license the entire Derived
-   Work as a whole under this License, with prominent notice of such
-   licensing. This condition may not be avoided through such means as
-   separate Distribution of portions of the Derived Work.
-
-   If the Derived Work includes material licensed under the GPL, You may
-   instead license the Derived Work under the GPL.
-   
-4. Condition Against Further Restrictions; Inbound License Compatibility
-
-   When Distributing a Covered Work, You may not impose further
-   restrictions on the exercise of rights in the Covered Work granted under
-   this License. This condition is not excused merely because such
-   restrictions result from Your compliance with conditions or obligations
-   extrinsic to this License (such as a court order or an agreement with a
-   third party).
-
-   However, You may Distribute a Covered Work incorporating material
-   governed by a license that is both OSI-Approved and FSF-Free as of the
-   release date of this License, provided that compliance with such
-   other license would not conflict with any conditions stated in other
-   sections of this License.
-
-5. Conditions for Distributing Object Code
-
-   You may Distribute an Object Code form of a Covered Work, provided that
-   you accompany the Object Code with a URL through which the Corresponding
-   Source is made available, at no charge, by some standard or customary
-   means of providing network access to source code.
-
-   If you Distribute the Object Code in a physical product or tangible
-   storage medium ("Product"), the Corresponding Source must be available
-   through such URL for two years from the date of Your most recent
-   Distribution of the Object Code in the Product. However, if the Product
-   itself contains or is accompanied by the Corresponding Source (made
-   available in a customarily accessible manner), You need not also comply
-   with the first paragraph of this section.
-
-   Each direct and indirect recipient of the Covered Work from You is an
-   intended third-party beneficiary of this License solely as to this
-   section 5, with the right to enforce its terms.
-
-6. Symmetrical Licensing Condition for Upstream Contributions
-
-   If You Distribute a work to Me specifically for inclusion in or
-   modification of a Covered Work (a "Patch"), and no explicit licensing
-   terms apply to the Patch, You license the Patch under this License, to
-   the extent of Your copyright in the Patch. This condition does not
-   negate the other conditions of this License, if applicable to the Patch.
-
-7. Nullification of Copyleft/Proprietary Dual Licensing
-
-   If I offer to license, for a fee, a Covered Work under terms other than
-   a license that is OSI-Approved or FSF-Free as of the release date of this
-   License or a numbered version of copyleft-next released by the
-   Copyleft-Next Project, then the license I grant You under section 1 is no
-   longer subject to the conditions in sections 3 through 5.
-
-8. Copyleft Sunset
-
-   The conditions in sections 3 through 5 no longer apply once fifteen
-   years have elapsed from the date of My first Distribution of My Work
-   under this License.
-
-9. Pass-Through
-
-   When You Distribute a Covered Work, the recipient automatically receives
-   a license to My Work from Me, subject to the terms of this License.
-
-10. Termination
-
-    Your license grants under section 1 are automatically terminated if You
-
-    a) fail to comply with the conditions of this License, unless You cure
-       such noncompliance within thirty days after becoming aware of it, or
-
-    b) initiate a patent infringement litigation claim (excluding
-       declaratory judgment actions, counterclaims, and cross-claims)
-       alleging that any part of My Work directly or indirectly infringes
-       any patent.
-
-    Termination of Your license grants extends to all copies of Covered
-    Works You subsequently obtain. Termination does not terminate the
-    rights of those who have received copies or rights from You subject to
-    this License.
-
-    To the extent permission to make copies of a Covered Work is necessary
-    merely for running it, such permission is not terminable.
-
-11. Later License Versions
-
-    The Copyleft-Next Project may release new versions of copyleft-next,
-    designated by a distinguishing version number ("Later Versions").
-    Unless I explicitly remove the option of Distributing Covered Works
-    under Later Versions, You may Distribute Covered Works under any Later
-    Version.
-
-** 12. No Warranty                                                       **
-**                                                                       **
-**     My Work is provided "as-is", without warranty. You bear the risk  **
-**     of using it. To the extent permitted by applicable law, each      **
-**     Distributor of My Work excludes the implied warranties of title,  **
-**     merchantability, fitness for a particular purpose and             **
-**     non-infringement.                                                 **
-
-** 13. Limitation of Liability                                           **
-**                                                                       **
-**     To the extent permitted by applicable law, in no event will any   **
-**     Distributor of My Work be liable to You for any damages           **
-**     whatsoever, whether direct, indirect, special, incidental, or     **
-**     consequential damages, whether arising under contract, tort       **
-**     (including negligence), or otherwise, even where the Distributor  **
-**     knew or should have known about the possibility of such damages.  **
-
-14. Severability
-
-    The invalidity or unenforceability of any provision of this License
-    does not affect the validity or enforceability of the remainder of
-    this License. Such provision is to be reformed to the minimum extent
-    necessary to make it valid and enforceable.
-
-15. Definitions
-
-    "Copyleft-Next Project" means the project that maintains the source
-    code repository at <https://github.com/copyleft-next/copyleft-next.git/>
-    as of the release date of this License.
-
-    "Corresponding Source" of a Covered Work in Object Code form means (i)
-    the Source Code form of the Covered Work; (ii) all scripts,
-    instructions and similar information that are reasonably necessary for
-    a skilled developer to generate such Object Code from the Source Code
-    provided under (i); and (iii) a list clearly identifying all Separate
-    Works (other than those provided in compliance with (ii)) that were
-    specifically used in building and (if applicable) installing the
-    Covered Work (for example, a specified proprietary compiler including
-    its version number). Corresponding Source must be machine-readable.
-
-    "Covered Work" means My Work or a Derived Work.
-
-    "Derived Work" means a work of authorship that copies from, modifies,
-    adapts, is based on, is a derivative work of, transforms, translates or
-    contains all or part of My Work, such that copyright permission is
-    required. The following are not Derived Works: (i) Mere Aggregation;
-    (ii) a mere reproduction of My Work; and (iii) if My Work fails to
-    explicitly state an expectation otherwise, a work that merely makes
-    reference to My Work.
-
-    "Distribute" means to distribute, transfer or make a copy available to
-    someone else, such that copyright permission is required.
-
-    "Distributor" means Me and anyone else who Distributes a Covered Work.
-
-    "FSF-Free" means classified as 'free' by the Free Software Foundation.
-
-    "GPL" means a version of the GNU General Public License or the GNU
-    Affero General Public License.
-
-    "I"/"Me"/"My" refers to the individual or legal entity that places My
-    Work under this License. "You"/"Your" refers to the individual or legal
-    entity exercising rights in My Work under this License. A legal entity
-    includes each entity that controls, is controlled by, or is under
-    common control with such legal entity. "Control" means (a) the power to
-    direct the actions of such legal entity, whether by contract or
-    otherwise, or (b) ownership of more than fifty percent of the
-    outstanding shares or beneficial ownership of such legal entity.
-
-    "Licensed Patents" means all patent claims licensable royalty-free by
-    Me, now or in the future, that are necessarily infringed by making,
-    using, or selling My Work, and excludes claims that would be infringed
-    only as a consequence of further modification of My Work.
-
-    "Mere Aggregation" means an aggregation of a Covered Work with a
-    Separate Work.
-
-    "My Work" means the particular work of authorship I license to You
-    under this License.
-
-    "Object Code" means any form of a work that is not Source Code.
-
-    "OSI-Approved" means approved as 'Open Source' by the Open Source
-    Initiative.
-
-    "Separate Work" means a work that is separate from and independent of a
-    particular Covered Work and is not by its nature an extension or
-    enhancement of the Covered Work, and/or a runtime library, standard
-    library or similar component that is used to generate an Object Code
-    form of a Covered Work.
-
-    "Source Code" means the preferred form of a work for making
-    modifications to it.
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/Makefile b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/Makefile
deleted file mode 100644
index 5dbca28d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-all: python-tests
-PHONY += all
-
-python-tests: test flake8
-PHONY += python-tests
-
-test:
-	python3 -m unittest discover -v
-PHONY += test
-
-flake8:
-	flake8 --statistics
-PHONY += flake8
-
-.PHONY: $(PHONY)
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/README.md b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/README.md
deleted file mode 100644
index 6b540c8a..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/README.md
+++ /dev/null
@@ -1,159 +0,0 @@
-# Project home
-
-This project's home page is:
-
- * https://github.com/linux-kdevops/update_ssh_config/
-
-This code lives under the linux-kdevops organization as code changes
-can be made to it there by any member of the linux-kdevops organization.
-
-# Sharing this code between vagrant and terraform
-
-The main user of this project is [kdevops](https://github.com/linux-kdevops/kdevops)
-and it uses this code today for vagranta nd terraform bringup methods. When
-using terraform, as part of the last part of bring up it calls ansible
-against the localhost with an ansible role [update_ssh_config_vagrant](https://github.com/linux-kdevops/kdevops/tree/master/playbooks/roles/update_ssh_config_vagrant).
-
-Kdevop's terraform provisioning uses this code by publishing an terraform
-module and referring to it on each cloud specific provider:
-
- * https://registry.terraform.io/modules/linux-kdevops/add-host-ssh-config/kdevops/latest
-
-kdevops uses the code in this tree as a git subtree. Delta for the code
-in this directory can be queued up in kdevops, but a developer should at some
-point in time push the code also back up to the master tree. This can be done
-with something like this:
-
-```bash
-git subtree push --prefix=playbooks/roles/update_ssh_config_vagrant/update_ssh_config update_ssh_config master
-```
-
-This will only push the code changes under the directory `playbooks/roles/update_ssh_config_vagrant/update_ssh_config`
-back to the update_ssh_config repository. In order for a new terraform
-module to be published a git tag is required to be tagged on the
-`update_ssh_config` git tree. Terraform will do sanity checks and publish
-a new module once that is available. Then each terraform provider file
-must be updated to ensure they use the latest avilable version of the module.
-
-# update_ssh_config
-
-This Python script you update your ssh configuration file, typically
-` ~/.ssh/config` programatically. It was originally designed to extend
-vagrant so that it would update your user's ssh configuration, and later
-terraform support was added. The same python script however is shared
-between both projects:
-
-  * [update_ssh_config_vagrant](https://github.com/linux-kdevops/update_ssh_config_vagrant) - ansible role for vagrant to update your ssh configuration
-  * [terraform-kdevops-add-host-ssh-config](https://github.com/linux-kdevops/terraform-kdevops-add-host-ssh-config) - terraform module to update you ssh configuration
-
-This git tree aims at providing a mechanism to allow both projects to share
-the same python script. They bring in this code using a git subtree.
-
-## Usage
-
-Below are example command line uses:
-
-## Adding hosts to the top
-
-Note that as noted on the reported [issue#3](https://github.com/mcgrof/kdevops/issues/3)
-[ssh_config(5)](https://man7.org/linux/man-pages/man5/ssh_config.5.html)
-man page states that we should add entries at the top:
-
-```
-Since the first obtained value for each parameter is used, more host-specific
-declarations should be given near the beginning of the file, and general
-defaults at the end.
-```
-
-This project adheres to this best practice.
-
-## Tests
-
-To run tests:
-
-```bash
-make test
-make flake8
-```
-
-### The vagrant use case
-
-This will remove the hosts entries for two hosts, kdevops and kdevops-dev,
-and then it adds the hosts using the output from `vagrant ssh-config`. The
-output from the command `vagrant ssh-config` is processed by the script,
-to allow further extensions.
-
-A backup file is used, just for safe measures.
-
-```
-update_ssh_config.py \
-	~/.ssh/config \
-	--backup_file ~/.ssh/config.backup.kdevops.vagrant \
-	--remove kdevops,kdevops-dev \
-	--addvagranthosts
-```
-
-Contrary to the terraform use case we don't perform two operations, and so
-we only use one backup file. This is tested under the test case:
-
-  * `test_0009_add_hosts_vagrant_emulate_top()`
-
-## The terraform use case
-
-Terraform does the same, both removal and addition in one shot, but it passes
-the parameters on the command line:
-
-```
-update_ssh_config.py \
-	--addhost kdevops,kdevops-dev \
-	--hostname 51.179.84.243,52.195.142.18 \
-	--username mcgrof \
-	--port 22 \
-	--identity \
-	~/.ssh/kdevops_terraform \
-	--addstrict \
-	--backup_file ~/.ssh/config.backup.kdevops.terraform \
-	~/.ssh/config
-```
-
-This is tested under test case:
-
-  * `test_0008_add_remove_hosts_one_shot_top()`
-
-## Custom KexAlgorithms
-
-Certain old hosts require a custom KexAlgorithms entry to be added.
-To add that use the `--kexalgorithms` parameter. This is tested
-with the following test test cases:
-
-  * `0010_add_hosts_kexalgorithms_vagrant_emulate_top()`: to mimic the use
-    case if used by vagrant
-  * `0011_add_remove_hosts_two_separate_ops_kexalgorithms_top()`: to mimic the
-    use case if used by terraform
-
-## Rationale for using Python3
-
-We explicitly rely on python3 because our current use case is vagrant and
-terraform users, and that software should be used on recent distributions,
-hopefully rolling distrubutions which get updated more often than not. Because
-modern distributions are expected to be used as your command and control, it
-is a safe assumption you must have python3 available.
-
-Also, some distributions, such as Debian testing as of September 2020, no longer
-have a `/usr/bin/python` symlink, and the
-[Debian Python Policy](https://www.debian.org/doc/packaging-manuals/python-policy/ch-python.html#s-interpreter)
-specifically requests that scripts do not use `/usr/bin/env`, do not use
-`/usr/bin/python` and instead use the exact version desired.
-
-If you'd like to add Python2 support feel free to add a python2 version file,
-maybe `update_ssh_config2.py` and just have your project symlink to it. The
-way vagrant and terraform will use this script is to symlink to the Python3
-version.
-
-### Author
-
-[Luis Chamberlain](https://www.do-not-panic.com)
-
-### License
-
-copyleft-next-0.3.1
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/test_update_ssh_config.py b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/test_update_ssh_config.py
deleted file mode 100755
index f28d9cba..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/test_update_ssh_config.py
+++ /dev/null
@@ -1,417 +0,0 @@
-#!/usr/bin/python3
-# SPDX-License-Identifier: copyleft-next-0.3.1
-
-import unittest
-import re
-from filecmp import cmp
-import inspect
-from os import listdir, remove, path
-from shutil import copyfile
-from update_ssh_config import parse_args, run_args
-
-"""
-Unit tests for update_ssh_config.py
-"""
-
-
-def get_test_files(function_name):
-    test_names = []
-    target_sshconfig = 'tests/' + re.sub('^test_', '', function_name)
-    test_names.append(target_sshconfig)
-    target_sshconfig_orig = target_sshconfig + '.orig'
-    test_names.append(target_sshconfig_orig)
-    target_sshconfig_copy = target_sshconfig + '.copy'
-    test_names.append(target_sshconfig_copy)
-    target_sshconfig_res = target_sshconfig + '.res'
-    test_names.append(target_sshconfig_res)
-    target_sshconfig_bk = target_sshconfig + '.bk'
-    test_names.append(target_sshconfig_bk)
-    return test_names
-
-
-class TestUpdateSshConfig(unittest.TestCase):
-    def test_0001_remove_hosts_top(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args([target_sshconfig_copy,
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--remove',
-                           'kdevops,kdevops-dev'])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0002_remove_hosts_middle(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args([target_sshconfig_copy,
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--remove',
-                           'kdevops,kdevops-dev'])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0003_remove_hosts_bottom(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args([target_sshconfig_copy,
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--remove',
-                           'kdevops,kdevops-dev'])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0004_remove_hosts_missing(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args([target_sshconfig_copy,
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--remove',
-                           'kdevops,kdevops-dev'])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0005_remove_hosts_similar(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args([target_sshconfig_copy,
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--remove',
-                           'kdevops,kdevops-dev'])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0006_add_hosts_manual(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args(['--addhost',
-                           'kdevops,kdevops-dev',
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--username',
-                           'alpha',
-                           '--hostname',
-                           '51.179.89.243,52.195.142.19',
-                           '--port',
-                           '25',
-                           '--identity',
-                           '~alpha/.ssh/go',
-                           '--addstrict',
-                           target_sshconfig_copy])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0007_add_remove_hosts_two_separate_ops_top(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig = tests_names[0]
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-
-        target_sshconfig_res_remove = target_sshconfig + '.remove.res'
-        target_sshconfig_res_add = target_sshconfig + '.add.res'
-
-        target_sshconfig_bk_remove = target_sshconfig + '.remove.bk'
-        target_sshconfig_bk_add = target_sshconfig + '.add.bk'
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args(['--remove',
-                           'kdevops,kdevops-dev',
-                           '--backup_file',
-                           target_sshconfig_bk_remove,
-                           '--username',
-                           'alpha',
-                           '--hostname',
-                           '51.179.89.243,52.195.142.19',
-                           '--port',
-                           '25',
-                           '--identity',
-                           '~alpha/.ssh/go',
-                           '--addstrict',
-                           target_sshconfig_copy])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk_remove,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res_remove, shallow=False))
-
-        args = parse_args(['--addhost',
-                           'kdevops,kdevops-dev',
-                           '--backup_file',
-                           target_sshconfig_bk_add,
-                           '--username',
-                           'alpha',
-                           '--hostname',
-                           '51.179.89.243,52.195.142.19',
-                           '--port',
-                           '25',
-                           '--identity',
-                           '~alpha/.ssh/go',
-                           '--addstrict',
-                           target_sshconfig_copy])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk_add,
-                            target_sshconfig_res_remove, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res_add, shallow=False))
-
-    def test_0008_add_remove_hosts_one_shot_top(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args(['--remove',
-                           'kdevops,kdevops-dev',
-                           '--addhost',
-                           'kdevops,kdevops-dev',
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--username',
-                           'alpha',
-                           '--hostname',
-                           '51.179.89.243,52.195.142.19',
-                           '--port',
-                           '25',
-                           '--identity',
-                           '~alpha/.ssh/go',
-                           '--addstrict',
-                           target_sshconfig_copy])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0009_add_hosts_vagrant_emulate_top(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig = tests_names[0]
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        target_sshconfig_vagrant_input = target_sshconfig + '.emulate_vagrant'
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args([target_sshconfig_copy,
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--remove',
-                           'kdevops,kdevops-dev',
-                           '--addvagranthosts',
-                           '--emulatevagrantinput',
-                           target_sshconfig_vagrant_input])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0010_add_hosts_kexalgorithms_vagrant_emulate_top(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig = tests_names[0]
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        target_sshconfig_vagrant_input = target_sshconfig + '.emulate_vagrant'
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args([target_sshconfig_copy,
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--remove',
-                           'kdevops,kdevops-dev',
-                           '--addvagranthosts',
-                           '--kexalgorithms',
-                           'diffie-hellman-group-exchange-sha1,' +
-                           'diffie-hellman-group14-sha1,' +
-                           'diffie-hellman-group1-sha1',
-                           '--emulatevagrantinput',
-                           target_sshconfig_vagrant_input])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def test_0011_add_remove_hosts_two_separate_ops_kexalgorithms_top(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig = tests_names[0]
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-
-        target_sshconfig_res_remove = target_sshconfig + '.remove.res'
-        target_sshconfig_res_add = target_sshconfig + '.add.res'
-
-        target_sshconfig_bk_remove = target_sshconfig + '.remove.bk'
-        target_sshconfig_bk_add = target_sshconfig + '.add.bk'
-
-        copyfile(target_sshconfig_orig, target_sshconfig_copy)
-
-        args = parse_args(['--remove',
-                           'kdevops,kdevops-dev',
-                           '--backup_file',
-                           target_sshconfig_bk_remove,
-                           '--username',
-                           'alpha',
-                           '--hostname',
-                           '51.179.89.243,52.195.142.19',
-                           '--port',
-                           '25',
-                           '--identity',
-                           '~alpha/.ssh/go',
-                           '--kexalgorithms',
-                           'diffie-hellman-group-exchange-sha1,' +
-                           'diffie-hellman-group14-sha1,' +
-                           'diffie-hellman-group1-sha1',
-                           '--addstrict',
-                           target_sshconfig_copy])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk_remove,
-                            target_sshconfig_orig, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res_remove, shallow=False))
-
-        args = parse_args(['--addhost',
-                           'kdevops,kdevops-dev',
-                           '--backup_file',
-                           target_sshconfig_bk_add,
-                           '--username',
-                           'alpha',
-                           '--hostname',
-                           '51.179.89.243,52.195.142.19',
-                           '--port',
-                           '25',
-                           '--identity',
-                           '~alpha/.ssh/go',
-                           '--kexalgorithms',
-                           'diffie-hellman-group-exchange-sha1,' +
-                           'diffie-hellman-group14-sha1,' +
-                           'diffie-hellman-group1-sha1',
-                           '--addstrict',
-                           target_sshconfig_copy])
-        run_args(args)
-        self.assertTrue(cmp(target_sshconfig_bk_add,
-                            target_sshconfig_res_remove, shallow=False))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res_add, shallow=False))
-
-    def test_0012_add_remove_hosts_empty_file(self):
-        this_function_name = inspect.stack()[0][3]
-        tests_names = get_test_files(this_function_name)
-        target_sshconfig_orig = tests_names[1]
-        target_sshconfig_copy = tests_names[2]
-        target_sshconfig_res = tests_names[3]
-        target_sshconfig_bk = tests_names[4]
-
-        args = parse_args(['--remove',
-                           'kdevops,kdevops-dev',
-                           '--addhost',
-                           'kdevops,kdevops-dev',
-                           '--backup_file',
-                           target_sshconfig_bk,
-                           '--username',
-                           'alpha',
-                           '--hostname',
-                           '51.179.89.243,52.195.142.19',
-                           '--port',
-                           '25',
-                           '--identity',
-                           '~alpha/.ssh/go',
-                           '--addstrict',
-                           target_sshconfig_copy])
-        self.assertTrue(not path.exists(target_sshconfig_orig))
-        self.assertTrue(not path.exists(target_sshconfig_copy))
-        run_args(args)
-        self.assertTrue(not path.exists(target_sshconfig_orig))
-        self.assertTrue(not path.exists(target_sshconfig_bk))
-        self.assertTrue(path.exists(target_sshconfig_copy))
-        self.assertTrue(cmp(target_sshconfig_copy,
-                            target_sshconfig_res, shallow=False))
-
-    def tearDown(self):
-        files = listdir("tests")
-        for testfile in files:
-            if testfile.endswith(".copy") or testfile.endswith(".bk"):
-                remove(path.join("tests", testfile))
-
-
-if __name__ == '__main__':
-    unittest.main(verbosity=2)
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.orig
deleted file mode 100644
index d519e88c..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.orig
+++ /dev/null
@@ -1,53 +0,0 @@
-Host kdevops
-	HostName 192.168.31.12
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 192.168.31.13
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.res
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.res
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.orig
deleted file mode 100644
index dc3dfd4f..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.orig
+++ /dev/null
@@ -1,53 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host kdevops
-	HostName 192.168.31.12
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 192.168.31.13
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.res
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.res
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.orig
deleted file mode 100644
index e115da8d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.orig
+++ /dev/null
@@ -1,53 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host kdevops
-	HostName 192.168.31.12
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 192.168.31.13
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.res
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.res
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.orig
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.orig
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.res
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.res
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.orig
deleted file mode 100644
index 17896ac4..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.orig
+++ /dev/null
@@ -1,53 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host kdevopss
-	HostName 192.168.31.12
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-devs
-	HostName 192.168.31.13
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.res
deleted file mode 100644
index 17896ac4..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.res
+++ /dev/null
@@ -1,53 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host kdevopss
-	HostName 192.168.31.12
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-devs
-	HostName 192.168.31.13
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.orig
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.orig
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.res
deleted file mode 100644
index e65abcc3..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.res
+++ /dev/null
@@ -1,53 +0,0 @@
-Host kdevops 51.179.89.243
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev 52.195.142.19
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.add.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.add.res
deleted file mode 100644
index e65abcc3..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.add.res
+++ /dev/null
@@ -1,53 +0,0 @@
-Host kdevops 51.179.89.243
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev 52.195.142.19
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.orig
deleted file mode 100644
index c497d405..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.orig
+++ /dev/null
@@ -1,53 +0,0 @@
-Host kdevops
-	HostName 192.168.3.9
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 192.168.3.10
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.remove.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.remove.res
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.remove.res
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.orig
deleted file mode 120000
index fec797de..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.orig
+++ /dev/null
@@ -1 +0,0 @@
-0007_add_remove_hosts_two_separate_ops_top.orig
\ No newline at end of file
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.res
deleted file mode 120000
index 533331a8..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.res
+++ /dev/null
@@ -1 +0,0 @@
-0007_add_remove_hosts_two_separate_ops_top.add.res
\ No newline at end of file
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.emulate_vagrant b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.emulate_vagrant
deleted file mode 100644
index f9d831eb..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.emulate_vagrant
+++ /dev/null
@@ -1,20 +0,0 @@
-Host kdevops
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.orig
deleted file mode 120000
index fec797de..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.orig
+++ /dev/null
@@ -1 +0,0 @@
-0007_add_remove_hosts_two_separate_ops_top.orig
\ No newline at end of file
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.res
deleted file mode 100644
index 26401701..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.res
+++ /dev/null
@@ -1,53 +0,0 @@
-Host kdevops-dev 52.195.142.19
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops 51.179.89.243
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.emulate_vagrant b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.emulate_vagrant
deleted file mode 100644
index f9d831eb..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.emulate_vagrant
+++ /dev/null
@@ -1,20 +0,0 @@
-Host kdevops
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.orig
deleted file mode 100644
index c497d405..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.orig
+++ /dev/null
@@ -1,53 +0,0 @@
-Host kdevops
-	HostName 192.168.3.9
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 192.168.3.10
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.res
deleted file mode 100644
index 2c315e68..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.res
+++ /dev/null
@@ -1,55 +0,0 @@
-Host kdevops-dev 52.195.142.19
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops 51.179.89.243
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.add.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.add.res
deleted file mode 100644
index 6699c65f..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.add.res
+++ /dev/null
@@ -1,55 +0,0 @@
-Host kdevops 51.179.89.243
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev 52.195.142.19
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.orig b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.orig
deleted file mode 100644
index c497d405..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.orig
+++ /dev/null
@@ -1,53 +0,0 @@
-Host kdevops
-	HostName 192.168.3.9
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev
-	HostName 192.168.3.10
-	User vagrant
-	Port 22
-	IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/kdevops-dev/libvirt/private_key
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.remove.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.remove.res
deleted file mode 100644
index b13f939d..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.remove.res
+++ /dev/null
@@ -1,33 +0,0 @@
-Host *
-	ServerAliveInterval 60
-	ServerAliveCountMax 2
-Host apples
-	User mcgrof
-	Port 22
-	HostName 192.168.1.10
-	IdentityFile ~/.ssh/apples
-Host apples-pub
-	User mcgrof
-	Port 6913
-	HostName 71.72.31.95
-	IdentityFile ~/.ssh/apples
-Host starwars
-  HostName 192.168.2.92
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
-Host starwars-dev
-  HostName 192.168.2.78
-  User vagrant
-  Port 22
-  UserKnownHostsFile /dev/null
-  StrictHostKeyChecking no
-  PasswordAuthentication no
-  IdentityFile /home/mcgrof/devel/kdevops/vagrant/.vagrant/machines/starwars-dev/libvirt/private_key
-  IdentitiesOnly yes
-  LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0012_add_remove_hosts_empty_file.res b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0012_add_remove_hosts_empty_file.res
deleted file mode 100644
index 311eff20..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0012_add_remove_hosts_empty_file.res
+++ /dev/null
@@ -1,20 +0,0 @@
-Host kdevops 51.179.89.243
-	HostName 51.179.89.243
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
-Host kdevops-dev 52.195.142.19
-	HostName 52.195.142.19
-	User alpha
-	Port 25
-	IdentityFile ~alpha/.ssh/go
-	UserKnownHostsFile /dev/null
-	StrictHostKeyChecking no
-	PasswordAuthentication no
-	IdentitiesOnly yes
-	LogLevel FATAL
diff --git a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/update_ssh_config.py b/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/update_ssh_config.py
deleted file mode 100755
index feac31d2..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/update_ssh_config/update_ssh_config.py
+++ /dev/null
@@ -1,325 +0,0 @@
-#!/usr/bin/python3
-# SPDX-License-Identifier: copyleft-next-0.3.1
-
-import argparse
-import sys
-import os
-import re
-import subprocess
-from shutil import copyfile
-
-
-class VagrantError(Exception):
-    pass
-
-
-class ExecutionError(VagrantError):
-    def __init__(self, errcode):
-        self.error_code = errcode
-
-
-def _check(process):
-    if process.returncode != 0:
-        raise ExecutionError(process.returncode)
-
-
-def key_val(line):
-    no_comment = line.split("#")[0]
-    return [x.strip() for x in re.split(r"\s+", no_comment.strip(), 1)]
-
-
-def remove_hosts(args):
-    hosts = args.remove.split(",")
-
-    f = open(args.ssh_config, "r")
-    lines = f.read().splitlines()
-    f.close()
-    new_lines = list()
-    rm_this_host = False
-    for line in lines:
-        kv = key_val(line)
-        if len(kv) > 1:
-            key, value = kv
-            if key.lower() == "host":
-                if value in hosts:
-                    rm_this_host = True
-                    continue
-                else:
-                    rm_this_host = False
-                    new_lines.append(line)
-            else:
-                if not rm_this_host:
-                    new_lines.append(line)
-        else:
-            new_lines.append(line)
-
-    f = open(args.ssh_config, "w")
-    f.write("\n".join([x for x in new_lines]) + "\n")
-    f.close()
-
-
-def add_vagrant_hosts(args):
-    lines = None
-    if args.emulatevagrantinput:
-        f = open(args.emulatevagrantinput, "r")
-        lines = f.read().splitlines()
-        f.close()
-    else:
-        process = subprocess.Popen(['vagrant', 'ssh-config'],
-                                   stdout=subprocess.PIPE,
-                                   close_fds=True, universal_newlines=True)
-        stdout = process.communicate()[0]
-        process.wait()
-        _check(process)
-        lines = stdout.splitlines()
-
-    addhost = ""
-    hostname = ""
-    username = ""
-    port = ""
-    identity = ""
-    kexalgorithms = None
-
-    # All vagrant hosts are strict, which allows us to skip checking all of
-    # the parameters which define this.
-    addstrict = True
-
-    last_host_added = ""
-    newhost = None
-
-    if args.kexalgorithms and args.kexalgorithms is not None:
-        kexalgorithms = args.kexalgorithms
-
-    for line in lines:
-        if not line:
-            continue
-        kv = key_val(line)
-        if len(kv) > 1:
-            key, value = kv
-            if key.lower() == "host":
-                if addhost != "":
-                    newhost = SshHost(args.ssh_config, addhost, hostname,
-                                      username, port, identity, addstrict,
-                                      kexalgorithms)
-                    newhost.call_add_host()
-                    last_host_added = addhost
-                addhost = value
-                hostname = ""
-                username = ""
-                port = ""
-                identity = ""
-                addstrict = True
-            if key.lower() == "hostname":
-                hostname = value
-            elif key.lower() == "user":
-                username = value
-            elif key.lower() == "port":
-                port = value
-            elif key.lower() == "identityfile":
-                identity = value
-
-    if last_host_added != addhost:
-        newhost = SshHost(args.ssh_config, addhost, hostname, username, port,
-                          identity, addstrict, kexalgorithms)
-        newhost.call_add_host()
-
-
-# We extend the SshHost with the variables which we add to our ArgumentParser
-# and which we use on this function so that we can pass to this function either
-# an ArgumentParser object or one of our SshHost objects
-def add_host(args):
-    hosts = args.addhost.split(",")
-    new_lines = list()
-    hostnames = list()
-    ports = list()
-    count = 0
-
-    if args.hostname:
-        hostnames = args.hostname.split(",")
-
-    if len(hosts) > 1 and len(hostnames) > 1:
-        if len(hosts) != len(hostnames):
-            sys.stdout.write("Number of shorthosts must match number of " +
-                             "hostnames\n")
-            sys.exit(1)
-
-    if args.port:
-        ports = args.port.split(",")
-
-    if len(hosts) > 1 and len(ports) > 1:
-        if len(hosts) != len(ports):
-            sys.stdout.write("Number of shorthosts must match number of " +
-                             "ports\n")
-            sys.exit(1)
-
-    for host in hosts:
-        host_port = host.split(":")
-        hostname = ""
-        port = ""
-        if len(host_port) > 1:
-            host, port = host_port
-        if port == "" and args.port:
-            if len(ports) > 1:
-                port = ports[count]
-            else:
-                port = args.port
-        if len(hostnames) > 1:
-            hostname = hostnames[count]
-        elif args.hostname:
-            hostname = args.hostname
-        if hostname:
-            new_lines.append("Host %s %s\n" % (host, hostname))
-            new_lines.append("\tHostName %s\n" % (hostname))
-        else:
-            new_lines.append("Host %s\n" % (host))
-        if port == "" and args.port:
-            port = args.port
-        if args.username:
-            new_lines.append("\tUser %s\n" % (args.username))
-        if port != "":
-            new_lines.append("\tPort %s\n" % (port))
-        if args.identity:
-            new_lines.append("\tIdentityFile %s\n" % (args.identity))
-        if args.kexalgorithms and args.kexalgorithms is not None:
-            new_lines.append("\tKexAlgorithms %s\n" % (args.kexalgorithms))
-        if args.addstrict:
-            new_lines.append("\tUserKnownHostsFile /dev/null\n")
-            new_lines.append("\tStrictHostKeyChecking no\n")
-            new_lines.append("\tPasswordAuthentication no\n")
-            new_lines.append("\tIdentitiesOnly yes\n")
-            new_lines.append("\tLogLevel FATAL\n")
-        count = count + 1
-
-    data = ""
-    all_data = None
-    if os.path.exists(args.ssh_config):
-        f = open(args.ssh_config, "r")
-        data = f.read()
-        f.close()
-
-    new_data = "".join([x for x in new_lines])
-    all_data = new_data + data
-
-    f = open(args.ssh_config, 'w')
-    f.write(all_data)
-    f.close()
-
-
-class SshHost:
-    def __init__(self, ssh_config, name, hostname, username, port, identity,
-                 strict, kexalgorithms):
-        self.ssh_config = ssh_config
-        self.addhost = name
-        self.hostname = hostname
-        self.username = username
-        self.port = port
-        self.identity = identity
-        self.addstrict = strict
-        self.kexalgorithms = kexalgorithms
-
-    def call_add_host(self):
-        add_host(self)
-
-    def call_remove_hosts(self):
-        remove_hosts(self)
-
-
-def parse_args(args):
-    parser = argparse.ArgumentParser()
-    parser.add_argument('ssh_config', help='ssh configuration file to process')
-    parser.add_argument('--addhost',
-                        help='The host shortcut name you are adding. This ' +
-                        'can be a comma separated set of hosts and each host' +
-                        'can have a port specified with a colon, if set ' +
-                        'it will override override the port set by --port. ' +
-                        'will let you set a default port if non specified ' +
-                        'but allow you to override ports per host. We refer ' +
-                        'this entry as the shorthost.')
-    parser.add_argument('--addvagranthosts',
-                        const=True, default=False, action="store_const",
-                        help='Use this if you are want to add or augment ' +
-                        'the entries found from the output of the command ' +
-                        'vagrant ssh-config. You would typically use this ' +
-                        'if you are working with vagrant, and are in the ' +
-                        'vagrant directory. Only a few parameters are ' +
-                        'supported when augmenting the information ' +
-                        'installed per host, those are entries which ' +
-                        'vagrant does not add which you may need, for ' +
-                        'instance on older hosts')
-    parser.add_argument('--emulatevagrantinput',
-                        help='Used for testing purposes only,' +
-                        'where we do not want to run vagrant ssh-config.' +
-                        'The parameter passed is an input file which ' +
-                        'emulates the command')
-    parser.add_argument('--hostname',
-                        help='Used only on addition, the hostname to use ' +
-                        'for this entry. If the shorhost specified was a ' +
-                        'comma separated list of hosts, then this can also ' +
-                        'be a comma separated list, in which case each ' +
-                        'shorthost index represents the hostname for that ' +
-                        'shorthost, and the number of both shorthosts and ' +
-                        'hostname must match.')
-    parser.add_argument('--port',
-                        help='Used only on addition, the port to use, ' +
-                        'by default none is specified')
-    parser.add_argument('--username',
-                        help='Used only on addition, the username to use, ' +
-                        'default is none, so ssh will assumes your ' +
-                        'localhost username')
-    parser.add_argument('--identity',
-                        help='Used only on addition, the host key to ' +
-                        'use, the default is empty and so no file is provided')
-    parser.add_argument('--kexalgorithms',
-                        help='Use this if you have a custom KexAlgorithms ' +
-                        'entry you want to add for the host entries. ' +
-                        'This is typically useful for older hosts.')
-    parser.add_argument('--addstrict',
-                        const=True, default=False, action="store_const",
-                        help='Used only on addition, if set some extra ' +
-                        'sensible strict defaults will be added to the host ' +
-                        'entry, disabled by default')
-    parser.add_argument('--remove',
-                        help='Comma separated list of host entries to remove')
-    parser.add_argument('--backup_file',
-                        help='Use this file as the backup')
-    parser.add_argument('--nobackup',
-                        const=True, default=False, action="store_const",
-                        help='Do not use a backup file')
-    return parser.parse_args(args)
-
-
-def run_args(args):
-    skip_remove_and_backup = False
-    if not args.remove and not args.addhost:
-        print("Must specify addition or removal request")
-        sys.exit(0)
-
-    if not os.path.isfile(args.ssh_config):
-        args.nobackup = True
-        skip_remove_and_backup = True
-
-    backup_file = args.ssh_config + '.kdevops.bk'
-    if args.backup_file:
-        backup_file = args.backup_file
-    if args.nobackup:
-        backup_file = None
-
-    if not skip_remove_and_backup and backup_file:
-        copyfile(args.ssh_config, backup_file)
-
-    if not skip_remove_and_backup and args.remove:
-        remove_hosts(args)
-
-    if args.addvagranthosts:
-        add_vagrant_hosts(args)
-    elif args.addhost:
-        add_host(args)
-
-
-def main():
-    args = parse_args(sys.argv[1:])
-    run_args(args)
-
-
-if __name__ == "__main__":
-    main()
diff --git a/playbooks/roles/update_ssh_config_vagrant/vars/main.yml b/playbooks/roles/update_ssh_config_vagrant/vars/main.yml
deleted file mode 100644
index 76b0f920..00000000
--- a/playbooks/roles/update_ssh_config_vagrant/vars/main.yml
+++ /dev/null
@@ -1 +0,0 @@
-hosts_comma: "{{ ansible_play_hosts | join(',') }}"
diff --git a/playbooks/update_ssh_config_vagrant.yml b/playbooks/update_ssh_config_vagrant.yml
deleted file mode 100644
index c8d0e996..00000000
--- a/playbooks/update_ssh_config_vagrant.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-- hosts: localhost
-  roles:
-    - role: update_ssh_config_vagrant
-- 
2.47.2


  parent reply	other threads:[~2025-07-28  1:14 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-28  1:14 [PATCH v2 00/33] remove vagrant and bootlinux shape up Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 01/33] vagrant: remove entire vagrant configuration directory Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 02/33] kconfigs: fix Kconfig references after vagrant removal Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 03/33] scripts: remove Vagrant-specific scripts and Makefiles Luis Chamberlain
2025-07-28  1:14 ` Luis Chamberlain [this message]
2025-07-28  1:14 ` [PATCH v2 05/33] gitignore: remove Vagrant-specific ignore patterns Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 06/33] docs: remove Vagrant-specific documentation files Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 07/33] Remove all remaining Vagrant references from codebase Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 08/33] terraform: Clean up the destroy tasks Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 09/33] Switch to the cloud.terraform.terraform module Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 10/33] terraform: Make use of the new "terraform_output" module Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 11/33] terraform: Move "wait_for_connection" out of the terraform playbook Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 12/33] terraform: Remove "delegate_to: localhost" Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 13/33] terraform: Replace scripts/status_terraform.sh Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 14/33] Kconfig: Convert the 9p option to a choice menu Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 15/33] bootlinux: fix making 9p default if using libvirt Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 16/33] bootlinux: Relocate tasks that select a kernel .config Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 17/33] bootlinux: Simplify tasks that select the kernel .config to build Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 18/33] bootlinux: Select the kernel .config earlier Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 19/33] bootlinux: Move 9p build tasks to a subrole Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 20/33] bootlinux: Move tasks for building on target nodes " Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 21/33] bootlinux: Clean up a grub set-up task Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 22/33] bootlinux: Harden update-grub/install.yml Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 23/33] Add a guest/instance for building the test kernel Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 24/33] bootlinux: Add a new builder choice Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 25/33] workflows: Add a kconfig setting for installing kernels via package Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 26/33] bootlinux: Enclose tasks to find kernel release name in a block: Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 27/33] bootlinux: Pick up kernel release info for pre-built packages Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 28/33] bootlinux: Install pre-built kernels from packages Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 29/33] bootlinux: Add an option to build with clang instead of gcc Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 30/33] Makefile: add make style for style checking Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 31/33] CLAUDE.md: new workflow guide for hosts and nodes Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 32/33] CLAUDE.md: add don't BS rules Luis Chamberlain
2025-07-28  1:14 ` [PATCH v2 33/33] gen_nodes/gen_hosts: avoid usage of fs_config_path on task names Luis Chamberlain
2025-07-29 20:07 ` [PATCH v2 00/33] remove vagrant and bootlinux shape up Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250728011434.3197091-5-mcgrof@kernel.org \
    --to=mcgrof@kernel.org \
    --cc=cel@kernel.org \
    --cc=da.gomez@kruces.com \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox