Best way to download Github files to Concerto 2 VM

99 views
Skip to first unread message

david...@gmail.com

unread,
Mar 22, 2016, 10:59:56 AM3/22/16
to Concerto Digital Signage
Hey there,

I have deployed a Concerto 2 server on a VM that is on a Ubuntu host machine. I saw that there was a commit last night that addresses an issue I was having with concerto regarding images repeating multiple times even though there were multiple images in the feed. What is the best way to download the changed files onto the VM? Is there a method to download all differential files from github on the server VM that would in essence check all files for newer versions on the github repo? Or do I need to wget the affected files and replace the old ones in the /usr/share/concerto directory?

Thanks,
David

August

unread,
Mar 22, 2016, 11:33:36 AM3/22/16
to concerto-dig...@googlegroups.com
If you’re using the pre-built VM, the concerto directory is not a proper pullable git repository. So if you want that patch before release, probably the best thing to do is copy over the modified files in question. Just be mindful that upon any sort of apt operation on the package, any local modifications will be replaced.

-- 
August
--
You received this message because you are subscribed to the Google Groups "Concerto Digital Signage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.
To post to this group, send email to concerto-dig...@googlegroups.com.
Visit this group at https://groups.google.com/group/concerto-digital-signage.
For more options, visit https://groups.google.com/d/optout.

david...@gmail.com

unread,
Mar 22, 2016, 11:40:46 AM3/22/16
to Concerto Digital Signage
I tried using wget to pull the three affected files using the github links. The files copied into the correct directory and we removed the old ones, but the apache service broke and now the server wont start. Any ideas?


On Tuesday, March 22, 2016 at 11:33:36 AM UTC-4, august wrote:
If you’re using the pre-built VM, the concerto directory is not a proper pullable git repository. So if you want that patch before release, probably the best thing to do is copy over the modified files in question. Just be mindful that upon any sort of apt operation on the package, any local modifications will be replaced.

-- 
August

On March 22, 2016 at 11:00:04 AM, david...@gmail.com (david...@gmail.com) wrote:

Hey there,

I have deployed a Concerto 2 server on a VM that is on a Ubuntu host machine. I saw that there was a commit last night that addresses an issue I was having with concerto regarding images repeating multiple times even though there were multiple images in the feed. What is the best way to download the changed files onto the VM? Is there a method to download all differential files from github on the server VM that would in essence check all files for newer versions on the github repo? Or do I need to wget the affected files and replace the old ones in the /usr/share/concerto directory?

Thanks,
David
--
You received this message because you are subscribed to the Google Groups "Concerto Digital Signage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-signage+unsub...@googlegroups.com.

August

unread,
Mar 22, 2016, 11:42:26 AM3/22/16
to concerto-dig...@googlegroups.com
You’ll want to first make sure that wget actually copied the raw file, and not just the HTML output from Github. After that, you’ll want to find the specific error in the apache log (probably /var/log/apache2/error.log) and address it.

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.

david...@gmail.com

unread,
Mar 22, 2016, 2:56:37 PM3/22/16
to Concerto Digital Signage
So I was able to get the three files and the server is back up and running. However, the images that we had stored on the server are now just empty images and clicking on them or trying to add any more content results in a 500 error.

August

unread,
Mar 22, 2016, 3:00:43 PM3/22/16
to concerto-dig...@googlegroups.com
Is it possible you were running a substantially older version of Concerto before copying the contents of these files over? I should have mentioned the dangers of hot-patching production systems with bleeding edge code. Doing so can create issues if core Concerto, the frontend plugin, and this new code aren’t of more or less the same age.

If not, you may want to mention the error message you’re getting here so others can troubleshoot it. 

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.

david...@gmail.com

unread,
Mar 22, 2016, 3:08:22 PM3/22/16
to Concerto Digital Signage
We installed the Concerto 2.3.2 VM and deployed it the same day about 2 days ago. So I think its the most up to date unless the VM image on the main concerto site is out dated. If I go to click "Add" under content, it just says "500 Something went wrong. Rest assured, you have been assigned 0% of the blame. Sometimes a strategic retreat is the best option. Abort" That's the only error I can see from the dashboard.

