-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
standalone mode, whiptail interface, userdefined classes and user customization #105
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
80135ab
to
737e2c1
Compare
af33323
to
cac935c
Compare
1154d81
to
1867f1f
Compare
8f1cb1e
to
23445af
Compare
eroussy
requested changes
Jun 25, 2024
eroussy
requested changes
Jun 27, 2024
In order to add a standalone mode, we split the SEAPATH_HOST class into 2 : SEAPATH_HOST package_config will contain packages that are needed by all host installations, standalone or cluster node SEAPATH_CLUSTER will contain the packages needed for cluster mode. We now need a way to have the user select more easily the classes he wants in his iso and the grub menu items he needs. For that I propose a Text User Interface using whiptail (will work over ssh, docker, etc.). With this interface the user will be able to : choose the package classes he wants to download/have in the local mirror of the iso file (that way he can reduce the size of the iso file and the time it takes to build) choose the precise list of grub menu options he wants He will need to call ./build_debian_iso with the "--custom" command line argument. Not calling the argument will launch with defaults (all classes downloaded, and only one grub option with clustermode/lvmraid/english/no_debug/no_kerberos/no_cockpit) Signed-off-by: Florent CARLI <[email protected]>
Signed-off-by: Florent CARLI <[email protected]>
It can be useful to be able to mount the guest filesystem in the host (to check on disk usage for example, or to repair something). LVM will choke if we have 2 volume groups with the same name on the same system. To solve this, since the host will still use "vg1", we rename the guest VG to "vg2". Signed-off-by: Florent CARLI <[email protected]>
Signed-off-by: Florent CARLI <[email protected]>
This commits splits the base hierarchy into 3: - srv_fai_config is still the default SEAPATH configuration - usercustomization is the same hierarchy but git will not track it, and the user can put custom files in it - build_tmp is a temporary folder where the installer will merge srv_fai_config and usercustomization just before building srv_fai_config also includes now the new USERCUSTOMIZATION class, so that the files in the userconfiguration/ folder can implement this class and override/add any setting. Signed-off-by: Florent CARLI <[email protected]>
With this commit the user can add his own classes by: - adding the class in the user_classes.conf file - dealing with a numbered script in usercustomization/class/ folder (for example usercustomization/class/99-custom, chmod 755) to use the class - adding all the files related to the classes in the usercustomization hierarchy Signed-off-by: Florent CARLI <[email protected]>
eroussy
approved these changes
Jun 27, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In order to add a standalone mode, we split the SEAPATH_HOST class into 2 :
We now need a way to have the user select more easily the classes he wants in his iso and the grub menu items he needs.
For that I propose a Text User Interface using whiptail (will work over ssh, docker, etc.). With this interface the user will be able to :
He will need to call ./build_debian_iso with the "--custom" command line argument.
Not calling the argument will launch with defaults (all classes downloaded, and only one grub option with clustermode/lvmraid/english/no_debug/no_kerberos/no_cockpit)
As a proof this will simplify the adding of classes, the second commit adds a class for german keyboard layout.
Guest Disk config: rename vg1 to vg2
It can be useful to be able to mount the guest filesystem in the host (to check on disk usage for example, or to repair something). LVM will choke if we have 2 volume groups with the same name on the same system. To solve this, since the host will still use "vg1", we rename the guest VG to "vg2".
Add the USERCUSTOMIZATION class to facilitate user configuration
This commits splits the base hierarchy into 3:
srv_fai_config also includes now the new USERCUSTOMIZATION class, so that the files in the usercustomization/ folder can implement this class and override/add any setting.
Allows userdefined classes
With this commit the user can add his own classes by: