Unmaintained Projects Taskforce

Unmaintained Projects Taskforce

These meetings were initiated in response to ongoing discussions in the TSC and PTL meetings about dealing with dependencies on unmaintained projects, as well as documentation.

Proposed Unmaintained Project/Artifact Identification & Deprecation Process

Presented to PTLs March 13, 2023; Architecture subcommitte March 14, 2023

  • @Amy Zwarico: Proposed process for removing unmaintained artifacts from ONAP

    • Definition: artifact is unmaintained if has had no new build in over 12 months or it has no PTL

    • Case 1: Artifact is part of a project without a PTL

      • Step 1: TSC engage Architecture subcommittee to determine other project dependencies on project

        • Case 1: No dependencies on project without PTL

          • TSC request LFIT to remove all project tasks from Jenkins and set repo(s) to read only

          • TSC creates DOCS Jira to add deprecation/removal of project from the ONAP release

        • Case 2: Other projects have dependencies on project

          • TSC initiate effort to find replacement for unsupported functionality

    • Case 2: Artifact unmaintained and is part of a project with a PTL

      • Step 1: Each PTL notified via Jira of their unmaintained artifacts & Architecture subcommittee notified via ARCH Jira of all unmaintained artifacts in active projects

      • Step 2: PTL documents intra-project dependencies on artifact in the project Jira

      • Step 3: Architecture subcommittee determines inter-project dependencies via the architecture reviews and documents results in ARCH Jira

      • Step 4: PTL Removes unmaintained projects with no dependencies from the release

        • PTL creates a gerrit request in the CI management repo to remove the Jenkins jobs associated with the unneeded repos and set repos to read only

          • Jira should remain open until gerrit request is merged by LFIT (does this remove jobs from OOM?)

        • PTL adds removal of the artifact/repo to their release documentation and removes all other documentation about the artifact/repo from their documentation

      • Step 5: Architecture/Docs informs TSC of removal of artifacts/repos

Meeting Minutes

March 6, 2023

Attendees: @David McBride , @Amy Zwarico , @Jessica Gonzalez , @Thomas Kulik , @Fiachra Corcoran , @Thomas Kulik 

  • Amy:  we've discussed (see Feb 27 notes) the process when a project has a PTL, but what about the case where a project has no PTL?

  • In the case of no PTL, we need to use the project archiving process, vs the repo archiving process.

  • The ultimate goal is to avoid shipping unmaintained code

  • Update the arch review process to review any unmaintained Jiras assigned to the project

    • Complete unmaintained Jiras by M1

    • Arch review includes review of  unmaintained Jiras and is completed by M2

      • Attach unmaintained Jira as linked issue to "request arch review" task at M1

    • May not need to include arch task in unmaintained Jira

  • The team agrees that this should be the last meeting

@David McBride send mail to Chaker and Byung explaining updated arch review process which includes a review of unmaintained Jiras

February  27, 2023

