All Discourse plugins got disabled

While attempting to install a new plugin by following the instructions specified at https://meta.discourse.org/t/install-a-plugin/19157, I hit a Ruby Gem dependency conflict that hosed the entire application. I worked until I got the site back up and running, but I don’t currently have time to continue the effort.

Here is my IRC monologue of the event:

2018-04-21 20:20:32     chreekat        Well, I just tried to install a discourse plugin, and that necessarily include an upgrade and rebuild of Discourse, which seems to have bombed fatastically
2018-04-21 20:21:08     chreekat        ^ fatastically is a typo, but a very nice and accurate one
2018-04-21 20:22:19     chreekat        Obviously "make a backup" should be step 0 at https://meta.discourse.org/t/install-a-plugin/19157 , not that it isn't my fault entirely for not making one myself
2018-04-21 20:24:15     chreekat        I need to relocate and plug my laptop in somewhere
2018-04-21 21:41:48     -->     chreekat (~b@unaffiliated/chreekat) has joined #snowdrift
2018-04-21 21:54:05     chreekat        The problem expresses itself as "Gem::ConflictError: Unable to activate sidekiq-scheduler-2.0.9, because redis-4.0.1 conflicts with redis (~> 3)"
2018-04-21 21:54:27     chreekat        I know what most of those words mean
2018-04-21 21:54:47     chreekat        ^ that is a joke
2018-04-21 21:57:08     chreekat        I also see a lot of "HTTP 429 Too Many Requests https://index.rubygems.org/info/<package>". I half-assume that is nominal, however.
2018-04-21 21:58:28     chreekat        It appears to be coming from 'bundle' doing totally normal things, and may be the reason that they call bundle with "--retry 3".
2018-04-21 22:12:16     chreekat        Checking to see if the retort plugin is causing the conflict
2018-04-21 22:14:37     chreekat        Nope, disabling that plugin did not solve the problem
2018-04-21 22:22:12     chreekat        Now I'm gonna try disabling all of the plugins
2018-04-21 22:23:02     chreekat        (Downtime was reading through all of the discussion on installing plugins. Nothing valuable was obtained)
2018-04-21 22:24:36     chreekat        Looks like we're getting futher along this time...
2018-04-21 22:28:07     chreekat        Ding ding, community.snowdrift.coop is back. No plugins installed.
2018-04-21 22:30:31     chreekat        Follow up:
2018-04-21 22:30:39     chreekat        * Figure out which is the offending plugin
2018-04-21 22:31:00     chreekat        * Find out if installing plugins still really requires rebuilding the entire app
2018-04-21 22:32:14     chreekat            * Must we truly fetch the master branch of discourse *and* of all plugins? That means living on the bleeding edge, which .. as we see .. cuts us
2018-04-21 22:32:59     chreekat            * Can we not install a plugin without changing the versions of discourse or of other plugins?
2018-04-21 22:33:11     chreekat        s/or/and
2018-04-21 22:33:40     chreekat        I don't have time to do these things right now. I may have time to whittle down the offending plugin tomorrow.

@chreekat thanks for the clear post.

For reference, is there a list or reference we can get that shows which plugins were installed before? I.e. in a case like this, what options do we have to know how to get back all the missing plugins?

Since you were installing something new, it would be nice to be able to just get back the set we previously had without the new thing.

https://meta.discourse.org/t/discourse-rebuild-fails-after-upgrade-to-2-0-0-beta7/86113 indicates that maybe an offending plugin currently is discourse-admin-statistics-digest — and we can leave that out for now…

https://meta.discourse.org/t/smoke-testing-plugins-during-upgrade-process/71118 discusses others having this same problem with plugin dependency failures and ideas for how to avoid this breakage. The overall gist is that official plugins should be reliable enough since they test them, and we just need to be wary about getting into unofficial plugins.

I opened an issue for getting plugins back: https://git.snowdrift.coop/sd/ops/issues/28

I got most of them all back, everything good again!