August

unread,
Mar 22, 2016, 3:10:22 PM3/22/16
to concerto-dig...@googlegroups.com
When I say the error, I mean the full error trace from the log files (probably in /usr/share/concerto/log/<your_env>.log or /var/log/apache2/error.log). No one will be able to help you with a generic 500 error with out substantially more detail.

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.

david...@gmail.com

unread,
Mar 22, 2016, 3:11:21 PM3/22/16
to Concerto Digital Signage
Unless that Concerto 2 VM image is actually 2.0.0 and we aren't at 2.3.2. If that's the case, whats the best way to quickly deploy a VM with 2.3.2?


On Tuesday, March 22, 2016 at 3:00:43 PM UTC-4, august wrote:

August

unread,
Mar 22, 2016, 3:13:28 PM3/22/16
to concerto-dig...@googlegroups.com
You can check your Concerto version on the Dashboard. If you downloaded aa VM from our site 2 days ago, it’s almost certainly 2.3.2.

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.

david...@gmail.com

unread,
Mar 22, 2016, 3:25:46 PM3/22/16
to Concerto Digital Signage
The version was indeed 2.3.2. The error log shows this:

Started GET "/content/new" for [ip] at [timestamp]
FATAL -- RunetimeError (Circular dependency detected while autoloading constant ContentsController):

Then it just goes through all the gems and the dependencies.

August

unread,
Mar 22, 2016, 3:29:25 PM3/22/16
to concerto-dig...@googlegroups.com
That is probably not the error you’re looking for. A typical Rails track trace might look like this in a log file:

