• Leigh Stoller's avatar
    Checkpoint some changes to repo based profiles: · 7c7815d8
    Leigh Stoller authored
    1) Add support for repos that specify submodules. The main issue here is
       that a "bare" repo has no notion of sub modules, so we actually have
       to do a checkout of the repo to know there are submodules and so we
       can get the contents of them, in case the profile.py is a symlink
       into a sub module. The value of submodule supports is so that a repo
       based profile can be composed from several sub repos. At the moment,
       only admins can do this since that turns on the flag to do a checkout
       of the repo instead of a bare repo (needs more thought). But once the
       profile is created (repo cloned locally with a checkout), it can
       still be instantiated in green-dot mode.
    
    2) Add support for running the geni-lib code with the repository mapped
       into the geni-lib jail, so the profile can reference library modules
       contained in the repo. The repo is actually a checkout since most
       repos are bare, so we need to clone it into the jail. The directory
       where the clone is created is added to PYTHONPATH for import to work
       as expected.
    7c7815d8
manage_gitrepo.in 28.1 KB