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
fetched
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
table.
A lot of the content fetching code has been reused from
glance/api/v2/image_data.py ResponseSerializer class
download function
Blueprint: bp/enhance-vnf-package-support-part1
Change-Id: Ib49ef8b1e81ca4a4b7e3ac4a0836c111ce7da4a3
Implement new method of VNF lifecycle management using LCM operation
user data.
Change-Id: Ib2fbe341b5d26758f0b48dc19e3e05810c2c830f
Blueprint: support-etsi-nfv-specs
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 <prashant.bhole@nttdata.com>
Change-Id: I1513d7d87967de5248787cd298c3bec65c2dde9d
Implements: bp/enhance-vnf-package-support-part1
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
Implemented instantiate vnf instance API.
* GET /vnflcm/v1/vnf_instances/{vnf_instance_id}/instantiate
Co-authored-By: Nitin Uikey <nitin.uikey@nttdata.com>
Co-authored-By: tpatil <tushar.vitthal.patil@gmail.com>
Co-authored-By: Ajay Parja <ajay.parja@nttdata.com>
Co-authored-By: Shubham Potale <shubham.potale@nttdata.com>
Co-authored-By: Sameer Thakur <sameer.thakur@nttdata.com>
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] : https://review.opendev.org/#/c/710368
Change-Id: Ic30f8d730d54e3af1345816ffa1bfb702cd00694
Blueprint: support-etsi-nfv-specs
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
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
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
issue.
Change-Id: I353e9d9d70dc6249a62dcdd1281b7b60d28d7d30
Closes-Bug: #1813135
Depends-On: Ib95ed31c70073cb732d41defe5bdc8027eadfeec
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]
[1]: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.05.01_60/gs_NFV-SOL003v020501p.pdf
Implements: blueprint vdu-auto-healing
Change-Id: If62acbdac41c92842de0ae3b7dedcda9fd1f86e6
Remove the skip line in this file, and make some changes to
make them pass.
Partially Implements: blueprint test-addition-refactoring
Change-Id: I6b747da14bc743dbd2b79a6629e761d316de629f
Adding some corresponding directories to UT, and
moving some cases to right places.
Partially Implements: blueprint test-addition-refactoring
Change-Id: Ic47ea2640c89787ac291c31db51a8529f73a66a3
Currently, keystone_authtoken.auth_url is working at
`http://127.0.0.1/identity`, not `http://127.0.0.1:5000` 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
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
- This patch aims to add support for following placement policies in
addition to the default 'affinity' policy:
anti-affinity
soft-affinity
soft-anti-affinity
- 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 <tushar.vitthal.patil@gmail.com>
Implements: blueprint vdu-affinity-policy
Change-Id: I18aaa9d00c8539ccc60cb6e70570dee124df70a3
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
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
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
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
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
Functional test cases refer to kesytone auth url version v2.0.
This version is deprecated. Update to v3.
Change-Id: I0676f8b5c7a5925de649f7a8909188ffbe7fd5ca
Closes-bug: 1594448
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
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
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
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
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
data.
In addition, some verbose debug information is inserted into code to
help to diagnose problem.
Change-Id: I066ce769de17ad3179193b436f5a644b76233a1e
Closes-bug: #1617923
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