openbackhaul / executionandtracelog Goto Github PK
View Code? Open in Web Editor NEWList of records of service requests
License: Apache License 2.0
List of records of service requests
License: Apache License 2.0
Decision on the Application Implementation call on 13th or May:
minLength:6 to be added to all operation-name attributes in the ingress bodies.
Some OperationClients have to be changed from "basic management" to "basic services":
Required changes in ServiceList:
Required changes in ForwardingList:
Required changes in CONFIGfile:
Required changes in OAS:
Describe your feature request :
Support functionality and forwarding for the service /v1/bequeath-your-data-and-die to perform version upgrade
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
As per issue #30, the uuid pattern is decided to be updated from ^eatl-0-0-1-op-s-\d{4}$ to ^eatl-0-0-1-service-record-p-\d{6}$.
Problem statement:
As per the decision, the server-side code is updated to create service-record-profile entries having uuid(s) with 6 digits.
This tends to be problem when there is a difference in server-code and /api/openApi.yaml file in server.
Additionally, due to presence of "op-s" in uuid pattern instead of "service-record-p", it gives 400 error on trying to access data from OAM layer
proposal 1: Update server-logic to create 4-digit uuid suffix
proposal 2: Update api/openapi.yaml file for uuid pattern of service-record-profile to have ^eatl-0-0-1-service-record-p-\d{6}$
This update covers:
ProfileList:
ServiceList:
- service-name: /docs
uuid: ro-2-0-0-op-s-bs-005
ProfileInstanceList:
CONFIGfile:
Update OAS:
Describe your feature request :
Support functionality and forwarding for the service /v1/start-application-in-generic-representation
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
Currently , the apiKeyAuth and basicAuth validations are handled in the controllers/ for each services in their corresponding methods.
This validation in each methods can be replaced by integrating the security check mechanism as a part of express framework instantiation.
Reference : OperationKeyManagement
Describe your feature request :
Include support for OAM Services
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
Issue#1 :
For the OAM service /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address , the response-body should have the attribute "tcp-server-interface-1-0:ipv-4-address".
But in the implementation , it is "tcp-server-interface-1-0:local-address"
Proposal : "tcp-server-interface-1-0:local-address" needs to be corrected to "tcp-server-interface-1-0:ipv-4-address"
Issue#2 :
Similarly , for the service /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address , the response-body should have the attribute "tcp-client-interface-1-0:ipv-4-address".
But in the implementation , it is "tcp-client-interface-1-0:remote-address"
Proposal : "tcp-client-interface-1-0:remote-address" needs to be corrected to "tcp-client-interface-1-0:ipv-4-address"
RelatedIssues :
openBackhaul/RegistryOffice#92
openBackhaul/TypeApprovalRegister#41
openBackhaul/OamLog#39
openBackhaul/AdministratorAdministration#38
openBackhaul/ApplicationLayerTopology#61
openBackhaul/OperationKeyManagement#29
As per the decision made in the issue openBackhaul/RegistryOffice#19 , we require to include a description to the callback “PromptingNewReleaseForUpdatingServerCausesRequestForBroadcastingInfoAboutBackwardCompatibleUpdateOfOperation” of /v1/bequeath-your-data-and-die
description: >
'This callback belongs to the sequence of actions that have to be done during the bequeath-your-data-and-die process, despite the forwarding gets neither managed nor directly initiated by the /v1/bequeath-your-data-and-die request.
After consuming applications have been redirected to the new release, the new release is triggered (this callback) to request the RegistryOffice for broadcasting information about backward compatible replacements of services.'
While triggering /v1/bequeath-your-data-and-die, a series of callbacks will be called to other applications for scenarios like transferring application specific data, creating/ending subscriptions.
While the callbacks are being triggered from the application, we could observe an unexpected behavior.
Problem:
The server is abruptly stopped with an error message thrown after the callback request fails.
Error message :
${forwarding} is not success for the input[object Object] node:internal/process/promises:246
triggerUncaughtException(err, true /* fromPromise */);
Expected behavior:
When any callback request fails, /v1/bequeath-your-data-and-die should not proceed further for next callback. The application should not stop abruptly and it runs normally.
Related issues:
openBackhaul/RegistryOffice#96
openBackhaul/TypeApprovalRegister#45
openBackhaul/OamLog#43
openBackhaul/AdministratorAdministration#42
openBackhaul/ApplicationLayerTopology#69
openBackhaul/OperationKeyManagement#34
Describe your feature request :
Include docker file to create docker image
Implementation tasks and next steps :
- Create app directory
- Install and app dependencies
2.1. use a wildcard to ensure both package.json AND package-lock.json are copied
2.2. RUN npm install- Bundle app source
- Command to start the application
Alternate proposals if any :
Additional context :
As per conclusion made on issue openBackhaul/ApplicationPattern#276, the service /v1/list-applications need not contain data of OldRelease and NewRelease applications in the response-body.
Current implementation of /v1/list-applications responds with the data of OldRelease and NewRelease applications which needs to be removed.
Similar issues:
openBackhaul/RegistryOffice#112
openBackhaul/OamLog#49
openBackhaul/AdministratorAdministration#46
Describe your feature request :
Include support for basic services
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
Problem:
Operation-name is statically defined in callback request "ApprovedApplicationCausesRequestForServiceRequestInformation"
Proposal:
Line 1056 to be changed from "https://{$request.body#application-address}:{$request.body#application-port}/v1/redirect-service-request-information" to "https://{$request.body#application-address}:{$request.body#application-port}[/core-model-1-4:control-construct/logical-termination-point=eatl-0-0-1-op-s-0002/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]"
Related issue : openBackhaul/OamLog#6
Add protocol and update address at:
Data structure of the TcpClient and TcpServer shall be complemented by a domainName attribute for preparing potential future appliance of a DNS function.
Modelling has to assure that there is either IP address or domain name communicated and stored.
The following elements of the OAS have to be changed:
Coding examples:
ip-address:
type: object
minProperties: 1
additionalProperties: false
properties:
ipv-4-address:
type: string
pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
description: >
'..'
domain-name:
type: string
pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$'
description: >
'..'
example:
new-application-name: 'NewApplicationName'
new-application-release: '0.0.2'
new-application-address:
ip-address:
ipv-4-address: '10.118.125.157'
new-application-port: 7000
Further details can be found in the callbacks inside the ApplicationPattern OAS.
Issue Description :
While triggering /v1/bequeath-your-data-and-die, a series of callbacks will be invoked to other applications for scenarios like transferring application specific data, creating/ending subscriptions.
While the callbacks are being triggered from the application, we could observe it is getting aborted with the following error message :
PromptForBequeathingDataCausesNewApplicationBeingRequestedToInquireForApplicationTypeApprovalsforwarding is not success
upgradeSoftwareVersion failed with error: operation is not success
Root cause :
In latest Application Pattern code implementation the the parameters being sent to dispatchEvent() method have been modified due to which the issue is being occurred.
The servers statement at the beginning of the OAS, does not provide any benefit.
It should be removed.
This applies to the ApplicationPattern and all applications.
ExecutionAndTraceService has been moved from package onf-core-model-ap-bs to onf-core-model-ap in PR openBackhaul/ApplicationPattern#141
Please, change code to use ExecutionAndTraceService from onf-core-model-ap.
As a part of bequeath-your-data-and-die service , relay-server-replacement will be called by the old application to replace the old release with the new release. This relay-server-replacement service is getting called twice from the old application which is unnecessary.
This needs to be fixed in the server side code.
Note : There is no problem in calling the service twice as it is idempotent, but it is not required.
This issue is recommended to be executed after all path: statements of all OperationsServers have been updated at all the TAC applications.
Describe your feature request :
Support functionality and forwarding for the service /v1/record-service-request
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
Process for updating the UUIDs of FCs
When EaTL application goes down ,
Impact :
Note :
When EaTL is down , it’s very difficult to identify this. Until we manually try to use this application.
Proposal#1 : If we are planning to continue with docker engine , a simple shell script that
Proposal#2 : If we are planning to move to an orchestrator(docker swarm, Kubernetes) then the orchestrator will take care of it.
Including a message broker(like rabbitmq) that buffers the message until the EaTL application is available again. (But of course the message broker should also be highly available)
Reference : https://microservices.io/patterns/communication-style/messaging.html
Priority: low
Describe your feature request :
Support functionality and forwarding for the service /v1/regard-application , /v1/disregard-application, /v1/list-applications.
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
The operation modes
- 'string-profile-1-0:STRING_VALUE_TYPE_REACTIVE'
- 'string-profile-1-0:STRING_VALUE_TYPE_SANITATION'
- 'string-profile-1-0:STRING_VALUE_TYPE_PROTECTION'
- 'string-profile-1-0:STRING_VALUE_TYPE_OFF'
need explanation.
An additional IntegerProfile shall be defined, made available for configuration on the OAM layer and be put into the LOADfile, for managing the period for updating the operation-keys on the connected applications.
"userName" is an attribute required in ExecutionAndTraceLog+data.json.
Usage:
user-name is an integral parameter in request-headers of each service in Service Layer. This parameter enables identification of the user who is accessing a service.
"userName" attribute present at this location of data file, is used by Integration and Acceptance test-suites for testing for forming the header parameters. This helps to understand the the set of requests are triggered from test-suites if in future analysis.
Problem:
Absence of this attribute makes the value an empty string.
The following new releases of npm package for both ApplicationPattern and BasicServices are available,
• onf-core-model-ap+1.0.1
• onf-core-model-ap-bs+1.0.1
Upgrade ApplicationPattern and BasicService npm package to version 1.0.1.
Changes ,
In the file https://github.com/openBackhaul/ExecutionAndTraceLog/blob/develop/server/package.json , change the versions of the following two pacakges to 1.0.1
Perform basic test and validate the changes and push the code.
Reference : openBackhaul/ApplicationPattern#338
Context :
In EaTL , we are storing the “execution trace” records in the profile-collection as “service-record-profile” instance.
Based on the decision from the ApplicationPattern#issues#105 , we have to separate the application date from the configuration data.
Also in EaTL , continuous parallel updation in the profile-collection sometimes makes the application down.
So , we are in a plan to include a database (or) opensource logging framework (or) flat file to store the application data.
Discussion on July 15th SDN application call :
To store the application data , dev team(Martin) is currently analysing about ElasticSearch.
Using the REST interface of ElasticSearch,
Where to store the connection string, username and password for access the ElasticSearch ?
proposals :
During bequeath-your-data-and-die , how we are going to transfer the application data ? (From recent mail chain)
Proposal :
As per the changes in the issue openBackhaul/ApplicationPattern#305 , there is a modification in the response of the service /v1/redirect-topology-change-information. This service requires to send the details of the LTPs and FCs to the calling application.
Note : Implementation will be taken care as a part of the issue openBackhaul/ApplicationPattern#352
Decision on the Application Implementation call on 13th or May:
The detailed-logging-is-on attribute shall be added to the response body of the /core-model-1-4:control-construct path in the OAS.
It shall be added to the properties section, but not the required section.
Error description:
In callback "PromptForBequeathingDataCausesRObeingRequestedToNotifyApprovalsOfNewApplicationsToNewRelease" and "PromptForBequeathingDataCausesRObeingRequestedToNotifyWithdrawnApprovalsToNewRelease", we have request-body attribute "subscriber-operation", the reference path under description of the attribute needs an update. The path is intended to refer an operation-server ltp (eatl-0-0-1-op-s-3001 and eatl-0-0-1-op-s-3002), but the proceeding path points to operation-client.
Possible solution:
In the description, path needs an update to point to operation-server-interface-capability/operation-name as below.
For PromptForBequeathingDataCausesRObeingRequestedToNotifyApprovalsOfNewApplicationsToNewRelease, the current description contains /core-model-1-4:control-construct/logical-termination-point=eatl-0-0-1-op-s-3001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name, which actually would be
/core-model-1-4:control-construct/logical-termination-point=eatl-0-0-1-op-s-3001/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name
Similarly, For PromptForBequeathingDataCausesRObeingRequestedToNotifyWithdrawnApprovalsToNewRelease, the description would be updated as
/core-model-1-4:control-construct/logical-termination-point=eatl-0-0-1-op-s-3002/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name
Note: eatl-0-0-1-op-s-3001 refers to /v1/regard-application and eatl-0-0-1-op-s-3002 refers to /v1/disregard-application
Related issues:
openBackhaul/RegistryOffice#91
openBackhaul/TypeApprovalRegister#40
openBackhaul/OamLog#38
openBackhaul/AdministratorAdministration#37
openBackhaul/ApplicationLayerTopology#60
openBackhaul/OperationKeyManagement#28
'String' shall be replaced by 'string' in the OAS of ApplicationPattern and all other applications.
As per understanding, detailed-logging-is-on attribute is applicable only for the operation "/v1/record-service-request" of ExecutionAndTraceLog
Problem Description:
In load-file, ExecutionAndTraceLog_0.0.2_tsi.211217.1630+data.2.json, for ltp instance eatl-0-0-1-op-c-2040 contains an additional attribute detailed-logging-is-on, which needs to be removed.
Note :
Related issues:
openBackhaul/ApplicationLayerTopology#63
openBackhaul/AdministratorAdministration#40
openBackhaul/OperationKeyManagement#32
openBackhaul/OamLog#41
In
displayInNewBrowserWindow attribute to be added.
Creating this issue to make changes to the api/openapi.yaml and database/load.json file to include the prefix /eatl to the path to facilitate the east-west communication via APIgateway.
api/openapi.yaml :
Included the prefix /eatl to each path of the basic and individual service
Removed the ipv-4 pattern string to support domain name temporarily
database/load.json :
Included the prefix /eatl for all operation-name in operation servers
Included the prefix /ro for all RegistryOffice operation-name
Included the prefix /tar for all TypeApproval operation-name
Modified the ipv-4-address, port of ro,tar,eatl to "mwkibana.testmob.de" ,"80"
index.js :
Including the following code to the swagger router will help in hosting the swagger GUI and api file to /eatl/docs /eatl/api-docs
swaggerUI : {
swaggerUIPath: '/eatl/docs',
apiDocsPath: '/eatl/api-docs'
}
In OAS specification :: OAM layer, there is a API request for retrieving service-record-profile-capability
"/core-model-1-4:control-construct/profile-collection/profile={uuid}/service-record-profile-1-0:service-record-profile-pac/service-record-profile-capability".
Here, the pattern of uuid is defined as pattern: '^eatl-0-0-1-op-s-\d{4}$' , which actually could be pattern: '^eatl-0-0-1-service-record-p-\d{6}$'
In /core-model-1-4:control-construct :: responses
core-model-1-4:control-construct should be complemented with
required:
- uuid
and
properties:
uuid:
type: string
Describe your feature request :
Generate server side code for the specification
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
In Current files, the release number of applications points to version 1.0.0. This needs to be updated to 2.0.0
Version update to be made in
Problem description
For PUT request in OAM layer , after successful updation , server is returning 200 OK as the ResponseCode.
As per the specification and generic concepts, this is not correct.
Proposed solution
Since the PUT operation doesn't return any value in the ResponseBody , the ResponseCode should be 204 NO_CONTENT.
Describe your feature request :
Support functionality and forwarding for the service /v1/list-records, /v1/list-records-of-flow, /v1/list-records-of-unsuccessful
Implementation tasks and next steps :
Alternate proposals if any :
Additional context :
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.