fenix/doc/source/api-ref/v1/parameters.yaml

278 lines
7.1 KiB
YAML

#############################################################################
# Variables in header #
#############################################################################
#############################################################################
# Variables in path #
#############################################################################
group-uuid-path:
description: |
Instance group uuid. Should match with OpenStack server group if one exists.
in: path
required: true
type: string
session_id:
description: |
Session ID
in: path
required: true
type: string
uuid-path:
description: |
uuid
in: path
required: true
type: string
#############################################################################
# Variables in query #
#############################################################################
#############################################################################
# Variables in body #
#############################################################################
action-metadata:
description: |
Metadata; hints to plug-ins
in: body
required: true
type: dictionary
action-plugin-name:
description: |
plug-in name. Default workflow executes same type of plug-ins in an
alphabetical order
in: body
required: true
type: string
action-plugin-type:
description: |
Type of the action plug-in. Default workflow supports:
* pre: executed before the host specific plug-ins
* post: executed after the host specific plug-ins
* host: executed for every host
* compute: executed for every compute host
* controller: executed for every controller host
in: body
required: true
type: integer
action-plugins:
description: |
List of action plug-ins.
in: body
required: false
type: list of dictionaries
boolean:
description: |
Boolean
in: body
required: true
type: boolean
group-uuid:
description: |
Instance group uuid. Should match with OpenStack server group if one exists.
in: body
required: true
type: string
hosts:
description: |
Hosts to be maintained. An empty list can indicate hosts are to be
discovered.
in: body
required: false
type: list of strings
instance-action:
description: |
Action string
in: body
required: true
type: string
instance-actions:
description: |
instance ID : action string. This variable is not needed in reply to state
MAINTENANCE, SCALE_IN or MAINTENANCE_COMPLETE
in: body
required: true
type: dictionary
instance-group:
description: |
Instance group name. Should match with OpenStack server group if one exists.
in: body
required: true
type: string
instance-ids:
description: |
List of instance IDs.
in: body
required: true
type: list of strings
instance-name:
description: |
Instance name.
in: body
required: true
type: string
lead-time:
description: |
How long lead time VNF needs for 'migration_type' operation. VNF needs to
report back to Fenix as soon as it is ready, but at least within this
time. Reporting as fast as can is crucial for optimizing
infrastructure upgrade/maintenance. Zero value means interaction with
VNFM is not used for this instance, but instance_group recovery_time
needs to be obeyed towards max_impacted_members.
in: body
required: true
type: integer
maintenance-workflow-start-time:
description: |
Maintenance workflow start time.
in: body
required: true
type: string
max-impacted-members:
description: |
Maximum amount of instances that can be impacted.
Note! This can be dynamic to VNF load. This is important to know how many
instances can be scaled down and still have this value above zero to be able
to move VMs between nodes.
in: body
required: true
type: integer
max-instances-per-host:
description: |
Describes how many instance can be on same host if
anti_affinity_group: True
Already exist in OpenStack as 'max_server_per_host', but might not
exist in different clouds.
in: body
required: true
type: integer
max-interruption-time:
description: |
Seconds of how long live migration can take.
in: body
required: true
type: integer
metadata:
description: |
Metadata; like hints to projects
in: body
required: true
type: dictionary
migration-type:
description: |
LIVE_MIGRATION, MIGRATION or OWN_ACTION
Own action is create new and delete old instance.
Note! VNF need to obey resource_mitigation with own action
This affects to order of delete old and create new to not over
commit the resources.
in: body
required: true
type: string
recovery-time:
description: |
VNF recovery time after operation to instance. Workflow needs to take
into account recovery_time for previous instance moved and only then
start moving next obyeing max_impacted_members
Note! regardless anti_affinity group or not
in: body
required: true
type: integer
resource-mitigation:
description: |
Instance needs double allocation when being migrated.
This is true also if instance first scaled out and only then the old
instance is removed. It must be True also if VNF needed to scale
down, since we go over that scaled down capacity.
in: body
required: true
type: boolean
upgrade-list:
description: |
List of needed SW upgrade packages:
Default download directory is /tmp/<session_id>. Download URL with filename
including 'workflow' or 'actions' are automatically extracted to
/tmp/<session_id>/<workflow|actions>. Plugins will be used straight from those
directories if Fenix did not have a plugin with the same name. Your plugin can
have other files also that it is going to need, everything will be extracted
under those defined directories with the directory hiararchy inside the package.
Download directory and the content will be recursively removed when the session
is deleted by the admin.
in: body
required: false
type: list of dictionaries
uuid:
description: |
uuid
in: body
required: true
type: string
uuid-list:
description: |
list of UUID strings
in: body
required: true
type: string
workflow-name:
description: |
Maintenance workflow to be used.
in: body
required: true
type: string
workflow-state:
description: |
Maintenance workflow state.
in: body
required: true
type: string
workflow-state-optional:
description: |
Maintenance workflow state or previous state if not given.
The workflow will continue from this state.
in: body
required: false
type: string
workflow-state-reply:
description: |
There can have different values depending on what is the maintenance
session state to reply to. In the below example, the maintenance state is
'PLANNED_MAINTENANCE' and the reply state is formed by adding 'ACK\_' or
'NACK\_' as the prefix to reply value.
in: body
required: true
type: string