Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions doc/mockrun.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
The `mockrun-installer` script allows to quickly check some of the TUI
changes locally, providing a big speedup of dev cycle as compared to
remastering an ISO image and testboot it.

The execution environment has to be as close a possible as the one
used as dom0 on the install ISO, which in turn is very close to a
XCP-ng dom0 OS.

The xcp-ng-build-env docker container is the best choice for a runtime
environment, as it has access to all required dependencies, which you
will still have to install.

For XCP-ng 8.3:
```
user $ xcp-ng-dev container shell 8.3 -d .
builder $ sudo yum install -y xcp-python-libs newt-python python2-simplejson python-six pyOpenSSL
builder $ cd /external/host-installer/
builder $ ./mockrun-installer
```

## details of operation

This script fakes many calls to lower-level python libraries,
currently in a hardcoded fashion, so it possibly has to be hand-edited
to check other use cases.

It will attempt to run system commands, NEVER try to run it as root on
a real system.

No specific way to interrupt the TUI is provided, but causing it to
"abort and reboot" will cause it to exit. As a last resort going to
the final dialog for confirmation of install (F12 is your friend) and
proceeeding will attempt execution of unstubbed commands
(e.g. `uuidgen`) and abort. Or you can kill the process externally
and `reset` your tty afterwards.

