summaryrefslogtreecommitdiffstats
path: root/config/pdf
diff options
context:
space:
mode:
Diffstat (limited to 'config/pdf')
-rw-r--r--config/pdf/idf-pod1.schema.yaml35
-rw-r--r--config/pdf/pod1.encrypted.yaml4
-rw-r--r--config/pdf/pod1.schema.yaml48
-rw-r--r--config/pdf/pod1.yaml4
4 files changed, 76 insertions, 15 deletions
diff --git a/config/pdf/idf-pod1.schema.yaml b/config/pdf/idf-pod1.schema.yaml
index 49e06e69..7546279d 100644
--- a/config/pdf/idf-pod1.schema.yaml
+++ b/config/pdf/idf-pod1.schema.yaml
@@ -42,6 +42,13 @@ definitions:
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:
@@ -56,6 +63,12 @@ definitions:
network:
type: 'object'
properties:
+ interface_mtu:
+ type: 'number'
+ ntp_strata_host1:
+ type: 'string'
+ ntp_strata_host2:
+ type: 'string'
node:
type: 'array'
items:
@@ -132,6 +145,20 @@ definitions:
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
@@ -153,7 +180,7 @@ properties:
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:
@@ -164,6 +191,8 @@ properties:
type: 'object'
osa:
type: ['object', 'null']
+ kubespray:
+ type: ['object', 'null']
required: ['version']
additionalProperties: false
############################################################################
@@ -183,12 +212,16 @@ properties:
$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
diff --git a/config/pdf/pod1.encrypted.yaml b/config/pdf/pod1.encrypted.yaml
index b5c78b50..c2512632 100644
--- a/config/pdf/pod1.encrypted.yaml
+++ b/config/pdf/pod1.encrypted.yaml
@@ -54,7 +54,8 @@ jumphost:
os: ubuntu-14.04
remote_params: &remote_params
# hardware management tool
- type: {ipmi|amt}
+ type: {ipmi|amt|libvirt}
+ # array of supported versions, mandatory for all but 'libvirt'
versions:
- 1.0
- 2.0
@@ -82,6 +83,7 @@ jumphost:
remote_management:
<<: *remote_params
address: 10.4.7.3/24
+ # MAC address is mandatory for all BMC types but 'libvirt'
mac_address: "10:23:45:67:89:AC"
# physical interface list
interfaces:
diff --git a/config/pdf/pod1.schema.yaml b/config/pdf/pod1.schema.yaml
index 2a96d0b2..4de326ed 100644
--- a/config/pdf/pod1.schema.yaml
+++ b/config/pdf/pod1.schema.yaml
@@ -69,25 +69,49 @@ definitions:
additionalProperties: false
remote_management:
v1.0:
- type: 'object'
properties:
- type:
- type: 'string'
- enum: ['ipmi', 'amt']
- versions:
- type: 'array'
- items:
- type: 'number'
- enum: [1.0, 2.0]
user:
type: 'string'
pass:
type: 'string'
+ port:
+ type: 'number'
+ privilege_level:
+ type: 'string'
+ type:
+ type: 'string'
+ versions:
+ type: 'array'
address:
- $ref: '#/definitions/ip_address'
+ type: 'string'
mac_address:
- $ref: '#/definitions/mac_address'
- required: ['type', 'versions', 'user', 'pass', 'address', 'mac_address']
+ type: 'string'
+ # These subsections are best validated separately for baremetal/virtual
+ oneOf:
+ - type: 'object'
+ properties:
+ type:
+ type: 'string'
+ enum: ['ipmi', 'amt']
+ versions:
+ type: 'array'
+ items:
+ type: 'number'
+ enum: [1.0, 2.0]
+ address:
+ $ref: '#/definitions/ip_address'
+ mac_address:
+ $ref: '#/definitions/mac_address'
+ required: ['type', 'versions', 'address', 'mac_address']
+ - type: 'object'
+ properties:
+ type:
+ type: 'string'
+ enum: ['libvirt']
+ address:
+ type: 'string' # Loose validation of libvirt URI for now
+ required: ['type', 'address']
+ required: ['user', 'pass']
additionalProperties: false
interfaces:
v1.0:
diff --git a/config/pdf/pod1.yaml b/config/pdf/pod1.yaml
index d0cd7931..4ea751ec 100644
--- a/config/pdf/pod1.yaml
+++ b/config/pdf/pod1.yaml
@@ -54,7 +54,8 @@ jumphost:
os: ubuntu-14.04
remote_params: &remote_params
# hardware management tool
- type: {ipmi|amt}
+ type: {ipmi|amt|libvirt}
+ # array of supported versions, mandatory for all but 'libvirt'
versions:
- 1.0
- 2.0
@@ -63,6 +64,7 @@ jumphost:
remote_management:
<<: *remote_params
address: 10.4.7.3/24
+ # MAC address is mandatory for all BMC types but 'libvirt'
mac_address: "10:23:45:67:89:AC"
# physical interface list
interfaces: