blueprint: add support for kernel customization
This commit is contained in:
parent
ead3ae6cab
commit
8d010c0466
8 changed files with 22 additions and 8 deletions
|
|
@ -22,7 +22,7 @@ func (t *amiOutput) translate(b *Blueprint) *pipeline.Pipeline {
|
||||||
addF30FixBlsStage(p)
|
addF30FixBlsStage(p)
|
||||||
addF30LocaleStage(p)
|
addF30LocaleStage(p)
|
||||||
addF30FSTabStage(p)
|
addF30FSTabStage(p)
|
||||||
addF30GRUB2Stage(p)
|
addF30GRUB2Stage(p, nil)
|
||||||
addF30SELinuxStage(p)
|
addF30SELinuxStage(p)
|
||||||
addF30QemuAssembler(p, "qcow2", t.getName())
|
addF30QemuAssembler(p, "qcow2", t.getName())
|
||||||
return p
|
return p
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,14 @@ func (b *Blueprint) ToPipeline(outputFormat string) (*pipeline.Pipeline, error)
|
||||||
return nil, &InvalidOutputFormatError{outputFormat}
|
return nil, &InvalidOutputFormatError{outputFormat}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (b *Blueprint) getKernelCustomization() *KernelCustomization {
|
||||||
|
if b.Customizations == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return b.Customizations.Kernel
|
||||||
|
}
|
||||||
|
|
||||||
// FilenameFromType gets the canonical filename and MIME type for a given
|
// FilenameFromType gets the canonical filename and MIME type for a given
|
||||||
// output format
|
// output format
|
||||||
func FilenameFromType(outputFormat string) (string, string, error) {
|
func FilenameFromType(outputFormat string) (string, string, error) {
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ type diskOutput struct{}
|
||||||
func (t *diskOutput) translate(b *Blueprint) *pipeline.Pipeline {
|
func (t *diskOutput) translate(b *Blueprint) *pipeline.Pipeline {
|
||||||
p := getF30Pipeline()
|
p := getF30Pipeline()
|
||||||
addF30FSTabStage(p)
|
addF30FSTabStage(p)
|
||||||
addF30GRUB2Stage(p)
|
addF30GRUB2Stage(p, b.getKernelCustomization())
|
||||||
addF30SELinuxStage(p)
|
addF30SELinuxStage(p)
|
||||||
addF30QemuAssembler(p, "raw", t.getName())
|
addF30QemuAssembler(p, "raw", t.getName())
|
||||||
return p
|
return p
|
||||||
|
|
|
||||||
|
|
@ -78,15 +78,21 @@ func getCustomF30PackageSet(packages []string, excludedPackages []string) *pipel
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func addF30GRUB2Stage(p *pipeline.Pipeline) {
|
func addF30GRUB2Stage(p *pipeline.Pipeline, kernelCustomization *KernelCustomization) {
|
||||||
id, err := uuid.Parse("76a22bf4-f153-4541-b6c7-0332c0dfaeac")
|
id, err := uuid.Parse("76a22bf4-f153-4541-b6c7-0332c0dfaeac")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic("invalid UUID")
|
panic("invalid UUID")
|
||||||
}
|
}
|
||||||
|
kernelOptions := "ro biosdevname=0 net.ifnames=0"
|
||||||
|
|
||||||
|
if kernelCustomization != nil {
|
||||||
|
kernelOptions += " " + kernelCustomization.Append
|
||||||
|
}
|
||||||
|
|
||||||
p.AddStage(pipeline.NewGRUB2Stage(
|
p.AddStage(pipeline.NewGRUB2Stage(
|
||||||
&pipeline.GRUB2StageOptions{
|
&pipeline.GRUB2StageOptions{
|
||||||
RootFilesystemUUID: id,
|
RootFilesystemUUID: id,
|
||||||
KernelOptions: "ro biosdevname=0 net.ifnames=0",
|
KernelOptions: kernelOptions,
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ func (t *openstackOutput) translate(b *Blueprint) *pipeline.Pipeline {
|
||||||
p := getCustomF30PackageSet(packages[:], []string{})
|
p := getCustomF30PackageSet(packages[:], []string{})
|
||||||
addF30LocaleStage(p)
|
addF30LocaleStage(p)
|
||||||
addF30FSTabStage(p)
|
addF30FSTabStage(p)
|
||||||
addF30GRUB2Stage(p)
|
addF30GRUB2Stage(p, b.getKernelCustomization())
|
||||||
addF30SELinuxStage(p)
|
addF30SELinuxStage(p)
|
||||||
addF30FixBlsStage(p)
|
addF30FixBlsStage(p)
|
||||||
addF30QemuAssembler(p, "qcow2", t.getName())
|
addF30QemuAssembler(p, "qcow2", t.getName())
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ func (t *qcow2Output) translate(b *Blueprint) *pipeline.Pipeline {
|
||||||
p := getCustomF30PackageSet(packages[:], excludedPackages[:])
|
p := getCustomF30PackageSet(packages[:], excludedPackages[:])
|
||||||
addF30LocaleStage(p)
|
addF30LocaleStage(p)
|
||||||
addF30FSTabStage(p)
|
addF30FSTabStage(p)
|
||||||
addF30GRUB2Stage(p)
|
addF30GRUB2Stage(p, b.getKernelCustomization())
|
||||||
addF30SELinuxStage(p)
|
addF30SELinuxStage(p)
|
||||||
addF30FixBlsStage(p)
|
addF30FixBlsStage(p)
|
||||||
addF30QemuAssembler(p, "qcow2", t.getName())
|
addF30QemuAssembler(p, "qcow2", t.getName())
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ func (t *vhdOutput) translate(b *Blueprint) *pipeline.Pipeline {
|
||||||
p := getCustomF30PackageSet(packages[:], []string{})
|
p := getCustomF30PackageSet(packages[:], []string{})
|
||||||
addF30LocaleStage(p)
|
addF30LocaleStage(p)
|
||||||
addF30FSTabStage(p)
|
addF30FSTabStage(p)
|
||||||
addF30GRUB2Stage(p)
|
addF30GRUB2Stage(p, b.getKernelCustomization())
|
||||||
addF30SELinuxStage(p)
|
addF30SELinuxStage(p)
|
||||||
addF30FixBlsStage(p)
|
addF30FixBlsStage(p)
|
||||||
addF30QemuAssembler(p, "qcow2", t.getName())
|
addF30QemuAssembler(p, "qcow2", t.getName())
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ type vmdkOutput struct{}
|
||||||
func (t *vmdkOutput) translate(b *Blueprint) *pipeline.Pipeline {
|
func (t *vmdkOutput) translate(b *Blueprint) *pipeline.Pipeline {
|
||||||
p := getF30Pipeline()
|
p := getF30Pipeline()
|
||||||
addF30FSTabStage(p)
|
addF30FSTabStage(p)
|
||||||
addF30GRUB2Stage(p)
|
addF30GRUB2Stage(p, b.getKernelCustomization())
|
||||||
addF30SELinuxStage(p)
|
addF30SELinuxStage(p)
|
||||||
addF30QemuAssembler(p, "vmdk", t.getName())
|
addF30QemuAssembler(p, "vmdk", t.getName())
|
||||||
return p
|
return p
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue