VNF zero impact host maintenance¶
Warning
Legacy Tacker features excluding VIM feature are deprecated and will be removed in the first major release after the Tacker server version 9.0.0 (2023.1 Antelope release).
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'
