type: ['string', 'null']
required: ['admin', 'mgmt', 'private', 'public']
additionalProperties: false
+ trunks:
+ type: 'object'
+ properties:
+ mgmt:
+ type: 'boolean'
+ required: ['mgmt']
+ additionalProperties: false
required: ['bridges']
additionalProperties: false
maas:
network:
type: 'object'
properties:
+ interface_mtu:
+ type: 'number'
+ ntp_strata_host1:
+ type: 'string'
+ ntp_strata_host2:
+ type: 'string'
node:
type: 'array'
items:
additionalProperties: false
required: ['node']
additionalProperties: false
+ reclass: # Optional
+ type: 'object'
+ properties:
+ node:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ compute_params:
+ type: 'object'
+ properties:
+ common: # Optional
+ type: 'object'
+ properties: &compute_params_common_properties
+ nova_cpu_pinning: # Optional
+ type: 'string'
+ compute_hugepages_size:
+ type: 'string'
+ enum: ['2M', '1G']
+ compute_hugepages_count:
+ type: 'number'
+ compute_hugepages_mount:
+ type: 'string'
+ compute_kernel_isolcpu: # Optional
+ type: 'string'
+ compute_ovs_pmd_cpu_mask: # Optional
+ type: ['string', 'number']
+ compute_ovs_memory_channels: # Optional
+ type: ['string', 'number']
+ required: ['compute_hugepages_size', 'compute_hugepages_count',
+ 'compute_hugepages_mount']
+ additionalProperties: false
+ dpdk: # Optional
+ type: 'object'
+ properties:
+ <<: *compute_params_common_properties
+ compute_dpdk_driver:
+ type: 'string'
+ compute_ovs_dpdk_socket_mem:
+ type: ['string', 'number']
+ compute_ovs_dpdk_lcore_mask:
+ type: ['string', 'number']
+ dpdk0_driver:
+ type: 'string'
+ dpdk0_n_rxq:
+ type: 'number'
+ required: ['compute_dpdk_driver', 'dpdk0_driver', 'dpdk0_n_rxq',
+ 'compute_ovs_dpdk_socket_mem',
+ 'compute_ovs_dpdk_lcore_mask']
+ additionalProperties: false
+ additionalProperties: false
+ required: ['compute_params']
+ additionalProperties: false
+ required: ['node']
+ additionalProperties: false
required: ['jumphost', 'network']
additionalProperties: false
osa:
v0.1:
type: 'object'
+ properties:
+ nodes_roles:
+ type: 'object'
+ groups:
+ type: 'object'
+ hostnames:
+ type: 'object'
+ network:
+ type: 'object'
+ required: ['nodes_roles', 'groups', 'hostnames', 'network']
+ additionalProperties: false
+ kubespray:
+ v0.1:
+ type: ['object', 'null']
# NOTE: To be properly modeled by XCI maintainers
##############################################################################
type: 'array'
items:
type: 'string'
- enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid', 'osa']
+ enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid', 'osa', 'kubespray']
net_config:
type: 'object'
compass:
fuel:
type: 'object'
osa:
- type: 'object'
+ type: ['object', 'null']
+ kubespray:
+ type: ['object', 'null']
required: ['version']
additionalProperties: false
############################################################################
$ref: '#/definitions/fuel/v0.1'
osa:
$ref: '#/definitions/osa/v0.1'
+ kubespray:
+ $ref: '#/definitions/kubespray/v0.1'
fuel:
required: ['net_config']
daisy:
required: ['net_config']
osa:
required: ['net_config']
+ kubespray:
+ required: ['net_config']
+ xci:
+ type: 'object'
+ # NOTE: To be properly modeled by XCI maintainers
# Do not allow any properties not defined here. This lets us catch typos.
additionalProperties: false