Usage guide for ETSI Change external VNF connectivity is added in
user docs.
This patch describes the procedure for Change external VNF
connectivity operation.
Change-Id: I6f90d8b21f08e27bea60df66479e7951cbad7b5b
This feature will enable the client to use this API to initiate
retrying Change VNF External VNF Connectivity operation when it
fails.
It is based on the ETSI NFV specification that retry can be used
when a VNF lifecycle operation is in a FAILED_TEMP state.
Implements: blueprint support-change-external-connectivity
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-change-external-VNF-connectivity-operation.html
Change-Id: Ia1d907922cdb701586f15c4840848fa8402ded3b
This feature will enable the client to use this API to perform the
following operations:
- allow client to change the external connectivity of a VNF
instance
- VNFM support to change port/network
- VNFM also supports to change ip address/mac address/
allowed_address_pair
The operations provided through additional attributes are below:
- Grant(POST)
- VNF instances (GET)
- Individual VNF Instances (GET)
- Notification Endpoint (POST)
Modified .zuul.yaml to disable image_volume_cache, since cache
Volume remains during Terminate implementation and responds to
Heat Stack deletion failure without erasing volume type.
Implements: blueprint support-change-external-connectivity
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-change-external-VNF-connectivity-operation.html
Change-Id: Ie6b8b2b46b6de24e2d2d0a8bccef87bbdfa39191
This functionality will enable tacker to test the
notification during register Subscription.
if VNFM cannot receive success response
(204 no content), VNFM will be failed Subscription
Request
- As sending management of this API, we apply
legacy CONF.
(retry_num,retry_wait, there are defined in
vnf_lcm group.)
- As sending control of this API, we add new
CONF(test_callback_uri)
- We modify(add) Notification(GET) process to
current send_notification.
Implements: blueprint support-fundamental-lcm
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-fundamental-vnf-lcm-based-on-ETSI-NFV.html
Change-Id: I2a1db1b34b687748ad939b0c867b2d78f45622da
Usage guide for ETSI NFV-SOL VNF Error-handling is added in user
docs.
Add usages for `retry` and `fail` error handling operations.
Change-Id: Ib9b93a8dd8ad6ae85cde154803c22d02bdb0b6d7
In this implementation, tacker support only "fixedAddresses" parameter.
This patch support "numDynamicAddresses" parameter in
IpOverEthernetAddress, modify to be accepted API Request.
*In this patch, support for addressRange has been postponed.
It is defined into ipAddress parameter by
ETSI SOL003 -> v2.6.1 -> 4.4.1.10c.
IpOverEthernetAddressData
-> ipAddresses
-> numDynamicAddresses
And, modify the LCM user data route so that it can use
IpOverEthernetAddressData.
Change-Id: I3f6ba1f4e1bacf1fc5295726afc7ffd8626db444
- Added support for getting Individual VNF LCM
operation occurrence by its ID
- The query information is enhanced by improving
filtering expressions and operators
- Attributes are also added including (but not
limited to):
* grant_id
* _links
* >retry
* >fail
* changedExtConnectivity
- This patch has 2 BP features (Get VNFM LCM Operation
Occurence and attributes of Change External Connectivity
are also added). Since both features are related, they are
merged to one patch. This is why this patch have 2 BPs.
- Filtering for the following attributes:
operationParams, error, resourceChanges and
changedInfo is only limited to the parent
attribute. Currently, child attributes/nested
attributes are not searchable.
Implements: blueprint support-fundamental-lcm
Implements: blueprint support-change-external-connectivity
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-fundamental-vnf-lcm-based-on-ETSI-NFV.html
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-change-external-VNF-connectivity-operation.html
Change-Id: Ie9b07c203807d08857be65298d9128b026a8fd37
CLI commands developed in Wallaby are added in CLI doc.
This patch adds the following CLI commands:
* Retry
* Fail
* Change External VNF Connectivity
* List LCM Operation Occurrences
* Show LCM Operation Occurrence
Change-Id: If374a9cdce2e30b5f9883e21b1f7ffe500982551
When sending notifications, the API is sent using requests.session.
Currently, no timeout value is set. Therefore, if there is no
response from the connected server, it will not be able to close
its own socket even if it terminates abnormally.
To resolve the problem, we add vnf_lcm.retry_timeout to tacker.conf.
When submitting the API, the timeout value is set to the requests
api. We set the default value to 10 seconds (with 3 tries).
Closes-Bug: #1911124
Change-Id: I63078635a8db5669dbd94ecf8c69bb3946ae0347
After scale_out, tacker is getting stack_id from heat_client.
However stack_id is not in heat.metadata.
This will cause other lcm operations to this vnf_instance
fail(like heal)
For vnf_instances creted by instantiate interface,
this problem does not happen because after instantiate,
tacker will get stack_id from vnfc_res_info, not asking
heat.
This patch fixes this bug by change get stack_id logic after
scale_out by getting physical_resource_id from
target Heat AutoScalingGroup resource(vnfc_res_info)
Closes-Bug: #1919434
Change-Id: I12fe98e51930c48da8540368c6b38f8254b0b68b
This patch implements spec
Support deploying Kubernetes cluster with MgmtDriver
in blueprint bp/cnf-support-with-etsi-nfv-specs.
It includes sample mgmt_driver scripts of deploying
kubernetes cluster to vm created by openstack_driver.
Support instantiate/terminate/scale/heal function.
It also includes a shell script that actual install
kubernets cluster on vm, and an use guide to show
how to use this sample script.
Implements: bp/cnf-support-with-etsi-nfv-specs
Change-Id: I4d0085ffa3b4c90741ebb169b96f69113e2bb6d7
This patch is fix a regex of naming rule for a Pod of a Deployment.
The naming rule of Pod in deployment is
"(deployment name)-(pod template hash)-(5 charactors)".
Currently, "pod template hash" is a regex with a fixed 10 characters.
However, it may be less than 10 characters, this case is fail in
"scale_wait" of CNF scale.
The "pod template hash" string is generated from 32 bit hash. This
may be from 1 to 10 caracters but not sure the lower limit from the
source code of Kubernetes. Temporarily, this is set to be "{1,10}"
but may need to be fixed.
Closes-Bug: #1921059
Change-Id: I49f6cbe032f35f435f6c9ee69ccb8596cccdb326
When instantiating multiple VDU using `OS::Heat::AutoScalingGroup`
type in vnfd with SOL format, an error about not being able to
find the specified type occurred.
In current `for loop` of update_nested_scaling_resources(),
only the last data will be stored into the nested_tpl[],
the other data will be lost.
This modification changed the logic of the `for loop`,
it will store all types of data configuration into nested_tpl[]
according to the `aspect id`.
Closes-Bug: 1917314
Change-Id: I40eb711b7d0e8e2cf61f0210151be60febd08407
This patch fixes an incorrect for loop which will always reads
the last aspect_id's vdus number to calculate the current aspect_id.
Closes-Bug: #1919922
Change-Id: I5458a334ee145d54c8a70d0d37a7b674d85bd25c
Implements Container based VNF heal operation support with ETSI
NFV-SOL002 and SOL003 v2.6.1 VNF Lifecycle Management. For "Heal VNFC
with SOL002", users can heal Pod (mapped as VNFC) that is singleton or
created using controller resources such as Kubernetes Deployment,
DaemonSet, StatefulSet and ReplicaSet. For "Heal VNF instance with
SOL003", users can heal entire VNF instance by termination and
instantiation of the VNF.
Other changes:
* Store Pod information to vnfcResourceInfo after instantiation.
* Update vnfcResourceInfo after scale operation.
Implements: blueprint support-cnf-heal
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-cnf-heal.html
Change-Id: I62bf8d67eb9b3889f2ae69be9bb45363d083f48e
As implement SOL interfaces for MgmtDriver,
"vnf_instante" and "addtional_params"
are used as required parameters due to
ETSI NFV-SOL001 v2.6.1 definition.
However, for various usage and functions in tacker,
these 2 parameters are not enough.
Here the patch is aim to add required paramters for
basic use of mgmtdriver interfaces.
Thus, this patch is adding and uniting parameters
for vnflcm interface calling.
Target interface:
* instantiate(start&end)
* terminate(start&end)
* scale(start&end)
* heal(start&end)
Parameters after change:
* vnf_instance
* request
* grant(Currently None in terminate, need to fix in conductor)
* grant_request(currently None, need to do some fix in conductor)
Change-Id: I253d72ae09bd246ab3f1552185ce0a701a1f4b41
This feature will enable the client to use an API
to mark a VNF Lifecycle Management Operation
occurrence as "finally failed".
It is based on the ETSI NFV specification where
"FAILED" is "finally failed". Once the operation
is marked as "finally failed",it can no longer be
retried or rolled back anymore.
- As defined in SOL003, operation status can
change from FAILED_TEMP to FAILED.
- When VNFM receive this API , VNFM send
Notification(POST) to requested node.
- Regarding support of Fail Response parameter,
will provide with separated patch.
Implements: blueprint support-error-handling
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-error-handling-based-on-ETSI-NFV.html
Change-Id: Ieb221c6e2dd4ed6c873123325efb95f09af4a135