Notes for upcoming meeting, feel free to add your comments or questions.
Keep in mind that this document refers only to molecule scenario testing, not our integration testing.
Last week we realized that many molecule jobs were using outdated centos8 images from docker.io, instead of stream ones. Images from docker.io/centos images are not even published by redhat, but the ones from quay.io/centos/centos are.
The tags that we care about are name steam8
and centos7
, with the remark that centos8
one should be avoided as being a dead end.
Based on images above, @zbr created last week some with preinstalled Python deps and pushed them to https://quay.io/repository/pycontribs/centos?tab=tags – they are considerably bigger than original ones (4-5x) but using them does provide a performance boost for testing as we avoid reinstalling these when running.
For most tests using pre-build images is fine but it should be noted that some particular ones where we may want to test the pure images.
We currently do not have an automated process to update these base images, but producing one would not be a real issue. We already used the previous pycontribs images for more than an year without problems.
As we have more than a dozen of repos, every time we want to update the images uses for testing we have to make changes to many repos. Last week showed us that is very easy to endup with a plentora of various images on each repository.
Molecule allows to centralize platforms used for testing at repository level but does not (yet) have a way to retrieve the list of platforms from another repository.
While it should not be hard to add a feature like this, I have some serious concerns: update of official platform list may break jobs on various repos as we cannot really ensure that we do cross-repo testing all the time.
Example of cases where platform list may need update: adding a strem9, or switching to other images or registry. Assume we have 100 molecule scenarios spread across our repos, what if changing platforms breaks 10% of them? – and we do not even know which one are these when we make the change.
There are currently not less than 3 methods for calling molecule scenarios, each one with some pros and cons. Can we look which one can become the only way we use it?
(gchamoul) Note that our current way to run the molecule tests only work on the CI but not locally due to container volume constraints
pytest --collect-only
, but they are mixed with unittests, requiring adding some extra params to limit them.tox -a
will list all scenariostox -e scenarioname
to run a single scenario, can use comma to chain multiple onesor
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing