├── debian
├── compat
├── install
├── docs
├── rules
├── .gitignore
├── watch
├── postinst
├── README
├── README.source
├── dirs
├── README.Debian
├── postrm
├── control
├── copyright
└── changelog
├── .flake8
├── tests
├── tdl
│ ├── hello.cmd
│ ├── test-03-empty-template.tdl
│ ├── test-04-no-os.tdl
│ ├── test-15-os-no-install.tdl
│ ├── test-21-missing-install-type.tdl
│ ├── test-05-no-name.tdl
│ ├── test-12-os-no-name.tdl
│ ├── test-13-os-no-version.tdl
│ ├── test-14-os-no-arch.tdl
│ ├── test-19-key.tdl
│ ├── test-01-simple-iso.tdl
│ ├── test-02-simple-url.tdl
│ ├── test-09-os-invalid-arch.tdl
│ ├── test-22-md5sum.tdl
│ ├── test-10-os-invalid-install-type.tdl
│ ├── test-23-sha1sum.tdl
│ ├── test-24-sha256sum.tdl
│ ├── test-18-rootpw.tdl
│ ├── test-44-version.tdl
│ ├── test-45-bogus-version.tdl
│ ├── test-47-invalid-template.tdl
│ ├── test-07-packages-no-package.tdl
│ ├── test-08-repositories-no-repository.tdl
│ ├── test-46-duplicate-name.tdl
│ ├── test-06-simple-iso-description.tdl
│ ├── test-20-multiple-install.tdl
│ ├── test-25-md5sum-and-sha1sum.tdl
│ ├── test-26-md5sum-and-sha256sum.tdl
│ ├── test-30-file-no-name.tdl
│ ├── test-49-file-empty-raw.tdl
│ ├── test-27-sha1sum-and-sha256sum.tdl
│ ├── test-29-files.tdl
│ ├── test-48-file-empty-base64.tdl
│ ├── test-33-file-invalid-type.tdl
│ ├── test-32-file-base64-type.tdl
│ ├── test-51-disk-size.tdl
│ ├── test-31-file-raw-type.tdl
│ ├── test-34-file-invalid-base64.tdl
│ ├── test-54-files-file-url.tdl
│ ├── test-56-invalid-disk-size.tdl
│ ├── test-57-invalid-disk-size.tdl
│ ├── test-63-disk-size-exbibyte.tdl
│ ├── test-64-disk-size-zettabyte.tdl
│ ├── test-65-disk-size-byte.tdl
│ ├── test-58-disk-size-tebibyte-compat.tdl
│ ├── test-55-files-http-url.tdl
│ ├── test-50-command-base64-empty.tdl
│ ├── test-36-repository-no-url.tdl
│ ├── test-38-command-no-name.tdl
│ ├── test-52-command-file-url.tdl
│ ├── test-42-command-bogus-type.tdl
│ ├── test-39-command-raw-type.tdl
│ ├── test-40-command-base64-type.tdl
│ ├── test-41-command-bogus-base64.tdl
│ ├── test-35-repository-no-name.tdl
│ ├── test-53-command-http-url.tdl
│ ├── test-37-command.tdl
│ ├── test-62-repository-localhost.tdl
│ ├── test-28-package-no-name.tdl
│ ├── test-59-command-sorting.tdl
│ ├── test-60-command-mix-positions-and-not.tdl
│ ├── test-61-command-duplicate-position.tdl
│ ├── test-11-description-packages-repositories.tdl
│ ├── test-16-signed-repository.tdl
│ ├── test-17-repo-invalid-signed.tdl
│ └── test-43-persisted-repos.tdl
└── guest
│ ├── libvirt
│ ├── test_modify_libvirt_xml_for_serial_missing_devices.xml
│ ├── test_modify_libvirt_xml_for_serial_final.xml
│ ├── test_get_disks_and_interfaces_missing_disk_target.xml
│ ├── test_modify_libvirt_xml_diskimage.xml
│ ├── test_modify_libvirt_xml_for_serial.xml
│ ├── test_modify_libvirt_xml_diskimage_final.xml
│ ├── test_get_disks_and_interfaces_missing_interface_target.xml
│ ├── test_modify_libvirt_xml_diskimage_missing_disk_source.xml
│ ├── test_get_disks_and_interfaces.xml
│ ├── test_get_disks_and_interfaces_missing_disk_target_device.xml
│ ├── test_get_disks_and_interfaces_missing_interface_target_device.xml
│ ├── test_modify_libvirt_xml_for_serial_too_many_targets.xml
│ ├── test_modify_libvirt_xml_diskimage_too_many_drivers.xml
│ ├── test_xml_generation_1.xml
│ ├── test_xml_generation_2.xml
│ └── test_modify_libvirt_xml_for_serial_too_many_devices.xml
│ └── test.icicle
├── requirements.txt
├── .gitignore
├── MANIFEST.in
├── .coveragerc
├── .pylintrc
├── examples
├── f14i386local.tdl
├── f12i386.tdl
├── f12x86_64.tdl
├── ubuntu9.10i386.tdl
├── opensuse11.3i386.tdl
├── win2k.tdl
├── freebsd10.tdl
├── f18disksize.tdl
├── f13i386.tdl
├── f18isoextradir.tdl
├── f18isoextrafile.tdl
└── f18file.tdl
├── oz
├── auto
│ ├── Fedora21.auto
│ ├── Fedora22.auto
│ ├── Fedora23.auto
│ ├── Fedora24.auto
│ ├── Fedora25.auto
│ ├── Fedora26.auto
│ ├── Fedora27.auto
│ ├── Fedora28.auto
│ ├── Fedora29.auto
│ ├── Fedora30.auto
│ ├── RHEL7.auto
│ ├── RedHatLinux7.0.auto
│ ├── RedHatLinux7.1.auto
│ ├── RedHatLinux8.auto
│ ├── RHEL3.auto
│ ├── Fedora11.auto
│ ├── RedHatLinux7.2.auto
│ ├── Fedora15.auto
│ ├── Fedora10.auto
│ ├── Fedora12.auto
│ ├── Fedora13.auto
│ ├── Fedora7.auto
│ ├── Fedora8.auto
│ ├── Fedora9.auto
│ ├── RedHatLinux9.auto
│ ├── RHEL2.1.auto
│ ├── Fedora14.auto
│ ├── RHEL6.auto
│ ├── RedHatLinux7.3.auto
│ ├── Fedora16.auto
│ ├── Fedora17.auto
│ ├── Fedora18.auto
│ ├── Fedora19.auto
│ ├── Fedora20.auto
│ ├── FedoraCore1.auto
│ ├── RHEL5.auto
│ ├── RHEL4.auto
│ ├── FedoraCore2.auto
│ ├── FedoraCore3.auto
│ ├── FedoraCore4.auto
│ ├── FedoraCore5.auto
│ ├── FedoraCore6.auto
│ ├── Windows2000.auto
│ ├── Windows2003.auto
│ ├── WindowsXP.auto
│ ├── FreeBSD10.0.auto
│ ├── FreeBSD11.0.auto
│ ├── Ubuntu8.04.auto
│ ├── Ubuntu8.10.auto
│ ├── Ubuntu9.04.auto
│ ├── Ubuntu9.10.auto
│ ├── Ubuntu7.10.auto
│ ├── Ubuntu10.10.auto
│ ├── Ubuntu6.10.auto
│ ├── Ubuntu7.04.auto
│ ├── Ubuntu10.04.auto
│ ├── Ubuntu6.06.auto
│ ├── Ubuntu5.04.auto
│ ├── Ubuntu5.10.auto
│ ├── Ubuntu11.04.auto
│ ├── Ubuntu11.10.auto
│ ├── Ubuntu12.04.auto
│ ├── Ubuntu12.10.auto
│ ├── Ubuntu13.10.auto
│ ├── Windows2008.auto
│ ├── Windows2012.auto
│ ├── Windows2016.auto
│ ├── Ubuntu13.04.auto
│ ├── Mageia2.auto
│ ├── Mageia3.auto
│ ├── Mageia4.auto
│ └── Mageia5.auto
├── icicle.rng
├── OzException.py
├── __init__.py
├── RHEL_2_1.py
├── RHEL_9.py
├── RHEL_6.py
├── RHEL_7.py
├── RHEL_8.py
└── FedoraCore.py
├── oz.cfg
├── Containerfile.tests.fedora
├── Containerfile.tests.el8
├── .github
└── workflows
│ └── ci.yml
├── README
├── setup.py
└── Makefile
/debian/compat:
--------------------------------------------------------------------------------
1 | 8
2 |
--------------------------------------------------------------------------------
/debian/install:
--------------------------------------------------------------------------------
1 | /oz.cfg etc/oz
2 |
--------------------------------------------------------------------------------
/.flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | max-line-length = 200
3 |
--------------------------------------------------------------------------------
/debian/docs:
--------------------------------------------------------------------------------
1 | README
2 | TODO
3 | examples
4 |
--------------------------------------------------------------------------------
/tests/tdl/hello.cmd:
--------------------------------------------------------------------------------
1 | echo "hello from file://url" > /tmp/foo
2 |
--------------------------------------------------------------------------------
/tests/tdl/test-03-empty-template.tdl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/tests/tdl/test-04-no-os.tdl:
--------------------------------------------------------------------------------
1 |
2 | wow
3 |
4 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | requests
2 | cryptography
3 | libvirt-python
4 | lxml
5 | monotonic
6 |
--------------------------------------------------------------------------------
/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 |
3 | %:
4 | dh $@ --buildsystem=python_distutils --with=python2
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.gz
2 | *.pyc
3 | *.sw[po]
4 | *~
5 | *.egg
6 | *.egg-info
7 | tests/.venv
8 | tests/results.xml
9 |
--------------------------------------------------------------------------------
/debian/.gitignore:
--------------------------------------------------------------------------------
1 | *.debhelper
2 | *.debhelper.log
3 | *.substvars
4 | files
5 | oz/
6 | python-module-stampdir/
7 | source/
8 | stamp-*
9 | tmp/
10 |
--------------------------------------------------------------------------------
/debian/watch:
--------------------------------------------------------------------------------
1 | # Compulsory line, this is a version 3 file
2 | version=3
3 |
4 | https://github.com/clalancette/oz/tags \
5 | /clalancette/oz/archive/v(.*).tar.gz
6 |
--------------------------------------------------------------------------------
/debian/postinst:
--------------------------------------------------------------------------------
1 | #!/bin/sh -
2 | if [ ! -f /etc/oz/id_rsa-icicle-gen ]; then
3 | ssh-keygen -t rsa -b 2048 -N "" -f /etc/oz/id_rsa-icicle-gen >/dev/null 2>&1
4 | fi
5 |
--------------------------------------------------------------------------------
/debian/README:
--------------------------------------------------------------------------------
1 | The Debian Package oz
2 | ----------------------------
3 |
4 | Comments regarding the Package
5 |
6 | -- Richard Jones Thu, 22 Sep 2011 16:17:34 +0100
7 |
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include README COPYING examples/*.tdl man/*.1 oz.cfg docs/*.rng oz/*.rng Makefile
2 | include man/examples/*.example man/examples/header man/examples/footer
3 | include oz/auto/*
4 |
--------------------------------------------------------------------------------
/tests/tdl/test-15-os-no-install.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.coveragerc:
--------------------------------------------------------------------------------
1 | [run]
2 | branch = true
3 | source_pkgs =
4 | oz
5 |
6 | [paths]
7 | # this mapping is for the containers; the source tree is in /oz in the containers
8 | source =
9 | oz/
10 | /oz/oz
11 |
--------------------------------------------------------------------------------
/debian/README.source:
--------------------------------------------------------------------------------
1 | oz for Debian
2 | -------------
3 |
4 |
6 |
--------------------------------------------------------------------------------
/debian/dirs:
--------------------------------------------------------------------------------
1 | etc/oz
2 | var/lib/oz/isocontent
3 | var/lib/oz/isos
4 | var/lib/oz/floppycontent
5 | var/lib/oz/floppies
6 | var/lib/oz/icicletmp
7 | var/lib/oz/jeos
8 | var/lib/oz/kernels
9 | var/lib/oz/screenshots
10 |
--------------------------------------------------------------------------------
/debian/README.Debian:
--------------------------------------------------------------------------------
1 | oz for Debian
2 | -------------
3 |
4 | This is an experimental Oz package for Debian. Please open bug
5 | reports on the github issue tracker:
6 |
7 | http://github.com/clalancette/oz/issues
8 |
9 | -- Richard Jones Thu, 22 Sep 2011 16:17:34 +0100
10 |
--------------------------------------------------------------------------------
/tests/tdl/test-21-missing-install-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/tdl/test-05-no-name.tdl:
--------------------------------------------------------------------------------
1 |
2 |
3 | Fedora
4 | 12
5 | x86_64
6 |
7 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/tdl/test-12-os-no-name.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | 12
5 | x86_64
6 |
7 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/tdl/test-13-os-no-version.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | x86_64
6 |
7 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/tdl/test-14-os-no-arch.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 |
7 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/tdl/test-19-key.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 |
10 | 1234-456-789
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-01-simple-iso.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/tdl/test-02-simple-url.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/tdl/test-09-os-invalid-arch.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | arm
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/tdl/test-22-md5sum.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 | file:///example.org/MD5SUM
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-10-os-invalid-install-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/tdl/test-23-sha1sum.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 | file:///example.org/SHA1SUM
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-24-sha256sum.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 | file:///example.org/SHA256SUM
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-18-rootpw.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 | foo
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-44-version.tdl:
--------------------------------------------------------------------------------
1 |
2 | rhel5-u7
3 |
4 | RHEL-5
5 | U7
6 | i386
7 |
8 | http://someserver/path/to/installation
9 |
10 |
11 | A RHEL5 Update 7 image
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-45-bogus-version.tdl:
--------------------------------------------------------------------------------
1 |
2 | rhel5-u7
3 |
4 | RHEL-5
5 | U7
6 | i386
7 |
8 | http://someserver/path/to/installation
9 |
10 |
11 | A RHEL5 Update 7 image
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-47-invalid-template.tdl:
--------------------------------------------------------------------------------
1 |
2 | rhel5-u7
3 |
4 | RHEL-5
5 | U7
6 | i386
7 |
8 | http://someserver/path/to/installation
9 |
10 |
11 | A RHEL5 Update 7 image
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-07-packages-no-package.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/tdl/test-08-repositories-no-repository.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/tdl/test-46-duplicate-name.tdl:
--------------------------------------------------------------------------------
1 |
2 | rhel5-u7
3 | rhel5-u7
4 |
5 | RHEL-5
6 | U7
7 | i386
8 |
9 | http://someserver/path/to/installation
10 |
11 |
12 | A RHEL5 Update 7 image
13 |
14 |
--------------------------------------------------------------------------------
/tests/tdl/test-06-simple-iso-description.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
--------------------------------------------------------------------------------
/tests/tdl/test-20-multiple-install.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 |
10 |
11 | file:///example2.org/Windows2003.iso
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-25-md5sum-and-sha1sum.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 | file:///example.org/MD5SUM
10 | file:///example.org/SHA1SUM
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/tdl/test-26-md5sum-and-sha256sum.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 | file:///example.org/MD5SUM
10 | file:///example.org/SHA256SUM
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/tdl/test-30-file-no-name.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
13 | hello there
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/tests/tdl/test-49-file-empty-raw.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-27-sha1sum-and-sha256sum.tdl:
--------------------------------------------------------------------------------
1 |
2 | windows
3 |
4 | Windows
5 | 2003
6 | i386
7 |
8 | file:///example.org/Windows2003.iso
9 | file:///example.org/SHA1SUM
10 | file:///example.org/SHA256SUM
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/tdl/test-29-files.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
13 | hello there
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/tests/tdl/test-48-file-empty-base64.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-33-file-invalid-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 | aGVsbG8K
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-32-file-base64-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 | aGVsbG8K
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-51-disk-size.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | 10
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-31-file-raw-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 |
13 | hello there
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/tests/tdl/test-34-file-invalid-base64.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 | BASE64GOBBLEDYGOOK-
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-54-files-file-url.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 | file://tests/tdl/hello.cmd
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-56-invalid-disk-size.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | 10E
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-57-invalid-disk-size.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | T10
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-63-disk-size-exbibyte.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | 2EiB
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.pylintrc:
--------------------------------------------------------------------------------
1 | [MESSAGES CONTROL]
2 | disable=C0325,C0103
3 |
4 | [REPORTS]
5 | reports=yes
6 |
7 | [TYPECHECK]
8 |
9 | [FORMAT]
10 | max-line-length=200
11 | max-module-lines=2000
12 |
13 | [VARIABLES]
14 | dummy-variables-rgx=.*_unused$
15 |
16 | [BASIC]
17 | module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9_]+))$
18 |
19 | [DESIGN]
20 | max-args=20
21 | max-locals=30
22 | max-branches=30
23 | max-statements=100
24 | max-attributes=30
25 | min-public-methods=0
26 |
--------------------------------------------------------------------------------
/tests/tdl/test-64-disk-size-zettabyte.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | 10ZB
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-65-disk-size-byte.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | 10000000 B
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-58-disk-size-tebibyte-compat.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | 10T
14 |
15 |
16 |
--------------------------------------------------------------------------------
/examples/f14i386local.tdl:
--------------------------------------------------------------------------------
1 |
4 |
5 | f14jeos
6 |
7 | Fedora
8 | 14
9 | i386
10 |
11 | file:///Fedora-14-i386-netinst.iso
12 |
13 |
14 | Fedora 14
15 |
16 |
--------------------------------------------------------------------------------
/examples/f12i386.tdl:
--------------------------------------------------------------------------------
1 |
4 |
5 | f12jeos
6 |
7 | Fedora
8 | 12
9 | i386
10 |
11 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/i386/os/
12 |
13 |
14 | Fedora 12
15 |
16 |
--------------------------------------------------------------------------------
/oz/auto/Fedora21.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora22.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora23.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora24.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora25.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora26.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora27.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora28.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora29.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/oz/auto/Fedora30.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device ens3 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | @core
22 |
23 | %end
24 |
--------------------------------------------------------------------------------
/tests/tdl/test-55-files-http-url.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | x86_64
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 |
12 | https://raw.github.com/clalancette/oz/master/tests/tdl/hello.cmd
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/tdl/test-50-command-base64-empty.tdl:
--------------------------------------------------------------------------------
1 |
2 | help
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/examples/f12x86_64.tdl:
--------------------------------------------------------------------------------
1 |
4 |
5 | f12jeos
6 |
7 | Fedora
8 | 12
9 | x86_64
10 |
11 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
12 |
13 |
14 | Fedora 12
15 |
16 |
--------------------------------------------------------------------------------
/oz/auto/RHEL7.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 |
14 | zerombr
15 | clearpart --all --initlabel
16 | autopart --type=lvm
17 |
18 | reboot
19 |
20 | %packages
21 | openssh-clients
22 | @core
23 |
24 | %end
25 |
--------------------------------------------------------------------------------
/tests/tdl/test-36-repository-no-url.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/tests/tdl/test-38-command-no-name.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | echo "hello" > /tmp/foo
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/examples/ubuntu9.10i386.tdl:
--------------------------------------------------------------------------------
1 |
4 |
5 | ubuntu9.10jeos
6 |
7 | Ubuntu
8 | 9.10
9 | i386
10 |
11 | http://mirrors.us.kernel.org/ubuntu-releases/9.10/ubuntu-9.10-desktop-i386.iso
12 |
13 |
14 | Ubuntu 9.10
15 |
16 |
--------------------------------------------------------------------------------
/examples/opensuse11.3i386.tdl:
--------------------------------------------------------------------------------
1 |
4 |
5 | opensuse11.3jeos
6 |
7 | OpenSUSE
8 | 11.3
9 | i386
10 |
11 | http://download.opensuse.org/distribution/11.3/iso/openSUSE-11.3-DVD-i586.iso
12 |
13 |
14 | OpenSUSE 11.3
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-52-command-file-url.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | file://./tests/tdl/hello.cmd
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-42-command-bogus-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | ZWNobyAiaGVsbG8iID4gL3RtcC!28K
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-39-command-raw-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | echo "hello" > /tmp/foo
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/tests/tdl/test-40-command-base64-type.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | ZWNobyAiaGVsbG8iID4gL3RtcC9mb28K
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-41-command-bogus-base64.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | ZWNobyAiaGVsbG8iID4gL3RtcC!28K
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/tdl/test-35-repository-no-name.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | http://path/to/my/repo
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/oz.cfg:
--------------------------------------------------------------------------------
1 | [paths]
2 | output_dir = /var/lib/libvirt/images
3 | data_dir = /var/lib/oz
4 | screenshot_dir = /var/lib/oz/screenshots
5 | # sshprivkey = /etc/oz/id_rsa-icicle-gen
6 |
7 | [libvirt]
8 | uri = qemu:///system
9 | image_type = raw
10 | # type = kvm
11 | # bridge_name = virbr0
12 | # cpus = 1
13 | # memory = 1024
14 |
15 | [cache]
16 | original_media = yes
17 | modified_media = no
18 | jeos = no
19 |
20 | [icicle]
21 | safe_generation = no
22 |
23 | [timeouts]
24 | install = 1200
25 | inactivity = 300
26 | boot = 300
27 | shutdown = 90
28 |
--------------------------------------------------------------------------------
/tests/tdl/test-53-command-http-url.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 | https://raw.github.com/clalancette/oz/master/tests/tdl/hello.cmd
14 |
15 |
16 |
--------------------------------------------------------------------------------
/examples/win2k.tdl:
--------------------------------------------------------------------------------
1 |
5 |
6 | win2kjeos
7 |
8 | Windows
9 | 2000
10 | i386
11 |
12 | http://path/to/isos/win2k.iso
13 |
14 | MY_KEY_HERE
15 |
16 | Windows 2000
17 |
18 |
--------------------------------------------------------------------------------
/debian/postrm:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -e
4 |
5 | FILE="/etc/oz/id_rsa-icicle-gen"
6 |
7 | case "$1" in
8 | purge)
9 | if [ -f $FILE ]; then
10 | rm $FILE $FILE.pub
11 | fi
12 | ;;
13 |
14 | remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
15 | ;;
16 |
17 | *)
18 | echo "postrm called with unknown argument \`$1'" >&2
19 | exit 1
20 | ;;
21 | esac
22 |
23 | # dh_installdeb will replace this with shell code automatically
24 | # generated by other debhelper scripts.
25 |
26 | #DEBHELPER#
27 |
28 | exit 0
29 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_for_serial_missing_devices.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
--------------------------------------------------------------------------------
/tests/tdl/test-37-command.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | echo "hello" > /tmp/foo
15 |
16 |
17 | echo "there" > /tmp/bar
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/tests/tdl/test-62-repository-localhost.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | http://localhost/to/my/repo
15 | yes
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/oz/auto/RedHatLinux7.0.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | url --url REPLACE_ME
4 | keyboard us
5 | lang en_US
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | auth --useshadow --enablemd5
11 | timezone --utc America/New_York
12 | lilo --location mbr --linear
13 | zerombr yes
14 | clearpart --all --drives=hda
15 |
16 | part /boot --size=200 --ondisk=hda
17 | part / --size=1024 --grow --ondisk=hda
18 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
19 | reboot
20 |
21 | %packages
22 | python
23 | openssh
24 | openssh-server
25 | telnet
26 |
--------------------------------------------------------------------------------
/tests/tdl/test-28-package-no-name.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | http://path/to/my/repo
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/examples/freebsd10.tdl:
--------------------------------------------------------------------------------
1 |
4 |
5 | freebsd10
6 |
7 | FreeBSD
8 | 10.0
9 | x86_64
10 |
11 | ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/FreeBSD-10.0-RELEASE-amd64-disc1.iso
12 |
13 | blabla
14 |
15 | FreeBSD 10.0 x86_64
16 |
17 | 1
18 |
19 |
20 |
--------------------------------------------------------------------------------
/oz/auto/RedHatLinux7.1.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | url --url REPLACE_ME
4 | keyboard us
5 | lang en_US
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | auth --useshadow --enablemd5
12 | timezone --utc America/New_York
13 | lilo --location mbr --linear
14 | zerombr yes
15 | clearpart --all --drives=hda
16 |
17 | part /boot --size=200 --ondisk=hda
18 | part / --size=1024 --grow --ondisk=hda
19 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
20 | reboot
21 |
22 | %packages
23 | python
24 | openssh
25 | openssh-server
26 | nc
27 | wget
28 |
--------------------------------------------------------------------------------
/examples/f18disksize.tdl:
--------------------------------------------------------------------------------
1 |
6 |
7 | f18
8 |
9 | Fedora
10 | 18
11 | i386
12 |
13 | http://download.fedoraproject.org/pub/fedora/linux/releases/18/Fedora/i386/os
14 |
15 |
16 |
17 | 20
18 |
19 |
20 |
--------------------------------------------------------------------------------
/oz/auto/RedHatLinux8.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | url --url REPLACE_ME
4 | keyboard us
5 | lang en_US.UTF-8
6 | langsupport --default en_US.UTF-8 en_US.UTF-8
7 | mouse generic3ps/2 --device psaux
8 | skipx
9 | network --device eth0 --bootproto dhcp
10 | rootpw %ROOTPW%
11 | firewall --disabled
12 | authconfig --enableshadow --enablemd5
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part / --fstype ext3 --size=1024 --grow --ondisk=hda
20 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
21 | reboot
22 |
23 | %packages
24 |
--------------------------------------------------------------------------------
/tests/tdl/test-59-command-sorting.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | echo "hello" > /tmp/foo
15 |
16 |
17 | echo "there" > /tmp/bar
18 |
19 |
20 | echo "there" > /tmp/foobar
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/tdl/test-60-command-mix-positions-and-not.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | echo "hello" > /tmp/foo
15 |
16 |
17 | echo "there" > /tmp/bar
18 |
19 |
20 | echo "there" > /tmp/foobar
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/tdl/test-61-command-duplicate-position.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | echo "hello" > /tmp/foo
15 |
16 |
17 | echo "there" > /tmp/bar
18 |
19 |
20 | echo "there" > /tmp/foobar
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oz/auto/RHEL3.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | timezone --utc America/New_York
13 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
14 | zerombr yes
15 | clearpart --all --drives=hda
16 |
17 | part /boot --fstype ext3 --size=200 --ondisk=hda
18 | part / --fstype ext3 --size=1024 --grow --ondisk=hda
19 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
20 | reboot
21 |
22 | %packages
23 | @ admin-tools
24 | @ text-internet
25 | nc
26 | wget
27 |
28 | %post
29 |
--------------------------------------------------------------------------------
/oz/auto/Fedora11.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr yes
14 |
15 | part /boot --fstype ext3 --size=200 --ondisk=vda
16 | part pv.2 --size=1 --grow --ondisk=vda
17 | volgroup VolGroup00 --pesize=32768 pv.2
18 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
19 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
20 | reboot
21 |
22 | %packages
23 | @base
24 |
25 | %post
26 |
--------------------------------------------------------------------------------
/tests/tdl/test-11-description-packages-repositories.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | http://path/to/my/repo
15 |
16 |
17 |
18 |
19 | myrepo
20 | myfilename
21 | args
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/oz/auto/RedHatLinux7.2.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | url --url REPLACE_ME
4 | keyboard us
5 | lang en_US
6 | langsupport --default en_US en_US
7 | mouse generic3ps/2 --device psaux
8 | skipx
9 | network --device eth0 --bootproto dhcp
10 | rootpw %ROOTPW%
11 | firewall --disabled
12 | authconfig --enableshadow --enablemd5
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part / --fstype ext3 --size=1024 --grow --ondisk=hda
20 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
21 | reboot
22 |
23 | %packages
24 | @ Network Support
25 | @ Network Managed Workstation
26 | @ Utilities
27 | nc
28 | wget
29 |
--------------------------------------------------------------------------------
/oz/auto/Fedora15.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr
14 | clearpart --all --drives=vda
15 |
16 | part /boot --fstype ext4 --size=200 --ondisk=vda
17 | part pv.2 --size=1 --grow --ondisk=vda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %end
27 |
--------------------------------------------------------------------------------
/oz/auto/Fedora10.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr yes
14 | clearpart --all --drives=vda
15 |
16 | part /boot --fstype ext3 --size=200 --ondisk=vda
17 | part pv.2 --size=1 --grow --ondisk=vda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %post
27 |
--------------------------------------------------------------------------------
/oz/auto/Fedora12.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr yes
14 | clearpart --all --drives=vda
15 |
16 | part /boot --fstype ext4 --size=200 --ondisk=vda
17 | part pv.2 --size=1 --grow --ondisk=vda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %post
27 |
--------------------------------------------------------------------------------
/oz/auto/Fedora13.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr yes
14 | clearpart --all --drives=vda
15 |
16 | part /boot --fstype ext4 --size=200 --ondisk=vda
17 | part pv.2 --size=1 --grow --ondisk=vda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %post
27 |
--------------------------------------------------------------------------------
/oz/auto/Fedora7.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr yes
14 | clearpart --all --drives=sda
15 |
16 | part /boot --fstype ext3 --size=200 --ondisk=sda
17 | part pv.2 --size=1 --grow --ondisk=sda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %post
27 |
--------------------------------------------------------------------------------
/oz/auto/Fedora8.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr yes
14 | clearpart --all --drives=sda
15 |
16 | part /boot --fstype ext3 --size=200 --ondisk=sda
17 | part pv.2 --size=1 --grow --ondisk=sda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %post
27 |
--------------------------------------------------------------------------------
/oz/auto/Fedora9.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr yes
14 | clearpart --all --drives=vda
15 |
16 | part /boot --fstype ext3 --size=200 --ondisk=vda
17 | part pv.2 --size=1 --grow --ondisk=vda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %post
27 |
--------------------------------------------------------------------------------
/oz/auto/RedHatLinux9.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | url --url REPLACE_ME
4 | keyboard us
5 | lang en_US.UTF-8
6 | langsupport --default en_US.UTF-8 en_US.UTF-8
7 | mouse generic3ps/2 --device psaux
8 | skipx
9 | network --device eth0 --bootproto dhcp
10 | rootpw %ROOTPW%
11 | firewall --disabled
12 | authconfig --enableshadow --enablemd5
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part / --fstype ext3 --size=1024 --grow --ondisk=hda
20 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
21 | reboot
22 |
23 | %packages
24 | @ Administration Tools
25 | @ Editors
26 | @ Text-based Internet
27 | nc
28 | wget
29 |
--------------------------------------------------------------------------------
/tests/tdl/test-16-signed-repository.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | http://path/to/my/repo
15 | yes
16 |
17 |
18 |
19 |
20 | myrepo
21 | myfilename
22 | args
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/tdl/test-17-repo-invalid-signed.tdl:
--------------------------------------------------------------------------------
1 |
2 | f12jeos
3 |
4 | Fedora
5 | 12
6 | i386
7 |
8 | http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/x86_64/os/
9 |
10 |
11 | My Fedora 12 JEOS image
12 |
13 |
14 | http://path/to/my/repo
15 | foo
16 |
17 |
18 |
19 |
20 | myrepo
21 | myfilename
22 | args
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/oz/auto/RHEL2.1.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | url --url REPLACE_ME
4 | keyboard us
5 | lang en_US.UTF-8
6 | langsupport --default en_US.UTF-8 en_US.UTF-8
7 | mouse generic3ps/2 --device psaux
8 | skipx
9 | network --device eth0 --bootproto dhcp
10 | rootpw %ROOTPW%
11 | firewall --disabled
12 | authconfig --enableshadow --enablemd5
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part / --fstype ext3 --size=1024 --grow --ondisk=hda
20 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
21 | reboot
22 |
23 | %packages
24 | @ Network Support
25 | @ Advanced Server
26 | compat-libstdc++
27 | libpcap
28 | nc
29 | wget
30 |
--------------------------------------------------------------------------------
/oz/auto/Fedora14.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200 rd_NO_PLYMOUTH"
13 | zerombr
14 | clearpart --all --drives=vda
15 |
16 | part /boot --fstype ext4 --size=200 --ondisk=vda
17 | part pv.2 --size=1 --grow --ondisk=vda
18 | volgroup VolGroup00 --pesize=32768 pv.2
19 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
20 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
21 | reboot
22 |
23 | %packages
24 | @base
25 |
26 | %end
27 |
--------------------------------------------------------------------------------
/oz/auto/RHEL6.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | key --skip
4 | keyboard us
5 | lang en_US.UTF-8
6 | skipx
7 | network --device eth0 --bootproto dhcp
8 | rootpw %ROOTPW%
9 | firewall --disabled
10 | authconfig --enableshadow --enablemd5
11 | selinux --enforcing
12 | timezone --utc America/New_York
13 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
14 | zerombr yes
15 | clearpart --all
16 |
17 | part /boot --fstype ext4 --size=200
18 | part pv.2 --size=1 --grow
19 | volgroup VolGroup00 --pesize=32768 pv.2
20 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
21 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
22 | reboot
23 |
24 | %packages --nobase
25 | openssh-server
26 | openssh-clients
27 |
28 | %post
29 |
--------------------------------------------------------------------------------
/oz/auto/RedHatLinux7.3.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | url --url REPLACE_ME
4 | keyboard us
5 | lang en_US.UTF-8
6 | langsupport --default en_US.UTF-8 en_US.UTF-8
7 | mouse generic3ps/2 --device psaux
8 | skipx
9 | network --device eth0 --bootproto dhcp
10 | rootpw %ROOTPW%
11 | firewall --disabled
12 | authconfig --enableshadow --enablemd5
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part / --fstype ext3 --size=1024 --grow --ondisk=hda
20 | part swap --size 768 --grow --maxsize=1536 --ondisk=hda
21 | reboot
22 |
23 | %packages
24 | @ Network Support
25 | @ Network Managed Workstation
26 | @ Utilities
27 | nc
28 | wget
29 |
--------------------------------------------------------------------------------
/examples/f13i386.tdl:
--------------------------------------------------------------------------------
1 |
7 |
8 | f13jeos
9 |
10 | Fedora
11 | 13
12 | i386
13 |
14 | http://download.fedoraproject.org/pub/fedora/linux/releases/13/Fedora/i386/os/
15 |
16 |
17 | Fedora 13
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/examples/f18isoextradir.tdl:
--------------------------------------------------------------------------------
1 |
7 |
8 | f18
9 |
10 | Fedora
11 | 18
12 | i386
13 |
14 | http://mirrors.kernel.org/fedora/releases/18/Fedora/i386/iso/Fedora-18-i386-DVD.iso
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/examples/f18isoextrafile.tdl:
--------------------------------------------------------------------------------
1 |
7 |
8 | f18
9 |
10 | Fedora
11 | 18
12 | i386
13 |
14 | http://mirrors.kernel.org/fedora/releases/18/Fedora/i386/iso/Fedora-18-i386-DVD.iso
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/oz/auto/Fedora16.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr
14 | clearpart --all --drives=vda
15 |
16 | part biosboot --fstype=biosboot --size=1
17 | part /boot --fstype ext4 --size=200 --ondisk=vda
18 | part pv.2 --size=1 --grow --ondisk=vda
19 | volgroup VolGroup00 --pesize=32768 pv.2
20 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
21 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
22 | reboot
23 |
24 | %packages
25 | @base
26 |
27 | %end
28 |
--------------------------------------------------------------------------------
/oz/auto/Fedora17.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr
14 | clearpart --all --drives=vda
15 |
16 | part biosboot --fstype=biosboot --size=1
17 | part /boot --fstype ext4 --size=200 --ondisk=vda
18 | part pv.2 --size=1 --grow --ondisk=vda
19 | volgroup VolGroup00 --pesize=32768 pv.2
20 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
21 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
22 | reboot
23 |
24 | %packages
25 | @base
26 |
27 | %end
28 |
--------------------------------------------------------------------------------
/oz/auto/Fedora18.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr
14 | clearpart --all --drives=vda
15 |
16 | part biosboot --fstype=biosboot --size=1
17 | part /boot --fstype ext4 --size=200 --ondisk=vda
18 | part pv.2 --size=1 --grow --ondisk=vda
19 | volgroup VolGroup00 --pesize=32768 pv.2
20 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
21 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
22 | reboot
23 |
24 | %packages
25 | @core
26 |
27 | %end
28 |
--------------------------------------------------------------------------------
/oz/auto/Fedora19.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr
14 | clearpart --all --drives=vda
15 |
16 | part biosboot --fstype=biosboot --size=1
17 | part /boot --fstype ext4 --size=200 --ondisk=vda
18 | part pv.2 --size=1 --grow --ondisk=vda
19 | volgroup VolGroup00 --pesize=32768 pv.2
20 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
21 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
22 | reboot
23 |
24 | %packages
25 | @core
26 |
27 | %end
28 |
--------------------------------------------------------------------------------
/oz/auto/Fedora20.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | skipx
6 | network --device eth0 --bootproto dhcp
7 | rootpw %ROOTPW%
8 | firewall --disabled
9 | authconfig --enableshadow --enablemd5
10 | selinux --enforcing
11 | timezone --utc America/New_York
12 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
13 | zerombr
14 | clearpart --all --drives=vda
15 |
16 | part biosboot --fstype=biosboot --size=1
17 | part /boot --fstype ext4 --size=200 --ondisk=vda
18 | part pv.2 --size=1 --grow --ondisk=vda
19 | volgroup VolGroup00 --pesize=32768 pv.2
20 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
21 | logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
22 | reboot
23 |
24 | %packages
25 | @core
26 |
27 | %end
28 |
--------------------------------------------------------------------------------
/oz/auto/FedoraCore1.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | timezone --utc America/New_York
13 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
14 | zerombr yes
15 | clearpart --all --drives=hda
16 |
17 | part /boot --fstype ext3 --size=200 --ondisk=hda
18 | part pv.2 --size=1 --grow --ondisk=hda
19 | volgroup VolGroup00 --pesize=32768 pv.2
20 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
21 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
22 | reboot
23 |
24 | %packages
25 | @base
26 |
27 | %post
28 |
--------------------------------------------------------------------------------
/oz/auto/RHEL5.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | key --skip
4 | keyboard us
5 | lang en_US.UTF-8
6 | langsupport --default en_US.UTF-8 en_US.UTF-8
7 | mouse generic3ps/2 --device psaux
8 | skipx
9 | network --device eth0 --bootproto dhcp
10 | rootpw %ROOTPW%
11 | firewall --disabled
12 | authconfig --enableshadow --enablemd5
13 | selinux --enforcing
14 | timezone --utc America/New_York
15 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
16 | zerombr yes
17 | clearpart --all
18 |
19 | part /boot --fstype ext3 --size=200
20 | part pv.2 --size=1 --grow
21 | volgroup VolGroup00 --pesize=32768 pv.2
22 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
23 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
24 | reboot
25 |
26 | %packages
27 | @base
28 |
29 | %post
30 |
--------------------------------------------------------------------------------
/oz/auto/RHEL4.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | selinux --enforcing
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all
17 |
18 | part /boot --fstype ext3 --size=200
19 | part pv.2 --size=1 --grow
20 | volgroup VolGroup00 --pesize=32768 pv.2
21 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
22 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
23 | reboot
24 |
25 | %packages
26 | @ admin-tools
27 | @ text-internet
28 |
29 | %post
30 |
--------------------------------------------------------------------------------
/debian/control:
--------------------------------------------------------------------------------
1 | Source: oz
2 | Maintainer: Richard Jones
3 | Section: python
4 | Priority: optional
5 | Build-Depends: debhelper (>= 8.0.0), python-all (>= 2.6.6-3)
6 | Standards-Version: 3.9.4
7 | Homepage: http://github.com/clalancette/oz/wiki
8 | Vcs-Git: git://github.com/clalancette/oz.git
9 | X-Python-Version: >= 2.6
10 |
11 | Package: oz
12 | Architecture: all
13 | Depends: ${misc:Depends}, ${python:Depends},
14 | python (>= 2.5),
15 | genisoimage,
16 | libvirt-dev (>= 0.9.7),
17 | mtools,
18 | openssh-client,
19 | python-guestfs,
20 | python-lxml,
21 | python-libvirt (>= 0.9.7),
22 | python-requests,
23 | python-cryptography,
24 | python-monotonic,
25 | Description: installing guest OSs with only minimal input the user
26 | Oz is a tool for automatically installing guest OSs with only minimal
27 | up-front input from the user.
28 |
--------------------------------------------------------------------------------
/oz/auto/FedoraCore2.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | selinux --enforcing
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part pv.2 --size=1 --grow --ondisk=hda
20 | volgroup VolGroup00 --pesize=32768 pv.2
21 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
22 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
23 | reboot
24 |
25 | %packages
26 | @base
27 |
28 | %post
29 |
--------------------------------------------------------------------------------
/oz/auto/FedoraCore3.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | selinux --enforcing
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part pv.2 --size=1 --grow --ondisk=hda
20 | volgroup VolGroup00 --pesize=32768 pv.2
21 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
22 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
23 | reboot
24 |
25 | %packages
26 | @base
27 |
28 | %post
29 |
--------------------------------------------------------------------------------
/oz/auto/FedoraCore4.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | selinux --enforcing
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part pv.2 --size=1 --grow --ondisk=hda
20 | volgroup VolGroup00 --pesize=32768 pv.2
21 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
22 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
23 | reboot
24 |
25 | %packages
26 | @base
27 |
28 | %post
29 |
--------------------------------------------------------------------------------
/oz/auto/FedoraCore5.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | selinux --enforcing
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part pv.2 --size=1 --grow --ondisk=hda
20 | volgroup VolGroup00 --pesize=32768 pv.2
21 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
22 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
23 | reboot
24 |
25 | %packages
26 | @base
27 |
28 | %post
29 |
--------------------------------------------------------------------------------
/oz/auto/FedoraCore6.auto:
--------------------------------------------------------------------------------
1 | install
2 | text
3 | keyboard us
4 | lang en_US.UTF-8
5 | langsupport --default en_US.UTF-8 en_US.UTF-8
6 | mouse generic3ps/2 --device psaux
7 | skipx
8 | network --device eth0 --bootproto dhcp
9 | rootpw %ROOTPW%
10 | firewall --disabled
11 | authconfig --enableshadow --enablemd5
12 | selinux --enforcing
13 | timezone --utc America/New_York
14 | bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
15 | zerombr yes
16 | clearpart --all --drives=hda
17 |
18 | part /boot --fstype ext3 --size=200 --ondisk=hda
19 | part pv.2 --size=1 --grow --ondisk=hda
20 | volgroup VolGroup00 --pesize=32768 pv.2
21 | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
22 | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
23 | reboot
24 |
25 | %packages
26 | @base
27 |
28 | %post
29 |
--------------------------------------------------------------------------------
/oz/auto/Windows2000.auto:
--------------------------------------------------------------------------------
1 | ;SetupMgrTag
2 | [Data]
3 | AutoPartition=1
4 | MsDosInitiated=No
5 | UnattendedInstall=Yes
6 |
7 | [Unattended]
8 | UnattendMode=FullUnattended
9 | OemSkipEula=Yes
10 | OemPreinstall=No
11 | TargetPath=\WINNT
12 | Repartition=Yes
13 | WaitForReboot="No"
14 | UnattendSwitch="Yes"
15 |
16 | [GuiUnattended]
17 | AdminPassword=%ROOTPW%
18 | AutoLogon=Yes
19 | AutoLogonCount=1
20 | OEMSkipRegional=1
21 | TimeZone=35
22 | OemSkipWelcome=1
23 |
24 | [UserData]
25 | ProductID=
26 | FullName="OZ"
27 | ComputerName=
28 |
29 | [Display]
30 | BitsPerPel=16
31 | Xresolution=640
32 | YResolution=480
33 | Vrefresh=60
34 |
35 | [RegionalSettings]
36 | LanguageGroup=1
37 |
38 | [Identification]
39 | JoinWorkgroup=WORKGROUP
40 |
41 | [Networking]
42 | InstallDefaultComponents=Yes
43 |
--------------------------------------------------------------------------------
/Containerfile.tests.fedora:
--------------------------------------------------------------------------------
1 | # this container definition is intended *only* for running the oz test suite, it is not
2 | # a general-purpose oz container definition!
3 |
4 | FROM quay.io/fedora/fedora:latest
5 | RUN set -exo pipefail \
6 | && dnf install -y --setopt install_weak_deps=false --nodocs \
7 | python3-requests python3-cryptography python3-setuptools python3-libvirt python3-lxml python3-libguestfs python3-pytest python3-coverage python3-monotonic \
8 | libvirt-daemon libvirt-daemon-kvm libvirt-daemon-qemu libvirt-daemon-config-network systemd \
9 | && dnf clean all \
10 | && rm -rf /var/cache/* /var/log/dnf*
11 |
12 | COPY ./ /oz
13 | RUN printf "#!/bin/sh\n/usr/sbin/libvirtd -d\ncd /oz\npython3 -m coverage run -m pytest -vv tests/\ncoverage xml\ncoverage report" > /usr/local/bin/runtests.sh && chmod ugo+x /usr/local/bin/runtests.sh
14 | CMD /usr/local/bin/runtests.sh
15 |
--------------------------------------------------------------------------------
/examples/f18file.tdl:
--------------------------------------------------------------------------------
1 |
8 |
9 | f18
10 |
11 | Fedora
12 | 18
13 | i386
14 |
15 | http://download.fedoraproject.org/pub/fedora/linux/releases/18/Fedora/i386/os
16 |
17 |
18 |
19 | 20
20 |
21 |
22 |
23 | https://www.kernel.org/pub/linux/kernel/README
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/oz/icicle.rng:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/oz/auto/Windows2003.auto:
--------------------------------------------------------------------------------
1 | ;SetupMgrTag
2 | [Data]
3 | AutoPartition=1
4 | MsDosInitiated="0"
5 | UnattendedInstall="Yes"
6 |
7 | [Unattended]
8 | UnattendMode=FullUnattended
9 | OemSkipEula=Yes
10 | OemPreinstall=No
11 | TargetPath=\WINDOWS
12 | Repartition=Yes
13 | WaitForReboot="No"
14 | UnattendSwitch="Yes"
15 |
16 | [GuiUnattended]
17 | AdminPassword="%ROOTPW%"
18 | EncryptedAdminPassword=NO
19 | AutoLogon=Yes
20 | AutoLogonCount=1
21 | OEMSkipRegional=1
22 | TimeZone=35
23 | OemSkipWelcome=1
24 |
25 | [UserData]
26 | ProductKey=
27 | FullName="OZ"
28 | OrgName=""
29 | ComputerName=
30 |
31 | [LicenseFilePrintData]
32 | AutoMode=PerServer
33 | AutoUsers=5
34 |
35 | [Identification]
36 | JoinWorkgroup=WORKGROUP
37 |
38 | [Networking]
39 | InstallDefaultComponents=Yes
40 |
41 | [SetupParams]
42 | UserExecute = "sc config TlntSvr start= auto"
43 |
44 | [WindowsFirewall]
45 | Profiles = WindowsFirewall.TurnOffFirewall
46 |
47 | [WindowsFirewall.TurnOffFirewall]
48 | Mode = 0
49 |
--------------------------------------------------------------------------------
/oz/auto/WindowsXP.auto:
--------------------------------------------------------------------------------
1 | ;SetupMgrTag
2 | [Data]
3 | AutoPartition=1
4 | MsDosInitiated="0"
5 | UnattendedInstall="Yes"
6 |
7 | [Unattended]
8 | UnattendMode=FullUnattended
9 | OemSkipEula=Yes
10 | OemPreinstall=No
11 | TargetPath=\WINDOWS
12 | Repartition=Yes
13 | WaitForReboot="No"
14 | UnattendSwitch="Yes"
15 |
16 | [GuiUnattended]
17 | AdminPassword="%ROOTPW%"
18 | EncryptedAdminPassword=NO
19 | AutoLogon=Yes
20 | AutoLogonCount=1
21 | OEMSkipRegional=1
22 | TimeZone=35
23 | OemSkipWelcome=1
24 |
25 | [UserData]
26 | ProductKey=
27 | FullName="OZ"
28 | OrgName=""
29 | ComputerName=
30 |
31 | [LicenseFilePrintData]
32 | AutoMode=PerServer
33 | AutoUsers=5
34 |
35 | [Identification]
36 | JoinWorkgroup=WORKGROUP
37 |
38 | [Networking]
39 | InstallDefaultComponents=Yes
40 |
41 | [SetupParams]
42 | UserExecute = "sc config TlntSvr start= auto"
43 |
44 | [WindowsFirewall]
45 | Profiles = WindowsFirewall.TurnOffFirewall
46 |
47 | [WindowsFirewall.TurnOffFirewall]
48 | Mode = 0
49 |
--------------------------------------------------------------------------------
/oz/OzException.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2011 Chris Lalancette
2 | # Copyright (C) 2012-2017 Chris Lalancette
3 |
4 | # This library is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU Lesser General Public
6 | # License as published by the Free Software Foundation;
7 | # version 2.1 of the License.
8 |
9 | # This library is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | # Lesser General Public License for more details.
13 |
14 | # You should have received a copy of the GNU Lesser General Public
15 | # License along with this library; if not, write to the Free Software
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | """
19 | Exception class for Oz.
20 | """
21 |
22 |
23 | class OzException(Exception):
24 | """
25 | Class for Oz Exceptions.
26 | """
27 | def __init__(self, msg):
28 | Exception.__init__(self, msg)
29 |
--------------------------------------------------------------------------------
/oz/auto/FreeBSD10.0.auto:
--------------------------------------------------------------------------------
1 | # Install rules.
2 | PARTITIONS="vtbd0 { auto freebsd-ufs / }"
3 | BSDINSTALL_DISTSITE="http://mirror.leaseweb.net/freebsd/releases/amd64/10.0-RELEASE/"
4 | DISTRIBUTIONS="kernel.txz base.txz"
5 |
6 | # Post script.
7 | #!/bin/sh
8 | hostname=$(openssl rand -hex 4)
9 | echo "ifconfig_vtnet0=DHCP" >> /etc/rc.conf
10 | echo "sshd_enable=YES" >> /etc/rc.conf
11 | echo "hostname=$hostname" >> /etc/rc.conf
12 | echo "#ROOTPW#" | pw mod user root -h 0
13 |
14 | # Clean up any old dhclient stuff from the preparation stage.
15 | rm -f /var/db/dhclient.leases.*
16 |
17 | # The machine check fails pretty hard on a hypervisor running on top of AMD
18 | # processors, so just disable it.
19 | echo "hw.mca.enabled=0" >> /boot/loader.conf.local
20 |
21 | # Log kernel (boot) messages to console, so that they can be captured.
22 | echo 'console="vidconsole,comconsole"' >> /boot/loader.conf.local
23 | sed -i.bak -E "s/^(ttyu0.+)dialup(.+)off(.+)secure/\1 vt100 on secure/" /etc/ttys
24 | rm -f /etc/ttys.bak
25 |
26 | # The installer wants to reboot to the newly installed system, though at this
27 | # point we'd rather send the image to the cloud :)
28 | shutdown -p now
29 |
--------------------------------------------------------------------------------
/oz/auto/FreeBSD11.0.auto:
--------------------------------------------------------------------------------
1 | # Install rules.
2 | PARTITIONS="vtbd0 { auto freebsd-ufs / }"
3 | BSDINSTALL_DISTSITE="http://mirror.leaseweb.net/freebsd/releases/amd64/11.0-RELEASE/"
4 | DISTRIBUTIONS="kernel.txz base.txz"
5 |
6 | # Post script.
7 | #!/bin/sh
8 | hostname=$(openssl rand -hex 4)
9 | echo "ifconfig_vtnet0=DHCP" >> /etc/rc.conf
10 | echo "sshd_enable=YES" >> /etc/rc.conf
11 | echo "hostname=$hostname" >> /etc/rc.conf
12 | echo "#ROOTPW#" | pw mod user root -h 0
13 |
14 | # Clean up any old dhclient stuff from the preparation stage.
15 | rm -f /var/db/dhclient.leases.*
16 |
17 | # The machine check fails pretty hard on a hypervisor running on top of AMD
18 | # processors, so just disable it.
19 | echo "hw.mca.enabled=0" >> /boot/loader.conf.local
20 |
21 | # Log kernel (boot) messages to console, so that they can be captured.
22 | echo 'console="vidconsole,comconsole"' >> /boot/loader.conf.local
23 | sed -i.bak -E "s/^(ttyu0.+)dialup(.+)off(.+)secure/\1 vt100 on secure/" /etc/ttys
24 | rm -f /etc/ttys.bak
25 |
26 | # The installer wants to reboot to the newly installed system, though at this
27 | # point we'd rather send the image to the cloud :)
28 | shutdown -p now
29 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_for_serial_final.xml:
--------------------------------------------------------------------------------
1 |
2 | tester
3 | 1048576
4 | 1048576
5 | %s
6 |
7 | 1
8 |
9 |
10 |
11 |
12 |
13 |
14 | hvm
15 |
16 |
17 | destroy
18 | destroy
19 | destroy
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu8.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 |
19 | d-i passwd/root-login boolean true
20 | d-i passwd/make-user boolean false
21 | d-i passwd/root-password password %ROOTPW%
22 | d-i passwd/root-password-again password %ROOTPW%
23 |
24 | tasksel tasksel/first multiselect standard
25 |
26 | d-i grub-installer/only_debian boolean true
27 | d-i grub-installer/with_other_os boolean true
28 |
29 | d-i apt-setup/security_host string
30 | base-config apt-setup/security-updates boolean false
31 |
32 | ubiquity ubiquity/summary note
33 | ubiquity ubiquity/reboot boolean true
34 |
35 | d-i finish-install/reboot_in_progress note
36 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu8.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 |
19 | d-i passwd/root-login boolean true
20 | d-i passwd/make-user boolean false
21 | d-i passwd/root-password password %ROOTPW%
22 | d-i passwd/root-password-again password %ROOTPW%
23 |
24 | tasksel tasksel/first multiselect standard
25 |
26 | d-i grub-installer/only_debian boolean true
27 | d-i grub-installer/with_other_os boolean true
28 |
29 | d-i apt-setup/security_host string
30 | base-config apt-setup/security-updates boolean false
31 |
32 | ubiquity ubiquity/summary note
33 | ubiquity ubiquity/reboot boolean true
34 |
35 | d-i finish-install/reboot_in_progress note
36 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu9.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 |
19 | d-i passwd/root-login boolean true
20 | d-i passwd/make-user boolean false
21 | d-i passwd/root-password password %ROOTPW%
22 | d-i passwd/root-password-again password %ROOTPW%
23 |
24 | tasksel tasksel/first multiselect standard
25 |
26 | d-i grub-installer/only_debian boolean true
27 | d-i grub-installer/with_other_os boolean true
28 |
29 | d-i apt-setup/security_host string
30 | base-config apt-setup/security-updates boolean false
31 |
32 | ubiquity ubiquity/summary note
33 | ubiquity ubiquity/reboot boolean true
34 |
35 | d-i finish-install/reboot_in_progress note
36 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu9.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 |
19 | d-i passwd/root-login boolean true
20 | d-i passwd/make-user boolean false
21 | d-i passwd/root-password password %ROOTPW%
22 | d-i passwd/root-password-again password %ROOTPW%
23 |
24 | tasksel tasksel/first multiselect standard
25 |
26 | d-i grub-installer/only_debian boolean true
27 | d-i grub-installer/with_other_os boolean true
28 |
29 | d-i apt-setup/security_host string
30 | base-config apt-setup/security-updates boolean false
31 |
32 | ubiquity ubiquity/summary note
33 | ubiquity ubiquity/reboot boolean true
34 |
35 | d-i finish-install/reboot_in_progress note
36 |
--------------------------------------------------------------------------------
/oz/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | Class for automated operating system installation.
3 |
4 | Oz is a set of classes to do automated operating system installation. It
5 | has built-in knowledge of the proper things to do for each of the supported
6 | operating systems, so the data that the user must provide is very minimal.
7 | This data is supplied in the form of an XML document that describes what
8 | type of operating system is to be installed and where to get the
9 | installation media. Oz handles the rest.
10 |
11 | The simplest Oz program (without error handling or any advanced features)
12 | would look something like:
13 |
14 | import oz.TDL
15 | import oz.GuestFactory
16 |
17 | tdl_xml = \"\"\"
18 |
19 | f13jeos
20 |
21 | Fedora
22 | 13
23 | x86_64
24 |
25 | http://download.fedoraproject.org/pub/fedora/linux/releases/13/Fedora/x86_64/os/
26 |
27 |
28 | Fedora 13
29 |
30 | \"\"\"
31 |
32 | tdl = oz.TDL.TDL(tdl_xml)
33 | guest = oz.GuestFactory.guest_factory(tdl, None, None)
34 | guest.generate_install_media()
35 | guest.generate_diskimage()
36 | guest.install()
37 | """
38 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu7.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 |
19 | d-i passwd/root-login boolean true
20 | d-i passwd/make-user boolean false
21 | d-i passwd/root-password password %ROOTPW%
22 | d-i passwd/root-password-again password %ROOTPW%
23 |
24 | tasksel tasksel/first multiselect standard
25 | d-i mirror/http/proxy string
26 |
27 | d-i grub-installer/only_debian boolean true
28 | d-i grub-installer/with_other_os boolean true
29 |
30 | d-i apt-setup/security_host string
31 | base-config apt-setup/security-updates boolean false
32 |
33 | ubiquity ubiquity/summary note
34 | ubiquity ubiquity/reboot boolean true
35 |
36 | d-i finish-install/reboot_in_progress note
37 |
--------------------------------------------------------------------------------
/Containerfile.tests.el8:
--------------------------------------------------------------------------------
1 | # this container definition is intended *only* for running the oz test suite, it is not
2 | # a general-purpose oz container definition!
3 |
4 | FROM quay.io/almalinuxorg/8-base:latest
5 | RUN set -exo pipefail \
6 | && dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
7 | && dnf install -y --setopt install_weak_deps=false --nodocs \
8 | python3-requests python3-cryptography python3-setuptools python3-libvirt python3-lxml python3-libguestfs python3-pytest python3-coverage python3-monotonic \
9 | libvirt-daemon libvirt-daemon-kvm libvirt-daemon-driver-qemu libvirt-daemon-config-network systemd \
10 | && dnf clean all \
11 | && rm -rf /var/cache/* /var/log/dnf*
12 |
13 | COPY ./ /oz
14 | # the XML generation tests are inherently unreliable before Python 3.8,
15 | # as there was no consistent ordering of XML element attributes. See
16 | # https://docs.python.org/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.tostring
17 | RUN printf "#!/bin/sh\n/usr/sbin/libvirtd -d\ncd /oz\npython3 -m pytest -vv -k 'not test_xml_generation and not modify_libvirt_xml_for_serial' tests/" > /usr/local/bin/runtests.sh && chmod ugo+x /usr/local/bin/runtests.sh
18 | CMD /usr/local/bin/runtests.sh
19 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_get_disks_and_interfaces_missing_disk_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_diskimage.xml:
--------------------------------------------------------------------------------
1 |
2 | tester
3 | 1048576
4 | 1048576
5 | %s
6 |
7 | 1
8 |
9 |
10 |
11 |
12 |
13 |
14 | hvm
15 |
16 |
17 | destroy
18 | destroy
19 | destroy
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_for_serial.xml:
--------------------------------------------------------------------------------
1 |
2 | tester
3 | 1048576
4 | 1048576
5 | %s
6 |
7 | 1
8 |
9 |
10 |
11 |
12 |
13 |
14 | hvm
15 |
16 |
17 | destroy
18 | destroy
19 | destroy
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu10.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 |
27 | d-i grub-installer/only_debian boolean true
28 | d-i grub-installer/with_other_os boolean true
29 |
30 | d-i apt-setup/security_host string
31 | base-config apt-setup/security-updates boolean false
32 |
33 | ubiquity ubiquity/summary note
34 | ubiquity ubiquity/reboot boolean true
35 |
36 | d-i finish-install/reboot_in_progress note
37 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_diskimage_final.xml:
--------------------------------------------------------------------------------
1 |
2 | tester
3 | 1048576
4 | 1048576
5 | %s
6 |
7 | 1
8 |
9 |
10 |
11 |
12 |
13 |
14 | hvm
15 |
16 |
17 | destroy
18 | destroy
19 | destroy
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_get_disks_and_interfaces_missing_interface_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_diskimage_missing_disk_source.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_get_disks_and_interfaces.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu6.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/disk string /dev/hda
14 | d-i partman-auto/method string regular
15 | d-i partman-auto/choose_recipe select Separate /home partition
16 | d-i partman/confirm_write_new_label boolean true
17 | d-i partman/choose_partition select Finish partitioning and write changes to disk
18 | d-i partman/confirm boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect ubuntu-standard, ubuntu-desktop
26 | d-i mirror/http/proxy string
27 |
28 | d-i grub-installer/only_debian boolean true
29 | d-i grub-installer/with_other_os boolean true
30 |
31 | d-i apt-setup/security_host string
32 | base-config apt-setup/security-updates boolean false
33 |
34 | d-i finish-install/reboot_in_progress note
35 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_get_disks_and_interfaces_missing_disk_target_device.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_get_disks_and_interfaces_missing_interface_target_device.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_for_serial_too_many_targets.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu7.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/init_automatically_partition select Use the largest continuous free space
14 | d-i partman-auto/method string regular
15 | d-i partman-auto/choose_recipe select Separate /home partition
16 | d-i partman/confirm_write_new_label boolean true
17 | d-i partman/choose_partition select Finish partitioning and write changes to disk
18 | d-i partman/confirm boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect ubuntu-standard, ubuntu-desktop
26 | d-i mirror/http/proxy string
27 |
28 | d-i grub-installer/only_debian boolean true
29 | d-i grub-installer/with_other_os boolean true
30 |
31 | d-i apt-setup/security_host string
32 | base-config apt-setup/security-updates boolean false
33 |
34 | d-i finish-install/reboot_in_progress note
35 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_diskimage_too_many_drivers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu10.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 | d-i pkgsel/include/install-recommends boolean true
27 | d-i pkgsel/include string openssh-server
28 |
29 | d-i grub-installer/only_debian boolean true
30 | d-i grub-installer/with_other_os boolean true
31 |
32 | d-i apt-setup/security_host string
33 | base-config apt-setup/security-updates boolean false
34 |
35 | ubiquity ubiquity/summary note
36 | ubiquity ubiquity/reboot boolean true
37 |
38 | d-i finish-install/reboot_in_progress note
39 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu6.06.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/disk string /dev/hda
14 | d-i partman-auto/method string regular
15 | d-i partman-auto/choose_recipe select Separate /home partition
16 | d-i partman/confirm_write_new_label boolean true
17 | d-i partman/choose_partition select Finish partitioning and write changes to disk
18 | d-i partman/confirm boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | d-i pkgsel/install-language-support boolean false
26 |
27 | tasksel tasksel/first multiselect ubuntu-standard, ubuntu-desktop
28 | d-i mirror/http/proxy string
29 |
30 | d-i grub-installer/only_debian boolean true
31 | d-i grub-installer/with_other_os boolean true
32 |
33 | d-i apt-setup/security_host string
34 | base-config apt-setup/security-updates boolean false
35 |
36 | d-i finish-install/reboot_in_progress note
37 | d-i prebaseconfig/reboot_in_progress note
38 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_xml_generation_1.xml:
--------------------------------------------------------------------------------
1 |
2 | tester
3 | 2097152
4 | 2097152
5 | %s
6 |
7 | 1
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | /dev/random
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/debian/copyright:
--------------------------------------------------------------------------------
1 | This work was packaged for Debian by:
2 |
3 | Richard Jones on Thu, 22 Sep 2011 16:17:34 +0100
4 |
5 | It was downloaded from:
6 |
7 | http://aeolusproject.org/oz.html
8 |
9 | Upstream Author:
10 |
11 | Chris Lalancette
12 |
13 | Copyright:
14 |
15 | Copyright (C) 2010-2011 Chris Lalancette
16 |
17 | License:
18 |
19 | This library is free software; you can redistribute it and/or
20 | modify it under the terms of the GNU Lesser General Public
21 | License as published by the Free Software Foundation;
22 | version 2.1 of the License.
23 |
24 | This library is distributed in the hope that it will be useful,
25 | but WITHOUT ANY WARRANTY; without even the implied warranty of
26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27 | Lesser General Public License for more details.
28 |
29 | You should have received a copy of the GNU Lesser General Public
30 | License along with this library; if not, write to the Free Software
31 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
32 | USA
33 |
34 | On Debian systems, the complete text of the GNU General
35 | Public License version 2 can be found in "/usr/share/common-licenses/LGPL-2.1".
36 |
37 | The Debian packaging is:
38 |
39 | Copyright (C) 2011 Richard Jones
40 |
41 | and is licensed under the LGPL version 2.1 or later, see above.
42 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu5.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | base-config tzconfig/gmt boolean true
11 | base-config tzconfig/choose_country_zone/US select Eastern
12 |
13 | d-i partman-auto/disk string /dev/hda
14 | d-i partman-auto/method string regular
15 | d-i partman-auto/choose_recipe select Separate /home partition
16 | d-i partman/confirm_write_new_label boolean true
17 | d-i partman/choose_partition select Finish partitioning and write changes to disk
18 | d-i partman/confirm boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | d-i pkgsel/install-language-support boolean false
26 |
27 | tasksel tasksel/first multiselect ubuntu-standard, ubuntu-desktop
28 | d-i mirror/http/proxy string
29 |
30 | d-i grub-installer/only_debian boolean true
31 | d-i grub-installer/with_other_os boolean true
32 |
33 | d-i apt-setup/security_host string
34 | base-config apt-setup/security-updates boolean false
35 |
36 | d-i finish-install/reboot_in_progress note
37 | d-i prebaseconfig/reboot_in_progress note
38 |
39 | xserver-xorg xserver-xorg/config/display/modes select 1024x768
40 | base-config base-config/late_command string mv /etc/inittab.real /etc/inittab ; /sbin/shutdown -h now
41 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu5.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | base-config tzconfig/gmt boolean true
11 | base-config tzconfig/choose_country_zone/US select Eastern
12 |
13 | d-i partman-auto/disk string /dev/hda
14 | d-i partman-auto/method string regular
15 | d-i partman-auto/choose_recipe select Separate /home partition
16 | d-i partman/confirm_write_new_label boolean true
17 | d-i partman/choose_partition select Finish partitioning and write changes to disk
18 | d-i partman/confirm boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | d-i pkgsel/install-language-support boolean false
26 |
27 | tasksel tasksel/first multiselect ubuntu-standard, ubuntu-desktop
28 | d-i mirror/http/proxy string
29 |
30 | d-i grub-installer/only_debian boolean true
31 | d-i grub-installer/with_other_os boolean true
32 |
33 | d-i apt-setup/security_host string
34 | base-config apt-setup/security-updates boolean false
35 |
36 | d-i finish-install/reboot_in_progress note
37 | d-i prebaseconfig/reboot_in_progress note
38 |
39 | xserver-xorg xserver-xorg/config/display/modes select 1024x768
40 | base-config base-config/late_command string mv /etc/inittab.real /etc/inittab ; /sbin/shutdown -h now
41 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | ---
2 | name: Run CI checks
3 |
4 | on: [pull_request]
5 |
6 | jobs:
7 | unittests-fedora:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - name: Checkout the repo
11 | uses: actions/checkout@v4
12 | with:
13 | fetch-depth: 0
14 | - name: Install required packages
15 | run: sudo apt-get install make flake8 pylint
16 | # it's not in Ubuntu 22.04, was added in 23.04
17 | - name: Install diff-cover from pip
18 | run: pip install diff-cover
19 | - name: Run the tests
20 | run: sudo make container-unittests-fedora
21 | - name: Run diff-cover
22 | run: diff-cover coverage.xml --compare-branch=origin/$GITHUB_BASE_REF --fail-under=90
23 | - name: Run diff-quality (pylint)
24 | # we want to run this regardless of whether previous lint steps failed
25 | if: success() || failure()
26 | run: diff-quality --compare-branch=origin/$GITHUB_BASE_REF --violations=pylint --fail-under=90
27 | - name: Run diff-quality (flake8)
28 | # we want to run this regardless of whether previous lint steps failed
29 | if: success() || failure()
30 | run: diff-quality --compare-branch=origin/$GITHUB_BASE_REF --violations=flake8 --fail-under=90
31 | unittests-el8:
32 | runs-on: ubuntu-latest
33 | steps:
34 | - name: Checkout the repo
35 | uses: actions/checkout@v4
36 | with:
37 | fetch-depth: 0
38 | - name: Install make
39 | run: sudo apt-get install make
40 | - name: Run the tests
41 | run: sudo make container-unittests-el8
42 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_xml_generation_2.xml:
--------------------------------------------------------------------------------
1 |
2 | tester
3 | 2097152
4 | 2097152
5 | %s
6 |
7 | 1
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 | kernel option
18 | initrd option
19 | command line
20 |
21 | destroy
22 | destroy
23 | destroy
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | /dev/random
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/debian/changelog:
--------------------------------------------------------------------------------
1 | oz (0.18.0-1) unstable; urgency=low
2 |
3 | * Update to Oz 0.18.0
4 |
5 | -- Peter Robinson Sat, 5 Feb 2022 13:32:00 -0000
6 |
7 | oz (0.17.0-1) unstable; urgency=low
8 |
9 | * Update to Oz 0.17.0
10 |
11 | -- Chris Lalancette Sat, 16 Mar 2019 14:37:00 -0500
12 |
13 | oz (0.16.0-1) unstable; urgency=low
14 |
15 | * Update to Oz 0.16.0
16 |
17 | -- Chris Lalancette Tue, 08 Aug 2017 14:37:00 -0500
18 |
19 | oz (0.15.0-1) unstable; urgency=low
20 |
21 | * Update to Oz 0.15.0
22 |
23 | -- Chris Lalancette Sun, 28 Feb 2016 14:37:00 -0500
24 |
25 | oz (0.14.0-1) unstable; urgency=low
26 |
27 | * Update to Oz 0.14.0
28 |
29 | -- Chris Lalancette Fri, 26 Jun 2015 14:37:00 -0500
30 |
31 | oz (0.13.0-1) unstable; urgency=low
32 |
33 | * Update to Oz 0.13.0
34 |
35 | -- Chris Lalancette Sat, 07 Mar 2015 17:46:00 -0500
36 |
37 | oz (0.12.0-1) unstable; urgency=low
38 |
39 | * Update to Oz 0.12.0
40 |
41 | -- Chris Lalancette Wed, 01 Jan 2014 17:46:00 -0500
42 |
43 | oz (0.11.0-1) unstable; urgency=low
44 |
45 | * Update to Oz 0.11.0
46 |
47 | -- Chris Lalancette Sun, 28 Jul 2013 15:48:00 -0500
48 |
49 | oz (0.10.0-1) unstable; urgency=low
50 |
51 | * Update to Oz 0.10.0
52 |
53 | -- Chris Lalancette Sat, 09 Mar 2013 08:37:00 -0500
54 |
55 | oz (0.9.0-1) unstable; urgency=low
56 |
57 | * Update to Oz 0.9.0
58 |
59 | -- Guilhem Lettron Tue, 21 Aug 2012 12:21:53 +0200
60 |
61 | oz (0.8.0-1) unstable; urgency=low
62 |
63 | * Update to Oz 0.8.0
64 |
65 | -- Chris Lalancette Thu, 21 May 2012 09:36:00 -0500
66 |
67 | oz (0.7.0-5) unstable; urgency=low
68 |
69 | * Initial Release.
70 |
71 | -- Richard Jones Thu, 22 Sep 2011 16:17:34 +0100
72 |
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | Oz is a set of programs and classes to do automated installations of
2 | operating systems. It is useful for creating virtual machine disk
3 | images containing an operating systems and, optionally, programs.
4 |
5 | The best way to install it is to make an RPM out of it by running "make rpm"
6 | or "make srpm", and then installing the resulting RPM on the target machine.
7 | This will probably only work on Fedora or on RHEL 8 or later.
8 |
9 | Once you have the RPM installed, you will need to build up TDL files to feed
10 | as input into the building process. Please see the examples directory to get
11 | an idea of what a TDL file looks like.
12 |
13 | You can run the oz unit tests in containers by installing make and docker
14 | (or podman-docker), then running:
15 |
16 | make container-unittests
17 |
18 | You can clean up the containers and images by running:
19 |
20 | make container-clean
21 |
22 | Otherwise, you can try running the tests directly on your host, but oz uses the
23 | guestfs Python module, which is not available from pypi, and needs a running
24 | libvirtd for most of the tests to run. To install all the test requirements on
25 | Fedora:
26 |
27 | dnf install python3-requests python3-cryptography python3-libvirt python3-lxml python3-libguestfs python3-pytest python3-monotonic
28 |
29 | If you wish to test on EL 7, make that:
30 |
31 | yum install python-requests python-cryptography libvirt-python python-lxml python-libguestfs pytest python-monotonic python-mock
32 |
33 | then run the tests:
34 |
35 | py.test tests/
36 |
37 | You can try `make virtualenv` then `make unittests` to run the tests in a
38 | virtualenv if you like, but this still requires at least the libguestfs library
39 | installed on the host, and a running libvirtd. You may also want to install
40 | cryptography and libvirt libraries on the host, as otherwise pip will have to
41 | compile them, and you'll need their build dependencies.
42 |
43 | You can use `make pylint` and `make flake8` to run lint checks.
44 |
--------------------------------------------------------------------------------
/tests/guest/libvirt/test_modify_libvirt_xml_for_serial_too_many_devices.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | tester
4 | 1048576
5 | 1048576
6 | %s
7 |
8 | 1
9 |
10 |
11 |
12 |
13 |
14 |
15 | hvm
16 |
17 |
18 | destroy
19 | destroy
20 | destroy
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/oz/RHEL_2_1.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010,2011 Chris Lalancette
2 | # Copyright (C) 2012-2017 Chris Lalancette
3 |
4 | # This library is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU Lesser General Public
6 | # License as published by the Free Software Foundation;
7 | # version 2.1 of the License.
8 |
9 | # This library is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | # Lesser General Public License for more details.
13 |
14 | # You should have received a copy of the GNU Lesser General Public
15 | # License along with this library; if not, write to the Free Software
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | """
19 | RHEL-2.1 installation
20 | """
21 |
22 | import oz.OzException
23 | import oz.RedHat
24 |
25 | versions = ["GOLD", "U2", "U3", "U4", "U5", "U6"]
26 |
27 |
28 | class RHEL21Guest(oz.RedHat.RedHatFDGuest):
29 | """
30 | Class for RHEL-2.1 GOLD, U2, U3, U4, U5, and U6 installation.
31 | """
32 | def __init__(self, tdl, config, auto, output_disk, netdev, diskbus,
33 | macaddress):
34 | oz.RedHat.RedHatFDGuest.__init__(self, tdl, config, auto, output_disk,
35 | netdev, diskbus, macaddress)
36 |
37 | def get_auto_path(self):
38 | """
39 | Method to create the correct path to the RHEL 2.1 kickstart file.
40 | """
41 | return oz.ozutil.generate_full_auto_path("RHEL2.1.auto")
42 |
43 |
44 | def get_class(tdl, config, auto, output_disk=None, netdev=None, diskbus=None,
45 | macaddress=None):
46 | """
47 | Factory method for RHEL-2.1 installs.
48 | """
49 | if tdl.update in versions:
50 | if netdev is None:
51 | netdev = 'pcnet'
52 | return RHEL21Guest(tdl, config, auto, output_disk, netdev, diskbus,
53 | macaddress)
54 |
55 |
56 | def get_supported_string():
57 | """
58 | Return supported versions as a string.
59 | """
60 | return "RHEL 2.1: " + ", ".join(versions)
61 |
--------------------------------------------------------------------------------
/tests/tdl/test-43-persisted-repos.tdl:
--------------------------------------------------------------------------------
1 |
2 | rhel5-u7
3 |
4 | RHEL-5
5 | U7
6 | i386
7 |
8 | http://someserver/path/to/installation
9 |
10 |
11 | A RHEL5 Update 7 image
12 |
13 |
14 |
15 | http://path/to/my/repo-1
16 | No
17 |
18 |
19 | http://path/to/my/repo-2
20 | no
21 |
22 |
23 | http://path/to/my/repo-3
24 | NO
25 |
26 |
27 | http://path/to/my/repo-4
28 | false
29 |
30 |
31 | http://path/to/my/repo-5
32 | FALSE
33 |
34 |
35 | http://path/to/my/repo-6
36 | False
37 |
38 |
39 |
40 | http://path/to/my/repo-7
41 | Yes
42 |
43 |
44 | http://path/to/my/repo-8
45 | yes
46 |
47 |
48 | http://path/to/my/repo-9
49 | YES
50 |
51 |
52 | http://path/to/my/repo-10
53 | True
54 |
55 |
56 | http://path/to/my/repo-11
57 | true
58 |
59 |
60 | http://path/to/my/repo-12
61 | TRUE
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/tests/guest/test.icicle:
--------------------------------------------------------------------------------
1 |
2 | Icicle Description
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/oz/RHEL_9.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2013-2017 Chris Lalancette
2 | # Copyright (C) 2013 Ian McLeod
3 |
4 | # This library is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU Lesser General Public
6 | # License as published by the Free Software Foundation;
7 | # version 2.1 of the License.
8 |
9 | # This library is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | # Lesser General Public License for more details.
13 |
14 | # You should have received a copy of the GNU Lesser General Public
15 | # License along with this library; if not, write to the Free Software
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | """
19 | RHEL-9 installation
20 | """
21 |
22 | import os
23 |
24 | import oz.OzException
25 | import oz.RHEL_8
26 | import oz.ozutil
27 |
28 |
29 | class RHEL9Guest(oz.RHEL_8.RHEL8Guest):
30 | """
31 | Class for RHEL-9 installation
32 | """
33 | def __init__(self, tdl, config, auto, output_disk=None, netdev=None,
34 | diskbus=None, macaddress=None):
35 | # dnf distro
36 | oz.RHEL_8.RHEL8Guest.__init__(self, tdl, config, auto,
37 | output_disk, netdev, diskbus,
38 | macaddress)
39 |
40 | # method and ks options were dropped
41 | self.cmdline = "inst.repo=" + self.url + " inst.ks=file:/ks.cfg"
42 | if self.tdl.kernel_param:
43 | self.cmdline += " " + self.tdl.kernel_param
44 |
45 | self.virtio_channel_name = 'org.fedoraproject.anaconda.log.0'
46 |
47 | def get_auto_path(self):
48 | """
49 | Method to create the correct path to the RHEL 9 kickstart file.
50 | """
51 | return oz.ozutil.generate_full_auto_path("RHEL9.auto")
52 |
53 |
54 | def get_class(tdl, config, auto, output_disk=None, netdev=None, diskbus=None,
55 | macaddress=None):
56 | """
57 | Factory method for RHEL-9 installs.
58 | """
59 | if tdl.update.isdigit():
60 | if netdev is None:
61 | netdev = 'virtio'
62 | if diskbus is None:
63 | diskbus = 'virtio'
64 | return RHEL9Guest(tdl, config, auto, output_disk, netdev, diskbus,
65 | macaddress)
66 |
67 |
68 | def get_supported_string():
69 | """
70 | Return supported versions as a string.
71 | """
72 | return "RHEL 9"
73 |
--------------------------------------------------------------------------------
/oz/RHEL_6.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010,2011 Chris Lalancette
2 | # Copyright (C) 2012-2017 Chris Lalancette
3 |
4 | # This library is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU Lesser General Public
6 | # License as published by the Free Software Foundation;
7 | # version 2.1 of the License.
8 |
9 | # This library is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | # Lesser General Public License for more details.
13 |
14 | # You should have received a copy of the GNU Lesser General Public
15 | # License along with this library; if not, write to the Free Software
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | """
19 | RHEL-6 installation
20 | """
21 |
22 | import os
23 |
24 | import oz.OzException
25 | import oz.RedHat
26 | import oz.ozutil
27 |
28 |
29 | class RHEL6Guest(oz.RedHat.RedHatLinuxCDYumGuest):
30 | """
31 | Class for RHEL-6 installation
32 | """
33 | def __init__(self, tdl, config, auto, output_disk=None, netdev=None,
34 | diskbus=None, macaddress=None):
35 | oz.RedHat.RedHatLinuxCDYumGuest.__init__(self, tdl, config, auto,
36 | output_disk, netdev, diskbus,
37 | True, True, "cpio", macaddress,
38 | True)
39 |
40 | def _modify_iso(self):
41 | """
42 | Method to modify the ISO for autoinstallation.
43 | """
44 | self._copy_kickstart(os.path.join(self.iso_contents, "ks.cfg"))
45 |
46 | initrdline = " append initrd=initrd.img ks=cdrom:/ks.cfg"
47 | if self.tdl.installtype == "url":
48 | initrdline += " repo=" + self.url
49 | self._modify_isolinux(initrdline)
50 |
51 | def get_auto_path(self):
52 | """
53 | Method to create the correct path to the RHEL 6 kickstart files.
54 | """
55 | return oz.ozutil.generate_full_auto_path("RHEL6.auto")
56 |
57 |
58 | def get_class(tdl, config, auto, output_disk=None, netdev=None, diskbus=None,
59 | macaddress=None):
60 | """
61 | Factory method for RHEL-6 installs.
62 | """
63 | if tdl.update.isdigit():
64 | if netdev is None:
65 | netdev = 'virtio'
66 | if diskbus is None:
67 | diskbus = 'virtio'
68 | return RHEL6Guest(tdl, config, auto, output_disk, netdev, diskbus,
69 | macaddress)
70 |
71 |
72 | def get_supported_string():
73 | """
74 | Return supported versions as a string.
75 | """
76 | return "RHEL/OL/CentOS/Scientific Linux{,CERN} 6"
77 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | from distutils.core import setup, Command
2 | from distutils.command.sdist import sdist as _sdist
3 | import subprocess
4 | import time
5 |
6 | VERSION = '0.19.0'
7 | RELEASE = '0'
8 |
9 | datafiles = [('share/man/man1', ['man/oz-install.1', 'man/oz-generate-icicle.1',
10 | 'man/oz-customize.1',
11 | 'man/oz-cleanup-cache.1']),
12 | ('share/man/man5', ['man/oz-examples.5'])
13 | ]
14 |
15 | class sdist(_sdist):
16 | """ custom sdist command, to prep oz.spec file for inclusion """
17 |
18 | def run(self):
19 | global VERSION
20 | global RELEASE
21 |
22 | # Create a development release string for later use
23 | git_head = subprocess.Popen("git log -1 --pretty=format:%h",
24 | shell=True,
25 | stdout=subprocess.PIPE).communicate()[0].strip()
26 | date = time.strftime("%Y%m%d%H%M%S", time.gmtime())
27 | git_release = "%sgit%s" % (date, git_head.decode())
28 |
29 | # Expand macros in oz.spec.in and create oz.spec
30 | spec_in = open('oz.spec.in', 'r')
31 | spec = open('oz.spec', 'w')
32 | for line in spec_in.readlines():
33 | if "@VERSION@" in line:
34 | line = line.replace("@VERSION@", VERSION)
35 | elif "@RELEASE@" in line:
36 | # If development release, include date+githash in %{release}
37 | if RELEASE.startswith('0'):
38 | RELEASE += '.' + git_release
39 | line = line.replace("@RELEASE@", RELEASE)
40 | spec.write(line)
41 | spec_in.close()
42 | spec.close()
43 |
44 | # Run parent constructor
45 | _sdist.run(self)
46 |
47 | class pytest(Command):
48 | user_options = []
49 | def initialize_options(self): pass
50 | def finalize_options(self): pass
51 | def run(self):
52 | try:
53 | errno = subprocess.call('py.test-3 tests --verbose --tb=short --junitxml=tests/results.xml'.split())
54 | except OSError as e:
55 | if e.errno == 2:
56 | raise OSError(2, "No such file or directory: py.test")
57 | raise
58 | raise SystemExit(errno)
59 |
60 | setup(name='oz',
61 | version=VERSION,
62 | description='Oz automated installer',
63 | author='Chris Lalancette',
64 | author_email='clalancette@gmail.com',
65 | license='LGPLv2',
66 | url='http://github.com/clalancette/oz',
67 | package_dir={'oz': 'oz'},
68 | package_data={'oz': ['auto/*', '*.rng']},
69 | packages=['oz'],
70 | scripts=['oz-install', 'oz-generate-icicle', 'oz-customize',
71 | 'oz-cleanup-cache'],
72 | cmdclass={'sdist': sdist,
73 | 'test' : pytest },
74 | data_files = datafiles,
75 | )
76 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | VERSION = $(shell egrep "^VERSION" setup.py | awk '{print $$3}')
2 | VENV_DIR = tests/.venv
3 |
4 | sdist: oz.spec.in
5 | python3 setup.py sdist
6 |
7 | oz.spec: sdist
8 |
9 | signed-tarball: sdist
10 | gpg --detach-sign --armor -o dist/oz-$(VERSION).tar.gz.sign dist/oz-$(VERSION).tar.gz
11 |
12 | signed-rpm: oz.spec
13 | rpmbuild -ba oz.spec --sign --define "_sourcedir `pwd`/dist"
14 |
15 | rpm: oz.spec
16 | rpmbuild -ba oz.spec --define "_sourcedir `pwd`/dist"
17 |
18 | srpm: oz.spec
19 | rpmbuild -bs oz.spec --define "_sourcedir `pwd`/dist"
20 |
21 | deb:
22 | debuild -i -uc -us -b
23 |
24 | release: signed-rpm signed-tarball deb
25 |
26 | man2html:
27 | @for file in oz-install oz-customize oz-generate-icicle oz-cleanup-cache oz-examples; do \
28 | echo "Generating $$file HTML page from man" ; \
29 | groff -mandoc -mwww man/$$file.? -T html > man/$$file.html ; \
30 | done
31 |
32 | $(VENV_DIR):
33 | @virtualenv --system-site-packages $(VENV_DIR)
34 | @pip-python -E $(VENV_DIR) install pytest
35 | @[[ "$$PWD" =~ \ |\' ]] && ( \
36 | echo "Resolving potential problems where '$$PWD' contains spaces" ; \
37 | for MATCH in $$(grep '^#!"/' $(VENV_DIR)/bin/* -l) ; do \
38 | sed -i '1s|^#!".*/\([^/]*\)"|#!/usr/bin/env \1|' "$$MATCH" ; \
39 | done ) || true
40 |
41 | virtualenv: $(VENV_DIR)
42 |
43 | unittests:
44 | @[ -f $(VENV_DIR)/bin/activate ] && source $(VENV_DIR)/bin/activate ; python3 setup.py test
45 | @(type deactivate 2>/dev/null | grep -q 'function') && deactivate || true
46 |
47 | tests: unittests
48 |
49 | container-unittests-fedora:
50 | docker rm -f oz-tests-fedora
51 | docker build -f Containerfile.tests.fedora -t oz-tests-fedora-image .
52 | docker run --name oz-tests-fedora oz-tests-fedora-image
53 | docker cp oz-tests-fedora:/oz/coverage.xml .
54 |
55 | container-unittests-el8:
56 | docker rm -f oz-tests-el8
57 | docker build -f Containerfile.tests.el8 -t oz-tests-el8-image .
58 | docker run --name oz-tests-el8 oz-tests-el8-image
59 |
60 | container-unittests: container-unittests-fedora container-unittests-el8
61 |
62 | test-coverage:
63 | python-coverage run --source oz /usr/bin/py.test --verbose tests
64 | python-coverage html
65 | xdg-open htmlcov/index.html
66 |
67 | pylint:
68 | pylint oz oz-install oz-customize oz-cleanup-cache oz-generate-icicle
69 |
70 | flake8:
71 | flake8 oz oz-install oz-customize oz-cleanup-cache oz-generate-icicle
72 |
73 | container-clean:
74 | docker rm -f oz-tests-fedora
75 | docker rm -f oz-tests-el8
76 | docker image rm -f -i oz-tests-fedora-image oz-tests-el8-image
77 |
78 | clean:
79 | rm -rf MANIFEST build dist usr *~ oz.spec *.pyc oz/*~ oz/*.pyc examples/*~ oz/auto/*~ man/*~ docs/*~ man/*.html $(VENV_DIR) tests/tdl/*~ tests/factory/*~ tests/results.xml htmlcov
80 |
81 | .PHONY: sdist oz.spec signed-tarball signed-rpm rpm srpm deb release man2html virtualenv unittests container-unittests-fedora container-unittests-el8 container-unittests tests test-coverage pylint clean container-clean
82 |
--------------------------------------------------------------------------------
/oz/RHEL_7.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2013-2017 Chris Lalancette
2 | # Copyright (C) 2013 Ian McLeod
3 |
4 | # This library is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU Lesser General Public
6 | # License as published by the Free Software Foundation;
7 | # version 2.1 of the License.
8 |
9 | # This library is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | # Lesser General Public License for more details.
13 |
14 | # You should have received a copy of the GNU Lesser General Public
15 | # License along with this library; if not, write to the Free Software
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | """
19 | RHEL-7 installation
20 | """
21 |
22 | import os
23 |
24 | import oz.OzException
25 | import oz.RedHat
26 | import oz.ozutil
27 |
28 |
29 | class RHEL7Guest(oz.RedHat.RedHatLinuxCDYumGuest):
30 | """
31 | Class for RHEL-7 installation
32 | """
33 | def __init__(self, tdl, config, auto, output_disk=None, netdev=None,
34 | diskbus=None, macaddress=None):
35 | oz.RedHat.RedHatLinuxCDYumGuest.__init__(self, tdl, config, auto,
36 | output_disk, netdev, diskbus,
37 | True, True, "cpio", macaddress,
38 | True)
39 | self.virtio_channel_name = 'org.fedoraproject.anaconda.log.0'
40 |
41 | def _modify_iso(self):
42 | """
43 | Method to modify the ISO for autoinstallation.
44 | """
45 | self._copy_kickstart(os.path.join(self.iso_contents, "ks.cfg"))
46 |
47 | initrdline = " append initrd=initrd.img ks=cdrom:/dev/cdrom:/ks.cfg"
48 | if self.tdl.installtype == "url":
49 | initrdline += " repo=" + self.url
50 | else:
51 | # RHEL6 dropped this command line directive due to an Anaconda bug
52 | # that has since been fixed. Note that this used to be "method="
53 | # but that has been deprecated for some time.
54 | initrdline += " repo=cdrom:/dev/cdrom"
55 | self._modify_isolinux(initrdline)
56 |
57 | def get_auto_path(self):
58 | """
59 | Method to create the correct path to the RHEL 7 kickstart file.
60 | """
61 | return oz.ozutil.generate_full_auto_path("RHEL7.auto")
62 |
63 |
64 | def get_class(tdl, config, auto, output_disk=None, netdev=None, diskbus=None,
65 | macaddress=None):
66 | """
67 | Factory method for RHEL-7 installs.
68 | """
69 | if tdl.update.isdigit():
70 | if netdev is None:
71 | netdev = 'virtio'
72 | if diskbus is None:
73 | diskbus = 'virtio'
74 | return RHEL7Guest(tdl, config, auto, output_disk, netdev, diskbus,
75 | macaddress)
76 |
77 |
78 | def get_supported_string():
79 | """
80 | Return supported versions as a string.
81 | """
82 | return "RHEL 7"
83 |
--------------------------------------------------------------------------------
/oz/RHEL_8.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2013-2017 Chris Lalancette
2 | # Copyright (C) 2013 Ian McLeod
3 |
4 | # This library is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU Lesser General Public
6 | # License as published by the Free Software Foundation;
7 | # version 2.1 of the License.
8 |
9 | # This library is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | # Lesser General Public License for more details.
13 |
14 | # You should have received a copy of the GNU Lesser General Public
15 | # License along with this library; if not, write to the Free Software
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | """
19 | RHEL-8 installation
20 | """
21 |
22 | import os
23 |
24 | import oz.OzException
25 | import oz.RedHat
26 | import oz.ozutil
27 |
28 |
29 | class RHEL8Guest(oz.RedHat.RedHatLinuxCDYumGuest):
30 | """
31 | Class for RHEL-8 installation
32 | """
33 | def __init__(self, tdl, config, auto, output_disk=None, netdev=None,
34 | diskbus=None, macaddress=None):
35 | # dnf distro
36 | oz.RedHat.RedHatLinuxCDYumGuest.__init__(self, tdl, config, auto,
37 | output_disk, netdev, diskbus,
38 | True, True, "cpio", macaddress,
39 | False)
40 | self.virtio_channel_name = 'org.fedoraproject.anaconda.log.0'
41 |
42 | def _modify_iso(self):
43 | """
44 | Method to modify the ISO for autoinstallation.
45 | """
46 | self._copy_kickstart(os.path.join(self.iso_contents, "ks.cfg"))
47 |
48 | initrdline = " append initrd=initrd.img ks=cdrom:/dev/cdrom:/ks.cfg"
49 | if self.tdl.installtype == "url":
50 | initrdline += " repo=" + self.url
51 | else:
52 | # RHEL6 dropped this command line directive due to an Anaconda bug
53 | # that has since been fixed. Note that this used to be "method="
54 | # but that has been deprecated for some time.
55 | initrdline += " repo=cdrom:/dev/cdrom"
56 | self._modify_isolinux(initrdline)
57 |
58 | def get_auto_path(self):
59 | """
60 | Method to create the correct path to the RHEL 8 kickstart file.
61 | """
62 | return oz.ozutil.generate_full_auto_path("RHEL8.auto")
63 |
64 |
65 | def get_class(tdl, config, auto, output_disk=None, netdev=None, diskbus=None,
66 | macaddress=None):
67 | """
68 | Factory method for RHEL-8 installs.
69 | """
70 | if tdl.update.isdigit():
71 | if netdev is None:
72 | netdev = 'virtio'
73 | if diskbus is None:
74 | diskbus = 'virtio'
75 | return RHEL8Guest(tdl, config, auto, output_disk, netdev, diskbus,
76 | macaddress)
77 |
78 |
79 | def get_supported_string():
80 | """
81 | Return supported versions as a string.
82 | """
83 | return "RHEL 8"
84 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu11.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 | d-i pkgsel/include/install-recommends boolean true
27 | d-i pkgsel/include string openssh-server
28 |
29 | d-i grub-installer/only_debian boolean true
30 | d-i grub-installer/with_other_os boolean true
31 |
32 | d-i apt-setup/security_host string
33 | base-config apt-setup/security-updates boolean false
34 |
35 | ubiquity ubiquity/summary note
36 | ubiquity ubiquity/reboot boolean true
37 |
38 | d-i finish-install/reboot_in_progress note
39 |
40 | # In Debian/Ubuntu, ssh keys are generated at package install time. Because
41 | # the disk image may be cached, we need to remove the ssh keys, but this means
42 | # that ssh'ing into the server won't work later. So we remove the keys, but
43 | # setup a service that will generate the keys on boot if necessary.
44 | d-i preseed/late_command string \
45 | in-target rm -f /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub ; \
46 | echo '#! /bin/sh' > /target/etc/init.d/oz-generate-ssh ; \
47 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
48 | echo '# Debian/Ubuntu generate ssh host keys at package installation time.' >> /target/etc/init.d/oz-generate-ssh ; \
49 | echo '# This is problematic for Oz, since the final disk image may be cached' >> /target/etc/init.d/oz-generate-ssh ; \
50 | echo '# and reused, leading to duplicate host keys. To work around this, Oz' >> /target/etc/init.d/oz-generate-ssh ; \
51 | echo '# deletes the SSH host keys at the end of installation. This solves' >> /target/etc/init.d/oz-generate-ssh ; \
52 | echo '# the above problem, but introduces the problem of having no way to' >> /target/etc/init.d/oz-generate-ssh ; \
53 | echo '# SSH into the machine without manual intervention. This service checks' >> /target/etc/init.d/oz-generate-ssh ; \
54 | echo '# to see if host keys are already installed, and if not, recreates them.' >> /target/etc/init.d/oz-generate-ssh ; \
55 | echo '# Note that after the very first boot, this service could be removed.' >> /target/etc/init.d/oz-generate-ssh ; \
56 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
57 | echo 'case "$1" in' >> /target/etc/init.d/oz-generate-ssh ; \
58 | echo ' start)' >> /target/etc/init.d/oz-generate-ssh ; \
59 | echo ' [ -r /etc/ssh/ssh_host_rsa_key ] || /usr/sbin/dpkg-reconfigure openssh-server' >> /target/etc/init.d/oz-generate-ssh ; \
60 | echo ' ;;' >> /target/etc/init.d/oz-generate-ssh ; \
61 | echo 'esac' >> /target/etc/init.d/oz-generate-ssh ; \
62 | echo 'exit 0' >> /target/etc/init.d/oz-generate-ssh ; \
63 | in-target chmod 755 /etc/init.d/oz-generate-ssh ; \
64 | in-target ln -s /etc/init.d/oz-generate-ssh /etc/rc2.d/S40oz-generate-ssh
65 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu11.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 | d-i pkgsel/include/install-recommends boolean true
27 | d-i pkgsel/include string openssh-server
28 |
29 | d-i grub-installer/only_debian boolean true
30 | d-i grub-installer/with_other_os boolean true
31 |
32 | d-i apt-setup/security_host string
33 | base-config apt-setup/security-updates boolean false
34 |
35 | ubiquity ubiquity/summary note
36 | ubiquity ubiquity/reboot boolean true
37 |
38 | d-i finish-install/reboot_in_progress note
39 |
40 | # In Debian/Ubuntu, ssh keys are generated at package install time. Because
41 | # the disk image may be cached, we need to remove the ssh keys, but this means
42 | # that ssh'ing into the server won't work later. So we remove the keys, but
43 | # setup a service that will generate the keys on boot if necessary.
44 | d-i preseed/late_command string \
45 | in-target rm -f /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub ; \
46 | echo '#! /bin/sh' > /target/etc/init.d/oz-generate-ssh ; \
47 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
48 | echo '# Debian/Ubuntu generate ssh host keys at package installation time.' >> /target/etc/init.d/oz-generate-ssh ; \
49 | echo '# This is problematic for Oz, since the final disk image may be cached' >> /target/etc/init.d/oz-generate-ssh ; \
50 | echo '# and reused, leading to duplicate host keys. To work around this, Oz' >> /target/etc/init.d/oz-generate-ssh ; \
51 | echo '# deletes the SSH host keys at the end of installation. This solves' >> /target/etc/init.d/oz-generate-ssh ; \
52 | echo '# the above problem, but introduces the problem of having no way to' >> /target/etc/init.d/oz-generate-ssh ; \
53 | echo '# SSH into the machine without manual intervention. This service checks' >> /target/etc/init.d/oz-generate-ssh ; \
54 | echo '# to see if host keys are already installed, and if not, recreates them.' >> /target/etc/init.d/oz-generate-ssh ; \
55 | echo '# Note that after the very first boot, this service could be removed.' >> /target/etc/init.d/oz-generate-ssh ; \
56 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
57 | echo 'case "$1" in' >> /target/etc/init.d/oz-generate-ssh ; \
58 | echo ' start)' >> /target/etc/init.d/oz-generate-ssh ; \
59 | echo ' [ -r /etc/ssh/ssh_host_rsa_key ] || /usr/sbin/dpkg-reconfigure openssh-server' >> /target/etc/init.d/oz-generate-ssh ; \
60 | echo ' ;;' >> /target/etc/init.d/oz-generate-ssh ; \
61 | echo 'esac' >> /target/etc/init.d/oz-generate-ssh ; \
62 | echo 'exit 0' >> /target/etc/init.d/oz-generate-ssh ; \
63 | in-target chmod 755 /etc/init.d/oz-generate-ssh ; \
64 | in-target ln -s /etc/init.d/oz-generate-ssh /etc/rc2.d/S40oz-generate-ssh
65 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu12.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 | d-i pkgsel/include/install-recommends boolean true
27 | d-i pkgsel/include string openssh-server
28 |
29 | d-i grub-installer/only_debian boolean true
30 | d-i grub-installer/with_other_os boolean true
31 |
32 | d-i apt-setup/security_host string
33 | base-config apt-setup/security-updates boolean false
34 |
35 | ubiquity ubiquity/summary note
36 | ubiquity ubiquity/reboot boolean true
37 |
38 | d-i finish-install/reboot_in_progress note
39 |
40 | # In Debian/Ubuntu, ssh keys are generated at package install time. Because
41 | # the disk image may be cached, we need to remove the ssh keys, but this means
42 | # that ssh'ing into the server won't work later. So we remove the keys, but
43 | # setup a service that will generate the keys on boot if necessary.
44 | d-i preseed/late_command string \
45 | in-target rm -f /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub ; \
46 | echo '#! /bin/sh' > /target/etc/init.d/oz-generate-ssh ; \
47 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
48 | echo '# Debian/Ubuntu generate ssh host keys at package installation time.' >> /target/etc/init.d/oz-generate-ssh ; \
49 | echo '# This is problematic for Oz, since the final disk image may be cached' >> /target/etc/init.d/oz-generate-ssh ; \
50 | echo '# and reused, leading to duplicate host keys. To work around this, Oz' >> /target/etc/init.d/oz-generate-ssh ; \
51 | echo '# deletes the SSH host keys at the end of installation. This solves' >> /target/etc/init.d/oz-generate-ssh ; \
52 | echo '# the above problem, but introduces the problem of having no way to' >> /target/etc/init.d/oz-generate-ssh ; \
53 | echo '# SSH into the machine without manual intervention. This service checks' >> /target/etc/init.d/oz-generate-ssh ; \
54 | echo '# to see if host keys are already installed, and if not, recreates them.' >> /target/etc/init.d/oz-generate-ssh ; \
55 | echo '# Note that after the very first boot, this service could be removed.' >> /target/etc/init.d/oz-generate-ssh ; \
56 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
57 | echo 'case "$1" in' >> /target/etc/init.d/oz-generate-ssh ; \
58 | echo ' start)' >> /target/etc/init.d/oz-generate-ssh ; \
59 | echo ' [ -r /etc/ssh/ssh_host_rsa_key ] || /usr/sbin/dpkg-reconfigure openssh-server' >> /target/etc/init.d/oz-generate-ssh ; \
60 | echo ' ;;' >> /target/etc/init.d/oz-generate-ssh ; \
61 | echo 'esac' >> /target/etc/init.d/oz-generate-ssh ; \
62 | echo 'exit 0' >> /target/etc/init.d/oz-generate-ssh ; \
63 | in-target chmod 755 /etc/init.d/oz-generate-ssh ; \
64 | in-target ln -s /etc/init.d/oz-generate-ssh /etc/rc2.d/S40oz-generate-ssh
65 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu12.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 | d-i pkgsel/include/install-recommends boolean true
27 | d-i pkgsel/include string openssh-server
28 |
29 | d-i grub-installer/only_debian boolean true
30 | d-i grub-installer/with_other_os boolean true
31 |
32 | d-i apt-setup/security_host string
33 | base-config apt-setup/security-updates boolean false
34 |
35 | ubiquity ubiquity/summary note
36 | ubiquity ubiquity/reboot boolean true
37 |
38 | d-i finish-install/reboot_in_progress note
39 |
40 | # In Debian/Ubuntu, ssh keys are generated at package install time. Because
41 | # the disk image may be cached, we need to remove the ssh keys, but this means
42 | # that ssh'ing into the server won't work later. So we remove the keys, but
43 | # setup a service that will generate the keys on boot if necessary.
44 | d-i preseed/late_command string \
45 | in-target rm -f /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub ; \
46 | echo '#! /bin/sh' > /target/etc/init.d/oz-generate-ssh ; \
47 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
48 | echo '# Debian/Ubuntu generate ssh host keys at package installation time.' >> /target/etc/init.d/oz-generate-ssh ; \
49 | echo '# This is problematic for Oz, since the final disk image may be cached' >> /target/etc/init.d/oz-generate-ssh ; \
50 | echo '# and reused, leading to duplicate host keys. To work around this, Oz' >> /target/etc/init.d/oz-generate-ssh ; \
51 | echo '# deletes the SSH host keys at the end of installation. This solves' >> /target/etc/init.d/oz-generate-ssh ; \
52 | echo '# the above problem, but introduces the problem of having no way to' >> /target/etc/init.d/oz-generate-ssh ; \
53 | echo '# SSH into the machine without manual intervention. This service checks' >> /target/etc/init.d/oz-generate-ssh ; \
54 | echo '# to see if host keys are already installed, and if not, recreates them.' >> /target/etc/init.d/oz-generate-ssh ; \
55 | echo '# Note that after the very first boot, this service could be removed.' >> /target/etc/init.d/oz-generate-ssh ; \
56 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
57 | echo 'case "$1" in' >> /target/etc/init.d/oz-generate-ssh ; \
58 | echo ' start)' >> /target/etc/init.d/oz-generate-ssh ; \
59 | echo ' [ -r /etc/ssh/ssh_host_rsa_key ] || /usr/sbin/dpkg-reconfigure openssh-server' >> /target/etc/init.d/oz-generate-ssh ; \
60 | echo ' ;;' >> /target/etc/init.d/oz-generate-ssh ; \
61 | echo 'esac' >> /target/etc/init.d/oz-generate-ssh ; \
62 | echo 'exit 0' >> /target/etc/init.d/oz-generate-ssh ; \
63 | in-target chmod 755 /etc/init.d/oz-generate-ssh ; \
64 | in-target ln -s /etc/init.d/oz-generate-ssh /etc/rc2.d/S40oz-generate-ssh
65 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu13.10.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 | d-i pkgsel/include/install-recommends boolean true
27 | d-i pkgsel/include string openssh-server
28 |
29 | d-i grub-installer/only_debian boolean true
30 | d-i grub-installer/with_other_os boolean true
31 |
32 | d-i apt-setup/security_host string
33 | base-config apt-setup/security-updates boolean false
34 |
35 | ubiquity ubiquity/summary note
36 | ubiquity ubiquity/reboot boolean true
37 |
38 | d-i finish-install/reboot_in_progress note
39 |
40 | # In Debian/Ubuntu, ssh keys are generated at package install time. Because
41 | # the disk image may be cached, we need to remove the ssh keys, but this means
42 | # that ssh'ing into the server won't work later. So we remove the keys, but
43 | # setup a service that will generate the keys on boot if necessary.
44 | d-i preseed/late_command string \
45 | in-target rm -f /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub ; \
46 | echo '#! /bin/sh' > /target/etc/init.d/oz-generate-ssh ; \
47 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
48 | echo '# Debian/Ubuntu generate ssh host keys at package installation time.' >> /target/etc/init.d/oz-generate-ssh ; \
49 | echo '# This is problematic for Oz, since the final disk image may be cached' >> /target/etc/init.d/oz-generate-ssh ; \
50 | echo '# and reused, leading to duplicate host keys. To work around this, Oz' >> /target/etc/init.d/oz-generate-ssh ; \
51 | echo '# deletes the SSH host keys at the end of installation. This solves' >> /target/etc/init.d/oz-generate-ssh ; \
52 | echo '# the above problem, but introduces the problem of having no way to' >> /target/etc/init.d/oz-generate-ssh ; \
53 | echo '# SSH into the machine without manual intervention. This service checks' >> /target/etc/init.d/oz-generate-ssh ; \
54 | echo '# to see if host keys are already installed, and if not, recreates them.' >> /target/etc/init.d/oz-generate-ssh ; \
55 | echo '# Note that after the very first boot, this service could be removed.' >> /target/etc/init.d/oz-generate-ssh ; \
56 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
57 | echo 'case "$1" in' >> /target/etc/init.d/oz-generate-ssh ; \
58 | echo ' start)' >> /target/etc/init.d/oz-generate-ssh ; \
59 | echo ' [ -r /etc/ssh/ssh_host_rsa_key ] || /usr/sbin/dpkg-reconfigure openssh-server' >> /target/etc/init.d/oz-generate-ssh ; \
60 | echo ' ;;' >> /target/etc/init.d/oz-generate-ssh ; \
61 | echo 'esac' >> /target/etc/init.d/oz-generate-ssh ; \
62 | echo 'exit 0' >> /target/etc/init.d/oz-generate-ssh ; \
63 | in-target chmod 755 /etc/init.d/oz-generate-ssh ; \
64 | in-target ln -s /etc/init.d/oz-generate-ssh /etc/rc2.d/S40oz-generate-ssh
65 |
--------------------------------------------------------------------------------
/oz/auto/Windows2008.auto:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | OnError
7 |
8 |
9 |
10 | 1
11 | 1
12 | Primary
13 |
14 |
15 | 0
16 | true
17 |
18 |
19 | true
20 | true
21 | NTFS
22 |
23 | C
24 | 1
25 | 1
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | /IMAGE/INDEX
35 | 1
36 |
37 |
38 |
39 | 0
40 | 1
41 |
42 | OnError
43 |
44 |
45 |
46 | true
47 |
48 |
49 |
50 |
51 | en-US
52 |
53 | en-US
54 | en-US
55 | en-US
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | true
64 |
65 |
66 |
67 |
68 |
69 | true
70 |
71 | true
72 | 5
73 | Administrator
74 |
75 |
76 |
77 | true
78 | 3
79 |
80 |
81 |
82 | 1
83 | Shutting down Windows
84 | cmd /C shutdown /s /t 0
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/oz/auto/Windows2012.auto:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | OnError
7 |
8 |
9 |
10 | 1
11 | 1
12 | Primary
13 |
14 |
15 | 0
16 | true
17 |
18 |
19 | true
20 | true
21 | NTFS
22 |
23 | C
24 | 1
25 | 1
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | /IMAGE/INDEX
35 | 1
36 |
37 |
38 |
39 | 0
40 | 1
41 |
42 | OnError
43 |
44 |
45 |
46 | true
47 |
48 |
49 |
50 |
51 | en-US
52 |
53 | en-US
54 | en-US
55 | en-US
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | true
64 |
65 |
66 |
67 |
68 |
69 | true
70 |
71 | true
72 | 5
73 | Administrator
74 |
75 |
76 |
77 | true
78 | 3
79 |
80 |
81 |
82 | 1
83 | Shutting down Windows
84 | cmd /C shutdown /s /t 0
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/oz/auto/Windows2016.auto:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | OnError
7 |
8 |
9 |
10 | 1
11 | 1
12 | Primary
13 |
14 |
15 | 0
16 | true
17 |
18 |
19 | true
20 | true
21 | NTFS
22 |
23 | C
24 | 1
25 | 1
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | /IMAGE/INDEX
35 | 1
36 |
37 |
38 |
39 | 0
40 | 1
41 |
42 | OnError
43 |
44 |
45 |
46 | true
47 |
48 |
49 |
50 |
51 | en-US
52 |
53 | en-US
54 | en-US
55 | en-US
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | true
64 |
65 |
66 |
67 |
68 |
69 | true
70 |
71 | true
72 | 5
73 | Administrator
74 |
75 |
76 |
77 | true
78 | 3
79 |
80 |
81 |
82 | 1
83 | Shutting down Windows
84 | cmd /C shutdown /s /t 0
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/oz/auto/Ubuntu13.04.auto:
--------------------------------------------------------------------------------
1 | d-i debian-installer/locale string en_US
2 | d-i console-setup/ask_detect boolean false
3 | d-i console-setup/layoutcode string us
4 |
5 | d-i netcfg/choose_interface select auto
6 | d-i netcfg/get_hostname string unassigned-hostname
7 | d-i netcfg/get_domain string unassigned-domain
8 | d-i netcfg/wireless_wep string
9 |
10 | d-i clock-setup/utc boolean true
11 | d-i time/zone string US/Eastern
12 |
13 | d-i partman-auto/method string regular
14 | d-i partman-auto/choose_recipe select home
15 | d-i partman/confirm_write_new_label boolean true
16 | d-i partman/choose_partition select finish
17 | d-i partman/confirm boolean true
18 | d-i partman/confirm_nooverwrite boolean true
19 |
20 | d-i passwd/root-login boolean true
21 | d-i passwd/make-user boolean false
22 | d-i passwd/root-password password %ROOTPW%
23 | d-i passwd/root-password-again password %ROOTPW%
24 |
25 | tasksel tasksel/first multiselect standard
26 | d-i pkgsel/include/install-recommends boolean true
27 | d-i pkgsel/include string openssh-server
28 |
29 | d-i grub-installer/only_debian boolean true
30 | d-i grub-installer/with_other_os boolean true
31 |
32 | d-i apt-setup/security_host string
33 | base-config apt-setup/security-updates boolean false
34 |
35 | ubiquity ubiquity/summary note
36 | ubiquity ubiquity/reboot boolean true
37 |
38 | d-i finish-install/reboot_in_progress note
39 |
40 | # workaround for 13.04 casper bug (Desktop build only)
41 | ubiquity ubiquity/success_command string sed -i 's/eject -p -m.*/&; [ "$prompt" ] || return 0/' /etc/init.d/casper
42 |
43 | # In Debian/Ubuntu, ssh keys are generated at package install time. Because
44 | # the disk image may be cached, we need to remove the ssh keys, but this means
45 | # that ssh'ing into the server won't work later. So we remove the keys, but
46 | # setup a service that will generate the keys on boot if necessary.
47 | d-i preseed/late_command string \
48 | in-target rm -f /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub ; \
49 | echo '#! /bin/sh' > /target/etc/init.d/oz-generate-ssh ; \
50 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
51 | echo '# Debian/Ubuntu generate ssh host keys at package installation time.' >> /target/etc/init.d/oz-generate-ssh ; \
52 | echo '# This is problematic for Oz, since the final disk image may be cached' >> /target/etc/init.d/oz-generate-ssh ; \
53 | echo '# and reused, leading to duplicate host keys. To work around this, Oz' >> /target/etc/init.d/oz-generate-ssh ; \
54 | echo '# deletes the SSH host keys at the end of installation. This solves' >> /target/etc/init.d/oz-generate-ssh ; \
55 | echo '# the above problem, but introduces the problem of having no way to' >> /target/etc/init.d/oz-generate-ssh ; \
56 | echo '# SSH into the machine without manual intervention. This service checks' >> /target/etc/init.d/oz-generate-ssh ; \
57 | echo '# to see if host keys are already installed, and if not, recreates them.' >> /target/etc/init.d/oz-generate-ssh ; \
58 | echo '# Note that after the very first boot, this service could be removed.' >> /target/etc/init.d/oz-generate-ssh ; \
59 | echo '#' >> /target/etc/init.d/oz-generate-ssh ; \
60 | echo 'case "$1" in' >> /target/etc/init.d/oz-generate-ssh ; \
61 | echo ' start)' >> /target/etc/init.d/oz-generate-ssh ; \
62 | echo ' [ -r /etc/ssh/ssh_host_rsa_key ] || /usr/sbin/dpkg-reconfigure openssh-server' >> /target/etc/init.d/oz-generate-ssh ; \
63 | echo ' ;;' >> /target/etc/init.d/oz-generate-ssh ; \
64 | echo 'esac' >> /target/etc/init.d/oz-generate-ssh ; \
65 | echo 'exit 0' >> /target/etc/init.d/oz-generate-ssh ; \
66 | in-target chmod 755 /etc/init.d/oz-generate-ssh ; \
67 | in-target ln -s /etc/init.d/oz-generate-ssh /etc/rc2.d/S40oz-generate-ssh ; \
68 | echo "GRUB_TERMINAL=console" >> /target/etc/default/grub ; \
69 | in-target /usr/sbin/update-grub
70 |
--------------------------------------------------------------------------------
/oz/FedoraCore.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010,2011 Chris Lalancette
2 | # Copyright (C) 2012-2018 Chris Lalancette
3 |
4 | # This library is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU Lesser General Public
6 | # License as published by the Free Software Foundation;
7 | # version 2.1 of the License.
8 |
9 | # This library is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | # Lesser General Public License for more details.
13 |
14 | # You should have received a copy of the GNU Lesser General Public
15 | # License along with this library; if not, write to the Free Software
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | """
19 | Fedora Core installation
20 | """
21 |
22 | import os
23 |
24 | import oz.OzException
25 | import oz.RedHat
26 | import oz.ozutil
27 |
28 |
29 | class FedoraCoreConfiguration(object):
30 | """
31 | Configuration class for Fedora Core installation.
32 | """
33 | def __init__(self, initrdtype):
34 | self._initrdtype = initrdtype
35 |
36 | @property
37 | def initrdtype(self):
38 | """
39 | Property method for the type of initrd this version of Fedora uses
40 | ('cpio' or 'ext2').
41 | """
42 | return self._initrdtype
43 |
44 |
45 | version_to_config = {
46 | '6': FedoraCoreConfiguration(initrdtype='cpio'),
47 | '5': FedoraCoreConfiguration(initrdtype='cpio'),
48 | '4': FedoraCoreConfiguration(initrdtype='cpio'),
49 | '3': FedoraCoreConfiguration(initrdtype='ext2'),
50 | '2': FedoraCoreConfiguration(initrdtype='ext2'),
51 | '1': FedoraCoreConfiguration(initrdtype='ext2'),
52 | }
53 |
54 |
55 | class FedoraCoreGuest(oz.RedHat.RedHatLinuxCDGuest):
56 | """
57 | Class for Fedora Core 1, 2, 3, 4, 5, and 6 installation.
58 | """
59 | def __init__(self, tdl, config, auto, output_disk, netdev, diskbus,
60 | macaddress):
61 | self.config = version_to_config[tdl.update]
62 | oz.RedHat.RedHatLinuxCDGuest.__init__(self, tdl, config, auto,
63 | output_disk, netdev, diskbus,
64 | True, True, self.config.initrdtype,
65 | macaddress)
66 |
67 | # FIXME: if doing an ISO install, we have to check that the ISO passed
68 | # in is the DVD, not the CD (since we can't change disks midway)
69 |
70 | def _modify_iso(self):
71 | """
72 | Method to modify the ISO for autoinstallation.
73 | """
74 | self._copy_kickstart(os.path.join(self.iso_contents, "ks.cfg"))
75 |
76 | initrdline = " append initrd=initrd.img ks=cdrom:/ks.cfg method="
77 | if self.tdl.installtype == "url":
78 | initrdline += self.url
79 | else:
80 | initrdline += "cdrom:/dev/cdrom"
81 | self._modify_isolinux(initrdline)
82 |
83 | def get_auto_path(self):
84 | """
85 | Method to create the correct path to the Fedora Core kickstart files.
86 | """
87 | return oz.ozutil.generate_full_auto_path("FedoraCore" + self.tdl.update + ".auto")
88 |
89 |
90 | def get_class(tdl, config, auto, output_disk=None, netdev=None, diskbus=None,
91 | macaddress=None):
92 | """
93 | Factory method for Fedora Core installs.
94 | """
95 | if tdl.update in version_to_config.keys():
96 | return FedoraCoreGuest(tdl, config, auto, output_disk, netdev, diskbus,
97 | macaddress)
98 |
99 |
100 | def get_supported_string():
101 | """
102 | Return supported versions as a string.
103 | """
104 | return "Fedora Core: " + ", ".join(sorted(version_to_config.keys()))
105 |
--------------------------------------------------------------------------------
/oz/auto/Mageia2.auto:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl -cw
2 | #
3 | # You should check the syntax of this file before using it in an auto-install.
4 | # You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
5 | # (note the '#!/usr/bin/perl -cw' on the first line).
6 | $o = {
7 | 'autoExitInstall' => '1',
8 | 'interactiveSteps' => [],
9 | 'no_suggests' => 1,
10 | 'mkbootdisk' => 0,
11 | 'isUpgrade' => 0,
12 | 'excludedocs' => 1,
13 | 'minimal' => 1,
14 | 'miscellaneous' => {
15 | 'numlock' => 1,
16 | },
17 |
18 | 'netc' => {
19 | 'ZEROCONF_HOSTNAME' => undef,
20 | 'NETWORKING' => 'yes',
21 | 'NET_DEVICE' => 'eth0',
22 | 'DHCP' => 'yes'
23 | },
24 | 'locale' => {
25 | 'lang' => 'en_US',
26 | 'country' => 'US',
27 | 'utf8' => 1,
28 | 'langs' => {
29 | 'en_US' => 1
30 | }
31 | },
32 | 'mkbootdisk' => 0,
33 | 'partitions' => [
34 | {
35 | 'size' => 12273597,
36 | 'mntpoint' => '/',
37 | 'type' => 1155,
38 | 'fs_type' => 'ext4'
39 | },
40 | {
41 | 'size' => 1012032,
42 | 'mntpoint' => 'swap',
43 | 'type' => 130,
44 | 'fs_type' => 'swap'
45 | },
46 | {
47 | 'size' => 1024,
48 | 'ratio' => 100,
49 | 'mntpoint' => '/home',
50 | 'type' => 1155,
51 | 'fs_type' => 'ext4'
52 | }
53 | ],
54 | 'printer' => {
55 | 'MANUALCUPSCONFIG' => undef,
56 | 'BROWSEPOLLPORT' => undef,
57 | 'BROWSEPOLLADDR' => undef,
58 | 'SPOOLER' => undef,
59 | 'configured' => {},
60 | 'DEFAULT' => undef
61 | },
62 | 'intf' => {
63 | 'eth0' => {
64 | 'BROADCAST' => '',
65 | 'ONBOOT' => 'yes',
66 | 'BOOTPROTO' => 'dhcp',
67 | 'DEVICE' => 'eth0',
68 | 'NETMASK' => '255.255.255.0',
69 | 'NETWORK' => ''
70 | }
71 | },
72 | 'authentication' => {
73 | 'shadow' => 1,
74 | 'md5' => 1,
75 | 'local' => undef
76 | },
77 | 'partitioning' => {
78 | 'auto_allocate' => '1',
79 | 'clearall' => '1',
80 | 'eraseBadPartitions' => 0
81 | },
82 | 'users' => [{
83 | 'icon' => 'default',
84 | 'realname' => 'user',
85 | 'uid' => undef,
86 | 'groups' => [],
87 | 'name' => 'user',
88 | 'shell' => '/bin/bash',
89 | 'password' => %ROOTPW%,
90 | 'gid' => undef
91 | }],
92 | 'security' => 2,
93 | 'X' => { disabled => 1 },
94 | 'skipped_packages' => [ 'xdm', 'shorewall',
95 | 'shorewall-core', 'mageia-gfxboot-theme'],
96 | 'default_packages' => [
97 | 'basesystem-minimal',
98 | 'urpmi',
99 | 'sudo',
100 | 'openssh-client',
101 | 'openssh-server', 'vim-minimal'
102 | ],
103 | 'superuser' => {
104 | 'home' => '/root',
105 | 'shell' => '/bin/bash',
106 | 'realname' => 'root',
107 | 'password' => %ROOTPW%,
108 | 'uid' => '0',
109 | 'gid' => '0'
110 | },
111 | 'manualFstab' => [],
112 | 'libsafe' => 0,
113 | 'useSupermount' => '0',
114 | 'timezone' => {
115 | 'UTC' => 1,
116 | 'ntp' => undef,
117 | 'timezone' => 'America/New_York'
118 | },
119 | 'netcnx' => {
120 | 'lan' => {},
121 | 'type' => 'lan'
122 | },
123 | 'keyboard' => {
124 | 'unsafe' => 1,
125 | 'GRP_TOGGLE' => '',
126 | 'KEYBOARD' => 'us',
127 | 'KBCHARSET' => 'C'
128 | },
129 | 'security_user' => '',
130 | 'mouse' => {
131 | 'MOUSETYPE' => 'ps/2',
132 | 'device' => 'psaux',
133 | 'name' => 'Standard',
134 | 'nbuttons' => 2,
135 | 'type' => 'PS/2',
136 | 'XMOUSETYPE' => 'PS/2',
137 | 'EMULATEWHEEL' => undef
138 | }
139 | };
140 |
--------------------------------------------------------------------------------
/oz/auto/Mageia3.auto:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl -cw
2 | #
3 | # You should check the syntax of this file before using it in an auto-install.
4 | # You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
5 | # (note the '#!/usr/bin/perl -cw' on the first line).
6 | $o = {
7 | 'autoExitInstall' => '1',
8 | 'interactiveSteps' => [],
9 | 'no_suggests' => 1,
10 | 'mkbootdisk' => 0,
11 | 'isUpgrade' => 0,
12 | 'excludedocs' => 1,
13 | 'minimal' => 1,
14 | 'miscellaneous' => {
15 | 'numlock' => 1,
16 | },
17 |
18 | 'netc' => {
19 | 'ZEROCONF_HOSTNAME' => undef,
20 | 'NETWORKING' => 'yes',
21 | 'NET_DEVICE' => 'eth0',
22 | 'DHCP' => 'yes'
23 | },
24 | 'locale' => {
25 | 'lang' => 'en_US',
26 | 'country' => 'US',
27 | 'utf8' => 1,
28 | 'langs' => {
29 | 'en_US' => 1
30 | }
31 | },
32 | 'mkbootdisk' => 0,
33 | 'partitions' => [
34 | {
35 | 'size' => 12273597,
36 | 'mntpoint' => '/',
37 | 'type' => 1155,
38 | 'fs_type' => 'ext4'
39 | },
40 | {
41 | 'size' => 1012032,
42 | 'mntpoint' => 'swap',
43 | 'type' => 130,
44 | 'fs_type' => 'swap'
45 | },
46 | {
47 | 'size' => 1024,
48 | 'ratio' => 100,
49 | 'mntpoint' => '/home',
50 | 'type' => 1155,
51 | 'fs_type' => 'ext4'
52 | }
53 | ],
54 | 'printer' => {
55 | 'MANUALCUPSCONFIG' => undef,
56 | 'BROWSEPOLLPORT' => undef,
57 | 'BROWSEPOLLADDR' => undef,
58 | 'SPOOLER' => undef,
59 | 'configured' => {},
60 | 'DEFAULT' => undef
61 | },
62 | 'intf' => {
63 | 'eth0' => {
64 | 'BROADCAST' => '',
65 | 'ONBOOT' => 'yes',
66 | 'BOOTPROTO' => 'dhcp',
67 | 'DEVICE' => 'eth0',
68 | 'NETMASK' => '255.255.255.0',
69 | 'NETWORK' => ''
70 | }
71 | },
72 | 'authentication' => {
73 | 'shadow' => 1,
74 | 'md5' => 1,
75 | 'local' => undef
76 | },
77 | 'partitioning' => {
78 | 'auto_allocate' => '1',
79 | 'clearall' => '1',
80 | 'eraseBadPartitions' => 0
81 | },
82 | 'users' => [{
83 | 'icon' => 'default',
84 | 'realname' => 'user',
85 | 'uid' => undef,
86 | 'groups' => [],
87 | 'name' => 'user',
88 | 'shell' => '/bin/bash',
89 | 'password' => %ROOTPW%,
90 | 'gid' => undef
91 | }],
92 | 'security' => 2,
93 | 'X' => { disabled => 1 },
94 | 'skipped_packages' => [ 'xdm', 'shorewall',
95 | 'shorewall-core', 'mageia-gfxboot-theme'],
96 | 'default_packages' => [
97 | 'basesystem-minimal',
98 | 'urpmi',
99 | 'sudo',
100 | 'openssh-client',
101 | 'openssh-server', 'vim-minimal'
102 | ],
103 | 'superuser' => {
104 | 'home' => '/root',
105 | 'shell' => '/bin/bash',
106 | 'realname' => 'root',
107 | 'password' => %ROOTPW%,
108 | 'uid' => '0',
109 | 'gid' => '0'
110 | },
111 | 'manualFstab' => [],
112 | 'libsafe' => 0,
113 | 'useSupermount' => '0',
114 | 'timezone' => {
115 | 'UTC' => 1,
116 | 'ntp' => undef,
117 | 'timezone' => 'America/New_York'
118 | },
119 | 'netcnx' => {
120 | 'lan' => {},
121 | 'type' => 'lan'
122 | },
123 | 'keyboard' => {
124 | 'unsafe' => 1,
125 | 'GRP_TOGGLE' => '',
126 | 'KEYBOARD' => 'us',
127 | 'KBCHARSET' => 'C'
128 | },
129 | 'security_user' => '',
130 | 'mouse' => {
131 | 'MOUSETYPE' => 'ps/2',
132 | 'device' => 'psaux',
133 | 'name' => 'Standard',
134 | 'nbuttons' => 2,
135 | 'type' => 'PS/2',
136 | 'XMOUSETYPE' => 'PS/2',
137 | 'EMULATEWHEEL' => undef
138 | }
139 | };
140 |
--------------------------------------------------------------------------------
/oz/auto/Mageia4.auto:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl -cw
2 | #
3 | # You should check the syntax of this file before using it in an auto-install.
4 | # You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
5 | # (note the '#!/usr/bin/perl -cw' on the first line).
6 | $o = {
7 | 'autoExitInstall' => '1',
8 | 'interactiveSteps' => [],
9 | 'no_suggests' => 1,
10 | 'mkbootdisk' => 0,
11 | 'isUpgrade' => 0,
12 | 'excludedocs' => 1,
13 | 'minimal' => 1,
14 | 'miscellaneous' => {
15 | 'numlock' => 1,
16 | },
17 |
18 | 'netc' => {
19 | 'ZEROCONF_HOSTNAME' => undef,
20 | 'NETWORKING' => 'yes',
21 | 'NET_DEVICE' => 'eth0',
22 | 'DHCP' => 'yes'
23 | },
24 | 'locale' => {
25 | 'lang' => 'en_US',
26 | 'country' => 'US',
27 | 'utf8' => 1,
28 | 'langs' => {
29 | 'en_US' => 1
30 | }
31 | },
32 | 'mkbootdisk' => 0,
33 | 'partitions' => [
34 | {
35 | 'size' => 12273597,
36 | 'mntpoint' => '/',
37 | 'type' => 1155,
38 | 'fs_type' => 'ext4'
39 | },
40 | {
41 | 'size' => 1012032,
42 | 'mntpoint' => 'swap',
43 | 'type' => 130,
44 | 'fs_type' => 'swap'
45 | },
46 | {
47 | 'size' => 1024,
48 | 'ratio' => 100,
49 | 'mntpoint' => '/home',
50 | 'type' => 1155,
51 | 'fs_type' => 'ext4'
52 | }
53 | ],
54 | 'printer' => {
55 | 'MANUALCUPSCONFIG' => undef,
56 | 'BROWSEPOLLPORT' => undef,
57 | 'BROWSEPOLLADDR' => undef,
58 | 'SPOOLER' => undef,
59 | 'configured' => {},
60 | 'DEFAULT' => undef
61 | },
62 | 'intf' => {
63 | 'eth0' => {
64 | 'BROADCAST' => '',
65 | 'ONBOOT' => 'yes',
66 | 'BOOTPROTO' => 'dhcp',
67 | 'DEVICE' => 'eth0',
68 | 'NETMASK' => '255.255.255.0',
69 | 'NETWORK' => ''
70 | }
71 | },
72 | 'authentication' => {
73 | 'shadow' => 1,
74 | 'md5' => 1,
75 | 'local' => undef
76 | },
77 | 'partitioning' => {
78 | 'auto_allocate' => '1',
79 | 'clearall' => '1',
80 | 'eraseBadPartitions' => 0
81 | },
82 | 'users' => [{
83 | 'icon' => 'default',
84 | 'realname' => 'user',
85 | 'uid' => undef,
86 | 'groups' => [],
87 | 'name' => 'user',
88 | 'shell' => '/bin/bash',
89 | 'password' => %ROOTPW%,
90 | 'gid' => undef
91 | }],
92 | 'security' => 2,
93 | 'X' => { disabled => 1 },
94 | 'skipped_packages' => [ 'xdm', 'shorewall',
95 | 'shorewall-core', 'mageia-gfxboot-theme'],
96 | 'default_packages' => [
97 | 'basesystem-minimal',
98 | 'urpmi',
99 | 'sudo',
100 | 'openssh-client',
101 | 'openssh-server', 'vim-minimal'
102 | ],
103 | 'superuser' => {
104 | 'home' => '/root',
105 | 'shell' => '/bin/bash',
106 | 'realname' => 'root',
107 | 'password' => %ROOTPW%,
108 | 'uid' => '0',
109 | 'gid' => '0'
110 | },
111 | 'manualFstab' => [],
112 | 'libsafe' => 0,
113 | 'useSupermount' => '0',
114 | 'timezone' => {
115 | 'UTC' => 1,
116 | 'ntp' => undef,
117 | 'timezone' => 'America/New_York'
118 | },
119 | 'netcnx' => {
120 | 'lan' => {},
121 | 'type' => 'lan'
122 | },
123 | 'keyboard' => {
124 | 'unsafe' => 1,
125 | 'GRP_TOGGLE' => '',
126 | 'KEYBOARD' => 'us',
127 | 'KBCHARSET' => 'C'
128 | },
129 | 'security_user' => '',
130 | 'mouse' => {
131 | 'MOUSETYPE' => 'ps/2',
132 | 'device' => 'psaux',
133 | 'name' => 'Standard',
134 | 'nbuttons' => 2,
135 | 'type' => 'PS/2',
136 | 'XMOUSETYPE' => 'PS/2',
137 | 'EMULATEWHEEL' => undef
138 | }
139 | };
140 |
--------------------------------------------------------------------------------
/oz/auto/Mageia5.auto:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl -cw
2 | #
3 | # You should check the syntax of this file before using it in an auto-install.
4 | # You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
5 | # (note the '#!/usr/bin/perl -cw' on the first line).
6 | $o = {
7 | 'autoExitInstall' => '1',
8 | 'interactiveSteps' => [],
9 | 'no_suggests' => 1,
10 | 'mkbootdisk' => 0,
11 | 'isUpgrade' => 0,
12 | 'excludedocs' => 1,
13 | 'minimal' => 1,
14 | 'miscellaneous' => {
15 | 'numlock' => 1,
16 | },
17 |
18 | 'netc' => {
19 | 'ZEROCONF_HOSTNAME' => undef,
20 | 'NETWORKING' => 'yes',
21 | 'NET_DEVICE' => 'eth0',
22 | 'DHCP' => 'yes'
23 | },
24 | 'locale' => {
25 | 'lang' => 'en_US',
26 | 'country' => 'US',
27 | 'utf8' => 1,
28 | 'langs' => {
29 | 'en_US' => 1
30 | }
31 | },
32 | 'mkbootdisk' => 0,
33 | 'partitions' => [
34 | {
35 | 'size' => 12273597,
36 | 'mntpoint' => '/',
37 | 'type' => 1155,
38 | 'fs_type' => 'ext4'
39 | },
40 | {
41 | 'size' => 1012032,
42 | 'mntpoint' => 'swap',
43 | 'type' => 130,
44 | 'fs_type' => 'swap'
45 | },
46 | {
47 | 'size' => 1024,
48 | 'ratio' => 100,
49 | 'mntpoint' => '/home',
50 | 'type' => 1155,
51 | 'fs_type' => 'ext4'
52 | }
53 | ],
54 | 'printer' => {
55 | 'MANUALCUPSCONFIG' => undef,
56 | 'BROWSEPOLLPORT' => undef,
57 | 'BROWSEPOLLADDR' => undef,
58 | 'SPOOLER' => undef,
59 | 'configured' => {},
60 | 'DEFAULT' => undef
61 | },
62 | 'intf' => {
63 | 'eth0' => {
64 | 'BROADCAST' => '',
65 | 'ONBOOT' => 'yes',
66 | 'BOOTPROTO' => 'dhcp',
67 | 'DEVICE' => 'eth0',
68 | 'NETMASK' => '255.255.255.0',
69 | 'NETWORK' => ''
70 | }
71 | },
72 | 'authentication' => {
73 | 'shadow' => 1,
74 | 'md5' => 1,
75 | 'local' => undef
76 | },
77 | 'partitioning' => {
78 | 'auto_allocate' => '1',
79 | 'clearall' => '1',
80 | 'eraseBadPartitions' => 0
81 | },
82 | 'users' => [{
83 | 'icon' => 'default',
84 | 'realname' => 'user',
85 | 'uid' => undef,
86 | 'groups' => [],
87 | 'name' => 'user',
88 | 'shell' => '/bin/bash',
89 | 'password' => %ROOTPW%,
90 | 'gid' => undef
91 | }],
92 | 'security' => 2,
93 | 'X' => { disabled => 1 },
94 | 'skipped_packages' => [ 'xdm', 'shorewall',
95 | 'shorewall-core', 'mageia-gfxboot-theme'],
96 | 'default_packages' => [
97 | 'basesystem-minimal',
98 | 'urpmi',
99 | 'sudo',
100 | 'openssh-client',
101 | 'openssh-server', 'vim-minimal'
102 | ],
103 | 'superuser' => {
104 | 'home' => '/root',
105 | 'shell' => '/bin/bash',
106 | 'realname' => 'root',
107 | 'password' => %ROOTPW%,
108 | 'uid' => '0',
109 | 'gid' => '0'
110 | },
111 | 'manualFstab' => [],
112 | 'libsafe' => 0,
113 | 'useSupermount' => '0',
114 | 'timezone' => {
115 | 'UTC' => 1,
116 | 'ntp' => undef,
117 | 'timezone' => 'America/New_York'
118 | },
119 | 'netcnx' => {
120 | 'lan' => {},
121 | 'type' => 'lan'
122 | },
123 | 'keyboard' => {
124 | 'unsafe' => 1,
125 | 'GRP_TOGGLE' => '',
126 | 'KEYBOARD' => 'us',
127 | 'KBCHARSET' => 'C'
128 | },
129 | 'security_user' => '',
130 | 'mouse' => {
131 | 'MOUSETYPE' => 'ps/2',
132 | 'device' => 'psaux',
133 | 'name' => 'Standard',
134 | 'nbuttons' => 2,
135 | 'type' => 'PS/2',
136 | 'XMOUSETYPE' => 'PS/2',
137 | 'EMULATEWHEEL' => undef
138 | }
139 | };
140 |
--------------------------------------------------------------------------------