Add anaconda configuration and template
This change adds 'anaconda' group and 'default_ks_template' configuration option under that group to ironic configuration file. Along with this change a new boot_option named 'kickstart' is added to identify anaconda kickstart deploy in the boot interface. deploy_utils.get_boot_option method is modified to check if node.deploy_interface is set to 'anaconda' and return boot_option 'kickstart'. This change also validates whether required parameters are set when the boot_option on the node is set to 'kickstart'. When boot_option is 'kickstart' we also validate if the glance image source has 'squashfs_id' property associated with it. Change-Id: I2ef7c33e2e63e6d08c084b4c5dbd77a44ddd2d14 Story: 2007839 Task: 41675
This commit is contained in:
36
ironic/conf/anaconda.py
Normal file
36
ironic/conf/anaconda.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# Copyright 2021 Verizon Media
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import os
|
||||
|
||||
from oslo_config import cfg
|
||||
|
||||
from ironic.common.i18n import _
|
||||
|
||||
|
||||
ks_group = cfg.OptGroup(name='anaconda',
|
||||
title='Anaconda/kickstart interface options')
|
||||
opts = [
|
||||
cfg.StrOpt('default_ks_template',
|
||||
default=os.path.join(
|
||||
'$pybasedir', 'drivers/modules/ks.cfg.template'),
|
||||
mutable=True,
|
||||
help=_('kickstart template to use when no kickstart template '
|
||||
'is specified in the instance_info or the glance OS '
|
||||
'image.')),
|
||||
]
|
||||
|
||||
|
||||
def register_opts(conf):
|
||||
conf.register_group(ks_group)
|
||||
conf.register_opts(opts, group='anaconda')
|
||||
Reference in New Issue
Block a user