summaryrefslogtreecommitdiffstats
path: root/cps-application/src
AgeCommit message (Collapse)AuthorFilesLines
2023-09-18Merge "Migrate CPS to Spring-boot 3.0"Toine Siebelink2-4/+4
2023-09-14Migrate CPS to Spring-boot 3.0egernug2-4/+4
Issue-ID: CPS-1789 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: I932fca8a50cedf2ae0604401c5e2b27896e4d449
2023-09-04Dmi plugin watchdog cheking alivenesshalil.cakal1-0/+2
- Add capability of GET request into DmiRestClient - Add watchdog job to check aliveness of dmi plugins - DmiPluginStatus enum as UP or DOWN - Add unit tests for the new function in dmi rest client - Add unit tests for dmi watchdog Issue-ID: CPS-1856 Change-Id: Ic38a96f0485a0bfe1b6af5bb2f57f6119d8fa563 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-08-18Device heartbeat listenermpriyank1-0/+2
- Infrastructure code to have the kafka listener and distributed set in place - performance tested locally - testware added Issue-ID: CPS-1642 Change-Id: I775dbe6e6b520b8777faa08610db439877757572 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-08-04Ability to disable sending auth headermpriyank1-0/+1
- introduced configurable parameter to disable sending auth header in the request to dmi-plugin - default is to include the auth header - DMI_AUTH_ENABLED flag can be set to true/false to control the behaviour - Also added the env variables to the CSITs - updated release-notes Issue-ID: CPS-1819 Change-Id: If97c06e33f06e391d2190b7300d73210ed2f4e27 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-07-26Subscription Creation: NCMP to Client CloudEvent transformationhalil.cakal1-2/+2
- Delete legacy avc subscription event and event outcome schemas - Change subscription response and outcome sample json file contents - Change ncmp event response code to support avc subscriptions - Add mapper that maps cloud event to subscription event response - Add mapper that maps subscription event outcome to cloud event - Change subscription event response consumer to consume CloudEvents - Change time out task to support response event instead client id and name - Change subscription event response mapper to support Cloud Event - Change subscription outcome mapper to group subscription responses as per details and status - Change subscription status to have fromString functionality - Change all unit tests to support new functionalities - Add cps exceptions for cloud event and outcome type - Add details field in yang model - Change data node helper to supoort details field - Consolidate final subscription response codes - Fix code smells reported by SonarLint Issue-ID: CPS-1739 Change-Id: I5eadeb8ef40d3d7befb762b5a8d2139fe3c85d7e Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-06-20Merge "Replace deprecated WebSecurityConfigurerAdapter"Toine Siebelink2-13/+41
2023-06-15Patch #2 : Introduce kafka template for cloud eventssourabh_sourabh1-2/+2
- Introduced a new cloud kafka template for cloud events that reads it's configuration from application.yml - Kept legacy kafka template for backward compatibility utill all cps events moved to cloud event comply. - Modified application.yml producer and consumer value deserializer properties to support cloud events. - Added new cloudevents-bom used into cps-ncmp-service pom. - For the time being we will have 2 kafkatemplates (legacyEventKafkaTemplate, cloudEventKafkaTemplate) into EventsPublisher until we fully move to cloudevents for all events. Once all cps events will be cloud event compy, we have TODO task where Deprecated: legacyKafkaEventTemplate will be removed with its java configuration file KafkaTemplateConfig. Issue-ID: CPS-1724 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I78c15bd480db063b89c6630c46c2d3a328b4fae4 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-06-15Replace deprecated WebSecurityConfigurerAdapteregernug2-13/+41
WebSecurityConfigurerAdapter has been deprecated in Spring 2.7. Change needed to use SecurityFilterChain and InMemoryUserDetailsManager. Note: WebMvcTest does not autoimport configurations that use beans. Issue-Id: CPS-1742 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: I100884f10beaac6ce87e603302280aeb78559017
2023-05-26Improve error scenarios SubscriptionEventForwarderlukegleeson1-1/+1
- Added placeholder for emtpy outcome response when no cmhandles match targets Issue-ID: CPS-1564 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: Ia04bb656c639946d259da779971ab29b6e91acea
2023-05-09Change default use of Model Loader to TRUEemaclee1-1/+1
Issue-Id: CPS-1688 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I18bb5e3ad45ccdf5f3a1e88dd5a34dc830e06f4a
2023-05-02Align the hazelcast cluster namesmpriyank1-0/+1
- We need to align the hazelcast cluster names as members of the same cluster can join each other. We will still have exclusivity as the instance names and configs are different for each distributed object. - Exposing env variable to override the cluster name depending on the env it is run on. - Modified test cases to validate the cluster names as well Issue-ID: CPS-1637 Change-Id: Ib0f8c80dc9b2268f976b0c2d3ccd6d64792d4781 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-04-28Timeout for Subscription Create Partial Responselukegleeson1-6/+12
- Implemented default 30s timeout for DMI Responses - Placeholders have been TODO'd for Outcome Response generation and Persisted Subscription Updating - Refactored common HazelcastCacheConfig methods - Some tests required a blocking variable due to seperate thread usage Issue-ID: CPS-1599 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I2b1a35e93939daa0524d379ac4736d714ef61a6f
2023-04-27Add retry mechanism on Subscription loaderemaclee1-196/+198
Issue-ID: CPS-1568 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I35697c260cc1a774f50d12552996b39f812fc2de
2023-04-24Extend capability of distributed cachempriyank1-1/+8
- Extend cache configs to be able to work in stanalone mode as well as in cluster mode in kubernetes. - Expose the parameters to enable or disable the feature. - to make it work in standalone mode autodiscovery config will take care , and to run it on kubernetes enable the kubernetes option and provide the service name property. Issue-ID: CPS-1637 Change-Id: I704c4aa11e65b17b5be80048e4246079014d8bb7 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-03-21Add event to mapper as wellmpriyank1-0/+1
- Explicitly add event to the mapper - Also parameterized the cm-events topic to be overridden later Issue-ID: CPS-1554 Change-Id: Ia6e75117dbb4214648d40318989c4c5fe6fd69f1 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-03-10Introduce control switchmpriyank1-1/+4
- introduced a control switch and keeping it as false due to init issues Issue-ID: CPS-1537 Change-Id: I8455a5ff6fea09527c6f810ffbc620b4e38c488c Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-03-09Merge "Create Base and Sample Performance Integration Tests"Sourabh Sourabh1-1/+2
2023-03-09Create Base and Sample Performance Integration TestsToineSiebelink1-1/+2
- added data (folders) for different models and json data - added base and data for cps-ncmp (registry) specific test cases - integrated Ahila's (large) openroadm model and data (corrected version provided by Lee Anjella) - created profiles to exclude/include *PerfTest - fixed dependency test check - included integration test for overall coverage - increased margings in existing perf test to reduce nordix intermitten failures Issue-ID: CPS-1516 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ia82826f610636c14aa7e8939b385c278e5039817
2023-03-08[CPS] Add configurable params for topicmpriyank1-0/+3
- Configurable parameter for topic dmi-cm-events Issue-ID: CPS-1538 Change-Id: I5396ee8f50f33ea3c117291a314f10c1870966bc Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-01-31Introduce InstrumentationToineSiebelink5-15/+96
- Add instrumentation related dependency - Added Timed Instrumentation - CPS-Service Crud methods - CPS Yang parsing - NCMP Registration methods - NCMP Events handling - Remove manual Gauge for YanResources Cache as (better!) instrumentation is already built into the 3PP - Sorted dependecies alphabetically (as we used to enforce, to prevent duplicates) - Added ## P E R F O R M A N C E T E S T R E S U L T S ### mini report - (unrelated) test improvement (because of bug that turned out to be invalid) Reviewers: Sourabh,Priyank, Luke Issue-ID: CPS-1457 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I34b20bece2f59488b022b8effa9470704c57be4d
2023-01-23Merge "[NCMP] Consume & Forward to client topic"Toine Siebelink1-7/+7
2023-01-23[NCMP] Consume & Forward to client topicseanbeirne1-7/+7
-Consumes event from dmi-cm-events -Immediately forwards to static topic (topic selection for events comes later from subscription information) -Added Kafka test -SHOULD BE MERGED BEFORE DMI PART Issue-ID: CPS-138 Signed-off-by: JosephKeenan <joseph.keenan@est.tech> Change-Id: I0a426381e2c3f9173b8d3916960c05722ad4f77d Signed-off-by: seanbeirne <sean.beirne@est.tech>
2022-12-22Consume Subscription Creation Eventseanbeirne1-0/+2
Issue-ID: CPS-1392 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: I0a5a8c256319a1a2944ee6606db1c14b50e8f8e4
2022-10-17Node API - GET Method performance issue (disable sql logging)JosephKeenan1-0/+1
Reviewers: Toine, Sourabh, & Priyank Issue-ID: CPS-1171 Signed-off-by: JosephKeenan <joseph.keenan@est.tech> Change-Id: Ifc5c9c57c3e8bad15780c8cac09dcd3eea05df94
2022-09-20Add NCMP tag in propertiesmpriyank1-19/+19
- Added back NCMP tag back as part of the comment in patch https://gerrit.onap.org/r/c/cps/+/129274 - Added parallelism level under ncmp as well. - Correcting env variable in the docker compose file for local run as well as the CSITs. Issue-ID: CPS-1279 Change-Id: I1f2993ac66f47ee2e5e7db0c4a6aac113a714d2a Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-09-14Database tuning for cpssourabh_sourabh1-1/+1
- Reverted leakDetectionThreshold to its previous working value Issue-ID: CPS-1126 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ia43f164d2e24874ca09d3faad918020828661bef
2022-09-13CmHandle registration/module sync watchdog performance improvmentsourabh_sourabh1-4/+6
- Tuned CPS DB parameters - Removed deprecated CPS DB parameter - Modified module sync watch logic - Added aditional logs - Removed logic to get FragmentEntities as stream - Removed detaching of fragment entity as it was causing NCMP to break with an exception "SQLSTATE(08006)" Issue-ID: CPS-1126 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I0bde11895f754602dece132efde701d82b377f12
2022-09-01Performance Improvement: Watchdog Parallel execution with configurationsourabh_sourabh1-0/+4
- Introduced AsyncSyncExecutor to get task and execute it with configured number of parallel threads. - Number of parallel thread can be configured from application.yml. - AsyncTaskExecutorSpec is added - Fixed existing grovvy test now async task would be submitted. Issue-ID: CPS-1200 Change-Id: I58c0368b945c90e619c2acfc7458ba58de047484 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2022-08-29Performance Improvement: Use hazelcast blocking queueToineSiebelink1-1/+1
- Introducing hazelcast for queue and progress map - process batch of 100 at the time - decreased module sync watchdog sleeptime to 5 seconds - separate module sync tasks in new class and some other async preparations and easier testing - tests for batching in module sync watchdog - remove qualifiers annotation (support) where no longer needed Issue-ID: CPS-1210 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I0a7d3755bf774e27c5688741bddb01f427d4a8a7
2022-08-19Merge "Performance Improvement: Async Notification Pool Configuration"Joseph Keenan1-2/+2
2022-08-18Performance Improvement: Async Notification Pool ConfigurationToineSiebelink1-3/+3
Reduce threads available for notifications to allow more resources for module sync Issue-ID: CPS-1199 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Iff56dd614ea0074a1b6aa08b81e324e2d0ce33c1
2022-08-18Performance Improvement: Postgres Pool ConfigurationToineSiebelink1-1/+8
Issue-ID: CPS-1198 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I6e1e6b28cd8e20800df61deae1826ecc2db2945e
2022-07-28Enable/Disable Data Sync for Cm HandleDylanB95EST1-5/+1
-Create API Which will enable/disable data sync enabled flag -Default functionality of module sync watchdog is to set to false -Remove global config param -Will set initial sync state based on data sync enabled flag -Throws an Exception if the same data sync enabled flag tries to be set -Throws Exception if state is not in READY -Data Sync enabled must be true to complete data sync process - Delete all resource data within fragment table related to synced cm handle when data sync is set to false Issue-ID: CPS-1133 Change-Id: Ib47bbd8293f083c1d705d91bd0def74e6a105c72 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-07-25CmHandle creation performance degradationsourabh_sourabh1-2/+2
- Created a dedicated threadpool for scheduler. - Tuned async threadpool of notification executor from setting RejectedExecutionHandler and application.yml. Issue-ID: CPS-1126 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I2afe3c76c1aec78751777df0d2f08ddb8dcee102
2022-07-14Code Refactoring Ncmp* to Lcm* as per new scopempriyank1-1/+2
- Refactored code to reflect the LcmEvents scope now. - Test cases updated and dependencies reviewed. - You can find few occurences of NcmpEvent for now but that will be cleaned up once we implement CPS-1104 which is for LcmEvent schema - UPCOMING: LcmEvent schema and then the code to publish the events on cmHandleStates - LATER : LcmEvents based on public properties update. Issue-ID: CPS-1137 Change-Id: I9f395ed733b4028e706205894c36a38412e3452e Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-07-07Define Initial Data Sync Enabled Flag and stateDylanB95EST1-0/+4
- Define the initial Data Sync Cache enabled through configuration parameter - Set the data sync enabled flag based on this - And in turn define the initial sync state of the Data Sync Issue-ID: CPS-1119 Change-Id: I43bf03c79481291bf47c9b672f7bf408d789df61 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-06-30Composite state transition code changesourabh_sourabh1-0/+2
- Code cannge to set datastore to Unsynchronized when state moves from advice to ready - if resource data is not available or there is any issue while reading data from simulator then state will be set to synchronized else remain unsynchronized. - Handle serialization failure on empty bean. Issue-ID: CPS-1000 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ie51a787770da649e00aaefc00341756f92f9fa83
2022-06-30Kafka consumer can not be turned offJosephKeenan1-2/+2
-NOTE: Build will fail until docker-compose version issues on build server are fixed --Ticket raised https://jira.linuxfoundation.org/plugins/servlet/theme/portal/2/IT-24219 -added flag for async -added response if async is triggered without being enabled & associated test -modified to use one global flag for notifications Issue-ID: CPS-1088 Signed-off-by: JosephKeenan <joseph.keenan@est.tech> Change-Id: If9d988b4dcb71bf37c1b1bf9464090782708ffc2
2022-06-22Data Sync Watchdog Processsourabh_sourabh1-2/+3
- Get all the Cm Handles state in READY and Operational datastores sync state in UNSYNCHRONIZED - Get a random Cm Handle - Get the first resource data from the node - Save the data in Cps Db - Update the Operational datastores sync state to SYNCHRONIZED Issue-ID: CPS-1052 Issue-ID: CPS-1053 Issue-ID: CPS-1054 Change-Id: I9a20391ef30e6d56c4d789a92b8bf42cd3756c62 Signed-off-by: Lathish <lathishbabu.ganesan@est.tech> Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2022-06-15Retry CM-Handles that are LOCKED, Failed-to-Syncputhuparambil.aditya1-2/+5
Watchdog added to fetched locked cm handles by Lock reason and operation sync state Tests updated Issue-ID: CPS-878 Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca> Change-Id: I0ecc519e93b097ec3d309db7f686fb23a0fc59b2
2022-06-07Ncmp Producer Setupmpriyank1-1/+2
- Ncmp Kafka Publisher setup - Test scenarios - Refactored existing test class which were using kafka producer and consumer properties to use from common MessageSpec - Upcoming : Implementation Proposal and Actual logic to publish the correct event Issue-ID: CPS-1035 Change-Id: I93ae392e8c4e4c85d88ca7858332e79b59e85535 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-06-02CPS-1020 : DuplicatedYangResourceException error at parallel cmHandle ↵sourabh_sourabh1-0/+2
registration - @EnableRetry is added into application. - Added retry count into log to add more information about retry. Issue-ID: CPS-1020 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I00c58ef17a8c066f98711c1cf8e5e5cb5f22974b
2022-06-01Fixing CompositeState mappingmpriyank1-0/+3
- Mapper null check - NcmpServiceCmHandle mapping for the new composite state - Added global parameter for jackson to include only NON_NULL attributes in the response Issue-ID: CPS-1066 Change-Id: I1924fef45345c77873f9c788baa701311e72bea7 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-05-25Async request response NCMP -> ClientJosephKeenan1-1/+14
-Added consumer for DMI events and producer for forwarding to client -Added schemas for events -Updated tests -Added new module for ncmp events -Used mapstruct for event mapping Issue-ID: CPS-830 Change-Id: I096d08af9d69092cf8651e11eaa00ce441fc3605 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Signed-off-by: JosephKeenan <joseph.keenan@est.tech> Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Signed-off-by: JosephKeenan <joseph.keenan@est.tech>
2022-05-16Remove NCMP tag from propertiesDylanB95EST1-10/+11
We have decided to remove the NCMP tag from properties and will add it later as part of our release process for KOHN. Issue-ID: CPS-875 Change-Id: I7282c3c11879f2252c8a1b193df17f3f4bb1cf14 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-05-10Watchdog Process-Make ConfigurableDylanB95EST1-0/+3
Make time configurable for the watchdog process. Add documentation outlining this. Issue-ID: CPS-875 Change-Id: I1307c82d02789097efda1ba981eb1fd36c9efc38 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-05-09Add ncmp tag to application yamlDylanB95EST1-7/+7
Add an NCMP tag to Application.yml to store NCMP related propeties Issue-ID: CPS-875 Change-Id: I2bce3d765ae69cc2a4bb52a472eea7cae745fd2c Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-05-05Security Logging Fieldssourabh_sourabh1-0/+1
- logback core and encoder dependencies are added. - New appender is added to log JSON format content on console. Issue-ID: CPS-986 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ia72b27f306019fa259b3d6de4c5399f0ae734076
2022-03-10Async: NCMP Rest impl. including Request ID generationsourabh_sourabh1-1/+1
- Based on topic api can be sync or async - RequestId is generated using UUID - Used UriComponentBuilder to populate dmi service url. - New test cases are introduced to validate service url generation. Issue-ID: CPS-828 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I2696d5cb012d9274b0c1265f16aa9b2369657f05