Attendees: @David McBride , @Amy Zwarico , @Jessica Gonzalez , @Muddasar Ahmed 

  • The team concurs that we are ready to wrap up this task force.

  • We will use our remaining time to consolidate and summarize what we learned:

  • Part 1 - How do we identify candidate repositories for 

    • Script examines Jenkins release tab.  Examines the last time that a particular artifact (repo) was published.

      • Amy, Bert, and Jess will coordinate to submit script into CI Management repo

    • Script generates a list of artifacts that were not published in the last 12 months.

    • This is the list of candidates for investigation for archiving

  • Part II - Investigate list of artifacts

    • Generate Jira issue for each project.  Note that a Jira issue could have more than one artifact.

      • Example:  https://lf-onap.atlassian.net/browse/VFC-1983

      • Note that these tickets use the "unmaintained" label

      • Jira issue should contain the following questions/directions

        • Is the image used by the project (already doing this)?

        • Is the image used by any other project (already doing this)?

        • What is the repo associated with the image or component?

        • Does the repo contain anything else that is still in use within the project, or anywhere in ONAP?

        • IF the PTL determines that the repo can be archived, then the PTL creates a gerrit request in the CI management repo to remove the Jenkins jobs associated with the unneeded repos

          • Jira should remain open until gerrit request is merged

        • TASKS

          • PTL - generate gerrit to remove jenkins jobs (submit LFIT if PTL not available)

          • Arch  - review to identify dependencies and related issues

          • DOCS - exclude from documentation anything associated with the repository being archived

          • OOM - remove artifact from deployment

    • PTLs provide feedback through the Jira issue as to whether the identified artifacts should be removed from Jenkins jobs and archived

  • Part III (See Oct 17 notes)

    • PTL - Deprecate the Jenkins jobs that generate the image (see Jira directions above)

    • Submit ticket to IT to deprecate the repo (archive)

      • Indicate in the ticket whether NexusIQ and Sonar reports should be retained

  • Other questions/issues

    • Do we need to update @Muddasar Ahmed RACI (last reviewed last October)

    • Plan to share conclusions with the TSC

  • The team concurs that we need to meet at least one more time before closing the task force.

Feb 7 - 20

Canceled until Amy's Jira issues come due (Feb 22).

January 30, 2023

Attendees: @David McBride , @Amy Zwarico , @Jessica Gonzalez , @Muddasar Ahmed  

  • Note:  Amy did review list of repos with PTLs on Jan 23 (see Next Actions from Jan 9 minutes).

  • Jessica leads us through a review of Insights

  • Amy will begin generating Jira tickets for the London release.  Candidates will be determined based on Bert's filtering script and spreadsheet.

    • Amy will use the revised questions documented in Oct 17 meeting minutes for creating JIRA tasks.

  • David will send emails to committers for candidate repos whose project lacks a PTL.  Amy will supply the list to David.

  • We will review JIRA issues created by Amy next week.

January 23, 2023

Canceled by consensus

January 16, 2023

Canceled due to holiday

January 09, 2023

Attendees: @David McBride , @Amy Zwarico , @Thomas Kulik 

  • New tab that Jessica added:  https://jenkins.onap.org/view/Release-Jobs/

    • Note that the spreadsheet that Bert generated is a filter of this page.

  • Next actions:

    • Amy to review Bert's list of repos (see spreadsheet linked to Jan 5 minutes) with PTLs on Jan 23

    • Invite Jessica to Jan 23 meeting to reconcile Insights page vs Jenkins tab. How are these related?

    • Thomas to investigate adding the last user associated with last repo activity to the "Release Jobs" Jenkins page

      • Amy will talk with Bert about doing the same, only using the API, instead, to extract the user name

  • Next meeting - Jan 23 (Note: Jan 16 canceled due to MLK holiday)

December 19, 2022 - January 2, 2023

Canceled due to winter holidays.

December 12, 2022

Attendees: @David McBride , @Amy Zwarico@Jessica Gonzalez 

December 5, 2022

Attendees: @David McBride , @Amy Zwarico , @Fiachra Corcoran , @Jessica Gonzalez 

  • Process (supplements use of Version Evolution Tool):

    • from the release merge jobs within Jenkins

    • generate a list of runs of release jobs across all ONAP (artifacts + images)

    • use the last successful run date to determine how recently the item was touched

    • Use this list to communicate with PTLs

  • Jessica to join the meeting again next week (Dec 12).

  • Note that Dec 12 will be our last meeting of the calendar year.  We will resume on Jan 9.

@Jessica Gonzalez investigate API to automate generation of candidate list from Jenkins release merge jobs
@Jessica Gonzalez make Jenkins release merge a permanent tab
@Fiachra Corcoran generate a list of projects that still have helm charts in OOM that haven't participated in an ONAP release recently to review for removal from OOM

@Bert Sloan (AT&T resource) use Jenkins API to pull all repos from Jenkins release-jobs list

November 28, 2022

