15:02:33 #startmeeting ansible-sig 15:02:34 Meeting started Tue Mar 17 15:02:33 2020 UTC and is due to finish in 60 minutes. The chair is sshnaidm. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:02:36 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:02:38 The meeting name has been set to 'ansible_sig' 15:03:06 who is available today? 15:03:47 mordred, dtantsur|brb tremble cloudnull 15:03:59 o/ 15:04:04 hope all are safe an healthy and can join today 15:04:15 and I hope I didn't mess up with timezones and dst 15:04:15 sshnaidm: dtantsur|brb is looking at the yellow dot in the key for a minute 15:04:26 sshnaidm: if you did I did too :) 15:04:45 seems like good job to do in a lockdown :) 15:04:50 :) 15:05:08 ok, so while people are coming... 15:05:18 mordred, let's take the renaming topic? 15:05:33 mordred, just did today a few tests with various ansible versions 15:06:14 and seems like 2.9 users should rename modules if they want to use collection over 2.9 built-in modules 15:06:25 the question is how is that important and critical 15:06:50 and if so, can it be workarounded with symlinks or kind of..? 15:07:45 sshnaidm: so - I'm going to make a different argument there - which is that i do not think we should support pre-2.10 users in any way 15:07:49 o/ 15:08:01 mordred, why? 15:08:02 collections is how we deliver these modules to >=2.10 15:08:13 if you're using 2.9, you are getting the modules from ansible 15:08:25 and we're already supporting you there 15:08:42 mordred, well, usually yes, but there are no chances to use new features or merge fixes to 2.8/2.9 15:08:49 gundalow: ^^ this might be a topic you have thoughts or feelings on 15:09:16 sshnaidm: that's right - but this has been true for all of ansible - we're fixing it with collections - but it's a new feature of 2.10 15:09:32 mordred, collections are in use from 2.8 including 15:09:45 oh? 15:09:51 mordred, and in general there are no limitations to use them from 2.8 15:09:52 ok - maybe I'm wrong here then 15:10:19 mordred, yeah, you can easily use them, just configuring openstack.cloud.os_server etc 15:10:22 so people with ansible 2.8 can do ansible-galaxy collection install openstack and then put openstack.cloud.blah in their playbook and it all works? 15:10:24 cool 15:10:28 mordred, yep 15:10:36 ok - then I agree - we should test 2.8 and 2.9 too :) 15:10:38 mordred, that's why I do these 2.8 2.9 jobs :) 15:10:53 kk. I understand and agree now then :) 15:10:58 mordred, great 15:11:13 (I still disagree on the mechanism - but that's just code-review :) ) 15:11:18 mordred, so back to renaming though, and how it affects (if does) 15:11:26 yeah ... so - here's my thing 15:11:32 (and I might be wrong on this too obvs) 15:11:34 mordred, yeah, I'm mostly trying there, would be glad for ideas in jobs 15:12:13 if you're installing collection yourself, you already need to add openstack.cloud into the name in your playbook - so it's no different to do openstack.cloud.server vs openstack.cloud.os_server 15:12:23 it's a change either way 15:12:46 for people using just os_server via ACD - the routing.yml is the thing that's making that work 15:13:07 and since that lets us point os_server -> openstack.cloud.server - I see no reason for us to keep the os_ prefix on our module names 15:13:13 is there something else we should be worried about? 15:13:55 https://github.com/ansible/ansible/pull/68215/files <-- change to the routing.yml in ansible/ansible FTR 15:14:24 mordred, first thing that I didn't like, first case in http://paste.openstack.org/show/790784/ 15:14:39 mordred, when you set up collection in playbook level 15:14:49 mordred, then you override system modules by collection one 15:14:57 ah - nod. 15:15:04 so - I mean - maybe don't do that? :) 15:15:05 and instead of system "user" we run actually os_user 15:15:30 mordred, well, yeah.. but interesting how many people will yell :) 15:16:10 I mean - I guess it's maybe just me - but it seems to be a real shame to introduce namespacing and then still pretend it's not there and keep the modules in the namespace behaving as if there is a single global namespace 15:17:09 a user is also really unlikely to have a single play where they are making a local os level user and an openstack user too ... and if they had one of those, doing collection: openstack.cloud on that play seems like a bad practice? 15:17:20 but - I mean - I hear you ... so I think this is a good one to get other input 15:17:31 mordred, I'm just not comfortable with such a ambiguity, what module will run 15:17:47 I'm still in favor of renaming and warning people - but I won't revolt if everyone else thinks it's too much 15:17:49 and I suspect users can surprise us 15:18:22 mordred, maybe we can rename modules but prevent names overlapping with core modules? 15:18:23 I mean - it's _not_ abiguous. the user said "collection: openstack.cloud" - they get openstack.cloud.user 15:18:28 hrm 15:18:41 that's maybe a good compromise 15:18:51 is it anything other than user that's an issue? 15:19:03 mordred, yeah, and I don't think we have a lot of such.. can't think now about others 15:19:16 maybe it's only user 15:19:42 so - we could call that one keystone_user and still be within the scope of sanity 15:19:52 (it's mostly an admin thing to use anyway) 15:19:56 mordred, and "group" 15:20:14 mordred, yeah, seems like a plan 15:20:31 mordred, also it's more explaining, like which user exactly 15:21:12 yeah. same - keystone_group - maybe we should name project keystone_project too - just for consistency for people doing a lot of keystone things? 15:21:24 mordred, yep 15:21:34 also coming back to best naming of modules 15:21:43 mordred, not only removing os_ 15:22:02 but have them "service" based? 15:22:10 well - I think we should mostly avoid that 15:22:12 I think we talked with dtantsur|brb about that 15:22:26 (except for when something like keystone makes it make more sense) 15:22:38 biggest example of why is floating_ip 15:23:11 mordred, it may make sense if there is only one service responsible for that 15:23:11 it started life as a nova resource and is now a neutron resources - the end user doesn't care either way and our module works with both 15:23:23 yeah, agree 15:23:50 so - in general - the service name doesn't tend to add much value 15:23:55 but - there's definitely times when it's better 15:24:25 I think we wanted to rename ironic to "baremetal"? 15:24:27 we might just have to make group judgement calls :) 15:24:35 ah - yeah 15:24:36 mordred, yeah, totally 15:24:37 hrm 15:24:47 should we do identity_user instead of keystone user? 15:25:15 I don't know if there are other services manage identities 15:25:23 could be such? 15:26:10 if yes, then maybe identity_user is better 15:26:31 or project_user 15:26:59 well, project_user wouldn't be quite right - because you need to map a user to a project with a role 15:27:11 well, naming stuff may take the whole day, I'd propose to get more people involved in your review and decide there 15:27:37 yeah. and I agree - we can make comments on individual renames and get specific ones (like user) migrated to what we want it to be 15:27:45 and then I'll update that ansible PR once we're happy 15:28:03 if we are good with 2.9/2.8 users to be more careful, I'm fine with renaming 15:28:16 mordred, yeah, agree 15:28:51 mordred, and more careful I mean the third case: http://paste.openstack.org/show/790784/ 15:29:11 when you set openstack.cloud in playbook level but still use "os_user" 15:29:25 you'll get your old 2.9 module, not from collection 15:29:45 but this seems to me like a pure misconfiguration issue 15:29:47 yeah - that one I think is on them 15:29:49 yup 15:30:02 you opted in to the new thing - you took action - and then you did it wrong 15:30:19 (also - the old os_usr will probably still work anyway :) ) 15:30:33 yeah, mostly 15:30:36 so it would only be an issue if they're trying to get a new feature - so they'd hopefully figure it out 15:30:47 mordred, yep, agree 15:30:56 ok, so we're cool with that I think 15:31:08 moving on 15:31:19 jobs matrix that I'm working on it currently 15:31:40 yeah- so - I'll update my most recent comments there based on this 15:31:47 are any objection to support 2.8, 2.9, devel on openstacksdk from rocky? 15:31:54 mordred, cool 15:32:14 mordred, I'll take a look at siblings, wasn't familiar with it 15:32:15 well - one facet 15:32:35 sshnaidm: it's the magic that handles "I want to install this dependency from source" 15:32:46 just requires the project in question be in required-projects 15:33:17 sshnaidm: I pushed up https://review.opendev.org/#/c/713461/ as a stab at reworking what we have now a little bit - it might be a good example to build your matrix on 15:33:19 great, it's what I was looking for.. 15:33:30 mordred, ack 15:33:31 sshnaidm: so - one thing on the matrix 15:34:00 nah - nevermind. let's see how it goes :) 15:34:06 mordred, btw, about 2.8 - we need 2.9 minimum to build and install the connection, you can't do it with 2.8 but you can USE collection with 2.8 15:34:20 mordred, so 2.8 is kinda special case 15:34:24 JEEZ 15:34:29 nice, ah 15:34:33 so - maybe ... 15:34:56 maybe it's not super important to test with 2.8 directly - we're not really doing things where ansible internals changes should impact us at all 15:35:18 so maybe just testing that our collection works with 2.9 is good enough to test that the concept of pre-2.10 is working 15:35:47 broadly we also need to test sdk against 2.8 and 2.9 - because that's a combo that users will hit - but that's not a collections thing 15:36:02 mordred, maybe, but we use it heavily in tripleo, especially in train, and I wanted to be covered there in case we'll want to use collections in train 15:36:12 mordred, I mean 2.8 15:36:36 mordred, I will add job for each stable branch in openstacksdk when they're ready 15:36:40 nod. ok. well - it'll be "fun" to get that built 15:36:44 oh - you know what? 15:36:53 this is actually going to be easy :) 15:37:11 the tox -ebuild command builds the collection - but it's something called in the ci setup script 15:37:16 it knows nothing about siblings 15:37:44 (because it's not the zuul role invoking tox) 15:37:53 so it'll build even for 2.8 15:38:00 using latest ansible release - which is good 15:38:10 mordred, it installs requirements from test-requirements.txt 15:38:17 and we have ansible there 15:38:35 yup 15:38:35 mordred, but wouldn't this "ansible" in test-requirements.txt conflict with "siblings"? 15:38:38 nopt 15:38:44 it's a completely different virtualenv 15:38:51 it's actually just going to DTRT 15:39:21 great, then it will be easier 15:39:31 oh - so - the siblings code needs ansible to be in test-requirements - it doesn't install _everything_ in required-projects - only things that the project's tox would have installed naturally without siblings 15:39:42 mordred, because ansible-test for linting is also available from 2.9 at least 15:39:48 the idea is that you acn have a tox setup that expresses real release depends 15:40:15 but then have zuul jobs that test that against source checkouts too 15:40:44 yeah - I think we can just do linting with latest - it'll be the most comprehensive 15:41:19 so you don't need the stable-2.9 in those jobs 15:41:20 mordred, so, should I add "openstack" to test-requirements.txt as well? 15:41:24 openstacksdk 15:41:27 yes - but I did that in mine 15:42:08 sshnaidm: I'll go back through and re-review your patch and try to point out some better/easier ways to accomplish what you're trying to do 15:42:22 now that I fully understand :) 15:42:34 cool, thanks a lot 15:43:02 also need to reduce duplications with jobs parenting, but this I know to do :) 15:43:27 great, so we're good on this too 15:43:41 any other issues, questions, topics 15:43:46 woot! omg - a useful meeting 15:43:49 that almost never happens :) 15:44:00 yeah! 15:44:11 that's how meetings should be done :) 15:44:32 point to think about it in a virtual summit :) 15:45:14 yeah. ugh 15:45:17 ok, so if no topics, we are fine 15:45:20 stupid virus 15:45:22 #endmeeting