Baremetal deploy - user playbook interface

Extend the baremetal deploymend schema with per-role
'ansible_playbooks'. The user can provide a list of
playbooks and extra_vars to include when executing
the playbook. By setting 'pre_network' to 'true' the
playbook will be applied prior to configuring the
network with os-net-config.

Implements: blueprint network-data-v2-ports
Change-Id: I188ee7b47a5dd50ba485b1e8f921f0c13dd34806
This commit is contained in:
Harald Jensås 2021-04-13 13:59:28 +02:00
parent 18918fb5d0
commit 06aa65a3a6
1 changed files with 16 additions and 0 deletions

View File

@ -141,6 +141,21 @@ _INSTANCES_INPUT_SCHEMA = {
}
"""JSON schema of the instances input."""
_ROLE_ANSIBLE_PLAYBOOKS_SCHEMA = {
'type': 'array',
'items': {
'type': 'object',
'properties': {
'playbook': {'type': 'string'},
'pre_network': {'type': 'boolean'},
'extra_vars': {'type': 'object'}
},
'additionalProperties': False,
'required': ['playbook'],
}
}
"""JSON schema of the role ansible_playbooks input."""
_ROLES_INPUT_SCHEMA = {
'type': 'array',
'items': {
@ -151,6 +166,7 @@ _ROLES_INPUT_SCHEMA = {
'count': {'type': 'integer', 'minimum': 0},
'defaults': _ROLE_DEFAULTS_SCHEMA,
'instances': _INSTANCES_INPUT_SCHEMA,
'ansible_playbooks': _ROLE_ANSIBLE_PLAYBOOKS_SCHEMA,
},
'additionalProperties': False,
'required': ['name'],