#4142 Deploy new SCM data models

v1.0.0
closed
sf-4 (350)
SCM
2015-08-20
2012-05-01
No
  • branch off of tv/3759
  • provide way to reindex only the new data models. E.g. paster script /var/local/config/production.ini /var/local/allura/scripts/refresh-all-repos.py -- --all /p/ myproj code runs repository.py's def refresh( which has the new refresh_repo but also the old stuff. We want a way to run only refresh_repo for all repos
  • parallelize?
  • work with siteops to deploy on special hosts, run in prod and manage any issues that come up.

Related

Tickets: #3059

Discussion

  • Dave Brondsema

    Dave Brondsema - 2012-05-04
    • size: --> 4
     
    • status: open --> in-progress
    • assigned_to: Tim Van Steenburgh
     
  • forge:tv/4142

    QA: Run the refresh script against some sandbox repos.

    Main logic of the script is the same, I just cleaned it up and added some new options. I ditched the multiprocessing approach and added a --project-regex option so we can just fire up a bunch of these for different shortname ranges. Also added a --dry-run option.

    $ paster script production.ini ../scripts/refresh-all-repos.py -- -h
    
    usage: refresh-all-repos.py [-h] [--nbhd NBHD] [--project PROJECT] [--project-regex PROJECT_REGEX] [--mount_point MOUNT_POINT] [--clean] [--all] [--notify] [--dry-run]
    
    Scan repos on filesytem and update repo metadata in MongoDB. Run for all repos (no args), or restrict by neighborhood, project, or code tool mount point.
    
    optional arguments:
      -h, --help            show this help message and exit
      --nbhd NBHD           Restrict update to a particular neighborhood, e.g. /p/.
      --project PROJECT     Restrict update to a particular project. To specify a subproject, use a slash: project/subproject.
      --project-regex PROJECT_REGEX
                            Restrict update to projects for which the shortname matches the provided regex.
      --mount_point MOUNT_POINT
                            Restrict update to repos at the given tool mount point.
      --clean               Remove all repo-related mongo docs before refresh.
      --all                 Refresh all commits (not just the ones that are new).
      --notify              Send email notifications of new commits.
      --dry-run             Log names of projects that would have their repos refreshed, but do not perform the actual refresh.
    

    This is branched off of tv/3759. The refresh process on that branch only does 'the new stuff.'

    Siteops prep is ticketed here: https://trac.geek.net/trac/siteops/ticket/51110

     
    • status: in-progress --> code-review
    • qa: ᗫave ᙖrondsema
     
  • Dave Brondsema

    Dave Brondsema - 2012-05-11
    • status: code-review --> validation
     
  • Dave Brondsema

    Dave Brondsema - 2012-05-11

    Good.

    For reference, we'll want to use front-anchored regexes like --project-regex=^a

     
  • Merged dev into tv/3759, then rebased tv/4142 to tv/3759, and tagged tv/4142 with withdev_20120516.

     
  • Dave Brondsema

    Dave Brondsema - 2012-06-15
    • status: validation --> closed
     

Log in to post a comment.