- Addded a new target 'minimal-iso' in Makefile
* This generates photon-minimal-*.iso and corresponding debug iso
* Size of minimal-iso is 263MB and size of debug iso is 1166M
- minimal-iso skips photon flavour selection(edge, developer and ostree) UI
Change-Id: I945d74e13c0fbca700cfd6a18467fdac42b68f87
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/8254
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>
Move curses.wrapper down to classes/methods instead of
wrapping entire isoInstaller.
It will allow us to run KS installation in console(non curses)
mode, if install_config['ui'] set to false.
Extras:
1) Cleaned up logging.
2) Introduced install_config['log_level'] parameter.
3) Introduced --ui-config argument for isoInstaller.
4) Fixed ostree installation path. OStree installer works,
but target system was not tested.
5) Moved ostree specific install_config options under
install_config['ostree']
Change-Id: I6c31821778d506f3f28fa07254a556830b1fe534
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/8156
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
Installer engine consist of two pieces (stages):
1) installer.configure(install_config, ui_config)
- install_config is a KS input config as well as 'installer'
portion of image builder config
if 'install_config' is None then configure will trigger
interactive ncurses configurator
- ui_config is a config for interactive ncurses configurator.
Can be used to control what screens to show.
No actions allowed toward target system (disk or image) during
configure stage.
2) installer.execute(install_config)
- takes install_config and "execute" it. All actions on target
system are performed here.
Installer can be run as an app, like ./isoInstaller
In this case control flow looks like:
isoInstaller
<detect KS from kernel cmdline> - no luck
installer.configure(None, ui_config)
ui_config - run ncurses interractive installer to
construct 'install_config'
<perform sanity checks of install_config>
installer.execute(install_config)
When isoInstaller detects KS file - control flow is like:
isoInstaller
<detect KS from kernel cmdline> - success - create 'install_config'
installer.configure(install_config, None)
<perform sanity checks of install_config>
installer.execute(install_config)
When installer called from image builder it is similar to KS case:
image builder
<parses its config file> - creates install_config out of
'installer' section
installer.configure(install_config, None)
<perform sanity checks of install_config>
installer.execute(install_config)
<performs post actions>
<convert raw disk to some output format>
Changed images config file to move installer specific
changes to 'installer' subsection
Deprecate install_config fields: iso_installer, ui_install,
additional-files.
Unified password related logic in installer and removed it
from image builder.
Added ks_config.txt file - documentation for ks file format.
NOTE: this commit can break ostree, as it was not tested.
Change-Id: I3f718b6793c7f0befeb63df4d7e99072cf4d7693
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/8127
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>
Do not do partitioning in the very beginning of ui config
or at the end of ks config. Merge partitioning code and
move it to installer execution. Remove any partitioning
code from selectdisk ui screen.
Extras:
- deprecate 'vmdk_install' (it is same as 'not iso_installer')
- improve nsurses ui rendering. Avoid unnecessary refresh.
- removed unused param in display() and menu items handlers
Change-Id: I90522da30bb29b452bb68e64e749ab81177875a0
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/8088
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
Tested-by: Anish Swaminathan <anishs@vmware.com>
The purpose of this commit is to improve debugability
of installer codebase. Installer can be run from running
Photon OS instance just as "./isoInstaller". You do not
need to create bootable ISO and run it to verify installer
code.
Changes in this commit:
- use local input.json as build_install_options
- support "packages" field in build_install_options file
- do not modify and use host's /etc/yum/repos.d and
/etc/tdnf.conf create them in working directory instead
- added --rpms-path parameter, default: ../stage/RPMS
- add logging of shell scripts to installer.log
- do not use "swapoff -a" at finalize step, swapoff only
installer created swap
Change-Id: I9cf034ba069e4625bd79a22aff6db3bbcba869d0
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/8024
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
-Remove the use of photoninstaller.py
-Replace image builder script
-Enhance image builder config file
-Support image building using config files from Makefile
- make image IMG_NAME=<name>
- make image CONFIG=<config_file>
- or combination of both the above
Change-Id: I1a0db70969224826130c5e4c25a74e7217a8dace
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6150
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
Tested-by: Anish Swaminathan <anishs@vmware.com>
- Use image-builder instead of cloud-image-builder
- Remove install type from json files for images
- Clean up json files
- Add metapackage minimal
- Remove full flavor from ISO and add developer and edge
- Remove installation type from json files and use package list json
Change-Id: I6b667beb92f9f68533e48482f84139102b818342
Conflicts:
Makefile
support/package-builder/SpecData.py
Change-Id: Iff18095a5f53151d0456c694c039da720eef2398
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6170
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
Tested-by: Anish Swaminathan <anishs@vmware.com>
The recent changes related to multi-versioning broke the
PackageSelector code that deals with replacing certain packages with
other alternatives (eg: replacing linux with linux-aws for AMIs). This
feature will be reimplemented in a different way shortly; so in
preparation, get rid of the 'remove' option.
Change-Id: Ibb51fcf52f775655d946c9b798b809772dbd380c
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5961
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
Tested-by: Anish Swaminathan <anishs@vmware.com>
Use the spec and config file for generic kernel as a starting point.
No AWS-specific changes yet.
Change-Id: I7bfd162f2d7dca0af5e6ef866b6217cb34835c8c
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/4820
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
-- remove unused shebangs.
-- interger division with operator //
-- replace Set with set.
-- replace `` with repr.
-- replace has_key with in
Change-Id: I8ef92b42cb1a4477eb8be23da6a86499a3436876
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3860
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Bo Gan <ganb@vmware.com>
To achieve that seperated all installation types into individual json files. And created a new higher level configuration file that will have installation options and their repective package list file.
This will also allow us to easily add new installation type and remove it.
Another goal is that we could provide this new config files to Build system to ONLY build the packages that are going to packaged inside the ISO.