Project

General

Profile

Actions

action #10162

closed

separate opensuse and sle12 in directories rather than branches

Added by okurz over 8 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Enhancement to existing tests
Start date:
2016-01-08
Due date:
% Done:

50%

Estimated time:
Difficulty:

Description

current situation

  • opensuse and sle12 are tracked in separate branches (main and sle12)
  • test definitions reside in different directories when both product groups are needed
  • sle12 actually needs two working copies of the git repo, one tracking sle12 branch, one for opensuse branch, with symlinks in sle12 directory to opensuse subdirs

problem

  • as the sle12 branch does not contain the actual tests it is sometimes forgotten and not updated accordingly
  • it is impossible to share code in opensuse/main.pm and sle12/main.pm, the content is duplicated
  • changes in one branch need to be kept in sync manually, e.g. by making two pull requests for separate branches and taking care that they are both merged at the same time
  • sle12 repo has to be setup with symlinks (manually) to be usable for testing

suggestion

Reasoning

Branches should not be used to track different products (or flavors) with a common subset. Branches in VCS should only be (and commonly are) used for two different purposes:

  • short-lived local branches for developers, "feature branches"
  • different versions of the same product for maintenance purposes: Only selected bugfixes are back-ported

As the differences between opensuse and sle12 are only the files "main.pm" and "templates" (and outdated "variables" and "Makefile" file in sle12 branch), every product should rather be in its own subfolder, e.g. "products/opensuse/main.pm", "products/sle/main.pm", etc.

It looks like without changing "os-autoinst" symlinks can not be used completely to make the proper tests available, e.g. just a simple symlink "products/sle12/" into "/var/lib/openqa/tests/" as well as "products/opensuse" into the same instead of directly putting the git repo in master branch into a subdir "opensuse" and multiple symlinks in sle12 subdir … does not work that easily because "isotovideo" not only loads the main.pm but other stuff from casedir. But I see no problem with extenden "isotovideo" to also look for a path based on the DISTRI variable which is set anyway. But as I don't have admin access to openqa.opensuse.org I can not completely check if there is another DISTRI set than just "opensuse" in which case the directory structure and variables should be aligned.


Checklist

  • SLE
  • TW
  • Leap
Actions #1

Updated by okurz over 8 years ago

  • Description updated (diff)
  • Status changed from New to In Progress
  • Assignee set to okurz
  • % Done changed from 0 to 20
Actions #2

Updated by okurz over 8 years ago

  • Description updated (diff)
  • % Done changed from 20 to 50
Actions #3

Updated by RBrownSUSE over 8 years ago

  • Target version set to 154
Actions #4

Updated by RBrownSUSE over 8 years ago

  • Checklist item changed from to [ ] SLE, [ ] TW, [ ] Leap
  • Target version deleted (154)
Actions #5

Updated by maritawerner over 8 years ago

  • Assignee deleted (okurz)
Actions #6

Updated by okurz about 8 years ago

os-autoinst and openQA have their corresponding support added, e.g. see https://github.com/os-autoinst/openQA/pull/530
As soon as the new versions of os-autoinst+openQA are deployed we can merge the main.pm files from the test distribution.

Actions #7

Updated by okurz about 8 years ago

RBrownSUSE suggested to @waitfor milestone2 to have the new version of openQA deployed and then merge tests

Actions #8

Updated by okurz about 8 years ago

  • Assignee set to okurz
  • Target version set to Milestone 2

approved by RBrownSUSE

sent prewarning email notice to merge gh#920 next tuesday.

@server admins of o.s.d and o.o.o: heads up

Actions #9

Updated by okurz about 8 years ago

PR merged.

o.s.d got the test merge done, looks good so far. finished jobs can read needles and test sources just fine, running tests seem to fine current tests, too

cd /var/lib/openqa/share/tests/opensuse 
git fetch
git rebase origin/master && mv needles products/opensuse && mv ../sle-12/needles products/sle/ && ln -sf ../opensuse/products/sle/needles ../sle-12/needles
cd ..
mv sle-12 sle-12.pre_oado#920 && ln -sf opensuse sle-12

https://gitlab.suse.de/openqa/scripts/merge_requests/22 merged

openqa:/opt/openqa-scripts updated

Actions #10

Updated by okurz about 8 years ago

test PRs for "sle12" branch closed with notice to rebase on master-branch.

Actions #11

Updated by okurz about 8 years ago

tests merged for o.o.o, too

Actions #12

Updated by okurz about 8 years ago

  • Checklist item changed from [ ] SLE, [ ] TW, [ ] Leap to [x] SLE, [x] TW, [x] Leap
  • Status changed from In Progress to Resolved

no further problems have been reported. This is considered fixed. For any released products we can now create a complete maintenance branch, e.g. Leap, sle11, sle12-sp1, etc., whenever necessary

Actions

Also available in: Atom PDF