Change format of dhcp_subnets to be a dict

Top level key is now subnet CIDR, rather than a list containing dicts,
where subnet is a sub-key, so better structured

- Update to pass more modern ansible-lint
- Fix galaxy info
- Format filter plugin w/black
- BSD fixes - paths, listening IP for tftpd server

Change-Id: I490331bc2998f2afbef135545500d1fa07b626ff
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
index 13c2065..cd0cfb9 100644
--- a/molecule/default/converge.yml
+++ b/molecule/default/converge.yml
@@ -10,7 +10,7 @@
     dhcpd_interfaces:
       - bridge0
     dhcpd_subnets:
-      - subnet: "192.168.0.1/24"
+      "192.168.0.1/24":
         range: "192.168.0.128/25"
         dns_servers:
           - "192.168.0.1"
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
index 9deb838..8c53aea 100644
--- a/molecule/default/molecule.yml
+++ b/molecule/default/molecule.yml
@@ -14,7 +14,18 @@
     privileged: true
     volumes:
       - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+  - name: "debian-11-priv"
+    image: "onfinfra/molecule-systemd:debian-11"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
 provisioner:
   name: ansible
+  playbooks:
+    prepare: prepare.yml
+  inventory:
+    host_vars:
+      debian-11-priv:
+        ansible_python_interpreter: /usr/bin/python3
 verifier:
   name: ansible
diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml
index 68ec77e..e6b92bf 100644
--- a/molecule/default/prepare.yml
+++ b/molecule/default/prepare.yml
@@ -12,6 +12,12 @@
       apt:
         update_cache: true
 
+    - name: Install ps command for Debian init.d script to function
+      apt:
+        name:
+          - "procps"
+        state: "present"
+
     - name: Create a bridge to nowhere so dhcpd can start during testing
       when: "'bridge0' not in ansible_interfaces"
       command: