<< Back

6. Installer Requirements

scope

6.1 Introduction

must : Requirements that are marked as must are considered mandatory and must exist in the reference implementation and implemented by installer. The same applies to must not .

may : Requirements that are marked as may are considered optional. The same applies to may not .

6.2 Installer requirements

6.2.1 General

The Descriptor File defines the unique configuration required by installer in a common schema. It would specialize the installer type per user’s implementation requirements. It would be validated at the very beginning of the deployment. It’s the installer’s responsibility to translate the descriptor file to adapt with its own configuration. Thanks to the descriptor file, the NFVi infrastructure deployment could be completed in one step run.

Ref # sub-category Description
req.gen.ins.01 Installer Installer may accept a descriptor file to finish deployment.
req.gen.ins.02 Installer Installer implementation must validate the descriptor file with schema.
req.gen.ins.03 Installer Any existing installer implementation may need adaption for the descriptor file.
req.gen.ins.04 Installer Installer may support reporting the deployment progress status.
req.gen.des.01 Descriptor Descriptor file must include hardware resource configuration, software configuration.
req.gen.des.02 Descriptor Descriptor file may include additional extending configuration.

Table 6-2-1: Installer requirements

6.2.2 Additional

Depends xxx.

6.3 Descriptor file definition

There must be a Descriptor File definition, which used by installer as input of necessary configuration. Mandatory and optional definition shall be defined.

6.3.1 Hardware resource information

The support of different workload types, each with different compute, storage, network requirements which needs kinds of hardware configuration template, we name this as server template. Besides it may include optional information such area name, data center name etc.

Field # type mandatory Instruction
area_name String Yes data center area name
area_center_name String Yes data center name, may compliance with a naming rule.
room_name String Yes rome static data, helpful in locating issue occurred.
city String Yes
resource_pool_name String Yes
outband_network_segment String Yes
server_templates List Yes server template list included in the resource pool
server_infos List Yes server information list included in the resource pool

Table 6-3-1: Hardware resource description.

6.3.2 Server template

The server template describes the capability of the host like processor, memory, harddrive, raid, NIC/NIC binding, manufacturer, model etc. Server template would be assigned to multiple servers, i.e physical hosts.

Field # type mandatory Instruction
template_name String Yes template name will referenced by dedicated server
manufacturer String Yes
model String Yes
processor String Yes
memory String Yes
hard_drive String Yes
raid String Yes
network_card_infos List No interface list definition
network_card_bond_infos List No NIC bonding, might not be always the case.

Table 6-3-2-1: Server template.

This is the network interface definition. Generally, there are a list of interfaces included in server template.

Field # type mandatory Instruction
port_name String Yes port name, e.g ens0,ens1

Table 6-3-2-2: Network Card Bond information.

In some case, interface would be bonded together. This is the network interface bond definition.

Field # type mandatory Instruction
bond_name String Yes new bonded name. e.g bond 0 is the new name after bond eno0,eno1.
bond_type String Yes dvs,sr-iov,ovs
bond_mode String Yes balance-tcp,balance-slb,balance-backup
bond_members String Yes members of interface name to bond in together, e.g eno0,eno1.

Table 6-3-2-3: Network Card Bond information.

6.3.3 Server information

Server will reference a server template, i.e, inherting all configuration of server template, Besides it may include additional information pim username, password, rack_name,position etc.

Field # type mandatory Instruction
template_name String Yes template referenced
device_name String Yes e.g NFV-D-HDBNJ-02A-3503-G-02-M-SRV-01
system_diskname String No system disk name
system_disksize String No system disk size
role String No computer,controller,storage
pim_ip_address String Yes PIM ip address
pim_netmask String Yes PIM netmask
pim_username String Yes PIM user
pim_password String Yes PIM password
hugepage_number String No huge page quantity
rack_name String Yes
position String Yes
remote_management_ip String Yes remote management ip, e.g. iLO,iDRAC, BMC
remote_user String Yes remote user
remote_password String Yes remote password
nic_info List Yes network interface information

Table 6-3-3: Server information.

6.3.4 Software configuration definition

It includes Virtualized Infrastructure Manager configurations,

Field # type mandatory Instruction
vim_name String Yes vim name
vim_id String No a name VIM Resource pool naming rule
vendor String Yes VIM Provider information, e.g. ZTE,Huawei,Ericsson,NOKIA
version String Yes e.g NFV-D-HDBNJ-02A-3503-G-02-M-SRV-01
ip_version String Yes Ipaddress type: IPV6 or IPV4
time_zone String Yes timezone settings, e.g GMT+08:00 Asia/Shanghai
controller_nodes List Yes List of controllers designed in VIM deployment
compute_nodes List Yes List of compute nodes designed in VIM deployment

