summaryrefslogtreecommitdiff
path: root/extras
diff options
context:
space:
mode:
Diffstat (limited to 'extras')
-rwxr-xr-xextras/createtest.expect167
-rwxr-xr-xextras/txttojson.py49
2 files changed, 216 insertions, 0 deletions
diff --git a/extras/createtest.expect b/extras/createtest.expect
new file mode 100755
index 0000000..8c40f06
--- /dev/null
+++ b/extras/createtest.expect
@@ -0,0 +1,167 @@
+#!/usr/bin/expect -f
+
+log_file -noappend /tmp/expect.log
+set force_conservative 0 ;# set to 1 to force conservative mode even if
+ ;# script wasn't run conservatively originally
+if {$force_conservative} {
+ set send_slow {1 .1}
+ proc send {ignore arg} {
+ sleep .1
+ exp_send -s -- $arg
+ }
+}
+
+set send_slow {10 .001}
+
+set timeout -1
+spawn ./aif-config.py create -v:r -f /tmp/aif.xml
+## disks
+send -- "/dev/sda,/dev/sdb\r"
+# sda
+send -- "gpt\r"
+send -- "2\r"
+# sda1
+send -- "0%\r"
+send -- "95%\r"
+send -- "8300\r"
+# sda2
+send -- "95%\r"
+send -- "100%\r"
+send -- "ef00\r"
+# sdb
+send -- "gpt\r"
+send -- "3\r"
+# sdb1
+send -- "0%\r"
+send -- "47%\r"
+send -- "8300\r"
+# sdb2
+send -- "47%\r"
+send -- "95%\r"
+send -- "8300\r"
+# sdb3
+send -- "95%\r"
+send -- "100%\r"
+send -- "8200\r"
+## mounts
+send -- "/mnt/aif,/mnt/aif/boot,/mnt/aif/home,/mnt/aif/mnt/data,swap\r"
+# /mnt/aif
+send -- "/dev/sda1\r"
+send -- "1\r"
+send -- "ext4\r"
+send -- "defaults\r"
+# /mnt/aif/boot
+send -- "/dev/sda2\r"
+send -- "2\r"
+send -- "vfat\r"
+send -- "rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro\r"
+# /mnt/aif/home
+send -- "/dev/sdb1\r"
+send -- "3\r"
+send -- "ext4\r"
+send -- "defaults\r"
+# /mnt/aif/mnt/data
+send -- "/dev/sdb2\r"
+send -- "4\r"
+send -- "ext4\r"
+send -- "defaults\r"
+# swap
+send -- "/dev/sdb3\r"
+send -- "5\r"
+## network
+# hostname
+send -- "aif.loc.lan\r"
+# interface
+send -- "ens3\r"
+send -- "auto\r"
+send -- "ipv4\r"
+# add another interface?
+send -- "y\r"
+# second interface
+send -- "ens4\r"
+send -- "192.168.1.2/24\r"
+send -- "192.168.1.1\r"
+send -- "4.2.2.1,4.2.2.2\r"
+# add another interface? default is no
+send -- "\r"
+## system
+# timezone (default is UTC)
+send -- "\r"
+# locale (default is en_US.UTF-8
+send -- "\r"
+# chroot path
+send -- "/mnt/aif\r"
+# kbd (default is US)
+send -- "\r"
+# reboot host after install? default is yes
+send -- "\r"
+# root password
+send -- "test\r"
+# add user?
+send -- "y\r"
+# user
+send -- "aifusr\r"
+# sudo access
+send -- "y\r"
+# password
+send -- "test\r"
+send -- "A Test User\r"
+# uid (default is autogen)
+send -- "\r"
+# primary group (default is autogen'd based on username)
+send -- "\r"
+# home dir (default is e.g. /home/username)
+send -- "\r"
+# add exta groups?
+send -- "y\r"
+# extra group
+send -- "users\r"
+# need to be created? default is no
+send -- "\r"
+# add another extra group? default is no
+send -- "\r"
+# add more users? default is no
+send -- "\r"
+# enable/disable services
+send -- "y\r"
+# service
+send -- "sshd\r"
+# enable? default is yes
+send -- "\r"
+# manage another service? default is no
+send -- "\r"
+# packager (default is pacman)
+send -- "\r"
+# review default repos? default is yes
+send -- "\r"
+# edit any of them?
+send -- "y\r"
+# edit the 6th repo (multilib)
+send -- "6\r"
+# enabled?
+send -- "y\r"
+# siglevel (default is unchanged)
+send -- "\r"
+# mirror URI (default is unchanged)
+send -- "\r"
+# edit another repo? default is no
+send -- "\r"
+# add additional repositories? default is no
+send -- "\r"
+# install extra software?
+send -- "y\r"
+# software
+send -- "openssh\r"
+# repository (optional)
+send -- "\r"
+# add another package?
+send -- "\r"
+# bootloader (default is grub)
+send -- "\r"
+# system supports UEFI? default is yes
+send -- "\r"
+# ESP/EFI system partition
+send -- "/boot\r"
+# any hook scripts? default is no
+send -- "\r"
+expect eof
diff --git a/extras/txttojson.py b/extras/txttojson.py
new file mode 100755
index 0000000..c6c6012
--- /dev/null
+++ b/extras/txttojson.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python3
+
+import argparse
+import json
+import os
+import pprint
+#import re
+try:
+ import yaml
+except:
+ exit('You need pyYAML.')
+
+def parseArgs():
+ args = argparse.ArgumentParser()
+ args.add_argument('-i',
+ '--in',
+ dest = 'infile',
+ required = True,
+ help = 'The plaintext representation of a python dict')
+ args.add_argument('-o',
+ '--out',
+ dest = 'outfile',
+ required = True,
+ help = 'The JSON file to create')
+ return(args)
+
+def main():
+ args = vars(parseArgs().parse_args())
+ infile = os.path.abspath(os.path.normpath(args['infile']))
+ outfile = os.path.abspath(os.path.normpath(args['outfile']))
+ if not os.path.lexists(infile):
+ exit('Input file doesn\'t exist.')
+#try:
+ with open(outfile, 'w') as outgoing:
+ with open(infile, 'r') as incoming:
+ #data = re.sub("'", '"', incoming.read())
+ #outgoing.write(data)
+ #d = json.dumps(data, ensure_ascii = False)
+ #d = json.dumps(incoming.read().replace("'", '"'))
+ d = yaml.load(incoming.read())
+ pprint.pprint(d)
+ j = json.dumps(d, indent = 4)
+ outgoing.write(j)
+#except:
+ #exit('Error when trying to read/write file(s).')
+ return()
+
+if __name__ == '__main__':
+ main()