پاکسازی سرورهای خراب


حامد مسئول تعدادی سرور پایتونی است که با یک haproxy درخواست‌های کاربرها را بین تمامی سرور‌ها تقسیم می‌کند. از بین این سرورها تعدادی به طور تصادفی مشکل پیدا می‌کنند. مشکل به این صورت است که این سرورها به جای statusCode از نوع 200، جواب با statusCode از نوع 500 می‌دهند. حال حامد می‌خواهد با یک Ansible Playbook سرورهایی که مشکل دارند را از مدار خارج کند. به حامد در این امر کمک کنید. شما موظف هستید که یک فایل tasks.yml را بسازید که سرورهایی که مشکل دارند را پیدا کند و آن‌ها را از سرورهای پشت haproxy خارج کند.

برای دانلود پروژه اولیه روی این لینک کلیک کنید.

توضیح سرور پایتونی🔗

سرور پایتونی فقط دارای یک مسیر (route) / می‌باشد. که با پول کردن ایمیج داکر زیر می‌توانید آن را تست کنید.

registry.gitlab.com/qio/custom/135803/ansibleflaskapi
Plain text

این مسیر یا همان route در واقع اسم سرور را به ما پاسخ می‌دهد. برای مثال اگر اسم سرور server32 باشد، جواب "server32" خواهد بود.

هر یک از سرورها دارای یک Enviroment Variable به نام STATUS میباشد که به طور پیش فرض روی 200 گذاشته شده‌اند. شما می‌توانید با تغییر این متغیر به عدد 500 این مشکل اپ رو تکرار کنید.

برای آشنایی بیشتر با این سرور، فایل docker-compose را مشاهده و بررسی کنید.

نکات تکمیلی🔗

  • اجرای فایل ansible باید روی localhost باشد.

  • نام فایل playbook باید tasks.yml باشد.

  • تعداد سرورهایی که داخل کانفیگ haproxy هستند و همینطور تعداد سرورهایی که مشکل دارند تصادفی است. پس playbook مورد نظر باید کاملا dynamic باشد.

  • در صورت نیاز! بدانید پروژه حین داوری در فولدر /home/project قرار دارد. ممکن است پاسخ شما نیازی به این نکته نداشته باشد.

  • فقط tasks.yml را تغییر داده و ارسال نمایید.

  • در صورتی که سروری، خراب تشخیص داده شد، باید آن از کانفیگ haproxy خارح شود.

نحوه‌ی ارسال جواب🔗

شما فقط می‌توانید محتوای فایل tasks.yml را تغییر دهید. تغییرات خودتان را بر روی tasks.yml اعمال کنید و فایل اصلاح شده را ارسال نمایید. همچنین در نظر داشته باشید نحوه اجرای فایل tasks.yml شما به صورت زیر خواهد بود:

extensionFromNameterminal
ansible-playbook tasks.yml
Bash
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.