I've been thinking about this since it was raised on last week's PTL call.
Our architecture have brought us a lot of flexibility and benefits - so I
want to ensure that we adhere to the principles of our decomposition.
Microservices and libraries should be independently coded, built,
published, and deployed.  The best way to achieve this is independent
repositories.

That being said, I also recognise that it's creating a large administrative
overhead as well as some "hurry up and wait" for the development teams,
given the TSC approval process we're currently observing.

It's certainly possible to maintain isolation of your code and artefacts
with separate directories within one umbrella repository - I've been part
of a team where we did just that.  It will require good discipline and
governance on the part of the committers to ensure the independence is not
breached.  The other downside is that the git history itself will be for
the overall repository, so it will be tangled between the projects.  A
commit to the Model Loader (for example) would show up if you're looking at
Synapse's commit history and vice versa.

My first preference is whether we could work with the TSC to come up with a
more agile process.  AAI is a microservice architecture with a number of
common libraries - on that basis, I would think the decision on whether to
create new ones (from a TSC) perspective shouldn't require the breadth of
oversight it currently seeks.  Jimmy, you'll need to tell me how feasible
that is.

That aside - the solution that's more in our hands, of course, is to shift
to putting services and libraries into directories under a higher level git
repository (or repositories).  Given the high degree of tangling that will
surface in the git histories, I wonder if there's a "middle way".


Strawman: a modest level of git repositories which would each contain
multiple microservices/libraries.  Perhaps something like...

   - *aai/data-management*
      - router-core
      - data-router
      - search-data-service
   - *aai/api*
      - gizmo
      - resources
      - traversal
   - *aai/applications*
      - aai-service (is this deprecated?)
      - sparky-be
      - sparky-fe
   - *aai/modelling*
      - babel
      - model-loader
   - *aai/libraries*
      - aai-common
      - aai-config
      - aai-data
      - champ
      - logging-service
      - rest-client
      - test-config

Proposed repositories are the bolded aai/<functional> entries.

Obviously there's a fair amount of churn to do this - I'd say we would
target post-Amsterdam, but (hopefully) it would be one-time.

Thoughts?

(Incidentally, I think this could complement Susan's suggestion that we put
the auth library in gizmo for now, and reorganise later if a proposal like
this one is adopted.


Cheers.


On 14 July 2017 at 12:03, Susan Bylsma <[email protected]> wrote:

> Great idea, Jimmy.  We are about to need a place to put an auth library to
> support opening Gizmo.  Might be a good use case to test out an alternate
> approach?
>
>
>
> *From:* [email protected] [mailto:onap-discuss-bounces@
> lists.onap.org] *On Behalf Of *FORSYTH, JAMES
> *Sent:* Friday, July 14, 2017 11:50 AM
> *To:* [email protected]
> *Cc:* MULLER, ANDREW <[email protected]>; PRESSLEY, VIVIAN A <[email protected]>
> *Subject:* [onap-discuss] FW: [onap-tsc] [aai] YOUR ACTION IS REQUIRED:
> A&AI Project needs new repos for microservices
>
>
>
> AAI team,
>
>
>
> We have been approved for new repos for our new microservices and the
> champ library.
>
>
>
> I assigned the following stories but I didn’t move them into the current
> sprint because I do not know if the repos will be available in time:
>
>
>
> https://jira.onap.org/browse/AAI-26 (champ) Andrew Muller - I want to
> assign this to you but you still need to create your LF account
>
> https://jira.onap.org/browse/AAI-27 (gizmo) CT Paterson I assigned this
> to you
>
> https://jira.onap.org/browse/AAI-46 (babel) Tian Lee this one is yours
>
>
>
> Given that new repos require TSC approval and can require long lead times,
> I think we need to have a discussion about the merits of continuing to have
> a separate repo per microservice.  I believe that there are ways to
> accomplish separation across microservices contained in the same repo with
> regard to code review and packaging, and if so it probably makes sense to
> look at reducing rather than expanding the number of git repos that A&AI
> uses, or at a minimum to be content with the repos we have and develop a
> strategy for onboarding new microservices and libraries into existing repos.
>
>
>
> So, A&AI team (and wider ONAP team members who have faces/solved similar
> issues) let’s discuss!
>
>
>
> Thanks,
>
> Jimmy
>
> A&AI PTL
>
>
>
> *From:* Gildas Lanilis [mailto:[email protected]
> <[email protected]>]
> *Sent:* Thursday, July 13, 2017 1:34 PM
> *To:* [email protected]
> *Cc:* Kenny Paul <[email protected]>; FORSYTH, JAMES <
> [email protected]>
> *Subject:* FW: [onap-tsc] YOUR ACTION IS REQUIRED: A&AI Project needs new
> repos for microservices
>
>
>
> Hi Helpdesk,
>
>
>
> We have obtained quorum from TSC voting members for supporting the request
> for AAI project (Jimmy PTL is cc’ed) asking to add 3 more repos (see
> below). See email thread available at https://lists.onap.org/
> pipermail/onap-tsc/2017-July/001139.html
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.onap.org_pipermail_onap-2Dtsc_2017-2DJuly_001139.html&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=Oej6QUk5p2KdqNEWySpOHA&m=kYUtAQS02P5Md_yu6RPx1dZChDGJfhqEhfZrNcXwH3c&s=6wcBktsJ7Or9DHfCgM8XKaxHuxH2cZqO4P10bZobIZc&e=>
>
>
>
> All associated artifacts are properly  documented in wiki
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.onap.org_display_DW_Resources-2Band-2BRepositories-23ResourcesandRepositories-2DActiveandAvailableInventory&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=Oej6QUk5p2KdqNEWySpOHA&m=kYUtAQS02P5Md_yu6RPx1dZChDGJfhqEhfZrNcXwH3c&s=cX59Nf5SLYTIqOk_3r96nBrxiYOWgFlWsxMRU-6M6xI&e=>
> and are summarized in the screenshot below.
>
>
>
>
>
> Let us know if you have any questions.
>
>
>
> Thanks,
>
> Gildas
>
> ONAP Release Manager
>
> 1 415 238 6287 <(415)%20238-6287>
>
>
>
> *From:* [email protected] [mailto:[email protected]
> <[email protected]>]
> *Sent:* Thursday, July 13, 2017 10:01 AM
> *To:* Gildas Lanilis <[email protected]>
> *Cc:* [email protected]
> *Subject:* Re: [onap-tsc] YOUR ACTION IS REQUIRED: A&AI Project needs new
> repos for microservices
>
>
>
> +1
>
> Best
>
> Jamil
>
>
> Le 7 juil. 2017 à 00:27, Gildas Lanilis <[email protected]> a
> écrit :
>
> Dear TSC Voting Members,
>
>
>
> AAI team needs the 3 following repos to be added in Gerrit. The PTL (Jimmy
> Forsyth) has provided the rational down below.
>
> At this point the request and all associated artifacts are properly  
> documented
> in wiki
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.onap.org_display_DW_Resources-2Band-2BRepositories-23ResourcesandRepositories-2DActiveandAvailableInventory&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=Oej6QUk5p2KdqNEWySpOHA&m=kYUtAQS02P5Md_yu6RPx1dZChDGJfhqEhfZrNcXwH3c&s=cX59Nf5SLYTIqOk_3r96nBrxiYOWgFlWsxMRU-6M6xI&e=>
> and are summarized in the screenshot below.
>
> <image002.jpg>
>
>
>
> *To expedite the approval, your approval by replying a +1, 0, -1 by email
> will be deemed sufficient by LF to move forward in repos creation.*
>
> The AA&I team thank you in advance for your prompt response.
>
>
>
> Best Regards,
>
> Gildas Lanilis
>
> ONAP Release Manager
>
> 1 415 238 6287 <(415)%20238-6287>
>
>
>
> *From:* FORSYTH, JAMES [mailto:[email protected] <[email protected]>]
> *Sent:* Thursday, July 06, 2017 7:06 AM
> *To:* Gildas Lanilis
> *Subject:* FW: [onap-tsc] A&AI Project needs new repos for microservices
>
>
>
> Hi, Gildas,
>
>
>
> I have made the update to the Resources and Repositories Page.
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.onap.org_display_DW_Resources-2Band-2BRepositories-23ResourcesandRepositories-2DActiveandAvailableInventory&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Oej6QUk5p2KdqNEWySpOHA&m=N0nd4_E6pXRddwrKlctvqfy2p7bRUuVh6P7FHpHYRAw&s=dqPvJ8JIEgW8zblQnYuXulM6smJETtxvHtDUuiYS7V0&e=>
>
>
>
> Can you help with A&AI’s request to get new repos added?
>
>
>
> Thank you!
>
>
>
> -jimmy
>
>
>
> *From:* Kenny Paul [mailto:[email protected]
> <[email protected]>]
> *Sent:* Thursday, July 06, 2017 7:48 AM
> *To:* FORSYTH, JAMES <[email protected]>
> *Cc:* [email protected]; PAQUETTE, FRANCIS <
> [email protected]>; WEATHERLY, STEPHEN <[email protected]>;
> BYLSMA, SUSAN <[email protected]>; DENING, EDWARD <
> [email protected]>; BLIMKIE, STEVEN <[email protected]>;
> AGGARWAL, MANISHA <[email protected]>; Gildas Lanilis <
> [email protected]>
> *Subject:* Re: [onap-tsc] A&AI Project needs new repos for microservices
>
>
>
> Hi James,
>
> Please ensure that all of the necessary information for these have been
> provided on the Resources and Repositories Page.
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.onap.org_display_DW_Resources-2Band-2BRepositories-23ResourcesandRepositories-2DActiveandAvailableInventory&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Oej6QUk5p2KdqNEWySpOHA&m=N0nd4_E6pXRddwrKlctvqfy2p7bRUuVh6P7FHpHYRAw&s=dqPvJ8JIEgW8zblQnYuXulM6smJETtxvHtDUuiYS7V0&e=>
>
> At first glance it appears that babel is missing.
>
>
>
> Once that information is complete, please let Gildas know and he will help
> shepherd this request.
>
>
>
> Best Regards,
> -kenny
>
> *Kenny Paul,  Technical Program Manager*
> *[email protected] <[email protected]>*
> *510.766.5945 <(510)%20766-5945>*
>
>
>
> On Jul 5, 2017, at 9:27 AM, FORSYTH, JAMES <[email protected]> wrote:
>
>
>
> Dear ONAP TSC Members,
>
>
>
> The A&AI team would like to request permission to add 3 new repositories
> for 2 new microservices and a new graph database abstraction library for
> the Amsterdam release.
>
>
>
> The repos will be called:
>
>
>
> aai/champ
>
> aai/gizmo
>
> aai/babel
>
>
>
> A&AI’s rationale for creating these separate repos as opposed to using a
> subdirectory under an existing repo is as follows: it is the convention
> to create a separate git repository for each microservice and library as is
> demonstrated by the microservices currently part of the AAI project. The
> advantages of separate repos (as opposed a single repo containing multiple
> microservices) is the ability to manage access rights for each
> microservice. Otherwise a user with write permissions to the “common”
> microservice repo could accidentally (or intentionally) make change to
> another microservice.
>
>
>
> Please let me know if further clarification is needed.
>
>
>
> Thank you for your attention,
>
> Jimmy Forsyth
>
> A&AI PTL
>
>
>
>
>
> _______________________________________________
> ONAP-TSC mailing list
> [email protected]
> https://lists.onap.org/mailman/listinfo/onap-tsc
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.onap.org_mailman_listinfo_onap-2Dtsc&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Oej6QUk5p2KdqNEWySpOHA&m=N0nd4_E6pXRddwrKlctvqfy2p7bRUuVh6P7FHpHYRAw&s=nrf_db78BJ5q9lzkRyPA5FpPsbbhwcDONwdjE4yoU18&e=>
>
>
>
> _______________________________________________
> ONAP-TSC mailing list
> [email protected]
> https://lists.onap.org/mailman/listinfo/onap-tsc
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.onap.org_mailman_listinfo_onap-2Dtsc&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=Oej6QUk5p2KdqNEWySpOHA&m=kYUtAQS02P5Md_yu6RPx1dZChDGJfhqEhfZrNcXwH3c&s=arxzLAHCNfUX5X35ta8idvusrnzdKdPzKZIjJX6CnJw&e=>
>
> _________________________________________________________________________________________________________________________
>
>
>
> Ce message et ses pieces jointes peuvent contenir des informations 
> confidentielles ou privilegiees et ne doivent donc
>
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu 
> ce message par erreur, veuillez le signaler
>
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
> electroniques etant susceptibles d'alteration,
>
> Orange decline toute responsabilite si ce message a ete altere, deforme ou 
> falsifie. Merci.
>
>
>
> This message and its attachments may contain confidential or privileged 
> information that may be protected by law;
>
> they should not be distributed, used or copied without authorisation.
>
> If you have received this email in error, please notify the sender and delete 
> this message and its attachments.
>
> As emails may be altered, Orange is not liable for messages that have been 
> modified, changed or falsified.
>
> Thank you.
>
> This message and the information contained herein is proprietary and
> confidential and subject to the Amdocs policy statement,
> you may review at https://www.amdocs.com/about/email-disclaimer
>
> _______________________________________________
> onap-discuss mailing list
> [email protected]
> https://lists.onap.org/mailman/listinfo/onap-discuss
>
>
_______________________________________________
onap-discuss mailing list
[email protected]
https://lists.onap.org/mailman/listinfo/onap-discuss

Reply via email to