NoMethodError: undefined method `api_only' for #<Rails::Application::Configuration:0x007f0c25445678>
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/railtie/configuration.rb:85:in `method_missing'
vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/core_ext/object/try.rb:36:in `try'
vendor/bundle/ruby/2.1.0/gems/jbuilder-2.2.14/lib/jbuilder/railtie.rb:12:in `block in <class:Railtie>'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:30:in `instance_exec'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:30:in `run'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:55:in `block in run_initializers'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:54:in `each'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:54:in `run_initializers'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/application.rb:136:in `initialize!'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/railtie/configurable.rb:30:in `method_missing'
config/environment.rb:5:in `<top (required)>'
vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/application.rb:103:in `require_environment!'
vendor/bundle/ruby/2.1.0/gems/railties-3.2.21/lib/rails/application.rb:305:in `block (2 levels) in initialize_tasks'
Tasks: TOP => db:migrate:reset => db:migrate => environment

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.

david...@gmail.com

unread,
Mar 22, 2016, 3:38:31 PM3/22/16
to Concerto Digital Signage
Well, I think I found the issue. I used wget to get the raw files for the three affected files (contents_controller.rb, base_shuffle.rb, and weighted_shuffle.rb) and the two shuffle files came across as the new ones, but the raw contents_controller was the old file. Once I posted the last error and saw the circular dependency it got me thinking. I will replace this file with the new and let you know if it fixes it.

david...@gmail.com

unread,
Mar 22, 2016, 4:39:30 PM3/22/16
to Concerto Digital Signage, david...@gmail.com
Made sure the three files were all correct and matched the newest master and am still getting that error. After the GET error I posted earlier, this is what the rails track says:

vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/dependencies.rb:478:in 'load_missing_constant'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/dependencies.rb:180:in 'const_missing'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/inflector/methods.rb:238:in 'const_get'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/inflector/methods.rb:238:in 'block in constantize'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/inflector/methods.rb:236:in 'each'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/inflector/methods.rb:236:in 'inject'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/inflector/methods.rb:236:in 'constantize'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/dependencies.rb:552:in 'get'
vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.12/lib/active_support/dependencies.rb:583:in 'constantize'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/routing/route_set.rb:78:in 'controller_reference'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/routing/route_set.rb:68:in 'controller'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/routing/route_set.rb:46:in 'call'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/journey/router.rb:73:in 'block in call'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/journey/router.rb:59:in 'each'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/journey/router.rb:59:in 'call'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/routing/route_set.rb:692:in 'call'
vendor/bundle/ruby/2.1.0/gems/warden-1.2.3/lib/warden/manager.rb:35:in 'block in call'
vendor/bundle/ruby/2.1.0/gems/warden-1.2.3/lib/warden/manager.rb:34:in 'catch'
vendor/bundle/ruby/2.1.0/gems/warden-1.2.3/lib/warden/manager.rb:34:in 'call'
vendor/bundle/ruby/2.1.0/gems/rack-1.5.5/lib/rack/etag.rb:23:in 'call'
vendor/bundle/ruby/2.1.0/gems/rack-1.5.5/lib/rack/conditionalget.rb:25:in 'call'
vendor/bundle/ruby/2.1.0/gems/rack-1.5.5/lib/rack/head.rb:11:in 'call'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/middleware/params_parser.rb:27:in 'call'
vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.12/lib/action_dispatch/middleware/flash.rb:254:in 'call'
vendor/bundle/ruby/2.1.0/gems/rack-1.5.5/lib/rack/session/abstract/id.rb:225:in 'context'

and it goes on and on with similar stuff until the last chunk:

vendor/bundle/ruby/2.1.0/gems/railties-4.1.12/lib/rails/application.rb:144:in 'call'
vendor/bundle/ruby/2.1.0/gems/railties-4.1.12/lib/rails/railtie.rb:194:in 'public send'
vendor/bundle/ruby/2.1.0/gems/railties-4.1.12/lib/rails/railtie.rb:194:in 'method missing'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:74:in 'process_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:141:in 'accept_and_process_next_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:109:in 'main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:455:in 'block (3 levels) in start_threads'

I, [timestamp] INFO -- : Processing by ErrorsController#render_error as HTML...
Completed 500 Internal Server Error in 10ms

August

unread,
Mar 22, 2016, 4:50:45 PM3/22/16
to concerto-dig...@googlegroups.com
You’re close-but that’s just the latter part of the trace. For anyone here to be of any help, we’d need the actual error, and not just the trace showing where it came from.

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.

david...@gmail.com

unread,
Mar 22, 2016, 4:58:18 PM3/22/16
to Concerto Digital Signage


Its literally just the RuntimeError I posted followed by all of that stuff I posted earlier. This chunk repeats every time the word error or FATAL shows up in the logs.

david...@gmail.com

unread,
Mar 22, 2016, 5:06:01 PM3/22/16
to Concerto Digital Signage


This was the corresponding apache error



On Tuesday, March 22, 2016 at 4:50:45 PM UTC-4, august wrote:

david...@gmail.com

unread,
Mar 22, 2016, 5:08:50 PM3/22/16
to Concerto Digital Signage, david...@gmail.com
In the middle of the apache error its referencing /usr/share/concerto/app/controllers/contents_controller.rb ---- why isnt it going to the .rb file in /frontend/ directory? Do I need to replace the contents_controller.rb file in the controllers directory too?

August

unread,
Mar 22, 2016, 5:12:26 PM3/22/16
to concerto-dig...@googlegroups.com
There are two contents controllers - one for the frontend and one in the regular controllers folder. Is it possible you mixed them up — causing this circular dependency error?

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.

david...@gmail.com

unread,
Mar 22, 2016, 5:33:53 PM3/22/16
to Concerto Digital Signage
Andddddddddd thats the problem. Somewhere along the way a wget was called and the /frontend/ was left out of the path, replacing the contents_controller.rb in controllers with the frontend one. Once I replaced it everything came back to life. I feel like an idiot. Thanks for the lesson in checking error logs, though. Learned quite a bit from this.

August

unread,
Mar 22, 2016, 5:35:06 PM3/22/16
to concerto-dig...@googlegroups.com
Glad you got the mix-up sorted out. There’s an entirely different and thorny issue that can cause those circular dependency errors, so I’m glad it was an easy fix.

-- 
August
To unsubscribe from this group and stop receiving emails from it, send an email to concerto-digital-s...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages