Foreman develop broken at the moment: feel free to blame me :)

Hi,

I've spend very interesting week fighting some intermittent issues on
foreman_remote_execution
CI. I finally tracked it to [1] yesterday and send a patch to
validates_lengths_from_database.
However, glad that I've finally found the cause and the gem tests were
passing, I haven't spend
that much time testing it against the Foreman as I should.

Long story short: validates_lengths_from_database 0.5.1 breaks Foreman
badly, and you will
see something like

undefined method []' for nil:NilClass /usr/local/rvm/gems/ruby-2.1.5@test_plugin_pull_request-1/gems/validates_lengths_from_database-0.5.1/lib/validates_lengths_from_database.rb:37:invalidate_lengths_from_database'

I've already sent additional fix to the upstream, and it seems the maintainer
is pretty responsive. So I expected we could have the issue resolved
by end of today. If it seemed
it would not proceed that fast, I would openen a PR to pin the version
to 0.5.0 temporarily
(feel free to do that if you can't wait for whatever reason).

Sorry for inconvenience and happy Friday everyone :slight_smile:

[1] Bug #19422: validates_lengths_from_database leaks validation options between models - Foreman
[2] https://github.com/rubiety/validates_lengths_from_database/pull/18

Not sure if it's related or not, but seems that develop is still broken on
mysql - lots of errors to do with field lengths, so I'm guessing it may be.

··· On Fri, Apr 28, 2017 at 11:09 AM, Ivan Necas wrote:

Hi,

I’ve spend very interesting week fighting some intermittent issues on
foreman_remote_execution
CI. I finally tracked it to [1] yesterday and send a patch to
validates_lengths_from_database.
However, glad that I’ve finally found the cause and the gem tests were
passing, I haven’t spend
that much time testing it against the Foreman as I should.

Long story short: validates_lengths_from_database 0.5.1 breaks Foreman
badly, and you will
see something like

undefined method []' for nil:NilClass /usr/local/rvm/gems/ruby-2.1.5@test_plugin_pull_request-1/ gems/validates_lengths_from_database-0.5.1/lib/validates_ lengths_from_database.rb:37:invalidate_lengths_from_database’

I’ve already sent additional fix to the upstream, and it seems the
maintainer
is pretty responsive. So I expected we could have the issue resolved
by end of today. If it seemed
it would not proceed that fast, I would openen a PR to pin the version
to 0.5.0 temporarily
(feel free to do that if you can’t wait for whatever reason).

Sorry for inconvenience and happy Friday everyone :slight_smile:

[1] Bug #19422: validates_lengths_from_database leaks validation options between models - Foreman
[2] https://github.com/rubiety/validates_lengths_from_database/pull/18


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Have a nice day,
Tomer Brisker
Red Hat Engineering

Tomer Brisker <tbrisker@redhat.com> writes:

> Not sure if it's related or not, but seems that develop is still broken on
> mysql - lots of errors to do with field lengths, so I'm guessing it
> may be.

I think it's related in a way that the fix we did in
validate_length_from_database revealed an issue we had in our code
before but were not hitting because of the nature of the original issue:
now we need to fix it on our side.

– Ivan

··· > > On Fri, Apr 28, 2017 at 11:09 AM, Ivan Necas wrote: > >> Hi, >> >> I've spend very interesting week fighting some intermittent issues on >> foreman_remote_execution >> CI. I finally tracked it to [1] yesterday and send a patch to >> validates_lengths_from_database. >> However, glad that I've finally found the cause and the gem tests were >> passing, I haven't spend >> that much time testing it against the Foreman as I should. >> >> Long story short: validates_lengths_from_database 0.5.1 breaks Foreman >> badly, and you will >> see something like >> >> undefined method `[]' for nil:NilClass >> /usr/local/rvm/gems/ruby-2.1.5@test_plugin_pull_request-1/ >> gems/validates_lengths_from_database-0.5.1/lib/validates_ >> lengths_from_database.rb:37:in >> `validate_lengths_from_database' >> >> I've already sent additional fix to the upstream, and it seems the >> maintainer >> is pretty responsive. So I expected we could have the issue resolved >> by end of today. If it seemed >> it would not proceed that fast, I would openen a PR to pin the version >> to 0.5.0 temporarily >> (feel free to do that if you can't wait for whatever reason). >> >> Sorry for inconvenience and happy Friday everyone :) >> >> [1] http://projects.theforeman.org/issues/19422 >> [2] https://github.com/rubiety/validates_lengths_from_database/pull/18 >> >> -- >> 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 foreman-dev+unsubscribe@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Have a nice day, > Tomer Brisker > Red Hat Engineering > > -- > 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 foreman-dev+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout.

Ivan Necas <inecas@redhat.com> writes:

> Tomer Brisker <tbrisker@redhat.com> writes:
>
>> Not sure if it's related or not, but seems that develop is still broken on
>> mysql - lots of errors to do with field lengths, so I'm guessing it
>> may be.
>
> I think it's related in a way that the fix we did in
> validate_length_from_database revealed an issue we had in our code
> before but were not hitting because of the nature of the original issue:
> now we need to fix it on our side.

So it turns out there was additional feature added to the
validate_lenghts_from_database to validate numbers, that had a bug
inside, that caused validation issues on mysql (not sqlite nor
passenger)

https://github.com/rubiety/validates_lengths_from_database/pull/19

I hope we will get that resolved soon without need to do some hackish
workarounds on our side.

– Ivan

··· > > -- Ivan > >> >> On Fri, Apr 28, 2017 at 11:09 AM, Ivan Necas wrote: >> >>> Hi, >>> >>> I've spend very interesting week fighting some intermittent issues on >>> foreman_remote_execution >>> CI. I finally tracked it to [1] yesterday and send a patch to >>> validates_lengths_from_database. >>> However, glad that I've finally found the cause and the gem tests were >>> passing, I haven't spend >>> that much time testing it against the Foreman as I should. >>> >>> Long story short: validates_lengths_from_database 0.5.1 breaks Foreman >>> badly, and you will >>> see something like >>> >>> undefined method `[]' for nil:NilClass >>> /usr/local/rvm/gems/ruby-2.1.5@test_plugin_pull_request-1/ >>> gems/validates_lengths_from_database-0.5.1/lib/validates_ >>> lengths_from_database.rb:37:in >>> `validate_lengths_from_database' >>> >>> I've already sent additional fix to the upstream, and it seems the >>> maintainer >>> is pretty responsive. So I expected we could have the issue resolved >>> by end of today. If it seemed >>> it would not proceed that fast, I would openen a PR to pin the version >>> to 0.5.0 temporarily >>> (feel free to do that if you can't wait for whatever reason). >>> >>> Sorry for inconvenience and happy Friday everyone :) >>> >>> [1] http://projects.theforeman.org/issues/19422 >>> [2] https://github.com/rubiety/validates_lengths_from_database/pull/18 >>> >>> -- >>> 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 foreman-dev+unsubscribe@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Have a nice day, >> Tomer Brisker >> Red Hat Engineering >> >> -- >> 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 foreman-dev+unsubscribe@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout.

