[yast-devel] Assistance with logging and errors in yast-auth-server
Hi, I’ve been working on the yast-auth-server module recently in an attempt to update it to work with newer versions of 389 Directory Server At this point I’m a bit stuck, and would like some advice. The first thing is that when running “rake run” from the directory, src/clients/krb-server.rb is always run first. What’s the right way to rake-run which can select to run src/clients/ldap-server.rb The other thing is that there seems to be an error occuring (very very silently) between: https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... In .y2log I can see the package management section complete, but then at gen_setup_ini/exec_setup, the entire process is silently failing and returning to the menu. No log or error is provided, no popup appears, and there is no trace or artefact of an error. I really feel a bit lost here, so how would I debug this further to diagnose the error? As a follow up point, this module appears to attempt to create it’s own log as can be seen: https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... How can I properly log messages to ‘.y2log’ instead of using a custom logging function? My branch and work can be found: https://github.com/Firstyear/yast-auth-server/tree/2019-03-19-update-ds-crea... Thanks! — Sincerely, William Brown Senior Software Engineer, 389 Directory Server SUSE Labs -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
V Fri, 22 Mar 2019 12:46:39 +1000 William Brown <wbrown@suse.de> napsáno:
Hi,
I’ve been working on the yast-auth-server module recently in an attempt to update it to work with newer versions of 389 Directory Server
At this point I’m a bit stuck, and would like some advice.
The first thing is that when running “rake run” from the directory, src/clients/krb-server.rb is always run first. What’s the right way to rake-run which can select to run src/clients/ldap-server.rb
Hi Wiliam, for running specific client use `rake run[ldap-server]` it is how you can in rake pass params and we accept one param for run and it is name of client. Otherwise it use the first it find.
The other thing is that there seems to be an error occuring (very very silently) between:
https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea...
In .y2log I can see the package management section complete, but then at gen_setup_ini/exec_setup, the entire process is silently failing and returning to the menu. No log or error is provided, no popup appears, and there is no trace or artefact of an error.
That is quite strange. It probably need more logging to see where exactly it failed. One tip is also to use `Y2DEBUG=1 rake run[ldap-server]` which will enable additional logging.
I really feel a bit lost here, so how would I debug this further to diagnose the error?
As a follow up point, this module appears to attempt to create it’s own log as can be seen:
https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea...
How can I properly log messages to ‘.y2log’ instead of using a custom logging function?
it is really easy. Simply include to your class Y2Logger to your class and then you can use method log method to pass things to logger. so e.g. at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... you already have it ( but if I can comment code I do not think it is good idea to include whole Yast namespace to class due to some class collisions with ruby world ), so without inclusion of whole Yast it will look `include Yast::Logger`. And then you can simply use our logger, which has identical API as ruby logger: https://ruby-doc.org/stdlib-2.4.0/libdoc/logger/rdoc/Logger.html so you can use something like log.debug "If you are interested, I am here, but you probably are not." log.info "JFYI: I am here" log.warn "Hey! I am here." log.error "I am here and you have problem."
My branch and work can be found:
https://github.com/Firstyear/yast-auth-server/tree/2019-03-19-update-ds-crea...
Feel free to upen draft pull request on github and ask us for code review. We can give you bunch of hints, tips and resources how to improve code.
Thanks!
Thanks to you for making module better. Josef
— Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server SUSE Labs
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
Trimmed, but thanks for the steps, they are added to README.md now so that future-William will remember :)
On 22 Mar 2019, at 16:25, Josef Reidinger <jreidinger@suse.cz> wrote:
it is really easy. Simply include to your class Y2Logger to your class and then you can use method log method to pass things to logger.
so e.g. at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... you already have it ( but if I can comment code I do not think it is good idea to include whole Yast namespace to class due to some class collisions with ruby world ),
Well, I didn’t do that, thats the original module author … I’m willing to fix it, but one step at a time. This is my first time using ruby :)
so without inclusion of whole Yast it will look `include Yast::Logger`. And then you can simply use our logger, which has identical API as ruby logger: https://ruby-doc.org/stdlib-2.4.0/libdoc/logger/rdoc/Logger.html
so you can use something like
log.debug "If you are interested, I am here, but you probably are not." log.info "JFYI: I am here" log.warn "Hey! I am here." log.error "I am here and you have problem.”
I have replaced the internals of the “custom” error log functions now with log.debug (temporarily), and later I’ll replace all the append_to_log calls with these properly.
My branch and work can be found:
https://github.com/Firstyear/yast-auth-server/tree/2019-03-19-update-ds-crea...
Feel free to upen draft pull request on github and ask us for code review. We can give you bunch of hints, tips and resources how to improve code.
Thanks I may just do that. Right now, I have updated the branch, with some log messages to see how far we get: UI.ReplaceWidget(Id(:busy), Label(_('Installing new instance, this may take a minute ...'))) begin if !DS389.install_pkgs Popup.Error(_('Error during package installation.')) raise end # Collect setup parameters into an INI file and feed it into 389 setup script log.debug("+++++++ MARKER ONE +++++++") ini_content = DS389.gen_setup_ini(fqdn, instance_name, suffix, dm_dn, dm_pass) log.debug("+++++++ MARKER TWO +++++++") ini_safe_content = DS389.gen_setup_ini(fqdn, instance_name, suffix, dm_dn, "********") log.debug("+++++++ MARKER THREE +++++++") log.debug(ini_safe_content) log.debug("+++++++ MARKER FOUR +++++++") ok = DS389.exec_setup(ini_content) log.debug("+++++++ MARKER FIVE +++++++") DS389.remove_setup_ini if !ok Popup.Error(_('Failed to set up new instance! Log output may be found in %s') % [DS_SETUP_LOG_PATH]) raise end Now looking at .y2log (run with Y2DEBUG=1): 2019-03-25 12:25:14 <1> linux-jrnj(15991) [Pkg] Package.cc(set_solver_flag):1824 Setting solver flag 'dupAllowNameChange' to enabled 2019-03-25 12:25:14 <1> linux-jrnj(15991) [Pkg] Package.cc(set_solver_flag):1824 Setting solver flag 'dupAllowVendorChange' to disabled 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] ui/new_dir_inst.rb:103 +++++++ MARKER ONE +++++++ 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):282 Dynamic Proxy: [UI::ReplaceWidget] with [6] params 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):291 Namespace created from UI 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(createFunctionCall):1035 overloaded ReplaceWidget, 2@24 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):326 Call ReplaceWidget 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):332 Append parameter `id (`busy) 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):332 Append parameter `Empty () 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(finishParameters):915 Actual type: <unspec> (term, term) 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(finishParameters):932 Candidate: boolean ReplaceWidget (symbol, term) MATCH: -1 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(finishParameters):932 Candidate: boolean ReplaceWidget (term, term) MATCH: 0 The “gen_setup_ini” is failing due to wrong number of arguments, but there is *zero* indication of this in the .y2log. It looks like any ruby exception or errors just go into a vacuum … :( Is there something I’m missing in YaST to show ruby exceptions or errors? — Sincerely, William Brown Senior Software Engineer, 389 Directory Server SUSE Labs -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
V Mon, 25 Mar 2019 12:35:59 +1000 William Brown <wbrown@suse.de> napsáno:
Trimmed, but thanks for the steps, they are added to README.md now so that future-William will remember :)
Good idea. Maybe you can check also our docs and if you miss there anything useful, feel free to improve it or ask us to improve it.
On 22 Mar 2019, at 16:25, Josef Reidinger <jreidinger@suse.cz> wrote:
it is really easy. Simply include to your class Y2Logger to your class and then you can use method log method to pass things to logger.
so e.g. at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... you already have it ( but if I can comment code I do not think it is good idea to include whole Yast namespace to class due to some class collisions with ruby world ),
Well, I didn’t do that, thats the original module author … I’m willing to fix it, but one step at a time. This is my first time using ruby :)
welcome to ruby world. Feel free to also ask ruby questions, there are also a lot of online sources for ruby.
so without inclusion of whole Yast it will look `include Yast::Logger`. And then you can simply use our logger, which has identical API as ruby logger: https://ruby-doc.org/stdlib-2.4.0/libdoc/logger/rdoc/Logger.html
so you can use something like
log.debug "If you are interested, I am here, but you probably are not." log.info "JFYI: I am here" log.warn "Hey! I am here." log.error "I am here and you have problem.”
I have replaced the internals of the “custom” error log functions now with log.debug (temporarily), and later I’ll replace all the append_to_log calls with these properly.
My branch and work can be found:
https://github.com/Firstyear/yast-auth-server/tree/2019-03-19-update-ds-crea...
Feel free to upen draft pull request on github and ask us for code review. We can give you bunch of hints, tips and resources how to improve code.
Thanks I may just do that.
Right now, I have updated the branch, with some log messages to see how far we get:
UI.ReplaceWidget(Id(:busy), Label(_('Installing new instance, this may take a minute ...'))) begin if !DS389.install_pkgs Popup.Error(_('Error during package installation.')) raise end # Collect setup parameters into an INI file and feed it into 389 setup script log.debug("+++++++ MARKER ONE +++++++") ini_content = DS389.gen_setup_ini(fqdn, instance_name, suffix, dm_dn, dm_pass) log.debug("+++++++ MARKER TWO +++++++") ini_safe_content = DS389.gen_setup_ini(fqdn, instance_name, suffix, dm_dn, "********") log.debug("+++++++ MARKER THREE +++++++") log.debug(ini_safe_content) log.debug("+++++++ MARKER FOUR +++++++") ok = DS389.exec_setup(ini_content) log.debug("+++++++ MARKER FIVE +++++++") DS389.remove_setup_ini if !ok Popup.Error(_('Failed to set up new instance! Log output may be found in %s') % [DS_SETUP_LOG_PATH]) raise end
Now looking at .y2log (run with Y2DEBUG=1):
2019-03-25 12:25:14 <1> linux-jrnj(15991) [Pkg] Package.cc(set_solver_flag):1824 Setting solver flag 'dupAllowNameChange' to enabled 2019-03-25 12:25:14 <1> linux-jrnj(15991) [Pkg] Package.cc(set_solver_flag):1824 Setting solver flag 'dupAllowVendorChange' to disabled 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] ui/new_dir_inst.rb:103 +++++++ MARKER ONE +++++++ 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):282 Dynamic Proxy: [UI::ReplaceWidget] with [6] params 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):291 Namespace created from UI 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(createFunctionCall):1035 overloaded ReplaceWidget, 2@24 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):326 Call ReplaceWidget 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):332 Append parameter `id (`busy) 2019-03-25 12:25:14 <0> linux-jrnj(15991) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):332 Append parameter `Empty () 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(finishParameters):915 Actual type: <unspec> (term, term) 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(finishParameters):932 Candidate: boolean ReplaceWidget (symbol, term) MATCH: -1 2019-03-25 12:25:14 <0> linux-jrnj(15991) [ui] YUINamespace.cc(finishParameters):932 Candidate: boolean ReplaceWidget (term, term) MATCH: 0
The “gen_setup_ini” is failing due to wrong number of arguments, but there is *zero* indication of this in the .y2log. It looks like any ruby exception or errors just go into a vacuum … :(
That is strange as usually we log it and also display popup to user when it reach global exception handler ( uncaught exceptions ). Just try to add to your code `raise "testing exception"` and you should see it yourself.
Is there something I’m missing in YaST to show ruby exceptions or errors?
Well, your problem is too generic exception catcher at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... It catches all exceptions, which in general I do not recommend as it catches beside user errors also programmers ones. At least you can change it to `rescue RuntimeError`. And for sure always log what you catch unless you re-raise it, so it is not silent as now. And because you catch exception, then global exception handler is not in reached. Josef
— Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server SUSE Labs
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On 25 Mar 2019, at 16:52, Josef Reidinger <jreidinger@suse.cz> wrote:
Is there something I’m missing in YaST to show ruby exceptions or errors?
Well, your problem is too generic exception catcher at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... It catches all exceptions, which in general I do not recommend as it catches beside user errors also programmers ones. At least you can change it to `rescue RuntimeError`. And for sure always log what you catch unless you re-raise it, so it is not silent as now. And because you catch exception, then global exception handler is not in reached.
Errghh, I would never have found that. I’ve never seen a language that uses rescue as an exception handler! Anyway, I now have the actual error now (which is apperently that “log” IE log.debug() can’t be found in authserver/dir/ds389.rb.). Thanks for your help with this! — Sincerely, William Brown Senior Software Engineer, 389 Directory Server SUSE Labs -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
V Wed, 27 Mar 2019 10:04:01 +1000 William Brown <wbrown@suse.de> napsáno:
On 25 Mar 2019, at 16:52, Josef Reidinger <jreidinger@suse.cz> wrote:
Is there something I’m missing in YaST to show ruby exceptions or errors?
Well, your problem is too generic exception catcher at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... It catches all exceptions, which in general I do not recommend as it catches beside user errors also programmers ones. At least you can change it to `rescue RuntimeError`. And for sure always log what you catch unless you re-raise it, so it is not silent as now. And because you catch exception, then global exception handler is not in reached.
Errghh, I would never have found that. I’ve never seen a language that uses rescue as an exception handler! Anyway, I now have the actual error now (which is apperently that “log” IE log.debug() can’t be found in authserver/dir/ds389.rb.).
Welcome to ruby world. BTW ruby also have throw and catch, but for different purpose. See http://rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue--im-so-conf... Josef
Thanks for your help with this!
— Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server SUSE Labs
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On 27 Mar 2019, at 17:02, Josef Reidinger <jreidinger@suse.cz> wrote:
V Wed, 27 Mar 2019 10:04:01 +1000 William Brown <wbrown@suse.de> napsáno:
On 25 Mar 2019, at 16:52, Josef Reidinger <jreidinger@suse.cz> wrote:
Is there something I’m missing in YaST to show ruby exceptions or errors?
Well, your problem is too generic exception catcher at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... It catches all exceptions, which in general I do not recommend as it catches beside user errors also programmers ones. At least you can change it to `rescue RuntimeError`. And for sure always log what you catch unless you re-raise it, so it is not silent as now. And because you catch exception, then global exception handler is not in reached.
Errghh, I would never have found that. I’ve never seen a language that uses rescue as an exception handler! Anyway, I now have the actual error now (which is apperently that “log” IE log.debug() can’t be found in authserver/dir/ds389.rb.).
Welcome to ruby world. BTW ruby also have throw and catch, but for different purpose. See http://rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue--im-so-conf...
https://github.com/yast/yast-auth-server/pull/49 Thanks for your help, finally at a stage for a PR and some better review. Please remember I’m inheriting this code, so not all the design decisions were mine. Thanks!
Josef
Thanks for your help with this!
— Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server SUSE Labs
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
— Sincerely, William Brown Senior Software Engineer, 389 Directory Server SUSE Labs -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
V Thu, 28 Mar 2019 10:52:29 +1000 William Brown <wbrown@suse.de> napsáno:
On 27 Mar 2019, at 17:02, Josef Reidinger <jreidinger@suse.cz> wrote:
V Wed, 27 Mar 2019 10:04:01 +1000 William Brown <wbrown@suse.de> napsáno:
On 25 Mar 2019, at 16:52, Josef Reidinger <jreidinger@suse.cz> wrote:
Is there something I’m missing in YaST to show ruby exceptions or errors?
Well, your problem is too generic exception catcher at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... It catches all exceptions, which in general I do not recommend as it catches beside user errors also programmers ones. At least you can change it to `rescue RuntimeError`. And for sure always log what you catch unless you re-raise it, so it is not silent as now. And because you catch exception, then global exception handler is not in reached.
Errghh, I would never have found that. I’ve never seen a language that uses rescue as an exception handler! Anyway, I now have the actual error now (which is apperently that “log” IE log.debug() can’t be found in authserver/dir/ds389.rb.).
Welcome to ruby world. BTW ruby also have throw and catch, but for different purpose. See http://rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue--im-so-conf...
https://github.com/yast/yast-auth-server/pull/49
Thanks for your help, finally at a stage for a PR and some better review. Please remember I’m inheriting this code, so not all the design decisions were mine.
Thanks!
Hi, I did quick review. In general it looks good, just some tips. And one more here. Please consider using rubocop to have consistent style and ideally try to use yast style config, so it will be consistent with rest of yast modules. Josef -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On 28 Mar 2019, at 19:05, Josef Reidinger <jreidinger@suse.cz> wrote:
V Thu, 28 Mar 2019 10:52:29 +1000 William Brown <wbrown@suse.de> napsáno:
On 27 Mar 2019, at 17:02, Josef Reidinger <jreidinger@suse.cz> wrote:
V Wed, 27 Mar 2019 10:04:01 +1000 William Brown <wbrown@suse.de> napsáno:
On 25 Mar 2019, at 16:52, Josef Reidinger <jreidinger@suse.cz> wrote:
Is there something I’m missing in YaST to show ruby exceptions or errors?
Well, your problem is too generic exception catcher at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... It catches all exceptions, which in general I do not recommend as it catches beside user errors also programmers ones. At least you can change it to `rescue RuntimeError`. And for sure always log what you catch unless you re-raise it, so it is not silent as now. And because you catch exception, then global exception handler is not in reached.
Errghh, I would never have found that. I’ve never seen a language that uses rescue as an exception handler! Anyway, I now have the actual error now (which is apperently that “log” IE log.debug() can’t be found in authserver/dir/ds389.rb.).
Welcome to ruby world. BTW ruby also have throw and catch, but for different purpose. See http://rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue--im-so-conf...
https://github.com/yast/yast-auth-server/pull/49
Thanks for your help, finally at a stage for a PR and some better review. Please remember I’m inheriting this code, so not all the design decisions were mine.
Thanks!
Hi, I did quick review. In general it looks good, just some tips. And one more here. Please consider using rubocop to have consistent style and ideally try to use yast style config, so it will be consistent with rest of yast modules.
I’m going to need some instructions and help on how to set this up (which I’ll add to the README as well by the way :) ) Thanks for all your help and the reviews!
Josef -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
— Sincerely, William Brown Senior Software Engineer, 389 Directory Server SUSE Labs -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
V Fri, 29 Mar 2019 13:20:24 +1000 William Brown <wbrown@suse.de> napsáno:
On 28 Mar 2019, at 19:05, Josef Reidinger <jreidinger@suse.cz> wrote:
V Thu, 28 Mar 2019 10:52:29 +1000 William Brown <wbrown@suse.de> napsáno:
On 27 Mar 2019, at 17:02, Josef Reidinger <jreidinger@suse.cz> wrote:
V Wed, 27 Mar 2019 10:04:01 +1000 William Brown <wbrown@suse.de> napsáno:
On 25 Mar 2019, at 16:52, Josef Reidinger <jreidinger@suse.cz> wrote:
> > > Is there something I’m missing in YaST to show ruby exceptions or errors?
Well, your problem is too generic exception catcher at https://github.com/Firstyear/yast-auth-server/blob/2019-03-19-update-ds-crea... It catches all exceptions, which in general I do not recommend as it catches beside user errors also programmers ones. At least you can change it to `rescue RuntimeError`. And for sure always log what you catch unless you re-raise it, so it is not silent as now. And because you catch exception, then global exception handler is not in reached.
Errghh, I would never have found that. I’ve never seen a language that uses rescue as an exception handler! Anyway, I now have the actual error now (which is apperently that “log” IE log.debug() can’t be found in authserver/dir/ds389.rb.).
Welcome to ruby world. BTW ruby also have throw and catch, but for different purpose. See http://rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue--im-so-conf...
https://github.com/yast/yast-auth-server/pull/49
Thanks for your help, finally at a stage for a PR and some better review. Please remember I’m inheriting this code, so not all the design decisions were mine.
Thanks!
Hi, I did quick review. In general it looks good, just some tips. And one more here. Please consider using rubocop to have consistent style and ideally try to use yast style config, so it will be consistent with rest of yast modules.
I’m going to need some instructions and help on how to set this up (which I’ll add to the README as well by the way :) )
Thanks for all your help and the reviews!
Hi, I try to point you to our documentation ( you can check also other interesting howtos there ). But we found that howto is only on our internal mailing list, so I take this oppurtinity and move it to our documentation[2]. So please be our guinea and check that new part of our documentation[1] :) Thanks Josef [1] https://yastgithubio.readthedocs.io/en/latest/rubocop/ [2] https://github.com/yast/yast.github.io/pull/183
Josef -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
— Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server SUSE Labs
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
participants (2)
-
Josef Reidinger
-
William Brown