Earlier  
Posted Nick Remark
#openstack-sdks - 2019-12-12
16:21:32 gundalow If you are using ACD you may not need to explicitly import anything that ships in ACD, it's done automagically for you
16:21:39 pabelanger for module_utils, you should use fqcn (fully qualify collection name)
16:21:46 mordred gundalow: what's ACD?
16:22:02 gundalow sorry, Ansible Community Distribution
16:22:12 mordred is that what I get when I do "pip install ansible" ?
16:22:14 dtantsur do we expect a lot of people to use it?
16:22:22 dtantsur yeah, same question (dnf install ansible, etc)
16:22:33 pabelanger mordred: magic installer doesn't exist today
16:22:39 mordred ok. I won't be using that
16:22:40 gtema brew install ansible?
16:22:42 pabelanger so, pip install ansible / ansible-galaxy collection install foo
16:22:50 gundalow In an ideal word, yes, `$package_mgr install ansible` will give you ACD
16:23:09 dtantsur and in ours? :)
16:23:13 mordred gundalow: does $package_mgr include pip? (sorry to be pedantic here- just trying to make sure I understand everything)
16:23:16 gundalow dtantsur++
16:23:27 gundalow mordred: yup including pip
16:23:30 mordred cool
16:23:48 mordred gundalow: so - the magic there is done via symlinks from the botmeta file we discussed the other day right?
16:23:51 gtema I still do not really believe in a perfect world
16:24:12 gundalow Given one of the high level requirements is "don't break people" I'd really hope we can get `pip install ansible` to give you ansible + all the modules
16:24:17 mordred gundalow: do we know if we'll be able to specifiy in that botmeta file mappings on a per-module basis?
16:24:34 gtema when we release first collection we need to insure our func tests from SDK are using really collection
16:24:45 gundalow mordred: yes, BOTMETA supports per file, there are examples, it's just that generally we logically group by directory
16:24:48 mordred gtema: we should probably test both ways
16:24:56 mordred gundalow: cool.
16:25:04 mordred so - let's assume a perfect world for a sec ...
16:25:11 pabelanger gtema: mordred: yes, testing both is safest, that is what ansible network does now
16:25:32 mordred if the botmeta thing works per file and if it exists and does the symlinks and works for pip nad dnf and friends ...
16:25:36 dtantsur gtema: just half past 5, c'mon!
16:25:42 mordred then it should be safe to rename the modules in the collection
16:25:48 sshnaidm ok, so back to the original question, should we keep old modules fully functional as before for not breaking current users?
16:25:50 mordred because we can do a name mapping in botmeta
16:25:51 gtema sure we need to test both, but exactly here we need to "rely" on assumption it works both ways without modifying playbook
16:25:58 mordred people getting the modules through symlinks will not be affected
16:26:03 dtantsur mordred: assuming our auth changes won't end up breaking?
16:26:08 mordred and people using collection explicitly will use colledction paths
16:26:15 dtantsur (and assuming we won't need other per-module breaking changes)
16:26:27 mordred dtantsur: well - it's sounding like there's less implicit breaking than we thought before
16:26:33 gtema let's do all breaking as new modules
16:26:43 gtema with a fresh design
16:26:44 mordred so maybe we should figure out what we want to do with auth and see if we can figure out a way to do it non-breaking
16:26:47 dtantsur gtema: the question was whether we need new modules
16:26:59 gtema sure we need
16:27:02 mordred gtema: I don't want two different designs - we don't have enough people working on this to support that :)
16:27:11 pabelanger +1
16:27:12 mordred we *barely* have enough people to keep the ones we have going
16:27:20 gtema we currently do not have possibility to manage tags, and I do not really want to modify each module with tagging mess
16:27:27 dtantsur at the very least we need to think how to support all session AND adapter options
16:27:32 mordred yes
16:27:32 dtantsur I think we don't do it now
16:27:41 mordred well - we assume for complex options you'll use clouds.yaml
16:28:01 mordred dtantsur: and you can pass a full clouds.yaml yaml snippet to the cloud parameter of the module too
16:28:02 sshnaidm there are some modules like ironic_node that should be redesigned at all
16:28:18 dtantsur I'm talking simple: {auth_type: none, endpoint_override: https://bare.metal}
16:28:23 mordred that said- if we NEED to redesign a module and deprecate the old one - we should totally do that
16:28:31 mordred dtantsur: that should work by passing to cloud:
16:28:46 dtantsur mordred: in cloud.yaml - yes (well.. maybe)
16:28:51 mordred no - in the module
16:29:04 mordred you can pass _anything_ to cloud: that you can put in a clouds.yaml cloud entry
16:29:27 sshnaidm mordred, I'm afraid changes in openstack.py may require redesign in most of modules..
16:29:28 dtantsur I remember I had some problem. I need to check.
16:29:41 mordred sshnaidm: they might - and we might need to do some things
16:30:00 mordred I think what I'm saying is that it sounds like ansible/ansible is providing mechanisms to make this not an inhernet breaking change
16:30:08 mordred so our ground cover for making additional breaking changes is lower
16:30:17 mordred so we should at least TRY to not immediately make breaking changes
16:30:29 mordred we might find something that needs to be changed and we can't figure out non-breaking
16:30:29 sshnaidm mordred, deprecating old modules gives you more freedom to break things, then trying to keep backward compatibility
16:30:36 mordred and we'll just need to figure out how to not screw our users
16:30:42 pabelanger yes, please for users, don't break things out of gate :)
16:30:46 mordred sshnaidm: it does. but right now we're just supposing
16:30:53 mordred we don't have an actual thing that must be done that must be breakingm
16:31:14 mordred I agree - we can deprecate, we can copy/modiify - do lots of things
16:31:16 mordred let's just do those
16:31:34 mordred and not immediately jump to "upstream is breaking everyone anyway so we're safe"
16:31:49 gtema ok for me
16:31:51 mordred in fact ... OOH
16:31:57 pabelanger +100
16:32:12 mordred no - neverind- I thought I had a new idea
16:32:14 mordred :)
16:32:29 sshnaidm ok, so what are we agreed on currently? :)
16:32:40 mordred that everyone here is awesome :)
16:32:43 gtema not to break immediately
16:32:48 odyssey4me I expect we'll be wanting to deprecate the dynamic inventory, given that the plugin interface is better anyway?
16:32:51 sshnaidm we continue to develop modules with old names and trying not to break current users?
16:32:58 sshnaidm mordred, ^^ ?
16:33:11 mordred odyssey4me: that's already dprecated? people should be using the plugin and not the script already
16:33:25 mordred sshnaidm: I think ansible/ansible has a solution for name mapping
16:33:33 gtema sshnaidm not to break != continue with old names for new things
16:33:41 mordred so I think we *can* rename
16:33:41 odyssey4me mordred: one would hope - I guess we could then remove it from ansible/ansible and not put it into the collection
16:33:50 mordred we just have to put the name mapping into botmeta in ansible/ansible
16:34:08 sshnaidm it's akward to have same modules with different names, either I don't understand something..
16:34:16 mordred odyssey4me: you raise a good question ... can the inventory _plugin_ go into the collection too?
16:34:22 pabelanger yes
16:34:28 mordred sshnaidm: let me try to explain from scratch with an example
16:34:30 sshnaidm mordred, can you bring an example of rename?
16:34:33 mordred let's take os_server
16:34:36 gtema technically everything can go into collection
16:34:54 pabelanger gtema: yup!
16:35:01 mordred we put os_server into our collection, let's call it openstack.api for now (we need to bikeshed on that - but roll with it for a sec)

Earlier   Later