
We've been using old cirros-0.4.0 for long time, and don't need to fix the version of cirros to 0.4.0. This patch is update to the latest 0.5.2. Most of the changes in this patch is replacing `image`, `hash` and `version` in TOSCA definition files. The rest of them are: * Replace images. First one is only an actual image, and rest of them are empty text files which is a trick for reducing total size in tacker repo. So, text files are not replaced, but renamed simply. * tacker/tests/etc/samples/etsi/nfv/common/Files/images/cirros-0.5.2-x86_64-disk.img * samples/vnf_packages/Files/images/cirros-0.5.2-x86_64-disk.img * tacker/tests/etc/samples/etsi/nfv/test_csar_utils_data/sample_vnfpkg_no_meta_single_vnfd/Files/images/cirros-0.5.2-x86_64-disk.img * tacker/tests/etc/samples/sample_vnf_package_csar_in_meta_and_manifest/Files/images/cirros-0.5.2-x86_64-disk.img * Update functional tests verifying images. A refactor of defining package size is included. * Update devstack script, and helper scripts under `contrib` dir. * Update API references and documents describing usage of the image. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com> Implements: blueprint update-cirros-052 Change-Id: I081b791dc986ab10f4845784b3e19dbb626e3cac
5.0 KiB
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'