Attendees: @David McBride , @Amy Zwarico , @Fiachra Corcoran 

  • Amy asks, what do we want to accomplish for the London release?

  • Reviewed five closed unmaintained repo tasks assigned to Kohn.

  • Note: version evolution tool needs to be updated to include the Kohn branch

    • Fiachra will coordinate with Michal to update the script.

  • Amy and Fiachra noted that we would still like to talk with Jessica.

    • David to invite Jess to the Dec 5 meeting.

  • Next meeting is Dec 5.

  • Meeting is canceled Dec 19, Dec 26, Jan 2.

@Fiachra Corcoran update version evolution tool to include Kohn branch

November 21, 2022

Attendees: @David McBride  

  • Meeting canceled due to low participation.

  • Next meeting is Nov 28.

November 14, 2022

Canceled due to ONE Summit

November 7, 2022

Attendees: @David McBride  , @Thomas Kulik , @Fiachra Corcoran 

  • Meeting canceled due to low participation.

  • Next week (Nov 14) is canceled due to ONE Summit.

October 31, 2022

Meeting canceled.

October 24, 2022

Attendees: @David McBride  , @Muddasar Ahmed , @Tony Hansen , @Byung-Woo Jun , @Amy Zwarico 

  • David to invite Jessica to the Oct 31 meeting.

October 17, 2022

Attendees: @David McBride  , @Muddasar Ahmed , @Tony Hansen , @Thomas Kulik, @Fiachra Corcoran , @Thomas Kulik 

  • Update request to PTL (conversation with Jessica):

    • Is the image used by the project (already doing this)?

    • Is the image used by any other project (already doing this)?

    • What is the repo associated with the image or component?

    • Does the repo contain anything else that is still in use within the project, or anywhere in ONAP?

  • Process for archiving a repository (conversation with Jessica)

    • PTL - Deprecate the Jenkins jobs that generate the image

    • Submit ticket to IT to deprecate the repo (archive)

      • Indicate in the ticket whether NexusIQ and Sonar reports should be retained

  • @Muddasar Ahmed points out that step 5 in the RACI belongs with step 1

    • Muddasar to combine step 5 into step 1, then delete step 5

October 10, 2022

Attendees: @David McBride  , @Amy Zwarico , @Muddasar Ahmed , @Tony Hansen , @Byung-Woo Jun , @Kenny Paul (Deactivated) 

  • VFC-1978 was updated with a comment that shows the repo associated with the image vfc-huawei-vnfm-driver

  • IT ticket updated to request that repo be archived

  • We also need to confirm that there is nothing else in the repo that is still in use

  • How do we determine the repo from the image that is displayed by the version evolution tool?

  • Do we need to follow two steps:  1) stop image generation; 2) archive repo

  • David to discuss docker generation with RELENG.  How do we stop it?

  • David to submit request to IT to remove all instances of the image policy-mariadb (POLICY-4308)

  • @Muddasar Ahmed points out that we should finish polishing the unmaintained repo process, then present it to the PTLs.

    • Tentatively plan on Oct 24 or Oct 31

October 3, 2022

Attendees: @David McBride  , @Amy Zwarico , @Muddasar Ahmed , @Tony Hansen 

  • Discussed issue of authority for archiving repositories, since this came up at the TSC meeting last week.  We agreed on the following.

    • PTL may authorize archiving.  No TSC approval needed.

    • If PTL is unavailable, then the TSC must authorize archiving.

    • Archiving a single repo or subset of repos is different that archiving a project, or otherwise changing the project lifecycle state. That requires TSC approval.

  • IT reports that they are unable to find vfc-huawei-vnfm-driver (VFC-1978).  Left note in Jira asking PTL to show us the location.

September 26, 2022

Attendees: @David McBride  , @Amy Zwarico , @Muddasar Ahmed , @Fiachra Corcoran 

  • Some records reported by the version evolution tool are docker images, rather than repos (e.g., POLICY-4308)

  • @Fiachra Corcoran suggests an improvement to the tool to differentiate between "infra" and source code repos

  • Agreement that we should focus on code repos from Nexus3.  We will reconsider docker images later.

  • Reviewed unmaintained Jira tickets

    • DCAEGEN2-3233 - deferred to London release

    • VFC-1978 - will propose archiving vfc-huawei-vnfm-driver to the TSC

    • POLICY-4308 - This refers to a docker image. The team decided that we will focus on code repos for now.  However, we may look at this again in the future.

    • MSB-701 -Docker image - see notes above

    • AAI-3514 - AAI PTL reports that repos are still in use.  Lack of updates appears to be due to the lack of new development, but also due to a lack of updating vulnerable packages.  Left comment to PTL to that effect.

September 19, 2022

Attendees: @David McBride   , @Thomas Kulik , @Amy Zwarico , @Muddasar Ahmed 

  • Reviewed Jira issues assigned by Amy to projects with candidates for unmaintained repo processing.

  • Created Jira epics

  • David to propose to the TSC archiving vfc-huawei-vnfm-driver (VFC-1978).

August 29, 2022

Attendees: @David McBride   , @Thomas Kulik , @Amy Zwarico  , @Tony Hansen

  • Meeting canceled next week (Sept 5) due to the Labor Day holiday.  Next meeting, Sept 12.

August 22, 2022

Attendees: @David McBride   , @Thomas Kulik , @Amy Zwarico  , @Tony Hansen

  • Review RACI (see link below)

August 15, 2022

Attendees: @David McBride   , @Thomas Kulik , @Amy Zwarico , @Byung-Woo Jun   , @Tony Hansen , @Kenny Paul (Deactivated) 

  • If a project is not participating in a release, can they CLOSE - won't do, or defer to the next release?

    • Team feels that projects should continue to support unmaintained repo activities / information gathering, even if they are not participating in the release

    • Need an escalation process

    • @Kenny Paul (Deactivated) suggests that RM should escalate

  • RACI:  Project State: Unmaintained

    • Review next week

August 8, 2022

Attendees: @David McBride  , @Andreas Geißler  , @Thomas Kulik , @Amy Zwarico , @Byung-Woo Jun   , @Tony Hansen , @Kenny Paul (Deactivated) 

  • Feedback

July 25, 2022

Attendees: @David McBride  , @Andreas Geißler  , @Thomas Kulik , @Amy Zwarico , @Byung-Woo Jun , @Muddasar Ahmed , @Paweł Pawlak , @Tony Hansen 

  • Feedback from Fiachra on status of version evolution tool:  The Linux Foundation Mail - status of version evolution tool?.pdf

  • Andreas reports that version evolution tool has been activated on DT.  Example.

  • What does it mean when a project does not participate in a release?

    • What if the project has required changes?

    • If there is a change to the project, are they still subject to release management tasks?

    • Can we define a minimal participation for a release (i.e., bug fixes only + support tasks)

July 18, 2022

Attendees: @David McBride  , @Andreas Geißler  , @Thomas Kulik , @Thomas Kulik , @Amy Zwarico , @Byung-Woo Jun , @Muddasar Ahmed 

June 27, 2022

Attendees: @David McBride  , @Tony Hansen , @Thomas Kulik , @Thomas Kulik , @Muddasar Ahmed 

  • Status of docker version evolution tool?  Are there still issues?

  • Repo.yaml

    • Use as a reference for status of every repo ("single source of truth")

      • For example, documenting the status of repos and projects in ONAP documentation

    • Process?

      • Use a release management task at M1 or M2 for PTLs to review repos.yaml and update as needed

      • Need a process for projects that dissolve and where the PTL and committers are unavailable

    • Format

      • still an open question

      • use yaml?

      • enumeration of states?

      • file validation?

    • Need to align changes to repos.yaml file with process flow document

May 30, 2022

Canceled due to Memorial Day holiday

May 23, 2022

Attendees: @David McBride  ,  , ,