v0.1:
# NOTE: I hope this is going away soon, so I won't model it yet
type: 'object'
- daisy:
- v0.1:
- type: 'object'
- # NOTE: To be properly modeled by Daisy maintainers
compass:
v0.1:
type: 'object'
# NOTE: To be properly modeled by Compass4NFV maintainers
+ daisy:
+ v0.1:
+ type: 'object'
+ # NOTE: To be properly modeled by Daisy maintainers
fuel:
v0.1:
type: 'object'
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:
+ type: 'object'
+ properties:
+ timeout_comissioning:
+ type: 'number'
+ timeout_deploying:
+ type: 'number'
+ required: ['timeout_comissioning', 'timeout_deploying']
+ additionalProperties: false
network:
type: 'object'
properties:
+ 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
##############################################################################
# Top-level structure:
version:
type: 'number'
enum: [0.1]
+ installer:
+ type: 'array'
+ items:
+ type: 'string'
+ enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid', 'osa', 'kubespray']
net_config:
type: 'object'
- fuel:
+ compass:
type: 'object'
daisy:
type: 'object'
- compass:
+ fuel:
type: 'object'
+ osa:
+ type: ['object', 'null']
+ kubespray:
+ type: ['object', 'null']
required: ['version']
additionalProperties: false
############################################################################
properties:
net_config:
$ref: '#/definitions/net_config/v0.1'
- fuel:
- $ref: '#/definitions/fuel/v0.1'
- daisy:
- $ref: '#/definitions/daisy/v0.1'
compass:
$ref: '#/definitions/compass/v0.1'
+ daisy:
+ $ref: '#/definitions/daisy/v0.1'
+ fuel:
+ $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