Table 6-3-4: Software configuration.

6.3.5 Network information

List of NIC definitions which are referenced by various roles of node, control/compute/network/storage node.

Field # type mandatory Instruction
device_name String Yes device name which the network interface belongs to
ip_address String Yes ip address
sub_network String Yes subnet in CIDR format. e.g: 2409:8086:8412:100::/64
gateway String No gateway
vlan_id String Yes vlan id for current network
network_plane_type String Yes distinguish network type: e.g MANAGEMENT,STORAGEDATA,COMPUTE

Table 6-3-5: Network information.

6.3.6 Controller information

List of controller nodes that designed for current VIM deployment.

Field # type mandatory Instruction
device_name String Yes must be the device_name defined in server_information(###6.3.3), which would be set on Server from BMC
node_name String Yes node name for the controller to deploy, e.g: controller01

Table 6-3-6: Controller information.

6.3.7 Compute information

List of compute nodes that designed for current VIM deployment.

Field # type mandatory Instruction
device_name String Yes must be the device_name defined in server_information(###6.3.3), which would be set on Server from BMC
node_name String Yes node name for the compute to deploy, e.g: compute01
az_name String Yes availability zone name which this node belongs to
ha_name List Yes HA name(s) which this node assigned to.
vnic_type String Yes VIM verification needs know compute node type: OVS,DPDK_OVS or SR-IOV node.
os_reserved_cores String No Designed and planned by provider itself, may be none
ovs_reserved_cores String No Designed and planned by provider itself, may be none

Table 6-3-7: Compute information.

6.3.8 Distributed storage information

List of storage nodes that designed for current VIM deployment.

Field # type mandatory Instruction
cluster_name String Yes cluster name
device_infos List Yes a list of device

Table 6-3-8-1: Cluster information.

Field # type mandatory Instruction
device_name String Yes indicate the device name
storage_type String Yes Ceph/HDFS/Swift/GFS/Luster, etc
storage_os_user String No storage os user
storage_os_password String No storage os password
storage_network_address String Yes storage access address
storage_network_mask String Yes mask for the network
az_name String Yes availabile zone which belongs to
additional_attributes List Yes specific attribute(key value pairs) list, decided by the storage_type. e.g: For example, Ceph would specific storage pool name, while HDFS would need replication options

Table 6-3-8-2: Storage device information.

Field # type mandatory Instruction
attribute_name String Yes specific attribute name required by the storage type
attribute_value String Yes attribute value

Table 6-3-8-3: Additional storage attribute.

6.3.9 NTP server information

primary and backup NTP server information.

Field # type mandatory Instruction
master_server_ip String Yes
master_server_timezone String Yes
backup_server_ip String No
backup_server_timezone String No

Table 6-3-9: NTP server information.

6.3.10 DNS server information

DNS server informmation if VIM deployment requires.

Field # type mandatory Instruction
dns_network String No DNS information if VIM deployment needed.
dns_ip String No

Table 6-3-10: DNS server information.

6.3.11 Deployment host information

Deployment host setting, which must have the access for the openstack nodes network.

Field # type mandatory Instruction
ip_address String No Ip address of debug host
mask String No mask of debug host
gateway String No gateway of debug host

Table 6-3-11: Deployment host information.

6.3.12 Deployment control information

Used to control if VIM will be automatically deployment.

Field # type mandatory Instruction
auto_deploy String Yes Flag of enabling or disabling automatically deploy VIM.

Table 6-3-12: Auto deployment control information.

6.3.13 Proxy information

Proxy information, this section could be empty if not needed.

Field # type mandatory Instruction
proxyAddress String Yes Proxy address
port String Yes port
user String Yes user
password String Yes password

Table 6-3-13: Proxy information.

6.4 Installer prerequisite

6.4.1 Hardware validation

Before the installation, the user has to check if each server meets the deployment requirements:

  • BIOS settings: RAID configuration, PXE boot order and boot mode, disk capacity, CPU, and memory settings,
  • remote management accessibility (for example, IPMI, iLO, BMC),
  • NIC quantity and configuration.

6.4.2 Network configuration

The necessary prerequisite settings must be ready before the deployment, for example:

  • the VLAN must be configured on the switch,
  • the IP address ranges to be used must be allocated.