Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #11594 - snippets can be used in job templates #49

Merged
merged 1 commit into from Oct 1, 2015

Conversation

ares
Copy link
Member

@ares ares commented Sep 30, 2015

No description provided.

@stbenjam
Copy link
Member

Doesn't seem to work right for me - I created a snippet called 'asdf' and then included: <%= snippet 'asdf' %>, and the preview render has an error: error during rendering: wrong number of arguments (0 for 1..2)

2015-09-30T09:33:17 [app] [D] wrong number of arguments (0 for 1..2)
 | /home/vagrant/foreman/lib/foreman/renderer.rb:69:in `snippet'
 | /home/vagrant/.rvm/gems/ruby-2.1.5/gems/safemode-1.2.2/lib/safemode/scope.rb:37:in `method_missing'
 | /home/vagrant/.rvm/gems/ruby-2.1.5/gems/safemode-1.2.2/lib/safemode.rb:53:in `bind'
 | /home/vagrant/.rvm/gems/ruby-2.1.5/gems/safemode-1.2.2/lib/safemode.rb:51:in `eval'
 | /home/vagrant/.rvm/gems/ruby-2.1.5/gems/safemode-1.2.2/lib/safemode.rb:51:in `eval'
 | /home/vagrant/foreman/lib/foreman/renderer.rb:16:in `render_safe'
 | /home/vagrant/foreman/lib/foreman/renderer.rb:103:in `unattended_render'
 | /home/vagrant/foreman/lib/foreman/renderer.rb:73:in `snippet'

@ares
Copy link
Member Author

ares commented Sep 30, 2015

<%= snippet('whatever') %> worked for me, could you test whether parentheses would help?

@stbenjam
Copy link
Member

With latest foreman develop? Do you have safemode enabled?

@ares
Copy link
Member Author

ares commented Sep 30, 2015

Yes to both, older ruby though. Let me check without ()

@stbenjam
Copy link
Member

It happens same for me regardless of parenthesis or not. I'm on ruby 2.1, but don't usually have any issues with it, I'll try it on 1.9.3.

@ares
Copy link
Member Author

ares commented Sep 30, 2015

for me it seems to work even without parenthesis

@stbenjam
Copy link
Member

I dunno, still fails for me on 1.9.3. I'm running latest everything.

2015-09-30T10:32:25 [app] [D] The snippet 'asdf' threw an error: wrong number of arguments (0 for 1)
 | /home/vagrant/foreman/lib/foreman/renderer.rb:76:in `rescue in snippet'
 | /home/vagrant/foreman/lib/foreman/renderer.rb:73:in `snippet'
 | /home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/safemode-1.2.2/lib/safemode/scope.rb:37:in `method_missi
ng'
 | /home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/safemode-1.2.2/lib/safemode.rb:52:in `bind'
 | /home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/safemode-1.2.2/lib/safemode.rb:51:in `eval'
 | /home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/safemode-1.2.2/lib/safemode.rb:51:in `eval'
 | /home/vagrant/foreman/lib/foreman/renderer.rb:17:in `render_safe'
 | /home/vagrant/foreman_remote_execution/app/models/input_template_renderer.rb:19:in `render'
 | /home/vagrant/foreman_remote_execution/app/models/input_template_renderer.rb:28:in `preview'
 | /home/vagrant/foreman_remote_execution/app/controllers/job_templates_controller.rb:18:in `preview'
 | /home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/actionpack-3.2.21/lib/action_controller/metal/implicit_r
ender.rb:4:in `send_action'

@stbenjam
Copy link
Member

What's the source of your snippet? If my snippet is a JobTemplate it fails, but ProvisioningTemplate is OK.

<%= snippet 'puppet.conf' %> works though, but it makes sense to me that a user should be able to use a JobTemplate snippet.

@ares
Copy link
Member Author

ares commented Sep 30, 2015

I created a snippet under job template (see inspect below) but also snippets of other classes works for me.

snippet {
                  :id => 486,
                :name => "snippet",
            :template => "# snip snip",
             :snippet => true,
    :template_kind_id => nil,
          :created_at => Wed, 30 Sep 2015 09:12:31 UTC +00:00,
          :updated_at => Wed, 30 Sep 2015 09:12:31 UTC +00:00,
              :locked => false,
             :default => false,
              :vendor => nil,
                :type => "JobTemplate",
            :job_name => "",
       :provider_type => "Ssh",
           :os_family => nil
}

Could you please paste the template attribute value of your snippet so I can reproduce locally?

@stbenjam
Copy link
Member

Oh disregard, total PEBKAC. And ACK.

My 1 line snippet was missing a closing quote :-(

@ares
Copy link
Member Author

ares commented Oct 1, 2015

Phew :-) thanks for reviewing, merging.

ares added a commit that referenced this pull request Oct 1, 2015
Fixes #11594 - snippets can be used in job templates
@ares ares merged commit 3f45745 into theforeman:master Oct 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants