Commit Graph

78 Commits (ab50e471b976d2820b8f2ff30de1534491e79f3a)

Author SHA1 Message Date
Sameer d3cc82139e Fetch an on-boarded VNF package with HTTP_RANGE
The GET method fetches the content of a VNF package identified by
the VNF package identifier allocated by the NFVO.

The 'HTTP_RANGE' header is inspected for a valid value.
If it is present and valid, then the package content within
the range is fetched.If not present the entire content is

A 'size' column has been added to vnf_packages db table.
When the VNF package content is uploaded, the size of the
csar zip is persisted in this newly added 'size' column of
vnf_packages db table.

When VNF_Package content is fetched for the first time, its size is
retrieved from glance store and the size column in vnf packages table
is populated with this value. For subsequent fetch calls the size of
csar file content is retrieved from 'size' column in vnf_packages

A lot of the content fetching code has been reused from
glance/api/v2/ ResponseSerializer class
download function

Blueprint: bp/enhance-vnf-package-support-part1

Change-Id: Ib49ef8b1e81ca4a4b7e3ac4a0836c111ce7da4a3
3 years ago
Zuul ffee7ed0dc Merge "Support LCM operation with user data" 3 years ago
Hiroo Kitamura 62813239e1 Support LCM operation with user data
Implement new method of VNF lifecycle management using LCM operation
user data.

Change-Id: Ib2fbe341b5d26758f0b48dc19e3e05810c2c830f
Blueprint: support-etsi-nfv-specs
3 years ago
tpatil 3f5c81604e Support attribute filtering for GET /vnf_packages API
Certain resource representations can become quite big, in particular
``GET /vnfpackages`` API which is a container for multiple sub-resources.
In these cases, it can be desired to reduce the amount of data exchanged
over the interface and processed by the API consumer application.

An attribute selector i.e filter, allows the API consumer to choose
which attributes it wants to be contained in the response. Only
attributes that are not required to be present, i.e. those with
a lower bound of zero on their cardinality (e.g. 0..1, 0..N)
and that are not conditionally mandatory, are allowed to be omitted
as part of the selection process.

This patch implements attribute filtering for ``GET /vnfpackages`` API.

It will support following query parameters:-
* filter: Filter criterion built with attributes of VNF Package and
REST operators.
* all_fields: Return all fields
* fields=<list> : Return fields specified in the <list>
* exclude_fields=<list>: Return fields not specified in the <list>
* exclude_default parameters: Return all fields except default fields
* exclude_default and fields=<list>: Return all fields except default
fields and fields in the <list>
* When no parameter is specified it is treated as exclude_default.

