VNF zero impact host maintenance¶
Tacker allows you to maintenance host with VNF zero impact. Maintenance
workflows will be performed in the Fenix
service by creating a session
which can do scaling, migrating VNFs and patch hosts.
References¶
Installation and configurations¶
You need Fenix, Ceilometer and Aodh OpenStack services.
Modify the below configuration files:
/etc/ceilometer/event_pipeline.yaml
sinks:
- name: event_sink
publishers:
- panko://
- notifier://
- notifier://?topic=alarm.all
/etc/ceilometer/event_definitions.yaml:
- event_type: 'maintenance.scheduled'
traits:
service:
fields: payload.service
allowed_actions:
fields: payload.allowed_actions
instance_ids:
fields: payload.instance_ids
reply_url:
fields: payload.reply_url
state:
fields: payload.state
session_id:
fields: payload.session_id
actions_at:
fields: payload.actions_at
type: datetime
project_id:
fields: payload.project_id
reply_at:
fields: payload.reply_at
type: datetime
metadata:
fields: payload.metadata
- event_type: 'maintenance.host'
traits:
host:
fields: payload.host
project_id:
fields: payload.project_id
session_id:
fields: payload.session_id
state:
fields: payload.state
Deploying maintenance tosca template with tacker¶
When template is normal¶
If Fenix
service is enabled and maintenance event_types are defined, then
all VNF created by legacy VNFM will get ALL_MAINTENANCE
resource in Stack.
resources:
ALL_maintenance:
properties:
alarm_actions:
- http://openstack-master:9890/v1.0/vnfs/e8b9bec5-541b-492c-954e-cd4af71eda1f/maintenance/0cc65f4bba9c42bfadf4aebec6ae7348/hbyhgkav
event_type: maintenance.scheduled
type: OS::Aodh::EventAlarm
When template has maintenance property¶
If VDU in VNFD has maintenance property, then VNFM creates
[VDU_NAME]_MAINTENANCE
alarm resources and will be use for VNF software
modification later. This is not works yet. It will be updated.
Sample tosca-template
:
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: VNF TOSCA template with maintenance
metadata:
template_name: sample-tosca-vnfd-maintenance
topology_template:
node_templates:
VDU1:
type: tosca.nodes.nfv.VDU.Tacker
properties:
maintenance: True
image: cirros-0.5.2-x86_64-disk
capabilities:
nfv_compute:
properties:
disk_size: 1 GB
mem_size: 512 MB
num_cpus: 2
CP1:
type: tosca.nodes.nfv.CP.Tacker
properties:
management: true
order: 0
anti_spoofing_protection: false
requirements:
- virtualLink:
node: VL1
- virtualBinding:
node: VDU1
VL1:
type: tosca.nodes.nfv.VL
properties:
network_name: net_mgmt
vendor: Tacker
policies:
- SP1:
type: tosca.policies.tacker.Scaling
properties:
increment: 1
cooldown: 120
min_instances: 1
max_instances: 3
default_instances: 2
targets: [VDU1]
Configure maintenance constraints with config yaml¶
When Fenix
does maintenance, it requires some constraints for zero impact.
Like below config file, each VNF can set and update constraints.
maintenance:
max_impacted_members: 1
recovery_time: 60,
mitigation_type: True,
lead_time: 120,
migration_type: 'MIGRATE'