Giter Site home page Giter Site logo

Comments (13)

egede avatar egede commented on September 16, 2024 1

This sounds overall good. Usually I would recommend against duplicating code and instead make a parent class that both inherit from but in this case I think duplication is actually better - it will make it easier to delete the Singularity class in a years time or so.

from ganga.

egede avatar egede commented on September 16, 2024 1

We are usually not fussed about this. So you can keep them as they are.

from ganga.

egede avatar egede commented on September 16, 2024 1

I actually think it would be good to update the documentation in the same one. The documentation is built from the code on the develop branch (that is our main branch). So the documentation will then be updated at the same time as the code is updated.

from ganga.

egede avatar egede commented on September 16, 2024

The code resides at https://github.com/ganga-devs/ganga/tree/develop/ganga/GangaCore/Lib/Virtualization and some corresponding tests in https://github.com/ganga-devs/ganga/tree/develop/ganga/GangaCore/test/Unit/Utility.

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

I am an open source first-timer. I would like to solve this issue if it's okay.

Just by skimming over the code and the repo, I guess the following changes need to be made:

  1. Create a copy of Singularity.py, change the script's name to Apptainer.py, the class name and corresponding dependencies
  2. Add a deprecation warning to Singularity.py
  3. Add new import statement to init.py
  4. Add a checkApptainer function to Virtualization.py. It's probably going to be an exact copy of the checkSingularity function except for its name and the "singularity" argument in the try block.
  5. Create a copy of TestUtilitiesVirtualizationCheckSingularity.py, change the script's name to TestUtilitiesVirtualizationCheckApptainer.py, the class name and corresponding dependencies.
  6. Add a deprecation warning toTestUtilitiesVirtualizationCheckSingularity.py
  7. The default binary also get updated accordingly (to apptainer). I believe some scripts in GangaCore such as TestContainerHandler.py need to be updated.

I might be missing a few other dependencies but those should come to the surface as soon as I start testing. Any feedback is appreciated.

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

Thank you. I'll start working on it then.

from ganga.

egede avatar egede commented on September 16, 2024

I do not think it is a good idea to include the use of the deprecated package without the development of a uniform system for it first.

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

Sounds good!

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

@egede For the PR, do you want me to squash all commits into one or keep them as they are in the PR?

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

Do you want me to update the documentation too?

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

Actually, updating the documentation can be done as a separate issue. Doesn't make sense to update it right now before the code is QA'd.

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

I am keeping the Singularity documentation as it is and adding Apptainer documentation side by side (or below) as a 1-to-1 mapping since we are still going to keep Singularity alive for some time. Does that sound good?

from ganga.

dg1223 avatar dg1223 commented on September 16, 2024

Opened a PR #2303

from ganga.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.