`installer.log` is generated in current directory.
Empty file added mockrun-data/emptyfile
Empty file.
46 changes: 46 additions & 0 deletions mockrun-data/etc/xensource/xapi-ssl.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA3rNjU4jJPu9hdovSXAOAIEwQvXmNTdWGLOYVPzy/u5ieWBLT
zL6zndElFdjmyG/srxRP8Q7uicEVCpX2Tj319dDUW877HU1hh84z1CaQpIPCIJcd
YyMnsCc648LkmqGGluhZiPdkbBq0H2D4T8DkyYwKHoo1V63RVvKdbgiRBAkJiIwi
zkj78feNl3hOBcWJXH3Du0oiwjiWLxRuV1v4n6V6XJV7nklZaxlWvlmtw9MonckM
LQgxzmWhEyRt82QP9S0IZImT0+KM6nZsgPwraic1fReTGDLCyi7sl2xOYJePEqiv
OK1uMHzWY2sZly3EZh4Zl8cVM1A0go3M72uYrQIDAQABAoIBAQC5wNcwbf+uRuz8
fFPR+/l69vdfk2uRaHCqMp+2R22FhB9PRyTyun4HPNO6DVkyBmlc/4xOfS3qKOrs
EXmIeZYWm0EF8vbx0gFvzUbdxe0Py/a4SFNyxXftLkuofn8/m0svxE4qOG/C2+Mx
6Sg1Hae3lN876fvkTk82PtehV/PdcD0nj0y52QuBWodYnGZBHkazd4PZDVG6zST5
TV2fxhWZaA+tKTi5vY9syVKnUS1gUmQ5WXe1hRRNwdhy9gUyraT7xJkjAhFz8I43
eH1DRFR7U8lwVBVOn+oxUG76sC/5eWZoBFkmpG5a0zrpiUDyuh1eOwLqh7r83Hmz
L5MgIj7hAoGBAP6XRwj7M3R/jUOmF95m/ywEiV90ML7w9+gJcH05WjfVQUMzr6dL
nGg2sJ9SgYQDSMwsKEmjT5FhxTXdEySZBh5Wr3BXWWsUkkL115qQhlIunX7e/F7W
l57kbHOPq2cc3bE2/JDqgO7U98EMYzQUldO4nhLE7LaG0mV8mjbRjN1jAoGBAN/u
7RzHZ8cW0mbGwtzOONv3yivtZuR48815qfqSZNxnpOAagcUF9GuhUSdKG5Qb4b8I
7GW0LzITbjlI9Ql4s1QlZUGLzj3Zfg+ybOTqpVF1y44PmZ94F+7g4HsmtCcY+MV2
KoVIhyPVWXJrNIGIwszIz3wtIcCy5ofg2t4Di1avAoGARbT15iehdwxViWg4sNRS
maLEWjZeAmnH9uhevGqvoQnqzJOiTJQPRxlyUq0seRDNJdoRTdhBOPUkIhNd4m9j
lXr2njPMb906DstxNQjNPkM1LD+xqeXnrcGtUBbOP3VP3e3ISYVrt/jnvRu/LctV
Gps57LmudmuDv/XV45yMjTECgYBFec5tCFzlQupiYrZgZUb00CsUd+Jdbj1N+bpH
+JV8YFeiA/dRFmjf37va8b4etIvUhkM5xq6B3c9rzHvhxWX17Gg+7s49GDZpTlVE
rJw/6skNuT9TX6IlRfW/n6FzI+dC9Ed69Kag8nd+7U3sBm9Rs9fT0fjP3XFypMui
5/yaFwKBgQC/pnhmuKyjft6CogaOFGwH6oeO4IXJgch9lB2oOEHyuxdGr5Q56eN5
dsZ7umCFwWCn69vPblQTQLEzsk+uqnsB3q3PTYNScqmpWFM7+aJqE6twFIqvnvnv
qDIHUsvdkW2u8G8lPu3HRxiNyR4aKpXJFC/WWnFWmb26pGVPc7wzmg==
-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
MIIC2zCCAcOgAwIBAgIJAKgVvRU/OYMsMA0GCSqGSIb3DQEBCwUAMBgxFjAUBgNV
BAMMDTE3Mi4xNi4yMTAuMTEwHhcNMjUwMzI3MTAxMDQ5WhcNMzUwMzI1MTAxMDQ5
WjAYMRYwFAYDVQQDDA0xNzIuMTYuMjEwLjExMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA3rNjU4jJPu9hdovSXAOAIEwQvXmNTdWGLOYVPzy/u5ieWBLT
zL6zndElFdjmyG/srxRP8Q7uicEVCpX2Tj319dDUW877HU1hh84z1CaQpIPCIJcd
YyMnsCc648LkmqGGluhZiPdkbBq0H2D4T8DkyYwKHoo1V63RVvKdbgiRBAkJiIwi
zkj78feNl3hOBcWJXH3Du0oiwjiWLxRuV1v4n6V6XJV7nklZaxlWvlmtw9MonckM
LQgxzmWhEyRt82QP9S0IZImT0+KM6nZsgPwraic1fReTGDLCyi7sl2xOYJePEqiv
OK1uMHzWY2sZly3EZh4Zl8cVM1A0go3M72uYrQIDAQABoygwJjAkBgNVHREEHTAb
ggdSNjIwLUwxggdSNjIwLUwxggdSNjIwLUwxMA0GCSqGSIb3DQEBCwUAA4IBAQAb
qDj4k/Vq4yomhkC2SYBAV0Xmrx7uhhgDcy5zGXjWwRHXpUVHRMxzjJvR/0G2If0J
Q1aNgNOwhM+IqfRVTZBJDQh/ddj792oTKTfY5tsnuPlhJ/Gm7Ba1v3ufkyGV02qe
0CB2EZTPvl0u410g4C0/GOJLkKJSB1uD9LWFyQ4KYX3S47HGX2Aiu+NiXyMf36Z6
5ZUp0HQnIYeQ20T0rqjXmZ+Gu516l2rnT+MtIVZeN3J6/5S/hNtHebtGDqOY5/hZ
SbbtyIMhgJvil+z2XyNrp+29XD//ejhoXXExD+3UQvg5i4ONDolls5KRomIVygj2
1zz9g1wH6FEebsIeIdka
-----END CERTIFICATE-----
4 changes: 4 additions & 0 deletions mockrun-data/ifcfg-eth98
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
DEVICE=eth98
ONBOOT=yes
BOOTPROTO=dhcp
PERSISTENT_DHCLIENT=1
2 changes: 2 additions & 0 deletions mockrun-data/ifcfg-eth99
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DEVICE=eth99
ONBOOT=yes
Loading