Anuket Project

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Introduction


Assumptions

  1. All the hardware are Uniform
    1. Same number of NICs with same PCI ids
    2. Same number of disks with same addresses.
  2. Everything is named and their names are used for reference - In Airship, the name if the filename is not important, but the name in the 'schema' (found in schema/metadata/name) is important.

Deployment Configuration and Strategy

ParameterSub-Category-1Sub-Category-2DescriptionExample Value
physical_provisioner




deployment_strategy



deploy_interval



deploy_timeout



destroy_interval



destroy_timeout



join_wait



prepare_node_interval



prepare_node_timeout



prepare_site_interval



prepare_site_timeout



verify_interval



verify_timeout


kubernetes




node_status_interval



node_status_timeout


kubernetes_provisioner




drain_timeout



drain_grace_period



clear_labels_timeout



remove_etcd_timeout



etcd_ready_timeout


armada+




get_releases_timeout



get_status_timeout



manifest+



post_apply_timeout



validate_design_timeout







groups




name



critical



depends_on



selectors




node_names



node_labels



node_tags



rack_names


success_criteria




percent_successful_nodes



minimum_successful_nodes



maximum_failed_nodes

Profiles

There are two important categories of profiles that the user should create to match their environment:

  1. Hardware ( site/<site_name>/profiles/hardware/<profile_name>.yaml)
  2. Host site/<site_name>/profiles/host/<profile_name(s)>.yaml

Hardware Profile

Under the hardware profile, user can provide details about the server, and few device (n/w and disk) aliases. User can contact the administrator to obtain this information - else, one has to obtain this information from the 'lshw' command.  For example: sudo lshw -c network -businfo  - to know the NIC names and PCI Ids. Once the user has the hardware information, it can be configure following parameters:

Server:

ParameterDescriptionExample-Value
vendorVendor of the server chassisIntel
generationGeneration of the chassis model'4'
hw_versionVersion of the chassis model within its generation'3'
bios_versionThe certified version of the chassis BIOS'SE5C ....
boot_modeMode of the default boot of hardware - bios, uefibios
bootstrap_protocolProtocol of boot of the hardware - pxe, usb, hdd'pxe
pxe_interfaceWhich interface to use for network booting within the OOB manager, not OS device0

Device-Aliases:

NICs:

User can categorize the NICs in the hardware as control-plane nics or dataplane nics. In each category he can have one or more NICs.  For example, he can define ctrl_nic1, ctrl_nic2, ctrl_nic3, and data_nic1, data_nic2, data_nic3, etc.  It is better to use names that are self-explanatory - for example, if you have a separate NIC for PXE, name it as pxe_nic. This categorization will be referred in the host-profiles.  For every NIC defined, the below information can be configured. 


ParameterDescriptionExample Value
addressThe PCI address of the NIC0000:04:00.0
dev_typeDescription of the NIC'I350 Gigabit Network Connection'
bus_typeThe bus supported'pci'

Disks:

The Disks can be either bootdisk or datadisk(s). Similar to NICs, the self-explanatory names should be choosen. For example, cephjournal1 can be the name for one of the disks use as one the ceph journals.

For every disk defined, the below information can be configured:


ParameterDescriptionExample Value
addressThe bus address of the Disk0:2.0.0
dev_type

Description of the disk.

'INTEL SSDSC2BB48'
bus_typeThe bus supported'scsi'


Others

ParameterSub-category-1Sub-category-2DescriptionExample Value
cpu_set




kvm

'4-43,48-87'
huge_pages




dpdk




size
'1G'


count
32

Host Profiles

The host profiles Following things are covered:

  1. Mapping NICs of the host the Networks it would belong to. NOTE: For definition of network please refer to Networks section below.
  2. How the Bootdisk is partitioned.
  3. What all software components are enabled on the particular host.
  4. What hardware profile that host is using.
  5. Platform specific configuration for the host.

For majority of the cases, you only need two host profiles - Dataplane and Control Plane. Of course, the user can create more than 2 and use it accordingly. The below table summarizes the configurable parameters for the host profiles.



Parameter CategorySub-Category-1Sub-Category-2DescriptionExample Value 1Example Value 2
hardware_profileNANAThe hardware profile used by the hostintel_2600.yaml
primary_networkNANAThe main network used for administrationdmz
Interfaces



NANADefine each and every interfaces of the host in detail.

Name


NAName of the Interfacedmzdata1
device_linkThe name of the network link.dmzdata1
slavesNIC Aliases ctrl_nic1data_nic1
networksThe networks this interface belongs to.dmz

- private

- management














Nodes


Parameter CategorySub-Category-1Sub-Category-2Sub-Category-3Sub-Category-4DescriptionExample Value
addressing*







address




network




oob








network




 account




 credential




storage

































physical_devices



















labels



volume_group



 partitions*




name



size



part_uuid



 volume_group



 labels



 bootable



filesystem




mountpoint



fstype



mount_options



fs_uuid



fs_label

volume_groups















vg_uuid



logical_volumes*




name



lv_uuid



size



 filesystem




mountpoint



fstype



  mount_options



 fs_uuid



fs_label

 platform




















image




kernel




kernel_params




    metadata








tags*



 owner_data



 rack



boot_mac



    host_profile




    hardware_profile




    primary_network




    interfaces







          device_link



          slaves*



          networks*



*: Array of Values.


Network Definition

Network

ParameterSub-CategoryDescriptionExample Value
cidr


ranges*



type


start


end

dns



domain


servers

dhcp_relay



self_ip


upstream_target

mtu


vlan


routedomain


routes*



subnet


gateway


metric


routedomain

labels



ParameterSub-CategoryDescriptionExample Value
bonding



mode


hash


peer_rate


mon_rate


up_delay


down_delay

mtu


linkspeed


trunking



mode


default_network

allowed_networks*


labels


Software


PKI-Catalog


Secrets

Publickeys of the Users.

Path: site/<site_name>/secrets/publickey/<username>_ssh_public_key.yaml

The public key of the user is added as 'data'.

Passphrases of the users

Path: site/<site_name>/secrets/publickey/<username>_crypt_password.yaml

Put a passphrase for the user as 'data'.

Actions

ParameterSub-Category-1sub-category-2DescriptionExample Value
signaling



assets




items




path



location



type
'unit','file', 'pkg_list


data



location_pipeline
template


data_pipeline
base64_encode', 'template', 'base64_decode', 'utf8_encode','utf8_decode'


permissions

node_filter




filter_set_type



filter_set items




filter_type



node_names



node_tags



node_labels



rack_names



rack_labels


Rack


ParameterSub-CategoryDescriptionExample Value
tor_switches



mgmt_ip


sdn_api_uri

location



clli


grid

local_networks*


labels



Region


ParameterSub-CategoryDescriptionExample Value
tag_definitions*



tag


definition_type
lshw_xpath

definition

authorized_keys*


repositories



remove_unlisted


repo_type+


url+


distributions


subrepos


components


gpgkey


arches+


options

  • No labels