[chef] Need help fixing application_python to work with Django 1.4+


Chronological Thread 
  • From: Liam Kirsher < >
  • To: Opscode Support < >, " " < >
  • Subject: [chef] Need help fixing application_python to work with Django 1.4+
  • Date: Mon, 10 Jun 2013 16:57:37 -0700
  • Openpgp: id=7011F7B7; url=http://liam.numenet.com/pgp/

Hi --

I needed to get the application_python cookbook working with a recent
version of Django, which uses a different layout than what is supported
by application_python.

I forked it and made a few changes that *should* make it do what I
want.  Unfortunately, I've run into an error I don't understand.  I
basically tried to create a string value "django_project" that could be
set in the django block, similar to collectstatic.

So, in application_python/resource I added
attribute :django_project, :kind_of => [TrueClass, FalseClass, String],
:default => nil
In application_python/providers I referenced it similarly to the way
collectstatic is referenced, new_resource.django_project

I thought that was all I'd have to do, but I now find that it throws an
exception because it can't find the django_proj method.  This is
probably obvious to some of you but... where do I define django_proj as
a method?

Need some help here!
>
>>   django do
>>     requirements "config/requirements.txt"
>>     django_proj "bartrendr"
>>     settings_template "settings.py.erb"
>>     debug app_node[:debug]
>>     collectstatic true
>>     settings django_settings
>>     database do
>>       host mongo_host
>>       database mongo_db_name
>>       mongo_replicaset mongo_replicaset
>>       mongo_replicaset_name mongo_replicaset_name
>>       username "mongo_user"
>>       password "mongo_password"
>>     end


> Recipe Compile Error in
> /srv/chef/file_store/cookbooks/bti_api/recipes/default.rb
>
> ================================================================================
>
>
>
>
> NoMethodError
>
> -------------
>
> undefined method `django_proj' for Chef::Resource::ApplicationPythonDjango
>
>
>
>
> Cookbook Trace:
> ---------------
>  
> /srv/chef/file_store/cookbooks/application/libraries/default.rb:72:in
> `method_missing'
>   /srv/chef/file_store/cookbooks/bti_api/recipes/default.rb:69:in
> `block (2 levels) in from_file'
>  
> /srv/chef/file_store/cookbooks/application/resources/default.rb:115:in
> `block in method_missing'
>  
> /srv/chef/file_store/cookbooks/application/resources/default.rb:112:in
> `each'
>  
> /srv/chef/file_store/cookbooks/application/resources/default.rb:112:in
> `method_missing'
>   /srv/chef/file_store/cookbooks/bti_api/recipes/default.rb:67:in
> `block in from_file'
>   /srv/chef/file_store/cookbooks/bti_api/recipes/default.rb:44:in
> `from_file'
>
>
> Relevant File Content:
> ----------------------
> /srv/chef/file_store/cookbooks/application/libraries/default.rb:
>
>  65:          @restart_command
>  66:        end
>  67:  
>  68:        def method_missing(name, *args)
>  69:          if application.respond_to? name
>  70:            application.send(name, *args)
>  71:          else
>  72>>           super
>  73:          end
>  74:        end
>  75:  
>  76:        class OptionsBlock
>  77:          include Chef::Resource::Application::OptionsCollector
>  78:        end
>  79:  
>  80:        def options_block(options=nil, &block)
>  81:          options ||= {}
>
>
>
> [2013-06-10T23:42:59+00:00] ERROR: Running exception handlers
> [2013-06-10T23:42:59+00:00] FATAL: Saving node information to
> /srv/chef/file_store/failed-run-data.json
> [2013-06-10T23:42:59+00:00] ERROR: Exception handlers complete
> [2013-06-10T23:42:59+00:00] FATAL: Stacktrace dumped to
> /srv/chef/file_store/chef-stacktrace.out
> [2013-06-10T23:42:59+00:00] FATAL: NoMethodError: undefined method
> `django_proj' for Chef::Resource::ApplicationPythonDjango






-- 
Liam Kirsher
PGP: http://liam.numenet.com/pgp/



  • [chef] Need help fixing application_python to work with Django 1.4+, Liam Kirsher, 06/10/2013

Archive powered by MHonArc 2.6.16.

§