Ivan Necas <inecas@redhat.com> writes:

The issues with validates_lengths_from_database should be over now.
If your tests are still failing, it's your problem now :slight_smile:

– Ivan

··· > Ivan Necas writes: > >> Tomer Brisker writes: >> >>> Not sure if it's related or not, but seems that develop is still broken on >>> mysql - lots of errors to do with field lengths, so I'm guessing it >>> may be. >> >> I think it's related in a way that the fix we did in >> validate_length_from_database revealed an issue we had in our code >> before but were not hitting because of the nature of the original issue: >> now we need to fix it on our side. > > So it turns out there was additional feature added to the > validate_lenghts_from_database to validate numbers, that had a bug > inside, that caused validation issues on mysql (not sqlite nor > passenger) > > https://github.com/rubiety/validates_lengths_from_database/pull/19 > > I hope we will get that resolved soon without need to do some hackish > workarounds on our side. > > -- Ivan > >> >> -- Ivan >> >>> >>> On Fri, Apr 28, 2017 at 11:09 AM, Ivan Necas wrote: >>> >>>> Hi, >>>> >>>> I've spend very interesting week fighting some intermittent issues on >>>> foreman_remote_execution >>>> CI. I finally tracked it to [1] yesterday and send a patch to >>>> validates_lengths_from_database. >>>> However, glad that I've finally found the cause and the gem tests were >>>> passing, I haven't spend >>>> that much time testing it against the Foreman as I should. >>>> >>>> Long story short: validates_lengths_from_database 0.5.1 breaks Foreman >>>> badly, and you will >>>> see something like >>>> >>>> undefined method `[]' for nil:NilClass >>>> /usr/local/rvm/gems/ruby-2.1.5@test_plugin_pull_request-1/ >>>> gems/validates_lengths_from_database-0.5.1/lib/validates_ >>>> lengths_from_database.rb:37:in >>>> `validate_lengths_from_database' >>>> >>>> I've already sent additional fix to the upstream, and it seems the >>>> maintainer >>>> is pretty responsive. So I expected we could have the issue resolved >>>> by end of today. If it seemed >>>> it would not proceed that fast, I would openen a PR to pin the version >>>> to 0.5.0 temporarily >>>> (feel free to do that if you can't wait for whatever reason). >>>> >>>> Sorry for inconvenience and happy Friday everyone :) >>>> >>>> [1] http://projects.theforeman.org/issues/19422 >>>> [2] https://github.com/rubiety/validates_lengths_from_database/pull/18 >>>> >>>> -- >>>> 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 foreman-dev+unsubscribe@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> Have a nice day, >>> Tomer Brisker >>> Red Hat Engineering >>> >>> -- >>> 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 foreman-dev+unsubscribe@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout.