diff options
Diffstat (limited to 'config/pdf')
-rw-r--r-- | config/pdf/pod1.encrypted.yaml | 4 | ||||
-rw-r--r-- | config/pdf/pod1.schema.yaml | 44 | ||||
-rw-r--r-- | config/pdf/pod1.yaml | 4 |
3 files changed, 38 insertions, 14 deletions
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..33b2d8c3 100644 --- a/config/pdf/pod1.schema.yaml +++ b/config/pdf/pod1.schema.yaml @@ -69,25 +69,45 @@ 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' + 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: |