19:00:07 #startmeeting Ansible Molecule Working Group 19:00:07 Meeting started Wed Feb 13 19:00:07 2019 UTC. 19:00:07 This meeting is logged and archived in a public location. 19:00:07 The chair is gundalow. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:07 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:00:07 The meeting name has been set to 'ansible_molecule_working_group' 19:00:32 woo 19:00:39 * alongchamps waves 19:01:52 #chair zbr themroc fabianvf alongchamps 19:01:52 Current chairs: alongchamps fabianvf gundalow themroc zbr 19:02:57 hi everyone! :) 19:03:10 0/ 19:03:19 #chair acozine 19:03:19 Current chairs: acozine alongchamps fabianvf gundalow themroc zbr 19:03:47 should we start by 2.20 release date (vs. broken functional tests)? 19:04:15 #info Agenda https://github.com/ansible/community/labels/molecule 19:04:30 #topic v2.2.0 release 19:04:43 themroc: sounds good 19:05:04 #info There hasn't been a Molecule release since Red Hat became the maintainer 19:05:42 #info Though we are fairly close https://github.com/ansible/molecule/milestone/1 19:06:05 cannot make a release with CI broken, adding a tag would fail on travis, so no release would be produced unless we do it manually. 19:06:26 #info Getting CI green is the last required issue, which is https://github.com/ansible/molecule/issues/1727 and $issue_needs_creating_for_current_ci_issue 19:06:27 #info new CI has been put in place but hasn't stabilized yet 19:06:30 zodbot: exactly 19:06:37 what is the soonest proposed release date? 19:06:56 acozine: days to a week? 19:07:02 oh, changelog will need doing 19:07:32 so Friday Feb. 15 at the earliest and Friday, Feb. 22 at the latest? 19:07:49 how about tagging a pre-release today? 19:08:42 Does tagging something that doesn't pass CI give us much, no pip package for example 19:08:44 add a tag 2.20b1 and publish it to pypi. it would be installed only by those using --pre or that do mention full version in their reqs. 19:08:56 acozine: oh, sorry, I meant once CI was green 19:09:21 zbr: sounds good 19:10:14 themroc: using prereleases allows early-addopters to test them, and lower the risks of having to take a release back (unpublish). 19:10:16 #info Original Molecule Release Procedure https://molecule.readthedocs.io/en/latest/development.html#release-engineering FYI hasn't been updated since Red Hat became maintainer 19:11:02 So agreed that we want a pre-release, publicise, get feedback, wait $period_of_time, then do v2.2.0? 19:11:17 +1 19:12:41 +1 19:12:56 NB: the dockerfile is not ready to produce a relevant docker image in that scenario, as it is using pip install without versioning (and without --pre) 19:13:12 #agreed pre-release, publicise, get feedback, wait $period_of_time, then do v2.2.0? Need to ensure this includes the Docker image 19:13:15 themroc: nice spot, thanks 19:14:31 #info Docker image is published to quay.io and seems to be being built OK https://quay.io/repository/ansible/molecule?tab=tags 19:14:40 OK, so I guess that brings us to 19:14:43 1) Green CI 19:15:01 2) What else should block the release https://github.com/ansible/molecule/milestone/1 19:15:27 #topic Getting CI green 19:15:47 #info yapf fixes have been merged 19:16:05 #info Cron should be ignoring `devel` (work around for https://github.com/ansible/molecule/issues/1727) 19:16:21 #info Current issue shown here https://travis-ci.com/ansible/molecule/ 19:17:00 Which I'll be honest, I'm not sure what the issue is 19:18:22 https://travis-ci.com/ansible/molecule <= Ansible Lint (4.1.0) L475-494 19:19:22 as we have now open dependencies, ansible-lint>=4.0.1,<5, travis is using the latest stable version of ansible-lint 19:19:33 new version => new rules => new fails 19:20:01 on https://travis-ci.com/ansible/molecule/jobs/177459353 19:20:30 themroc: a genuine question, do we want to link molecule to a specific ansible-lint version. i personally do not. 19:21:14 i currently use molecule with lint disabled everywhere, not because i do not lint, but because i lint outside molecule. 19:21:26 that was the case until 2.19, and it was not a problem, let's say, because molecule had a monthly release: version was fixed for 1 month 19:21:57 i also hate that pip install molecule is messing my ansible-lint package 19:21:58 for a slower release cycle, it gets problematic 19:22:32 meanwhile, ansible-lint release cycle has quite speedup lately ... 19:22:49 with new rules, having impacts on tests 19:22:54 themroc: cannot we make ansible-lint optional? like an extras? 19:23:34 i would not recommend that, enforcing ansible-lint is one of the strength of molecule 19:23:57 Could someone explains what the CI failure are? 19:24:07 hi 19:24:29 * shaps is just lurking 19:24:46 gundalow, i just explained the first one, i am looking at the next one 19:24:49 https://travis-ci.com/ansible/molecule/jobs/177459353 I see `test_command_init_role[docker]`, `test_command_init_scenario[docker]` and `test_command_init_role_inspec` failing 19:25:30 \o 19:25:46 #chair shaps dachary 19:25:46 Current chairs: acozine alongchamps dachary fabianvf gundalow shaps themroc zbr 19:25:47 Hi :) 19:25:55 themroc: if user defines "lint: enabled: false" linting is not performed, so I would argue that ansible-lint should not be listed as a hard-dependency of molecule pip package. 19:25:56 +1 on So agreed that we want a pre-release, publicise, get feedback, wait $period_of_time, then do v2.2.0? 19:26:08 dachary: Ace 19:26:31 gundalow, lines 475-494 19:27:06 dachary: +1 tag and push the pip prerelease and give us time to send feedback. we can have as many pre-releases as needed before shipping 2.20 19:27:16 Yup 19:27:28 yep 19:27:28 so for this one 2 solutions: get back to a fixed version af ansible-lint for 2.20, and adapt later 19:28:01 or fix the stuff to be compatible with ansible-lint 4.1.0 rules 19:28:03 see if latest ansible-lint does not sort issues, 19:28:36 4.1.0 did sort problems introduced by 4.0.x releases., most of them. 19:29:13 although decentral1se is absent right now, I propose he is granted merge rights. IMHO he is qualified and it would help the molecule move forward 19:29:26 zbr, 4.1.0 introduced the issue, https://travis-ci.com/ansible/molecule/jobs/177459353 ran with that version 19:30:46 themroc: ok, in this case limit max version until we have time to investigate bumping it. 19:30:56 dachary: decayofmind and themroc already have merge rights, though I've asked them to hold off merging till we get CI green. They have been doing a great job triaging (adding labels, milestones, etc) 19:31:16 And we need ansible-lint 4.1.0 for another fix 19:31:46 for https://travis-ci.com/ansible/molecule/jobs/177459354 and https://travis-ci.com/ansible/molecule/jobs/177459355 it is something else, apparently yamllint related 19:31:48 So does that mean we go for updating to be ansible-lint compatible/ 19:31:57 gundalow: is that a -1 then? 19:32:02 gundalow: i +1 for decentral1se to become core, he knows his stuff. 19:32:02 ok 19:32:40 Once CI is green I'm we can give the merge (subject to me just getting nod form someone else in Red Hat), should be good 19:33:51 [701] Role info should contain platforms, [703] Should change default metadata: author, [703] Should change default metadata: description, [703] Should change default metadata: company, [703] Should change default metadata: license 19:34:09 that should not been too difficult 19:34:30 gundalow: great :-) 19:35:28 motion to grant decentral1se merge rights once a) the CI is green, b) another person from Red Hat agrees in addition to gundalow. What say you? 19:35:32 +1 19:35:55 dachary: it will be sorted :) Priority is getting CI green 19:36:30 themroc: Do you think you can fix all the issues? 19:36:46 Or would you like to break it down into smaller parts so others can help? 19:36:54 2nd option 19:37:26 i have little time for molecule in the day lately (and sadly) 19:37:36 Sure, that's why I wanted to check :) 19:37:50 Anyone able to help with this? 19:37:51 #chair 19:37:51 Current chairs: acozine alongchamps dachary fabianvf gundalow shaps themroc zbr 19:38:03 gundalow: i can try but i am busy to so I cannot promise. 19:38:43 I can probably help fix the lints, the meta errors seem straightforward and I'm currently hacking on some other stuff in molecule. Also hi, I'm seandst on github. 19:39:02 #chair smyers 19:39:02 Current chairs: acozine alongchamps dachary fabianvf gundalow shaps smyers themroc zbr 19:39:04 Hi welcome :) 19:39:06 o/ 19:39:19 smyers: If you could take lint & meta data that would be brilliant 19:39:25 themroc: How's that sound? 19:39:30 thank you smyers 19:39:37 I would be willing to help but I've seen long delays in reviews and nitpicking even when the proposed fix is trivial. I would feel more motivated if there was more people able to merge and less people willing to squabble over details. 19:40:14 I'm available to help if/when/where required 19:40:19 sure thing, and I recognize the time-sensitive nature given that 1) pinning ansible-lint in CI is not-very-desireable, and 2) green CI blocks release 19:40:27 dachary: that is why i proposed adding some kind of bot to help with reviews (assign reviewers, approve...) 19:41:06 for https://travis-ci.com/ansible/molecule/jobs/177459354 i see test is using https://github.com/retr0h/cookiecutter-molecule.git that will be probably get problematic some day 19:41:55 smyers: zbr Once we've got Molecule v2.2.0 out we can revisit our development process and see how we can make it easier (and safer) for all 19:42:13 indeed, if we are to use a cookiecutter template, it should stored inside molecule codebase, for obvious reasons. 19:42:23 * gundalow raises and issue for https://github.com/retr0h/cookiecutter-molecule.git 19:43:43 Tracked as https://github.com/ansible/molecule/issues/1747 19:43:50 thanks 19:44:08 themroc: So you OK with the remaining bits of CI as smyers has kindly offered to take lint & meta? 19:44:52 lint and meta is what is breaking functional tests shard 1 19:45:16 ah, that's a clean split :) 19:45:52 shard2 there is this cookiecutter thingy, but the error is a pure python error, it's maybe beyond my competence 19:46:16 themroc: sure, shout out here 19:46:43 so please, i am happy to get some help for it 19:48:08 cool 19:48:11 #topic Open Floor 19:48:16 Anything else? 19:48:18 #chair 19:48:18 Current chairs: acozine alongchamps dachary fabianvf gundalow shaps smyers themroc zbr 19:48:42 i wanted to open the subject of multi-role repos 19:49:20 https://github.com/ansible/molecule/issues/1744 19:49:21 #topic Multi-role repos 19:49:36 #info [investigate]: use of molecule with multi-role repositories #1744 19:49:43 #info https://github.com/ansible/molecule/issues/1744 19:49:47 zbr: Sure, floor is yours 19:50:25 mainly all use-cases of molecule in openstack repos involve the need to test more than single role per repo. 19:51:03 and we want to be able to easily test all or only somespecific roles, and reuse as much as possible between them (to avoid copy paste code) 19:51:50 while that issue is important-change it should be possible to slowly implement enablement changes that allow use to go into this direction 19:52:26 i already proposed two minor changes this morning: one about scenario default name and the other one about custom molecule glob pattern. 19:52:48 * themroc searching in the doc where he saw something going in that direction 19:53:02 both of them should be considered low risk 19:55:48 --base-config ? 19:56:09 but sooner or later we will find changes that will need more work, for example: same scenario name defined in two config files. that's is a normal use-case, but now is not possible. 19:56:43 themroc: yep, base config helps here but i sense that it will not be enough by itself. 19:57:48 it is quite new as far as I remember, and poorly documented :( but the intention behind was to support your use case 19:58:03 if we do everything right, we should be able to do "molecule list" in repo root and list all scenarios in all roles (recurisvely), or if we go in a subdirectory and run the same command to see a subset of them. 19:58:45 so to help my userstanding, for multi-role repos you'd have e.g. role1/molecule/default and role2/molecule/default in a single repo, both scenarios named 'default', so you'd need update the glob to be like */molecule/*/molecule.yml, and handle multiple 'default' scenarios? 19:59:08 smyers: you are right. 19:59:55 I don't have much to add, just wanted to make sure I wasn't off on some different line of thinking. Thanks. 19:59:58 smyers: to be more precise the parrent i seen is /roles/.../molecule and /playbooks/.../molecule -- as we need to also test someplaybooks. 20:00:44 is the feature related to the future galaxy collections ? 20:01:32 some people may just want to put everyting under a single /molecule/... even if they keep roles in /roles/ --- usable even now with a bit of include tunning. 20:02:11 but once we allow custom glob pattern[s] we are good to got for next round. 20:02:32 themroc: nope.i do not know about galaxy as it is officially deprecated. 20:03:16 in fact at work we escaped the issue like that: we reference the roles in tox.ini, and then we each role is tested as a different tox environment 20:03:33 i started to use gilt and find it really useful , but this is something else. this would sort the issue of dependencies on roles from other repos. 20:04:00 advantage is when one molecule test fail, we have only output about this role in the ci logz 20:04:34 but really, we did that because this multi-role support was missing :) 20:04:43 themroc: i do not want to put molecule config in tox.ini in order to allow them to use molecule in and outside tox too, based on theirpreference. 20:05:25 themroc: once we will have a config file in the root of repository this will be fixed. same config for tox and non-tox mode. 20:05:54 so i believe it's a good idea, and it is certainly a good idea to ping some people preparing the galaxy collections to get in the same direction 20:06:15 they will need that feature badly :) 20:07:00 themroc: isn't the future called mazer? 20:07:19 would be nice to be working with multi-role reposs when it's actually released :) 20:08:27 mazer is the cli tool, aiui galaxy 3 is what brings in multi-role repos. No idea how accurate or up to date these docs are: https://galaxy.ansible.com/docs/contributing/creating_multi.html 20:09:09 I'm entirely a galaxy user, and have no knowledge of the backend though 20:09:53 #info #ansible-galaxy has the Galaxy and Mazer developers in 20:11:30 Guess that's a good point to end 20:12:06 themroc: smyers Thanks again for offering to take a look at CI. Please ping me here once you have PRs (I don't keep up with GitHub email) 20:12:18 Thank you everybody for taking the time to join 20:12:29 gundalow, will do 20:12:36 import by URL https://raw.githubusercontent.com/ansible/community/master/meetings/ical/molecule.ics 20:12:55 Feel free to add yourself to https://github.com/ansible/community/wiki/Molecule 20:12:58 #endmeeting