Policy R4 Dublin Independent Versioning And Release Process Plan

Consumed API from other projects

Project

API Dependency

Notes

Project

API Dependency

Notes

Portal

2.4.0



AAF

v2.1.2



Dmaap

v1.1.8



SDC

1.5.1 (Dublin)



AAI

v16

aai-schema 1.0.3

No direct link to any libraries

SO



REST - No direct link to any libraries

VFC



REST - No direct link to any libraries

SDNR



Dmaap - No direct link to any libraries

SDNC



REST - No direct link to any libraries


Published API - These projects use the policy libraries to build their code

Project

API

Notes

Project

API

Notes

CLAMP

Policy Lifecycle API

 implemented in own java code



OOF

Legacy Policy API

implemented in own python code

SDNC

Legacy Policy API

implemented in own code

DCAE

Policy Lifecycle API

Implemented own python code



1. Follow the process as outlined here: Independent Versioning and Release Process. Policy repositories inherit from oparent so release jobs will fail if any SNAPSHOT artifact is referenced in the pom.xml's.

  • Verify there are no SNAPSHOTs and we are up-to-date with other team's released artifacts. For Casablanca, the CI/CD daily release job does this by automatically failing if a SNAPSHOT is defined in the pom.xml's.

  • Send Helpdesk tickets to LF ONAP release engineering specifying the daily release CI/CD Job to officially release Java artifacts and any docker images generated by that release job. Eg. The LF moves from staging to the appropriate release repository.

  • Update the Integration team manifest so the community knows which released artifacts are available. Example gerrit review: https://gerrit.onap.org/r/#/c/42709/

  • Update the Demo team heat scripts so the automated External Lab Jobs work and the Integration team has the latest artifacts for testing. 

  • Update the OOM team K8S Helm Charts. Example gerrit review: https://gerrit.onap.org/r/#/c/42713/

Note: If using maven version or release plugin, also manually check the versions are set correctly in the POMs, these plugins can miss POMs especially if they do not have Java source code in them.



2. For any new changes to be done post-Release. Then the we must update to the next SNAPSHOT version:

Release Order

Repo (released version)

Notes

Example Commit(s) for upgrading versions

Release Order

Repo (released version)

Notes

Example Commit(s) for upgrading versions

1

policy/parent

2.1.0

all pom.xml's

version.properties

https://gerrit.onap.org/r/#/c/86556/

2a

policy/docker

1.4.0

all pom.xml's

version.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

NOTE: Be sure the following are set to match drools-applications and models repo

./config/pe/brmsgw.conf:

BRMS_DEPENDENCY_VERSION

BRMS_MODELS_DEPENDENCY_VERSION



2b

policy/common

1.4.0

all pom.xml's

version.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

https://gerrit.onap.org/r/#/c/86722/

3

policy/models

2.0.2

all pom.xml's

version.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version



  • Ensure that policy/docker/config/pe/brmsgw.conf points to the right version for the CSIT tests to work:

BRMS_MODELS_DEPENDENCY_VERSION

  • Ensure that the policy K8S Helm charts oom/kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf

BRMS_MODELS_DEPENDENCY_VERSION

https://gerrit.onap.org/r/#/c/87767/

https://gerrit.onap.org/r/#/c/87762/

4a

policy/api

2.0.1

all pom.xml's

version.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.models.version

https://gerrit.onap.org/r/#/c/87851/

4b

policy/pap

2.0.1

all pom.xml's

version.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.models.version

https://gerrit.onap.org/r/#/c/87852/

4c

policy/drools-pdp

1.4.0

all pom.xml's

version.properties

In main pom.xml consider changing the policy.common.version property:

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.models.version

Update policy/drools-applications dockerfile to pull this image (see below)

Update policy/drools-applications pom.xml

https://gerrit.onap.org/r/#/c/87854/

4d

policy/apex-pdp

2.0.4

all pom.xml's

version.properties

In main pom.xml consider changing the policy.common.version property:

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.models.version

https://gerrit.onap.org/r/#/c/87856/

4e

policy/xacml-pdp

2.0.1

all pom.xml's

version.properties

In main pom.xml consider changing the policy.common.version property:

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.models.version

https://gerrit.onap.org/r/#/c/87882/

4f

policy/engine

1.4.1

all pom.xml's

version.properties

BRMSGateway/config.properties

BRMSGateway/dependency.json

BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsPush.java

BRMSGateway/src/test/resources/config.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.models.version

https://gerrit.onap.org/r/#/c/87889/

5a

policy/drools-applications

1.4.2

all pom.xml's

version.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.models.version

  • version.policy.drools-pdp

Additional files to change in JUnit tests:

controlloop/common/feature-controlloop-management/src/test/resources/op.pom



In the dockerfile change to point to released drools-pdp image:

FROM onap/policy-drools:1.4.0

and force pull the policy-drools:1.4.0 image:

https://gerrit.onap.org/r/#/c/87814/1/controlloop/build/docker-cl

  • Ensure that policy/docker/config/pe/brmsgw.conf points to the right version for the CSIT tests to work:

BRMS_DEPENDENCY_VERSION

  • Ensure that the policy K8S Helm charts oom/kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf

BRMS_DEPENDENCY_VERSION

https://gerrit.onap.org/r/#/c/87840/

5b

policy/distribution

2.1.0

all pom.xml's

version.properties

In main pom.xml change the following properties

  • Ensure <parent> tag points to correct policy/parent version

  • policy.common.version

  • policy.engine.version

  • policy.apex-pdp.version

https://gerrit.onap.org/r/#/c/87893/



When branching, its easiest to update the .gitreview file ON the new branch in order to ensure that new gerritt submissions are tracked on that branch.

If this is not done, then one should specify the branch when submitting the git review. 'git review dublin'

[gerrit] host=gerrit.onap.org port=29418 project=policy/engine.git defaultbranch=dublin



When tagging for a release the following commands should be used:

git tag -sm "4.0.1-ONAP Release" 4.0.1-ONAP git push <remote-name> 4.0.1-ONAP