যেমনটি উল্লেখ করা হয়েছে, এটি নকশা দ্বারা। উত্তরীয় একবারে মাত্র একটি নাটক চালায়। আপনার প্লেবুক দুটি নাটক নিয়ে গঠিত (প্লেবুক ফাইল দ্বারা সংজ্ঞায়িত রুট-স্তরের YAML তালিকার দুটি আইটেম)। প্রথম নাটকটি গ্রুপ 1 এ রোল 1 এবং রোল 2 প্রয়োগ করে। সেই নাটকটি প্রথমে কার্যকর করে এবং কেবলমাত্র এটি শেষ হয়ে গেলেই দ্বিতীয় নাটকটি শুরু হয়। তবে জবাব নাটকগুলি একত্রে যুক্ত করার চেষ্টা করে না। সর্বোপরি, আপনি সম্ভবত ভূমিকা2 এর কাজগুলি দু'বার চালাতে চাইবেন।
সমস্যা সমাধানের জন্য, কয়েকটি উপায় রয়েছে যা আপনি এটিকে ঘিরে কাজ করতে পারেন এবং আপনি যেগুলি বেছে নিয়েছেন তা গোষ্ঠীগুলির এবং ভূমিকার বিশদগুলির উপর নির্ভর করবে।
যদি ভূমিকা 2 এর সমস্ত কাজ আদর্শবান হয়, অর্থাত্ যদি সেগুলি একাধিকবার চালানো যায় এবং প্রতিবার একই ফলাফলের সাথে শেষ করতে পারে তবে আপনি যা যা করছেন তা হ'ল সময় হ'ল, এবং ভূমিকাটি পুনরাবৃত্তি করা ঠিক আছে। ভূমিকাগুলি প্রয়োগ করতে যদি সত্যিই দীর্ঘ সময় লাগে বা যদি আপনি এটিকে আদর্শবান করতে না পারেন তবে নিম্নলিখিত ধারণাগুলি বিবেচনা করুন:
আপনি প্লেবুকটি তিনটি নাটকে বিভক্ত করতে এবং পৃথকভাবে ভূমিকা প্রয়োগ করতে পারেন:
---
- hosts: group1
roles:
- role1
- hosts: group1:group2
roles:
- role2
- hosts: group2
roles:
- role3
বা যদি আপনার ভূমিকাগুলি একত্রে গোষ্ঠীভুক্ত করা দরকার হয় তবে আপনি সার্ভারগুলির জন্য একটি তৃতীয় গোষ্ঠী তৈরি করতে পারেন যার জন্য তিনটি ভূমিকা রয়েছে। এগুলি আপনাকে অন্য দুটি গ্রুপের বাইরে নিয়ে যাওয়ার দরকার নেই। আপনি নিজের ইনভেন্টরি ফাইলে এইভাবে গ্রুপ তৈরি করতে পারেন:
[group1and2:children]
group1
group2
তারপরে আপনার প্লেবুকে আপনি আবার তিনটি নাটকে বিভক্ত হতে পারেন তবে পুনরায় চলমান ভূমিকা এড়াতে তৃতীয় গোষ্ঠীটি ব্যবহার করুন:
---
- hosts: group1:!group1and2
roles:
- role1
- role2
- hosts: group1and2
roles:
- role1
- role2
- role3
- hosts: group2:!group1and2
roles:
- role2
- role3
এটি বেশ কুৎসিত তবে এটি কিছু ক্ষেত্রে কার্যকর হতে পারে।