aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--LICENSE.txt11
-rw-r--r--README.md12
-rw-r--r--a1-adapter/a1-adapter-api/feature/pom.xml2
-rw-r--r--a1-adapter/a1-adapter-api/installer/pom.xml2
-rw-r--r--a1-adapter/a1-adapter-api/model/pom.xml2
-rw-r--r--a1-adapter/a1-adapter-api/pom.xml2
-rw-r--r--a1-adapter/a1-adapter-api/provider/pom.xml2
-rw-r--r--a1-adapter/features/a1-adapter-northbound/pom.xml2
-rw-r--r--a1-adapter/features/installer/pom.xml2
-rw-r--r--a1-adapter/features/pom.xml2
-rw-r--r--a1-adapter/pom.xml2
-rw-r--r--a1-policy-management/README.md41
-rw-r--r--a1-policy-management/pom.xml2
-rw-r--r--a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java43
-rw-r--r--csit/scripts/healthcheck/.env2
-rwxr-xr-xdocs/architecture/architecture.rst3
-rwxr-xr-xdocs/consumedapis/consumedapis.rst5
-rw-r--r--docs/guide/developer-guide.rst5
-rw-r--r--docs/humaninterfaces/humaninterfaces.rst3
-rw-r--r--docs/media/ONAP-A1ControllerArchitecture-Montreal.pngbin0 -> 57021 bytes
-rw-r--r--docs/releasenotes/release-notes.rst60
-rw-r--r--docs/tox.ini2
-rw-r--r--pom.xml2
-rw-r--r--releases/1.6.2-container.yaml9
-rw-r--r--releases/1.6.2.yaml5
-rw-r--r--version.properties2
26 files changed, 167 insertions, 58 deletions
diff --git a/LICENSE.txt b/LICENSE.txt
index 117bfdae..58a95690 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,8 +1,9 @@
/*
-* ============LICENSE_START==========================================
-* ===================================================================
-* Copyright © 2020 Nordix Foundation. All rights reserved.
-* ===================================================================
+* ============LICENSE_START===============================================
+* ========================================================================
+* Copyright © 2020-2023 Nordix Foundation. All rights reserved.
+* Copyright © 2023-2024 OpenInfra Foundation Europe. All rights reserved.
+* ========================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -14,5 +15,5 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-* ============LICENSE_END============================================
+* ============LICENSE_END=================================================
*
diff --git a/README.md b/README.md
index d87b35fb..884631a1 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,14 @@
This source repository contains the code for the ORAN A1 related components.
+More information on the CCSDK A1 Policy Management Service can be found in the 'a1-policy-management' sub-directory.
+
+More information on the CCSDK A1-Adapter controller extension can be found in the 'a1-adapter' subdirectory.
+
+See also additional information at:
+ - https://wiki.onap.org/display/DW/O-RAN+A1+Policies+in+ONAP
+ - https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html
+
## Prerequisits
To compile this code:
@@ -12,7 +20,9 @@ To compile this code:
## License
-Copyright (C) 2022 Nordix Foundation.
+Copyright (C) 2022-2023 Nordix Foundation. All rights reserved.
+Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
diff --git a/a1-adapter/a1-adapter-api/feature/pom.xml b/a1-adapter/a1-adapter-api/feature/pom.xml
index 69ffd1dc..a92b0179 100644
--- a/a1-adapter/a1-adapter-api/feature/pom.xml
+++ b/a1-adapter/a1-adapter-api/feature/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-adapter-feature</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/a1-adapter-api/installer/pom.xml b/a1-adapter/a1-adapter-api/installer/pom.xml
index b644ac2a..9f9bbe58 100644
--- a/a1-adapter/a1-adapter-api/installer/pom.xml
+++ b/a1-adapter/a1-adapter-api/installer/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-adapter-installer</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/a1-adapter-api/model/pom.xml b/a1-adapter/a1-adapter-api/model/pom.xml
index 26e77704..633f589d 100644
--- a/a1-adapter/a1-adapter-api/model/pom.xml
+++ b/a1-adapter/a1-adapter-api/model/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-adapter-model</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/a1-adapter-api/pom.xml b/a1-adapter/a1-adapter-api/pom.xml
index 46cdceb9..e8ad5632 100644
--- a/a1-adapter/a1-adapter-api/pom.xml
+++ b/a1-adapter/a1-adapter-api/pom.xml
@@ -30,7 +30,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-adapter-api</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/a1-adapter-api/provider/pom.xml b/a1-adapter/a1-adapter-api/provider/pom.xml
index 9b60580d..64e2ae43 100644
--- a/a1-adapter/a1-adapter-api/provider/pom.xml
+++ b/a1-adapter/a1-adapter-api/provider/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-adapter-provider</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/features/a1-adapter-northbound/pom.xml b/a1-adapter/features/a1-adapter-northbound/pom.xml
index 41760c22..e1b8c419 100644
--- a/a1-adapter/features/a1-adapter-northbound/pom.xml
+++ b/a1-adapter/features/a1-adapter-northbound/pom.xml
@@ -30,7 +30,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-adapter-northbound</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/features/installer/pom.xml b/a1-adapter/features/installer/pom.xml
index 7ee7dc2c..32ef2d1b 100644
--- a/a1-adapter/features/installer/pom.xml
+++ b/a1-adapter/features/installer/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-adapter-northbound-installer</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/features/pom.xml b/a1-adapter/features/pom.xml
index c2e61ea2..4fcf9234 100644
--- a/a1-adapter/features/pom.xml
+++ b/a1-adapter/features/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>ccsdk-a1-adapter-feature-aggregator</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-adapter/pom.xml b/a1-adapter/pom.xml
index dc7fa76c..ec59d6b2 100644
--- a/a1-adapter/pom.xml
+++ b/a1-adapter/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>ccsdk-a1-adapter</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-oran :: ${project.artifactId}</name>
diff --git a/a1-policy-management/README.md b/a1-policy-management/README.md
index 1457d02b..3b784a4f 100644
--- a/a1-policy-management/README.md
+++ b/a1-policy-management/README.md
@@ -1,15 +1,21 @@
# ONAP ccsdk-oran A1 Policy Management Service
-The A1 Policy Management Service provides a REST API for management of policies.
-It provides support for:
- -Supervision of clients (R-APPs) to eliminate stray policies in case of failure
- -Consistency monitoring of the SMO view of policies and the actual situation in the RICs
- -Consistency monitoring of RIC capabilities (policy types)
- -Policy configuration. This includes:
- -One REST API towards all RICs in the network
- -Query functions that can find all policies in a RIC, all policies owned by a service (R-APP),
- all policies of a type etc.
- -Maps O1 resources (ManagedElement) as defined in O1 to the controlling RIC
+The A1 Policy Management Service is a micro service which maintains a transient repository of:
+ - All A1 policies instances in the network. Each policy is targeted to a near-RT-RIC instance and is owned by a 'service' (or 'rApp').
+ - All near-RT-RICs in the network.
+ - All Policy types supported by each near-RT-RIC.
+
+The service provides :
+ - Unified REST API for managing A1 Policies in all near-RT-RICs.
+ - Synchronized view of A1 Policy instances for each rApp/Client
+ - Synchronized view of A1 Policy instances in each near-RT-RIC
+ - Synchronized view of A1 Policy types supported by each near-RT-RIC
+ - Lookup service to find the near-RT-RIC to control resources in the RAN as defined in O1 (e.g. which near-RT-RIC should be accessed to control a certain CU or DU, which in turn controls a certain cell).
+ - Monitors all near-RT-RICs and maintains data consistency – e.g. recovery from near-RT-RIC restarts
+ - Support for different Southbound APIs to the near-RT-RICs (different versions of the A1-P application protocol and other similar APIs).
+ - HTTPS can be configured to use a supplied certificate/private key and to validate peers towards a list of trusted CAs/certs.
+ - HTTP proxy support for tunneling HTTP/HTTPS connections.
+ - Fine-grained access-control - with new optional callouts to an external auth function
The Policy Management Service uses the default keystore and truststore that are built into the container. The paths and passwords for these stores are located in a yaml file:
oran/a1-policy-management/config/application.yaml
@@ -21,9 +27,9 @@ The default keystore, truststore, and application.yaml files can be overridden b
Assuming that the keystore, truststore, and application.yaml files are located in the same directory as docker-compose, the volumes field should have these entries:
volumes:
- - ./new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks:ro
- - ./new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks:ro
- - ./new_application.yaml:/opt/app/policy-agent/config/application.yaml:ro
+ - ./new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks:ro
+ - ./new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks:ro
+ - ./new_application.yaml:/opt/app/policy-agent/config/application.yaml:ro
The target paths in the container should not be modified.
@@ -32,22 +38,27 @@ It is also possible to configure a HTTP(S) Proxy for southbound connections. Thi
Example docker run command for mounting new files (assuming they are located in the current directory):
docker run -p 8081:8081 -p 8433:8433 --name=PMS-container --network=oran-docker-net --volume "$PWD/new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks" --volume "$PWD/new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks" --volume "$PWD/new_application.yaml:/opt/app/policy-agent/config/application.yaml" onap/ccsdk-oran-a1policymanagementservice:1.0.0-SNAPSHOT
-To Run Policy Management Service in Local:
+To run A1 Policy Management Service in a local environment:
In the folder /opt/app/policy-agent/config/, create a soft link with below command,
ln -s <path to test_application_configuration.json> application_configuration.json
-The Policy Management Service can be run stand alone in a simulated test mode. Then it simulates RICs.
+The A1 Policy Management Service can be run stand alone in a simulated test mode. Then it simulates RICs.
The REST API is published on port 8081 and it is started by command:
mvn -Dtest=MockPolicyManagementService test
The backend server publishes live API documentation at the
URL `http://your-host-name-here:8081/swagger-ui.html`
+More information about the ONAP CCSDK A1 Policy Management Service can be found at:
+ - https://wiki.onap.org/display/DW/O-RAN+A1+Policies+in+ONAP
+ - https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html
+
## License
ONAP : ccsdk oran
Copyright (C) 2019-2023 Nordix Foundation. All rights reserved.
+Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
diff --git a/a1-policy-management/pom.xml b/a1-policy-management/pom.xml
index bd85f164..40d610c3 100644
--- a/a1-policy-management/pom.xml
+++ b/a1-policy-management/pom.xml
@@ -30,7 +30,7 @@
</parent>
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>a1-policy-management-service</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<name>ccsdk-oran :: ${project.artifactId}</name>
<properties>
<java.version.source>17</java.version.source>
diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java
index da157db0..58b87c63 100644
--- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java
+++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java
@@ -20,9 +20,6 @@
package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v2.ServiceRegistryAndSupervisionApi;
import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException;
@@ -33,14 +30,16 @@ import org.onap.ccsdk.oran.a1policymanagementservice.repository.Policies;
import org.onap.ccsdk.oran.a1policymanagementservice.repository.Policy;
import org.onap.ccsdk.oran.a1policymanagementservice.repository.Service;
import org.onap.ccsdk.oran.a1policymanagementservice.repository.Services;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
+import java.lang.invoke.MethodHandles;
import java.net.MalformedURLException;
import java.net.URL;
import java.time.Duration;
@@ -62,10 +61,10 @@ public class ServiceController implements ServiceRegistryAndSupervisionApi {
private final Services services;
private final Policies policies;
- @Autowired
- private ObjectMapper objectMapper;
+ private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- private static Gson gson = new GsonBuilder().create();
+ @Autowired
+ private PolicyController policyController;
ServiceController(Services services, Policies policies) {
this.services = services;
@@ -137,32 +136,48 @@ public class ServiceController implements ServiceRegistryAndSupervisionApi {
public Mono<ResponseEntity<Object>> deleteService(final String serviceId, final ServerWebExchange exchange) {
try {
Service service = removeService(serviceId);
- // Remove the policies from the repo and let the consistency monitoring
- // do the rest.
- removePolicies(service);
+ removePolicies(service, exchange);
return Mono.just(new ResponseEntity<>(HttpStatus.NO_CONTENT));
- } catch (ServiceException e) {
+ } catch (ServiceException | NullPointerException e) {
+ logger.warn("Exception caught during service deletion while deleting service {}: {}", serviceId, e.getMessage());
return ErrorResponse.createMono(e, HttpStatus.NOT_FOUND);
}
}
@Override
public Mono<ResponseEntity<Object>> keepAliveService(final String serviceId, final ServerWebExchange exchange) throws ServiceException {
-
services.getService(serviceId).keepAlive();
return Mono.just(new ResponseEntity<>(HttpStatus.OK));
}
private Service removeService(String name) throws ServiceException {
Service service = this.services.getService(name); // Just to verify that it exists
+ logger.trace("Service name to be deleted: {}", service.getName());
this.services.remove(service.getName());
return service;
}
- private void removePolicies(Service service) {
+ private void removePolicies(Service service, ServerWebExchange exchange) {
Collection<Policy> policyList = this.policies.getForService(service.getName());
+ logger.trace("Policies to be deleted: {}", policyList);
for (Policy policy : policyList) {
- this.policies.remove(policy);
+ try {
+ policyController.deletePolicy(policy.getId(), exchange).doOnNext(resp -> {
+ if (resp.getStatusCode().is2xxSuccessful()) {
+ logger.trace("Deleting Policy '{}' when deleting Service '{}'", policy.getId(),
+ service.getName());
+ } else {
+ logger.warn("Possible problem deleting Policy '{}' when deleting Service '{}'. Continuing, "
+ + "but might trigger a re-sync with affected ric '{}'. Repsonse: \"{}\"",
+ policy.getId(), service.getName(), policy.getRic().getConfig().getRicId(),
+ resp.toString());
+ }
+ }).subscribe();
+ } catch (Exception e) {
+ logger.warn("Problem deleting Policy '{}' when deleting Service '{}'."
+ + " Continuing, but might trigger a re-sync with affected ric '{}'. Problem: \"{}\"",
+ policy.getId(), service.getName(), policy.getRic().getConfig().getRicId(), e.getMessage());
+ }
}
}
diff --git a/csit/scripts/healthcheck/.env b/csit/scripts/healthcheck/.env
index 531e294e..257da5a0 100644
--- a/csit/scripts/healthcheck/.env
+++ b/csit/scripts/healthcheck/.env
@@ -17,7 +17,7 @@
#PMS
PMS_IMAGE_BASE="onap/ccsdk-oran-a1policymanagementservice"
-PMS_IMAGE_TAG="1.6.2-SNAPSHOT-latest"
+PMS_IMAGE_TAG="1.6.3-SNAPSHOT-latest"
#A1_SIM
A1_SIM_IMAGE_BASE="nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator"
diff --git a/docs/architecture/architecture.rst b/docs/architecture/architecture.rst
index d1e770be..bf47c91c 100755
--- a/docs/architecture/architecture.rst
+++ b/docs/architecture/architecture.rst
@@ -1,5 +1,6 @@
.. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright 2023 Nordix Foundation
+.. Copyright 2023 Nordix Foundation. All rights reserved.
+.. Copyright 2024 OpenInfra Foundation Europe. All rights reserved.
.. _architecture:
diff --git a/docs/consumedapis/consumedapis.rst b/docs/consumedapis/consumedapis.rst
index edb2084a..4f9fea4e 100755
--- a/docs/consumedapis/consumedapis.rst
+++ b/docs/consumedapis/consumedapis.rst
@@ -1,5 +1,6 @@
.. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright 2023 Nordix Foundation
+.. Copyright 2023 Nordix Foundation. All rights reserved.
+.. Copyright 2024 OpenInfra Foundation Europe. All rights reserved.
Consumed APIs
=============
@@ -15,7 +16,7 @@ O-RAN A1 Interface for A1 Policies (A1-P)
Southbound, the ONAP A1 Policy functions communicate with *near-RT RIC* RAN functions using the **A1** interface, as defined by the `O-RAN Alliance <https://www.o-ran.org>`_
The *A1 Interface - Application Protocol Specification (A1-AP)* describes this interface. The specification can be viewed from the `O-RAN Alliance <https://www.o-ran.org>`_ website.
-The **London** ONAP A1 Policy functions implement the *A1 Policy* (*A1-P*) parts of A1-AP, supporting versions *v1.1*, *v2.0* and *v3.0*.
+The **Montreal** ONAP A1 Policy functions implement the *A1 Policy* (*A1-P*) parts of A1-AP, supporting versions *v1.1*, *v2.0* and *v3.0*.
An opensource implementation of a `near-RT RIC <https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=1179659>`_ is available from the `O-RAN Software Community <https://o-ran-sc.org>`_. It supports a pre-spec version of the A1-AP. The ONAP A1 Policy functions described here also supports this A1 version (*A1-OSC*).
diff --git a/docs/guide/developer-guide.rst b/docs/guide/developer-guide.rst
index e9882a2d..2230c0f4 100644
--- a/docs/guide/developer-guide.rst
+++ b/docs/guide/developer-guide.rst
@@ -1,6 +1,7 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
-.. Copyright (C) 2023 Nordix Foundation.
+.. Copyright 2023 Nordix Foundation. All rights reserved.
+.. Copyright 2024 OpenInfra Foundation Europe. All rights reserved.
.. _developer_guide:
@@ -9,7 +10,7 @@ Developer Guide
This document provides a quickstart for developers of the CCSDK functions for O-RAN A1 Policies.
-.. image:: ../media/ONAP-A1ControllerArchitecture-London.png
+.. image:: ../media/ONAP-A1ControllerArchitecture-Montreal.png
:width: 500pt
Source tree
diff --git a/docs/humaninterfaces/humaninterfaces.rst b/docs/humaninterfaces/humaninterfaces.rst
index be271b43..a68962b8 100644
--- a/docs/humaninterfaces/humaninterfaces.rst
+++ b/docs/humaninterfaces/humaninterfaces.rst
@@ -1,5 +1,6 @@
.. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright 2022 Nordix Foundation
+.. Copyright 2022-2023 Nordix Foundation. All rights reserved.
+.. Copyright 2024 OpenInfra Foundation Europe. All rights reserved.
Human Interfaces
diff --git a/docs/media/ONAP-A1ControllerArchitecture-Montreal.png b/docs/media/ONAP-A1ControllerArchitecture-Montreal.png
new file mode 100644
index 00000000..f2d4c602
--- /dev/null
+++ b/docs/media/ONAP-A1ControllerArchitecture-Montreal.png
Binary files differ
diff --git a/docs/releasenotes/release-notes.rst b/docs/releasenotes/release-notes.rst
index cca6f553..0690800c 100644
--- a/docs/releasenotes/release-notes.rst
+++ b/docs/releasenotes/release-notes.rst
@@ -2,6 +2,8 @@
.. 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2023 Nordix Foundation.
+.. Copyright (C) 2024 OpenInfra Foundation Europe.
+
.. _release_notes:
=============
@@ -9,14 +11,14 @@ Release-Notes
=============
This document provides the release notes for the release of the different parts
-of the ORAN project.
+of the CCSDK ORAN project.
.. contents::
:depth: 3
:local:
-Version history Policy Management Service
-=========================================
+Version history A1 Policy Management Service
+============================================
+------------+----------+-------------+-------------------+
| **Date** | **Ver.** | **Author** | **Comment** |
@@ -91,6 +93,12 @@ Version history Policy Management Service
| 2023-04-26 | 1.5.0 | Dan Timoney | RC version, |
| | | | London Release |
+------------+----------+-------------+-------------------+
+| 2023-11-10 | 1.6.0 | Dan Timoney | RC version, |
+| | | | Montreal Release |
++------------+----------+-------------+-------------------+
+| 2023-11-27 | 1.6.1 | Dan Timoney | Release version, |
+| | | | Montreal Release |
++------------+----------+-------------+-------------------+
Version history A1 Adapter
==========================
@@ -168,6 +176,12 @@ Version history A1 Adapter
| 2023-04-26 | 1.5.0 | Dan Timoney | RC version, |
| | | | London Release |
+------------+----------+-------------+-------------------+
+| 2023-11-10 | 1.6.0 | Dan Timoney | RC version, |
+| | | | Montreal Release |
++------------+----------+-------------+-------------------+
+| 2023-11-27 | 1.6.1 | Dan Timoney | Release version, |
+| | | | Montreal Release |
++------------+----------+-------------+-------------------+
Release Data
============
@@ -608,3 +622,43 @@ London, Release 1.5.0
| **Purpose of the delivery** | Improvements, London Release, 1.5.0 version |
| | |
+-----------------------------+-----------------------------------------------------+
+
+
+Montreal, Release 1.6.0
+-----------------------
++-----------------------------+-----------------------------------------------------+
+| **Project** | CCSDK ORAN |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Repo/commit-ID** | ccsdk-oran/376ac6d1d25fa69016a92ddf47794ad3e3691a8b |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Release designation** | Montreal, RC |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Release date** | 2023-11-10 |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Purpose of the delivery** | Improvements, Montreal RC, 1.6.0 version |
+| | |
++-----------------------------+-----------------------------------------------------+
+
+
+Montreal, Release 1.6.1
+-----------------------
++-----------------------------+-----------------------------------------------------+
+| **Project** | CCSDK ORAN |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Repo/commit-ID** | ccsdk-oran/80e8366498e34302afe7e85db6d345e148571712 |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Release designation** | Montreal, RC |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Release date** | 2023-11-27 |
+| | |
++-----------------------------+-----------------------------------------------------+
+| **Purpose of the delivery** | Improvements, Montreal Release, 1.6.1 version |
+| | |
++-----------------------------+-----------------------------------------------------+
diff --git a/docs/tox.ini b/docs/tox.ini
index 3fde8599..fa7db763 100644
--- a/docs/tox.ini
+++ b/docs/tox.ini
@@ -9,7 +9,7 @@ skipsdist = true
basepython = python3.8
deps =
-r{toxinidir}/requirements-docs.txt
- -chttps://raw.githubusercontent.com/openstack/requirements/stable/yoga/upper-constraints.txt
+ -chttps://raw.githubusercontent.com/openstack/requirements/unmaintained/yoga/upper-constraints.txt
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt?h=montreal
commands =
sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./ {toxinidir}/_build/html
diff --git a/pom.xml b/pom.xml
index 29c7d026..0318e184 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
<groupId>org.onap.ccsdk.oran</groupId>
<artifactId>ccsdk-oran</artifactId>
- <version>1.6.2-SNAPSHOT</version>
+ <version>1.6.3-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
diff --git a/releases/1.6.2-container.yaml b/releases/1.6.2-container.yaml
new file mode 100644
index 00000000..c94568da
--- /dev/null
+++ b/releases/1.6.2-container.yaml
@@ -0,0 +1,9 @@
+---
+distribution_type: 'container'
+container_release_tag: '1.6.2'
+project: 'ccsdk-oran'
+log_dir: 'ccsdk-oran-maven-docker-stage-montreal/24/'
+ref: cc8cc210aea9c6b3ad2cb8b1623e0d74a4cea5a8
+containers:
+ - name: 'ccsdk-oran-a1policymanagementservice'
+ version: '1.6.2-STAGING-latest'
diff --git a/releases/1.6.2.yaml b/releases/1.6.2.yaml
new file mode 100644
index 00000000..be14de74
--- /dev/null
+++ b/releases/1.6.2.yaml
@@ -0,0 +1,5 @@
+---
+distribution_type: 'maven'
+version: '1.6.2'
+project: 'ccsdk-oran'
+log_dir: 'ccsdk-oran-maven-stage-montreal/3/'
diff --git a/version.properties b/version.properties
index cf3afdb8..16dacc6b 100644
--- a/version.properties
+++ b/version.properties
@@ -6,7 +6,7 @@
release_name=1
sprint_number=6
-feature_revision=2
+feature_revision=3
base_version=${release_name}.${sprint_number}.${feature_revision}