Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RELEASE] Release 3.8 #6435

Closed
34 of 40 tasks
planetf1 opened this issue Apr 21, 2022 · 11 comments
Closed
34 of 40 tasks

[RELEASE] Release 3.8 #6435

planetf1 opened this issue Apr 21, 2022 · 11 comments
Assignees
Labels
release Work to create a new releae

Comments

@planetf1
Copy link
Member

planetf1 commented Apr 21, 2022

Work Plan

Create release 3.8 :

Prior to the release work

  • slack post advising of upcoming release & linking to issue
  • advance warning in developer/community call
  • final agreement to start branch in team call & identification of outstanding issues
  • Agree required updates/versions for additional repos including egeria-ui, egeria-reactui, connectors etc

Branching & Correcting versions

  • Create branch
  • Reassign any issues not being worked on to the next release
  • Update version for master (ie x.y-SNAPSHOT > x.y+1-SNAPSHOT)
  • Update version for branch (ie x.y-SNAPSHOT -> x.y)

Final updates to the release

  • Ensure any remaining fixes are merged into branch (and vice-versa to master)

Generate a release image for testing

  • Start release pipeline manually to generate container image

Updating the React UI (as this is part of the notebook test). Note egeria-ui is out of scope other than inclusion of current release

  • Create branch
  • Update version in master
  • Update version in new branch
  • Ensure new container image is available for testing (there is no distinct release pipeline)

Updating the Helm Charts (egeria-charts repo)

  • checker correct container images are on docker.io & quay.io (these are built by the 'merge' build of a release)
  • update image versions for helm charts (egeria-charts repo) (using -prerelease for chart version)

Final tests

  • Check swagger doc renders (no regressions)
  • Verify odpi-egeria-lab chart (pods active/ready)
  • Verify egeria-base chart (pods active/ready)
  • Check notebooks (config, start, data catalog at a minimum)
  • Check polymer UI (only possible to check it runs - no demo scenario for more)
  • Check React UI (rex, tex, glossary author)
  • CTS - graph
  • CTS - inmemory

Final Docs

  • Update release notes in egeria-docs

Final build and publish

  • Run 'release' pipeline on branch to push candidates to oss.sonatype.org
  • 'close' staging repo & Validate artifacts ok (number, structure, validations) on oss.sonatype.org
  • Create final github releases for egeria (add link to egeria docs)
  • Close repo on oss.sonatype.org (once updated) for egeria, release
  • Check 'release' repo on oss.sonatype.org has artifacts
  • Update final versions of egeria-charts to release ie x.y
  • Publish that release is now shipped via slack #egeria-announce
  • Additional posts to social media
  • Communicate to other repo owners ie for connectors so that they can be rebuilt/shipped as needed

Additional components

  • ReactUI
    • Create final github release
  • PostGres Connector
    • Create branch
    • Update version in master
    • Update version in new branch of connector, and of prereq egeria artifacts
    • Run release action, check sonatype & release
    • Create github release
@planetf1 planetf1 added the release Work to create a new releae label Apr 21, 2022
@planetf1 planetf1 self-assigned this Apr 21, 2022
@planetf1
Copy link
Member Author

Propose to branch first thing Tue 26th May 2022

@davidradl - for initial branch/test I will leave at 3.8.0-rc.0 . I would presume we can create a 3.8.0 release next week. If not we also have the option to go back to previous release.
@sarbull - Please let me know if you need a version later than 3.2.0, otherwise will leave as is

planetf1 added a commit to planetf1/egeria that referenced this issue Apr 26, 2022
planetf1 added a commit to planetf1/egeria that referenced this issue Apr 26, 2022
planetf1 added a commit to planetf1/egeria-charts that referenced this issue Apr 26, 2022
planetf1 added a commit to planetf1/egeria-charts that referenced this issue Apr 26, 2022
planetf1 added a commit to odpi/egeria-charts that referenced this issue Apr 26, 2022
odpi/egeria#6435 First prerelease version for the 3.8 release
planetf1 added a commit that referenced this issue Apr 26, 2022
planetf1 added a commit that referenced this issue Apr 26, 2022
(Release 3.8) #6435 Update release version to 3.8
@planetf1
Copy link
Member Author

planetf1 commented Apr 26, 2022

Egeria react UI issues noted (3.8.0-rc.0)

@planetf1
Copy link
Member Author

3.8 cts graph ok:

➜  tmp kubectl exec cts-report--1-d5vvv -- sh -c 'cat /export/pipe' | tar -xvf -                                                                                                         <<<
Defaulted container "wait-for-retrieval" out of: wait-for-retrieval, wait-for-platform (init), wait-for-kafka (init), wait-for-init (init), report (init)
x export/cts.tar.gz

➜  export gunzip -c cts.tar.gz|tar -xvf -
x omag.server.cts.config
x omag.server.tut.config
x cohort.cts.cts.local
x cohort.cts.cts.remote
x cohort.cts.tut.local
x cohort.cts.tut.remote
x openmetadata_cts_summary.json
x pd.tar.gz
x tcd.tar.gz
➜  export vi openmetadata_cts_summary.json 
➜  export cat openmetadata_cts_summary.json| jsonpp | less
➜  export jq '.testLabSummary.testSummariesFromWorkbenches[].profileSummaries[] | { profile: .name, status: .conformanceStatus }' openmetadata_cts_summary.json
{
  "profile": "Metadata sharing",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Reference copies",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Metadata maintenance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Dynamic types",
  "status": "UNKNOWN_STATUS"
}
{
  "profile": "Graph queries",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Historical search",
  "status": "CONFORMANT_NO_SUPPORT"
}
{
  "profile": "Entity proxies",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Soft-delete and restore",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Undo an update",
  "status": "CONFORMANT_NO_SUPPORT"
}
{
  "profile": "Reidentify instance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Retype instance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Rehome instance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Entity search",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Relationship search",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Entity advanced search",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Relationship advanced search",
  "status": "CONFORMANT_FULL_SUPPORT"
}

@planetf1
Copy link
Member Author

Output of 3.8 CTS - inmemory:

{
  "profile": "Metadata sharing",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Reference copies",
  "status": "NOT_CONFORMANT"
}
{
  "profile": "Metadata maintenance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Dynamic types",
  "status": "UNKNOWN_STATUS"
}
{
  "profile": "Graph queries",
  "status": "CONFORMANT_PARTIAL_SUPPORT"
}
{
  "profile": "Historical search",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Entity proxies",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Soft-delete and restore",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Undo an update",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Reidentify instance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Retype instance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Rehome instance",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Entity search",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Relationship search",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Entity advanced search",
  "status": "CONFORMANT_FULL_SUPPORT"
}
{
  "profile": "Relationship advanced search",
  "status": "CONFORMANT_FULL_SUPPORT"
}

Note that there is a change

{
  "profile": "Reference copies",
  "status": "NOT_CONFORMANT"
}

is unexpected ....

@planetf1
Copy link
Member Author

The failure is in this test case:

            {
                "class": "OpenMetadataConformanceWorkbenchResults",
                "failedTestCases": [
                    {
                        "class": "OpenMetadataTestCaseResult",
                        "conformanceException": {
                            "errorMessage": "CTS test repository-entity-reference-copy-lifecycle caught exception EntityNotKnownException from method getEntityDetail whilst trying to retrieve an entity of type APISchemaType.  Exception message was : OMRS-REPOSITORY-404-002 The entity identified with guid 15119431-0b0f-43a6-8f39-a97c7b991ad6 passed on the getEntityDetail call is not known to the open metadata repository tut.  Method was invoked with parameters: entityGUID : 15119431-0b0f-43a6-8f39-a97c7b991ad6",
                            "exceptionClassName": "java.lang.Exception"
                        },
                        "notSupportAssertions": [],
                        "successfulAssertions": [
                            "repository-test-case-base-01: Repository connector supplied to conformance suite.",
                            "repository-test-case-base-02: Metadata collection for repository connector supplied to conformance suite.",
                            "repository-entity-reference-copy-lifecycle-00: APISchemaType entity type definition matches known type  ",
                            "repository-entity-reference-copy-lifecycle-01: APISchemaType reference entity created; repository supports storage of reference copies.",
                            "repository-entity-reference-copy-lifecycle-02: APISchemaType reference entity can be retrieved as EntitySummary.",
                            "repository-entity-reference-copy-lifecycle-03: APISchemaType reference entity can be retrieved as EntityDetail.",
                            "repository-entity-reference-copy-lifecycle-04: APISchemaType reference entity matches the entity that was saved.",
                            "repository-entity-reference-copy-lifecycle-05: APISchemaType reference entity has no relationships.",
                            "repository-entity-reference-copy-lifecycle-06: APISchemaType reference entity status cannot be updated.",
                            "repository-entity-reference-copy-lifecycle-06: APISchemaType reference entity status cannot be updated.",
                            "repository-entity-reference-copy-lifecycle-07: APISchemaType reference entity properties cannot be updated.",
                            "repository-entity-reference-copy-lifecycle-08: APISchemaType reference entity type cannot be changed.",
                            "repository-entity-reference-copy-lifecycle-09: APISchemaType reference entity identity cannot be changed.",
                            "repository-entity-reference-copy-lifecycle-10: APISchemaType reference entity copy purged at TUT.",
                            "repository-entity-reference-copy-lifecycle-11: APISchemaType reference entity refresh requested by TUT.",
                            "repository-test-case-base-01: Repository connector supplied to conformance suite.",
                            "repository-test-case-base-02: Metadata collection for repository connector supplied to conformance suite."
                        ],
                        "testCaseDescriptionURL": "https://egeria.odpi.org/open-metadata-conformance-suite/docs/repository-workbench/test-cases/repository-entity-reference-copy-lifecycle-test-case.md",
                        "testCaseId": "repository-entity-reference-copy-lifecycle-APISchemaType",
                        "testCaseName": "Repository entity reference copy lifecycle test case",
                        "unsuccessfulAssertions": [
                            "Unexpected Exception Exception : CTS test repository-entity-reference-copy-lifecycle caught exception EntityNotKnownException from method getEntityDetail whilst trying to retrieve an entity of type APISchemaType.  Exception message was : OMRS-REPOSITORY-404-002 The entity identified with guid 15119431-0b0f-43a6-8f39-a97c7b991ad6 passed on the getEntityDetail call is not known to the open metadata repository tut.  Method was invoked with parameters: entityGUID : 15119431-0b0f-43a6-8f39-a97c7b991ad6"
                        ]
                    }

Investigating cc: @mandy-chessell @cmgrote

@planetf1
Copy link
Member Author

@planetf1
Copy link
Member Author

I've run the cts a third time -- no failures (and no code change, run by a one-liner chart deployment, on the same infrastructure.....)

This suggests an intermittent timing issue, and this is a lifecycle test ....
My suspicion is this is not a regression.

I'll run CTS using the notebooks. Additionally we would recommend the crux/xtdb connector for production use.

@planetf1
Copy link
Member Author

planetf1 commented Apr 27, 2022

Ran again, and now two failures - as above, plus the same error on ControlPointDefinition
-> needs investigation ...

@planetf1
Copy link
Member Author

The failure appears to have been caused by hitting the retry limit in this test:

Wed Apr 27 16:59:56 GMT 2022 CTS_Server Error CONFORMANCE-SUITE-0021 Test execution was polling for events 50 times every 100ms, and has now overrun
Wed Apr 27 17:00:04 GMT 2022 CTS_Server Error CONFORMANCE-SUITE-0021 Test execution was polling for events 50 times every 100ms, and has now overrun

(This was the failure on 2 entities)

@planetf1
Copy link
Member Author

PollCount changed to 100 ie max 10s -- made in 3 different areas where we have similar logic.

I opted for a modest 2x -- we wouldn't expect this to be really slow, and if so, could it point to another issue...? May need revisiting in future, alongside tracking latency of the creation end to end.

@planetf1
Copy link
Member Author

Latest CTS test run with modified timer was clean.

Given that it's clear the error was a timeout, the loop has been extended, now run clean I'm going to deem the CTS tests as passed for this release.

Remaining activity : integrate fixed react UI

planetf1 added a commit to planetf1/egeria-docs that referenced this issue Apr 29, 2022
planetf1 added a commit to planetf1/egeria-docs that referenced this issue Apr 29, 2022
planetf1 added a commit to odpi/egeria-docs that referenced this issue Apr 29, 2022
planetf1 added a commit to planetf1/egeria-charts that referenced this issue Apr 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Work to create a new releae
Projects
None yet
Development

No branches or pull requests

1 participant