On úterý 11. dubna 2017 14:30:50 CEST Tomas Strachota wrote: > Thanks, i get it now. It's also viable solution. > One complication is that we would need to find a way how to deprecate > current usage of --parent in update commands and replace it with > --new-parent. But it's probably more consistent with how katello works
Sounds reasonable to me -- Marek > > On Tue, Apr 11, 2017 at 1:51 PM, Andrew Kofink <[email protected]> wrote: > > Correct. If there are 2 orgs with the same name under different parents, > > then not specifying `--parent` would result in an error such as "More than > > one record found". > > > > On Tue, Apr 11, 2017 at 7:08 AM, Tomas Strachota <[email protected]> > > > > wrote: > >> I'm not sure I understand. It is currently possible to update parents > >> of organizations. Did you mean to use the parent parameter as a > >> compound identifier together with names? > >> > >> i.e. for changing a name and a parent you would use: > >> $ hammer organization update --name Brno --parent EMEA --new-name Krno > >> --new-parent ... > >> > >> and for info: > >> $ hammer organization info --name Brno --parent EMEA > >> > >> Did I understand it correctly? > >> > >> On Mon, Apr 10, 2017 at 6:12 PM, Andrew Kofink <[email protected]> wrote: > >> > Tomas, > >> > > >> > Would it be easier to print the parent with list/info commands and > >> > allow > >> > updating that attribute (i.e. --parent/--parent-id)? We already have a > >> > handler in the ID resolver when multiple records are returned when only > >> > one > >> > is expected, though the error message does not tell the user how to > >> > further > >> > filter the results. > >> > > >> > - Andrew > >> > > >> > On Mon, Apr 10, 2017 at 11:09 AM, Tomas Strachota <[email protected]> > >> > > >> > wrote: > >> >> I recently found out hammer uses only short names for identifying > >> >> organizations. Names aren't globally unique, which makes it impossible > >> >> to modify or delete an org when there are two of the same name but > >> >> nested under a different parent org. See [1] for details. > >> >> > >> >> I opened a preliminary PR [2] that adds option --organization-title to > >> >> all commands that consume taxonomies and a column "Title" to output of > >> >> the list command. This is simple solution, consistent with how it > >> >> works in hostgroups, but I don't think it's the best from the > >> >> usability point of view. Both options --name and --title as well as > >> >> table column labels feel redundant (columns contain the same data if > >> >> orgs aren't nested). > >> >> > >> >> An alternative approach is to completely replace names with labels in > >> >> hammer internally. We would have to change id resolver and let the > >> >> list commands print titles (in a column labeled "Name"). That's how > >> >> it's displayed in UI. > >> >> > >> >> Pros: > >> >> - users wouldn't notice the change, it should be seamless in most > >> >> > >> >> cases > >> >> > >> >> - no need to add extra options > >> >> - consistent with the UI, where column labeled "Name" contains > >> >> > >> >> titles in taxonomy tables > >> >> > >> >> Cons: > >> >> - name isn't the same as title and it might not feel natural to > >> >> > >> >> update > >> >> > >> >> as: > >> >> hammer location update --name 'emea/brno' --new-name 'krno' which > >> >> > >> >> would then be displayed as 'emea/krno' > >> >> > >> >> The con I mentioned could be fixed by checking if a user passed a name > >> >> containing '/' and using only last part of title in such cases. That > >> >> would make even --new-name 'emea/krno' work. > >> >> > >> >> Theoretically it could be used also for changing organizations parent. > >> >> --name 'emea/brno' --new-name 'europe/krno' would change parent to an > >> >> organization with title 'europe' and rename to 'krno'. But that's > >> >> maybe too much. > >> >> > >> >> How do you find the alternative approach? Do you see any other options > >> >> how the commands could work? Any idea is welcome. > >> >> I'd like to change hostgroup commands to use the same style and make > >> >> it consistent across the whole cli when we find a good solution. Are > >> >> there any commands in plugins (looking mainly at hammer-cli-katello) > >> >> that use resources with nested names? > >> >> > >> >> T. > >> >> > >> >> [1] http://projects.theforeman.org/issues/19157/ > >> >> [2] https://github.com/theforeman/hammer-cli-foreman/pull/299 > >> >> > >> >> -- > >> >> You received this message because you are subscribed to the Google > >> >> Groups > >> >> "foreman-dev" group. > >> >> To unsubscribe from this group and stop receiving emails from it, send > >> >> an > >> >> email to [email protected]. > >> >> For more options, visit https://groups.google.com/d/optout. > >> > > >> > -- > >> > Andrew Kofink > >> > [email protected] > >> > IRC: akofink > >> > Associate Software Engineer > >> > Red Hat Satellite > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "foreman-dev" group. > >> > To unsubscribe from this group and stop receiving emails from it, send > >> > an > >> > email to [email protected]. > >> > For more options, visit https://groups.google.com/d/optout. > >> > >> -- > >> You received this message because you are subscribed to the Google Groups > >> "foreman-dev" group. > >> To unsubscribe from this group and stop receiving emails from it, send an > >> email to [email protected]. > >> For more options, visit https://groups.google.com/d/optout. > > > > -- > > Andrew Kofink > > [email protected] > > IRC: akofink > > Associate Software Engineer > > Red Hat Satellite > > > > -- > > You received this message because you are subscribed to the Google Groups > > "foreman-dev" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to [email protected]. > > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "foreman-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
