Refactor and modularize edgeconfig scripts

- Entirely new netbox helper functions, using pynetbox and objects,
  instead of previous spaghetti code
- Allow for VM interfaces
- Allow device names to specify more than one segment of the DNS subdomain
- Split out forward and reverse DNS
- Fix issues with DHCP zone creation
- Support advertising NTP server via DHCP option

Playbooks
- Add QA, router, DNS, and user creation/config playbook
- Fix YAML formatting issues with playbooks

Change-Id: Id6c010ef1e122f4fd1bd97e9bb2128c4271947d0
diff --git a/playbooks/qa-playbook.yml b/playbooks/qa-playbook.yml
new file mode 100644
index 0000000..d81b35f
--- /dev/null
+++ b/playbooks/qa-playbook.yml
@@ -0,0 +1,26 @@
+---
+# Ansible playbook to configure uses on a set of nodes
+
+- name: Configure users and extra software for QA tasks on the compute nodes
+  hosts: aethercompute:aethermgmt
+  become: true
+
+  roles:
+    - users
+
+  tasks:
+
+    - name: Install QA packages
+      apt:
+        name:
+          - "arping"
+          - "ethtool"
+          - "iperf"
+          - "ipvsadm"
+          - "tcpdump"
+          - "tcpreplay"
+          - "traceroute"
+          - "tshark"
+        state: "present"
+        update_cache: true
+        cache_valid_time: 3600