শেফে, আমি কীভাবে রোল ফাইলগুলির মধ্যে বৈশিষ্ট্যগুলি অ্যাক্সেস করব?


13

আমি নথিভুক্ত হিসাবে রোল ফাইলগুলিতে অ্যাট্রিবিউট সেট করতে সক্ষম হয়েছি তবে আমি যে কুকবুকগুলি ব্যবহার করছি সেগুলি ইতিমধ্যে সেট করা বৈশিষ্ট্যগুলিতে অ্যাক্সেস করতে সক্ষম নই।

উদাহরণস্বরূপ /roles/appserver.rb এর মধ্যে:

name "appserver"

run_list(%w{
  recipe[tomcat::default]
})

default_attributes(
  :tomcat => {
    :java_options => "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=" + node[:tomcat][:log_dir]
  }
)

আমি যা পাই তা ব্যতিক্রম হিসাবে জানানো শেফ 'নোড' পদ্ধতি / পরিবর্তনশীলটি খুঁজে পাচ্ছেন না।

ধন্যবাদ

উত্তর:


12

তুমি পার না. আপনি যখন ছুরির সাহায্যে সার্ভারে ভূমিকাটি আপলোড করেন তখন রুবি ডিএসএলের ভূমিকাটি রুবি থেকে জেএসএনে রূপান্তরিত হয়। নোড অবজেক্টটি উপলভ্য নয়, যেহেতু এটি কোনও শেফ রান প্রসঙ্গে প্রক্রিয়াকরণ করা হয় না।

পরিবর্তে আপনি যদি নোড বৈশিষ্ট্যগুলি একত্রিত করতে চান তবে পরিবর্তে, আপনাকে একটি রেসিপিটিতে এটি করা উচিত, উদাহরণস্বরূপ:

"#{node[:tomcat][:java_options]}#{node[:tomcat][:log_dir]}"

0

আপনি require_relative 'base_role_file'কোনও ভূমিকার ভিতরে সত্যই ব্যবহার করতে পারেন এবং এই প্রয়োজনীয় ফাইলটি আপনাকে ব্যবহারের জন্য কিছু গ্লোবাল ভেরিয়েবল সেট করতে পারে। বেশ হ্যাকি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.