Requesting Celestica SONiC community repository

I am looking for support in creating new repository under ansible-collections org to manage Celestica SONiC network operating system.

I would like to have the repo as https://github.com/ansible-collections/celestica.sonic

Please guide me on the procedure to create new repo under ansible-collections org named as celestica.sonic

I’m afraid I can’t help you there. But I think maybe you should change the title and make it more to the point. Like “Requesting Celestica SONiC community repository” or similar.

This would make clear what this thread is about.

@mariolenz - Thanks for your reply, As suggested, renamed the title.
In general, if you share the procedure to add or request new repo under ansible-collections, that will be useful.

The procedure is described here: Communicating with the Ansible community — Ansible Community Documentation

Quoting from there:

Working groups are often built around Ansible community collections. You can use a repository under your organization or request one under ansible-collections on the forum by creating a topic in the Project Discussions category and the coll-repo-request tag.

@felixfontein - The current topic has been created by clicking Project Discussions category and the coll-repo-request tag

Hope that this shall be sufficient.

Hello All,

Appreciate your support on this request.

Thank you.

@dharmaraj-gurusamy Welcome to the Forum!

  1. Do you work for Celestica?
  2. Is this related to GitHub - ansible-collections/dellemc.enterprise_sonic: Ansible Network Collection for Enterprise SONiC Distribution by Dell Technologies
  3. Do you already have some modules for Celestica SONiC on GitHub so we can see what functionality there is?
  4. We’ve found that having a few maintainers for a community collection works better, is there anybody else helping with this?

Kind regards

Hi @gundalow - Thank you for the response. Here are the details.

  1. I am working for Celestica Corporation, part of software development team
  2. dellemc.enterprise_sonic is intended to manage Dell/Broadcom SONiC network operating system (enterprise version of SONiC developed by Dell & Broadcom). The new collection is intended to manage Celestica SONiC network operating system (enterprise version of SONiC developed by Celestica) which will be used in switch / router devices.
  3. Celestica SONiC will support collection core modules (command, config, etc) and 40+ idempotent network resource modules to automate switching and routing functionalities (e.g. IP config, Access Control List, LLDP, BGP, sFlow, VLAN, VxLAN, McLAG, etc).
  4. Github usernames who will maintain this repository (dharmaraj-gurusamy and reshmanbablo)

I would like to highlight the below too.

  1. Collection has been developed based on Network Resoure modules
  2. Collection is ready to be published into galaxy
  3. New Namespace (celestica) in galaxy has been created already under my name.
  4. More releases are planned on the new collection to support new features

Here are the repo details we wish to create under ansible-collections
Name: celestica.sonic
Description: Ansible Network Collection for Celestica SONiC NOS.
Type: Public
License: GNU General Public License v3.0
Maintainers: dharmaraj-gurusamy and reshmanbablo

Please let me know if more details are required. I will be glad to share.

Hi @gundalow - Please guide us on creating new repo. We can share more details, if required.

@dharmaraj-gurusamy Thanks for the all the details, that really helps.

Summary

I think this should be a Red Hat Ansible Automation Certification](Red Hat Ansible Automation Certification), in your own GitHub Org. Ansible’s Partner Engineering Team can help you with this.

Details

The rest of this reply has more detail on what Certified Content is, though I know it’s often easier to just jump on a call and we can answer your questions directly, so please email ansiblepartners@redhat.com and we can get a video call setup.

The Dell Collection is an example of Red Hat Ansible Certified Content Collections by Dell. I think we should replicate that arrangement at Celestica which would be beneficial for your current and future customers.

In practice, this would mean you’d create a GitHub repo for the collection in your Celestica’s GitHub Org and have this published into Galaxy & Ansible automation hub as something like celestica.sonic.

Red Hat Ansible Certified Content Collections

Integrate your product with Ansible Automation Platform

Red Hat Ansible Certified Content contains fully-supported roles and modules that are enterprise- and production-ready for use in our customers’ environments.

By building and publishing Red Hat Certified Content, you can help Ansible Automation Platform customers introduce automation into your product, resulting in a better customer experience for them and fewer Ansible-related support issues for you.

Red Hat Ansible Certified Content is supported by both Red Hat and our partners.

Red Hat Ansible Certified Content Collections are published in both Ansible automation hub as well as Galaxy.

Documentation

1 Like

Thanks much @gundalow for the details.
I will check and come back for further support.

1 Like

Hi @gundalow - Here is our response based on internal discussions.

  1. We understand the benefits of Red Hat Ansible Certified Collection. Due to our internal process guidelines, we will not be able to initiate the certification process right now.
  2. We would like to proceed with publishing the collection in galaxy (the namespace is owned already) and host the source code in ansible-collections Org (similar to other NOS vendors like arista.eos, cisco.nxus, dellemc.enterprise_sonic, etc).

To summarize, our current requirement is to have a collection repo under ansible-collections Org which is required for publishing into Galaxy and Red Hat Automation Hub.

Would you please create “celestica.sonic” repo under ansible-collections Org and add me as maintainer?

We will initiate the Red Hat Ansible Certification once the internal process is approved.

Please let me know if you would like to view the collection content & TAR file. I will be happy to host in my github account and share with the community team for reference.

Thank you.

@dharmaraj-gurusamy You can create the repo in your own GitHub Org (the repos you mentioned as under Ansible Collections · GitHub for legacy reasons). Copying the files from GitHub - ansible-collections/collection_template: A GitHub Template repo to use as the basis for future repos will give you working CI

Once you’ve got the repo created and populated with initial files we will happily take a look to advice about future action.

As you suggested, we can look at Certified Collection status in the future.

I don’t know about Red Hat Automation Hub, but a collection doesn’t have to live in ansible-collections to be published on galaxy. See dellemc.openmanage for an example.

As far as I understand, your collection will be owned and maintained by your company (Celestica) so it’s not really a community collection. Or is it? Anyway, having the repo in your own GitHub org wouldn’t make it impossible for the community to contribute :smirk:

BTW if the collection repo is in your own GitHub org you would have full control over it. I guess this might even be an advantage for you as a company in contrast to having the collection in ansible-collections which isn’t owned by you.

@gundalow and @mariolenz - Thanks for your inputs.

I agree with your views on publishing into own Org and ansible-collections Org makes no difference.

We prefer to host under Ansible Collections · GitHub with the assumption that hosting the collection has two options supported as per the guideline stated in
Communicating with the Ansible community — Ansible Community Documentation

That’s the trigger for this topic. I am in the assumption till now that community allows hosting the collection, but looks like that’s not the case.

May I know the reasons behind? Is this a recent change in ansible community?

@dharmaraj-gurusamy

You’ll have the same functionality if the collection repo is in your own GitHub Org or ansible-community. Though having the collection in your own GitHub Org allows you to better manager who has write privileges to the repo

You aren’t requesting a community collection, you will be setting up a company owned collection.

The reason you see some company collections (such as Dell, Google, etc) under ansible-collections is because before collections we had ansible-core + 4,000+ modules in a single GitHub repository.

Copy GitHub - ansible-collections/collection_template: A GitHub Template repo to use as the basis for future repos and use that as the basis for your collection in your own repo. We will happily guide you though any issues and answer any questions you may have.