You can find more details about supported query parameters in document:
ETSI GS NFV-SOL 013 V2.6.1 (2019-03 in section 5.2 and 5.3

Co-Authored-By: Prashant Bhole <>

Change-Id: I1513d7d87967de5248787cd298c3bec65c2dde9d
Implements: bp/enhance-vnf-package-support-part1
3 years ago
tpatil 428096a247 Add functional tests for vnflcm APIs
Added functional tests for all support vnflcm APIs:-
1. Create Vnf instance API
2. Instantiate Vnf API
3. Heal Vnf API
4. Terminate Vnf API
5. List Vnf API
6. Show API
7. Delete API

Change-Id: Id8aff0f41caed6d52b20e7e5604dc28d8c56c567
blueprint: bp/support-etsi-nfv-specs
3 years ago
Niraj a14590620b Add instantiate vnf instance API
Implemented instantiate vnf instance API.

* GET /vnflcm/v1/vnf_instances/{vnf_instance_id}/instantiate

Co-authored-By: Nitin Uikey <>
Co-authored-By: tpatil <>
Co-authored-By: Ajay Parja <>
Co-authored-By: Shubham Potale <>
Co-authored-By: Sameer Thakur <>

Updated lower-constraints openstacksdk version to 0.44.0 as it
includes fix[1] which is required to create images from filename
which further requires to upgrade os-service-types, keystoneauth1
and decorato to higher versions.

[1] :

Change-Id: Ic30f8d730d54e3af1345816ffa1bfb702cd00694
Blueprint: support-etsi-nfv-specs
3 years ago
Niraj 848ab62a8d Fix upload vnf_package with single yaml file csar
This patch fixes the issue for uploading single yaml casr.
It was reading the flavour details from the nested template
only in the earlier code.

Change-Id: Ibf86ed06e940a0b9aaaa8eaf63f3249be1462e36
Closes-Bug: #1861754
3 years ago
Hiroo Kitamura 3f3cee41c0 Support updating VNF parameters in tacker
Implementation to update parameters of created VNF in tacker.

Change-Id: I7746644f7340ea8e25150f9fd8fbc59ec4e5c720
3 years ago
nirajsingh 83bc8468b6 Allow VNF package upload without policies
If you upload a vnf package without policies, currently
it fails with an error message:
 "InvalidCSAR: 'NoneType' object is not iterable".

This patch fixes this issue.

Closes-Bug: #1847745

Change-Id: I4d6907b4da639e62294f07cbc767a176af04337c
4 years ago
Niraj Singh 4fa204b370 Add vnf packages RestFul APIs
Implemented following APIs:-

* GET    /vnf_packages
* POST   /vnf_packages/
* GET    /vnf_packages/{vnfPkgId}
* DELETE /vnf_packages/{vnfPkgId}
* PUT    /vnf_packages/{vnfPkgId}/package_content
* POST   /vnf_packages/{vnfPkgId}/package_content/upload_from_uri

Partial-Implements: blueprint tosca-csar-mgmt-driver

Depends-On: If8155399df12a96cb86631dfa22eaca7a5a8d398

Co-Author: Neha Alhat <>
Change-Id: Id3b4812e24a1ed84fe94429e074f96ae11530517
4 years ago
Cong Phuoc Hoang c981d65451 Fix issue in 'post_process_heat_template' function
If users specify parameters in 'flavor' or 'image' properties
of a VDU, HOT template can not be processed properly because
there is a missmatch between TOSCA and HOT template.

This patch will change 'get_input' to 'get_param' to fix that

Change-Id: I353e9d9d70dc6249a62dcdd1281b7b60d28d7d30
Closes-Bug: #1813135
Depends-On: Ib95ed31c70073cb732d41defe5bdc8027eadfeec
4 years ago
niraj singh 1d7cd6f604 Add functional test for reservation support
Added functional test for reservation support.

Implements: blueprint reservation-vnfm
Change-Id: Ia09240875bd5c0ceb70602d73a0a5c94a4dde060
4 years ago
bhagyashris 5f1e48ff46 Add new policy action: vdu_autoheal
This patch adds below functionality:

- New policy action ``vdu_autoheal`` for recovering failed VDUs
  as reported by the respective monitoring driver configured in
  the monitoring policy of the VNFD template.

- Add unit/functional tests.

- Added oslo_versioned library to implement HealVnfRequest object.

Note: The implementation of vdu_autoheal policy action will support
HealVnfRequest interface  as mentioned in the ETSI standard [1]


Implements: blueprint vdu-auto-healing
Change-Id: If62acbdac41c92842de0ae3b7dedcda9fd1f86e6
4 years ago
Cong Phuoc Hoang f860185f56 Modify image name to cirros-0.4.0-x86_64-disk
Change-Id: I770c78180032b3da473f26e64151b799cf800ee3
4 years ago
Yan Xing'an 929183a893 Enable UT
Remove the skip line in this file, and make some changes to
make them pass.

Partially Implements: blueprint test-addition-refactoring

Change-Id: I6b747da14bc743dbd2b79a6629e761d316de629f
5 years ago
Yan Xing'an dabd18d326 Refactoring UT directories
Adding some corresponding directories to UT, and
moving some cases to right places.

Partially Implements: blueprint test-addition-refactoring

Change-Id: Ic47ea2640c89787ac291c31db51a8529f73a66a3
5 years ago
Kim Bao Long 9a7ce4f83c Update Keystone auth_url in vim_config.yaml
Currently, keystone_authtoken.auth_url is working at
``, not `` as shown in
sample vim_config.yaml. So this patch aims to update the outdated
auth_url in vim_config.yaml file

Change-Id: I9e66ab5cd365c7bc70c80974fa891fc2e6ddd96f
5 years ago
hoangphuocbk 0da9469017 Move usage from deprecated Ceilometer API to Gnocchi API
This removes usage of deprecated Ceilometer API

1. Changing trigger type from "OS::Ceilometer::Alarm"
to "OS::Aodh::GnocchiAggregationByResourcesAlarm"
2. Add "resource_type" fixed with value "instance"
3. Change some paramters (meter_name-> metric,
statistic ->aggregation_method, period-> granularity)
4. Change value from "average" to "mean" in method to
compare to the threshold

Change-Id: I486c14cbc9d05a0e826bbef1ad181bdcb2d8c951
Closes-Bug: #1735484
5 years ago
Zuul 7a0efa8007 Merge "Add placement policies support" 5 years ago
dineshbhor f47bf1ba32 Add placement policies support
- This patch aims to add support for following placement policies in
  addition to the default 'affinity' policy:

- This patch adds respective functional/unit test cases. To test
  "anti-affinity" policy on the gate, changed the devstack functional
  jobs `nodeset` from the default single node to "openstack-two-node".

- This patch also adds respective documentation and usage guide for
  the above added policies.

Depends-On: I56a9cf4bb553c8026eec73212a3742d5eab17420
Co-Author: tpatil <>
Implements: blueprint vdu-affinity-policy
Change-Id: I18aaa9d00c8539ccc60cb6e70570dee124df70a3
5 years ago
Nguyen Hai f16ac7c79f Update cirros to 0.4.0
Change-Id: Ie4ff403f803a16ca53c91c7d10d71ec80fbe1a9b
5 years ago
dharmendra c99fa62a9e Add functional test for ns-vnffg
Change-Id: Ie669da571a605a7635fd490475aeef80b75c9b2c
Partially-implements: blueprint vnffg-ns
5 years ago
Nguyen Hai e095f9c486 Change vendor name in repo to Tacker
Change-Id: I2999e1ed0225b24a366dc6160a6bb9edb1a828d3
5 years ago
gongysh fb50684adc Remove old style ssl setting
devstack is using apache as a ssl proxy for wsgi api service.
Current tacker does not support it. We remove it for the time being

This patch also skip scale unit tests which failed due to
heat translator change. The unit test will be enabled at
another patch.

Change-Id: If767d05a0241888663f0ff21282cebfd256efb49
Closes-bug: 1755664
5 years ago
Bharath Thiruveedula 57c4847071 Implement Block Storage Support - Part 1
This patch adds support to attach volumes to VDU.
This patch does not deal with boot from volume case.

Change-Id: I4bee80610eaa4e2ec8a1ccb2a5d36fb723a09806
Implements: persistent-block-storage
6 years ago
doantungbk af7d3d7cb1 Refactor scaling and monitoring policies in Tacker
1. scaling and monitoring policy nodes got failed

From tosca-parser 0.8.0, tosca nodes required to be validated.
Unfortunately, the scaling and monitoring policies are not fully
leveraged tosca-parser. This patch will fix this issue.

2. Multiple alarm actions support

Closes-bug: #1682098

Change-Id: I29cb35edfe2447628fa93c64583e5cb4f7bee2f8
6 years ago
Saju Madhavan 52bdf321c4 Assign floating IP to the vdu
Assign floating IP to the vdu using TOSCA template

Change-Id: I53a89397c1ef676f1a21bc1378c91aece65a3d91
Closes-Bug: 1537636
6 years ago
doantungbk 829f50e915 Refactor: separating backend actions out from monitor
Currently, backend actions are tightly coupled with monitor module.
This is like a barrier when we have a various actions in the future.
Also, it will be good for separating monitoring-related features out
from tacker-server. This patch also proposes a policy action framework so
that VNF operators can easily add their own actions.

Change-Id: I6ad163f7435c3b778810f96c506c77298be0c53d
Closes-bug: #1582446
6 years ago
yong sheng gong 242c279091 Make vim test config file aware of devstack keystone setting
Closes-Bug: #1684335
Depends-On: I4b0836a6a241de2ddebf175445fd86a0bf8dcf85

Change-Id: I930bd3b7e177754db4011c3b096207d44a69d28c
6 years ago
doantungbk 73384e4db3 Fix monitoring issue for multiple VDUs
Tacker failed to support monitoring for multiple VDUs.
In addtiion, multi-vdu testing have not been mentioned in unit test.
This patch will fixed the above issues.

Change-Id: Ib4497a530439110bf149f1104c74ba4bdc96ba0a
Closes-bug: #1668587
6 years ago
Bharath Thiruveedula 6797945d5d Modify glance image name to cirros-0.3.5-x86_64-disk
Change-Id: I0a95ff408f7ac4d1d59d7d839e2ebd8cd3359c8b
Closes-Bug: #1665220
6 years ago
Bharath Thiruveedula ccb79934ec Implement VNFC support
Change-Id: Ib3be5c8c19b17bac4add76c0210c1ec7af3d99ac
implements-blueprint: vnf-components-support
Co-Authored-By: Manikantha Srinivas Tadi <>
6 years ago
Jenkins bd5225409e Merge "Upgrade keystone version from v2.0 t v3 in functional test cases" 6 years ago
Jenkins 6e729d58d8 Merge "Remove support for legacy VNFD templates." 6 years ago
dharmendra d0c419cd5b Upgrade keystone version from v2.0 t v3 in functional test cases
Functional test cases refer to kesytone auth url version v2.0.
This version is deprecated. Update to v3.

Change-Id: I0676f8b5c7a5925de649f7a8909188ffbe7fd5ca
Closes-bug: 1594448
6 years ago
dharmendra 15c4d7ec5d Implement NSD Support part 2
This patchset adds mistral workflow, tests, sample templates
and user guide for NSD

Change-Id: If53081bc76a5436287b307538a1255c65fc71cb2
Co-Authored-By: Bharath Thiruveedula<>
Partially-implements: blueprint nsd-support
6 years ago
dharmendra 542c2afd2f Remove support for legacy VNFD templates.
In continuation of,
removing missing legacy template parts.

Change-Id: I5c3e07916b87f78b386be4c321897c1f24f7e51a
6 years ago
dharmendra eedd840236 Remove support for legacy VNFD templates.
From Mitaka version, Tacker supports TOSCA based VNFD templates. Legacy
templates described under tacker/samples/legacy-templates are deprecated
in newton. Removing in Ocata.

Implements: blueprint deprecate-legacy-template-dsl
Closes-Bug: #1632214
Change-Id: I39f200bb536f4c5d10c920fc1c93bf8f382ca6c2
6 years ago
doantungbk 0eafa5b1bf RFE alarm monitor: Fix hardcoded metadata,add func. test
This patch will focus on:
1. Fixing hardcoded metadata
2. Adding functional test for alarm monitor
3. Refactoring tosca template for alarm monitor
4. Refactoring scaling in/out support in alarm monitor
5. Supporting multi-trigger

Partial-bug: #1630614
Change-Id: Ic5d0046d0dc0b4381713bda01c485cecae17abea
7 years ago
xu-haiwei 6ccea5f268 Fix resource type miss in vnfd scale template
For vnf scaling, the policy type which is defined in
tacker_def.yaml is 'tosca.policies.tacker.Scaling'.
So all the scaling policy should use this type.
Currently there are some typos when using this policy type.

Change-Id: I8f60c1712007756bb8b6650e053e0d7069f0f9ba
Closes-Bug: #1637895
7 years ago
Jenkins 3691eed057 Merge "Add functional tests for ConnectionPoint features" 7 years ago
Santosh Kodicherla 56d595d7bc Add functional tests for ConnectionPoint features
Functional tests exercising static_ip address and anti_spoof_protection
(port_security_enabled) properties of ConnectionPoint.

Closes-Bug: #1585788

Change-Id: I3f90aaa5be08cd1cc67d0663b559a85c4603f12c
7 years ago
Jenkins e180409e8e Merge "Provide support for security groups for ConnectionPoints" 7 years ago
Tin Lam 043c147690 Provide support for security groups for ConnectionPoints
Add option for providing security groups in ConnectionPoint
node_type of TOSCA VNF templates.

Co-Authored-By: Sridhar Ramaswamy <>

Change-Id: I5fabaa8a33d684a591364510ed6d3df93989c419
Closes-Bug: #1591372
7 years ago
Jenkins bd127c9e87 Merge "VNF scaling: Functional test" 7 years ago
Kanagaraj Manickam f291eda290 VNF scaling: Functional test
implements blueprint: #vnf-scaling

Change-Id: I29269369faf57766ac51c2d12e10fecc1331e474
7 years ago
dharmendra c7c0dc9bc4 Allow vdu (VM) names to be specified as a parameter
Adding support to accept name property in the VDU TOSCA node type
which will be passed to Heat to create the VM with this specific name.

Closes-bug: 1570557
Change-Id: Iac0ae4397edcc5398cf8c1fdede709c6e903cceb
7 years ago
gong yong sheng b1896e743e Fix the monitor bug
The VDU VM's dead simulation depends on metadata service which needs
virtual routers, or config drive.

This patch adds "config_drive: true" to all templates which need user

In addition, some verbose debug information is inserted into code to
help to diagnose problem.

Change-Id: I066ce769de17ad3179193b436f5a644b76233a1e
Closes-bug: #1617923
7 years ago
Jenkins 02b52400ea Merge " Adding Tacker functional tests with parameterization using tosca template" 7 years ago
gong yong sheng 52073b010f Add domain name info into auth for keystone v3
domain name information should be in VIM configure, which is
different from keystone configuration in tacker.conf.

Also domain name is prefered to domain id.

Change-Id: Iec492e55ff763f92304c129d2373e544269f6271
Partial-bug: #1603851
7 years ago