ওপেনস্ট্যাক স্থাপনায় পোর্ট বাইন্ডিং ব্যর্থতার সমাধান করা
একটি নতুন OpenStack পরিবেশ স্থাপন করার সময় উদাহরণ গঠনের সময় অপ্রত্যাশিত সমস্যাগুলি মাঝে মাঝে ঘটতে পারে। এই সমস্যাগুলির মধ্যে সবচেয়ে বিরক্তিকর একটি হল পোর্ট বাইন্ডিং ব্যর্থতা। উদাহরণটি এই সমস্যার ফলে উদ্দিষ্ট "ERROR" অবস্থা থেকে পছন্দসই "active" অবস্থায় যেতে অক্ষম হতে পারে। অন্তর্নিহিত সমস্যাটি বোঝা এবং নিখুঁতভাবে সমাধান করা একটি কার্যকর ওপেনস্ট্যাক বাস্তবায়নের জন্য গুরুত্বপূর্ণ।
দৃষ্টান্তের জন্য নেটওয়ার্ক বরাদ্দের সময়, পোর্ট বাইন্ডিং ব্যর্থতার সমস্যা প্রায়শই দেখা দেয়, বিশেষ করে ওপেন vSwitch (OVS) এবং OPNsense-এর মতো বাহ্যিক ফায়ারওয়ালগুলির মতো জটিল নেটওয়ার্কিং স্তরগুলি ব্যবহার করে কনফিগারেশনে। নোভা কম্পিউট পরিষেবা প্রায়শই ত্রুটি নিক্ষেপ করে, যা নির্ণয়ের জন্য নিউট্রন এবং নোভা লগগুলির একটি পুঙ্খানুপুঙ্খ পরীক্ষা করা প্রয়োজন।
এই সমস্যাটি সঠিক কনফিগারেশন এবং সক্রিয় পরিষেবাগুলির সাথেও চলতে থাকে, সম্ভাব্য নেটওয়ার্ক ভুল কনফিগারেশন বা OpenStack উপাদানগুলির মধ্যে যোগাযোগের ব্যর্থতার পরামর্শ দেয়। যখন এই ধরনের সমস্যা দেখা দেয়, তখন ফায়ারওয়াল নিয়ম, নিউট্রন পোর্ট বাইন্ডিং এবং নেটওয়ার্ক সেটিংস পুঙ্খানুপুঙ্খভাবে পরিদর্শন করা অপরিহার্য।
আমরা সাধারণ কারণগুলি দেখব এবং একটি OpenStack উদাহরণ তৈরি করার সময় প্রদর্শিত "পোর্ট বাইন্ডিং ব্যর্থ" ত্রুটিটি ঠিক করতে এই নিবন্ধে ধাপে ধাপে নির্দেশাবলী প্রদান করব৷ এই সতর্কতা অবলম্বন করে, আপনি আপনার OpenStack সিস্টেমকে আরও মসৃণভাবে চালাতে এবং রাস্তার নিচের সমস্যাগুলি প্রতিরোধ করতে সহায়তা করতে পারেন।
আদেশ | ব্যবহারের উদাহরণ |
---|---|
neutron.show_port() | এই ফাংশনটি একটি নির্দিষ্ট নিউট্রন পোর্টের জন্য ব্যাপক তথ্য পুনরুদ্ধার করে। এটি বাইন্ডিং তথ্য এবং বন্দরের বর্তমান অবস্থা পুনরুদ্ধার করার জন্য নিযুক্ত করা হয়, উভয়ই পোর্ট বাইন্ডিং সমস্যা সনাক্তকরণ এবং সমাধানের জন্য প্রয়োজনীয়। |
neutron.update_port() | একটি নিউট্রন পোর্টের কনফিগারেশন পরিবর্তন করতে বা অন্যান্য বৈশিষ্ট্যগুলির মধ্যে এটিকে একটি ভিন্ন হোস্টে রিবাইন্ড করতে ব্যবহৃত হয়। একটি ওয়ার্কিং হোস্টে পোর্টটি পুনরায় বরাদ্দ করে, এই কমান্ডটি পোর্ট বাইন্ডিং সমস্যা সমাধানের জন্য অপরিহার্য। |
binding:host_id | নিউট্রনে, একটি পোর্ট আপগ্রেড করার সময় এই যুক্তিটি ব্যবহার করা হয়। এটি এমন পরিস্থিতি ঠিক করতে সাহায্য করে যখন পোর্টটি এমন একটি হোস্টকে বরাদ্দ করা হয় যা কাজ করছে না এমন হোস্ট আইডি উল্লেখ করে যার সাথে পোর্টটি লিঙ্ক করা উচিত। |
pytest | ইউনিট পরীক্ষা তৈরির জন্য একটি পাইথন টেস্টিং ফ্রেমওয়ার্ক। Pytest এই প্রসঙ্গে ব্যবহার করা হয় নিশ্চিত করার জন্য যে পোর্ট পরিবর্তনগুলি হ্যান্ডলিং ফাংশনগুলি বৈধ এবং উদ্দেশ্য অনুযায়ী কাজ করে৷ |
patch() | একটি পদ্ধতি যা ইউনিটেস্ট.মক প্যাকেজ থেকে নেওয়া পরীক্ষার সময় কোডে প্রকৃত বস্তুগুলির জন্য মক অবজেক্টগুলিকে প্রতিস্থাপন করে৷ এখানে, এটি একটি প্রকৃত OpenStack সেটআপের প্রয়োজন ছাড়াই নিউট্রনে update_port ফাংশনের কার্যকারিতা অনুকরণ করতে ব্যবহৃত হয়। |
oslo_utils.excutils.py | OpenStack ব্যতিক্রম পরিচালনার জন্য একটি উত্সর্গীকৃত টুল। পোর্ট বাইন্ডিংয়ের মতো গুরুত্বপূর্ণ নেটওয়ার্ক প্রক্রিয়ার সময় ত্রুটিগুলি সঠিকভাবে রেকর্ড করা এবং উত্থাপন করা হয়েছে তা নিশ্চিত করে, এটি ডিবাগিং এবং স্থায়িত্ব উন্নত করে। |
force_reraise() | একটি ফাংশন যা ব্যতিক্রম পরিচালনায় একটি ত্রুটি তৈরি করতে ব্যবহৃত হয় যখন একটি নির্দিষ্ট সেট অপারেশন শেষ হয় তখন আবার উত্থাপিত হয়। এই ক্ষেত্রে, এটি নিশ্চিত করে যে পোর্ট আপডেট ব্যর্থ হলে সমস্যাটি ধরা পড়েছে এবং সঠিকভাবে মোকাবেলা করা হয়েছে। |
neutronclient.v2_0.client.Client() | একটি নিউট্রন ক্লায়েন্ট সেট আপ করে যাতে এটি OpenStack নেটওয়ার্কিং দ্বারা প্রদত্ত নিউট্রন পরিষেবার সাথে যোগাযোগ করতে পারে। পোর্ট বাইন্ডিং ব্যর্থতার সমস্যা সমাধানের জন্য, এই ক্লায়েন্টটি পোর্টের মতো নেটওয়ার্ক সংস্থানগুলির অনুরোধ এবং আপডেট করার জন্য অপরিহার্য। |
oslo_utils | একটি স্ট্যান্ডার্ড ইউটিলিটি লাইব্রেরি, লগিং এবং ব্যতিক্রম পরিচালনার জন্য সমস্ত OpenStack প্রকল্পে ব্যবহৃত হয়। এটি নেটওয়ার্ক-সম্পর্কিত ক্রিয়াকলাপগুলির জন্য অপরিহার্য, যেমন পোর্ট বাইন্ডিং, এবং নির্ভরযোগ্য ত্রুটি নিয়ন্ত্রণ অফার করে। |
পাইথন এবং ব্যাশ স্ক্রিপ্টগুলির সাথে পোর্ট বাইন্ডিং ব্যর্থতার সমস্যা সমাধান করা
উল্লিখিত পাইথন স্ক্রিপ্টটি OpenStack-এ পোর্ট বাইন্ডিং সমস্যাগুলিকে মোকাবেলা করার উদ্দেশ্যে তৈরি করা হয়েছে, যেমন উদাহরণগুলি তাদের নেটওয়ার্ক পোর্টগুলিকে সঠিকভাবে সংযোগ করতে অক্ষম। স্ক্রিপ্ট ব্যবহার করে ওপেনস্ট্যাক নিউট্রন এপিআই-এর সাথে যোগাযোগ করে নির্দিষ্ট নেটওয়ার্ক পোর্ট সম্পর্কে বিশদ পুনরুদ্ধার করার কমান্ড। যেহেতু এটি প্রশাসকদের পোর্টের বর্তমান স্থিতি অর্জন করতে এবং পোর্টটি হোস্টে সীমাবদ্ধ বা ব্যর্থতার সম্মুখীন কিনা তা নিশ্চিত করতে সক্ষম করে, এটি পোর্ট-সম্পর্কিত সমস্যা সমাধানের জন্য অপরিহার্য। উপরন্তু, স্ক্রিপ্ট এর কমান্ড বাইন্ডিং প্রোফাইল পরিবর্তন করে এবং পোর্টটিকে একটি বৈধ হোস্টে পুনরায় বরাদ্দ করে পোর্ট বাইন্ডিং সমস্যাগুলি সমাধান করার চেষ্টা করে।
পাইথন স্ক্রিপ্ট একটি পোর্ট বাইন্ডিং ব্যর্থতার ক্ষেত্রে পোর্টগুলি যাচাই এবং আপডেট করার একটি পদ্ধতিগত উপায় প্রদান করে, যেখানে উদাহরণটি "ERROR" অবস্থায় থাকে। স্ক্রিপ্ট নিশ্চিত করে যে নেটওয়ার্ক বরাদ্দ সংক্রান্ত যেকোন সমস্যা ক্রিয়াকলাপ এবং সম্ভাব্য ব্যতিক্রমগুলির একটি লগ রেখে রেকর্ড করা হয়েছে। সিস্টেম অ্যাডমিনিস্ট্রেটররা দ্রুত নির্ধারণ করতে পারে কোন পোর্টের রি-বাইন্ডিং বা অতিরিক্ত গবেষণা প্রয়োজন এবং এর সাহায্যে মূল কারণ নির্ধারণ করতে পারে। স্ক্রিপ্ট নিশ্চিত করে যে নেটওয়ার্ক ব্যর্থতার সাথে সম্পর্কিত ব্যতিক্রমগুলি ব্যবহার করে যথাযথভাবে পরিচালনা করা হয় এবং পদ্ধতি এটি পোর্ট বাইন্ডিং সমস্যাগুলির জন্য আরও শক্তিশালী সমস্যা সমাধানের পদ্ধতি নিশ্চিত করে।
বিপরীতে, ব্যাশ স্ক্রিপ্ট পোর্ট বাইন্ডিং ত্রুটিগুলি ঠিক করার একটি সহজবোধ্য, স্বয়ংক্রিয় পদ্ধতি অফার করে। এটি প্রাথমিকভাবে ব্যবহার করার জন্য OpenStack CLI কমান্ড ব্যবহার করে একটি নির্দিষ্ট পোর্টের অবস্থা পরীক্ষা করতে। স্ক্রিপ্ট ব্যবহার করার চেষ্টা করে একটি ভিন্ন হোস্টের সাথে পোর্টকে পুনরায় আবদ্ধ করতে যদি এটি দেখতে পায় যে পোর্ট বাইন্ডিং ব্যর্থ হয়েছে। যখন দ্রুত, স্বয়ংক্রিয় মেরামতের প্রয়োজন হয়, তখন এই কমান্ড-লাইন পদ্ধতিটি কাজে আসে, বিশেষ করে সেটিংসে যেখানে সরাসরি API ইন্টারঅ্যাকশন সেরা বিকল্প নাও হতে পারে। উপরন্তু, ব্যাশ স্ক্রিপ্টের যুক্তি একটি বিচ্ছুরিত ওপেনস্ট্যাক ক্লাস্টার জুড়ে দ্রুত সংশোধনগুলি সক্ষম করে বেশ কয়েকটি নোডে স্থাপন করা সহজ করে তোলে।
উভয় স্ক্রিপ্টের লক্ষ্য হল নিউট্রন স্তরে সমস্যাটির সমাধান করা, যেখানে পোর্ট বাঁধাই সমস্যাটি উদ্ভূত হয়। নেটওয়ার্ক পোর্ট রিবাইন্ড করে উদাহরণটিকে সফলভাবে একটি "ERROR" থেকে একটি "active" অবস্থায় পরিবর্তন করা যেতে পারে। পাইথন স্ক্রিপ্টের ইউনিট পরীক্ষাগুলি পোর্ট পরিবর্তনের নির্ভুলতা নিশ্চিত করার জন্য একটি গুরুত্বপূর্ণ উপাদান। প্রকৃত ওপেনস্ট্যাক সিস্টেমের প্রয়োজন ছাড়াই, আমরা বিভিন্ন নেটওয়ার্ক পরিস্থিতি অনুকরণ করতে পারি যাতে স্ক্রিপ্টটি যেমন সরঞ্জামগুলি ব্যবহার করে উদ্দেশ্য অনুযায়ী কাজ করে তা নিশ্চিত করতে এবং উপহাস বস্তু. এটি স্ক্রিপ্টের স্থিতিস্থাপকতা বাড়ায় এবং বিকাশকারীদের নিরাপদে বিভিন্ন ব্যর্থতার পরিস্থিতি পরীক্ষা করতে সক্ষম করে।
পাইথন ব্যবহার করে OpenStack এ পোর্ট বাইন্ডিং ব্যর্থতার সমাধান করা
পোর্ট বাইন্ডিং সমস্যাগুলি পরিচালনা করতে OpenStack নিউট্রন API ব্যবহার করার জন্য পাইথন ব্যাকএন্ড স্ক্রিপ্ট
# Import necessary libraries
from neutronclient.v2_0 import client as neutron_client
from keystoneauth1 import loading, session
import logging
# Initialize logger for error tracking
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# Authentication with Keystone and Neutron
loader = loading.get_plugin_loader('password')
auth = loader.load_from_options(auth_url='http://keystone_url:5000/v3',
username='admin',
password='password',
project_name='admin',
user_domain_name='Default',
project_domain_name='Default')
sess = session.Session(auth=auth)
neutron = neutron_client.Client(session=sess)
# Function to check and update Neutron port status
def update_port_binding(port_id):
try:
# Fetch port details
port = neutron.show_port(port_id)
logger.info(f"Port {port_id} fetched successfully")
# Update port binding profile
neutron.update_port(port_id, {'port': {'binding:host_id': 'new_host'}})
logger.info(f"Port {port_id} updated successfully")
except Exception as e:
logger.error(f"Failed to update port: {str(e)}")
ব্যাশের সাথে নিউট্রন পোর্ট বাইন্ডিং রেজোলিউশন স্বয়ংক্রিয় করা
নিউট্রন পোর্ট বাইন্ডিং সমস্যা সমাধান এবং সমাধানের জন্য ব্যাশ স্ক্রিপ্ট
#!/bin/bash
# This script checks and fixes Neutron port binding issues automatically
# Keystone authentication details
OS_USERNAME="admin"
OS_PASSWORD="password"
OS_PROJECT_NAME="admin"
OS_AUTH_URL="http://keystone_url:5000/v3"
# Port ID to check and fix
PORT_ID="59ab1ad8-4352-4d58-88b4-f8fb3d741f0d"
# Check Neutron port status
neutron port-show $PORT_ID
# If binding failed, attempt to re-bind to a new host
if [ $? -ne 0 ]; then
echo "Port binding failed. Attempting to rebind..."
neutron port-update $PORT_ID --binding:host_id new_host
if [ $? -eq 0 ]; then
echo "Port rebinding successful!"
else
echo "Port rebinding failed. Check logs."
fi
fi
পাইথনে ইউনিট টেস্টিং নিউট্রন পোর্ট বাইন্ডিং ফিক্স
Pytest ব্যবহার করে পাইথন ব্যাকএন্ড স্ক্রিপ্টের জন্য ইউনিট পরীক্ষা
import pytest
from unittest.mock import patch
from neutronclient.v2_0 import client as neutron_client
@patch('neutronclient.v2_0.client.Client.update_port')
def test_update_port_binding_success(mock_update):
# Simulate successful port update
mock_update.return_value = None
result = update_port_binding('59ab1ad8-4352-4d58-88b4-f8fb3d741f0d')
assert result == "success"
@patch('neutronclient.v2_0.client.Client.update_port')
def test_update_port_binding_failure(mock_update):
# Simulate port update failure
mock_update.side_effect = Exception("Port update failed")
result = update_port_binding('invalid-port-id')
assert result == "failed"
ওপেনস্ট্যাকে পোর্ট বাইন্ডিং ব্যর্থতা বোঝা: অতিরিক্ত বিবেচনা
ওপেনস্ট্যাক পোর্ট বাইন্ডিং সমস্যাগুলির সাথে মোকাবিলা করার জন্য নেটওয়ার্ক বিভাজন এবং VLAN সেটআপগুলির সম্ভাব্য প্রভাব বিবেচনা করা প্রয়োজন। ভাড়াটেদের মধ্যে ট্রাফিককে ভাগ করার জন্য মাল্টি-টেন্যান্ট ওপেনস্ট্যাক স্থাপনায় প্রায়শই VLAN ব্যবহার করা হয়। আপনার ভৌত অবকাঠামো এবং ভার্চুয়ালাইজড পরিবেশ জুড়ে ভুল কনফিগার করা VLAN ব্যবস্থাপনা থেকে পোর্ট বাইন্ডিং সমস্যা দেখা দিতে পারে। বাহ্যিক নেটওয়ার্কে পৌঁছানোর চেষ্টা করার সময় ত্রুটির একটি সম্ভাব্য কারণ হল Open vSwitch (OVS) এ নেটওয়ার্ক ব্রিজে ভুল VLAN ট্রাফিক ট্যাগিং। জন্য এবং নেটওয়ার্ক সঠিকভাবে কাজ করার জন্য, সঠিক VLAN ট্যাগিং অপরিহার্য।
সফল পোর্ট বাইন্ডিংগুলিও ফায়ারওয়াল সেটআপের উপর ব্যাপকভাবে নির্ভর করে। ওপেনস্ট্যাক উপাদান (যেমন নিউট্রন বা নোভা) এবং অন্তর্নিহিত অবকাঠামোর মধ্যে ট্র্যাফিককে ব্লক বা ফিল্টার করে এমন যেকোনো নিয়ম এই পরিস্থিতিতে-যেখানে একটি OPNsense ফায়ারওয়াল ব্যবহার করা হচ্ছে-তাদের নেটওয়ার্ক পোর্টগুলিকে আবদ্ধ করতে ব্যর্থ হতে পারে। DHCP, মেটাডেটা পরিষেবা এবং আন্তঃ-নোড যোগাযোগ সহ গুরুত্বপূর্ণ ট্র্যাফিক অনুমোদিত কিনা তা নিশ্চিত করতে ফায়ারওয়ালের নিয়মগুলি সাবধানে পরীক্ষা করা অত্যন্ত গুরুত্বপূর্ণ। সমস্যা সমাধান করতে, উপর নিয়ম নেটওয়ার্ক অবশ্যই পরীক্ষা করা উচিত কারণ ফায়ারওয়াল অনিচ্ছাকৃতভাবে বহিরাগত নেটওয়ার্ক ট্র্যাফিক সীমাবদ্ধ করতে পারে।
শেষ কিন্তু অন্তত নয়, এই সমস্যাটি নির্ণয়ের জন্য অন্তর্নিহিত ভার্চুয়ালাইজেশন প্রযুক্তি পরীক্ষা করা প্রায়শই প্রয়োজনীয়। এই উদাহরণে, কেভিএম প্রক্সমক্সে ভার্চুয়ালাইজেশনের জন্য ব্যবহার করা হয়, যেখানে OpenStack ইনস্টল করা আছে। নিশ্চিত করুন যে, OVS বা অন্য নেটওয়ার্ক কন্ট্রোলার ব্যবহার করে, OpenStack দৃষ্টান্তগুলিতে নির্ধারিত ভার্চুয়াল নেটওয়ার্ক ইন্টারফেস কার্ড (NICs) সঠিকভাবে শারীরিক NIC-তে ম্যাপ করা হয়েছে। পোর্ট বাইন্ডিং ত্রুটিগুলি এই ম্যাপিং বা অনুপযুক্ত নেটওয়ার্ক ব্রিজগুলির ভুলগুলির ফলে হতে পারে, যা আইপি ঠিকানাগুলি পেতে বা অন্য নেটওয়ার্কগুলির সাথে সংযোগ করা থেকে দৃষ্টান্ত বন্ধ করে দেয়৷ ভার্চুয়ালাইজড এবং শারীরিক নেটওয়ার্ক সঠিকভাবে ম্যাপ করা হয়েছে তা নিশ্চিত করে এই সমস্যাগুলি প্রতিরোধ করা সম্ভব।
- OpenStack এ পোর্ট বাইন্ডিং কি?
- একটি ভার্চুয়াল মেশিনের নেটওয়ার্ক ইন্টারফেসকে একটি নির্দিষ্ট হোস্টের নেটওয়ার্কিং সংস্থানগুলির সাথে সংযুক্ত করার কৌশল পরিষেবাগুলি পোর্ট বাইন্ডিং হিসাবে পরিচিত।
- কেন পোর্ট বাইন্ডিং ওপেনস্ট্যাককে দৃষ্টান্ত তৈরি করতে বাধা দেয়?
- এটি সাধারণত ঘটে যখন ফাংশন একটি বৈধ হোস্টে পোর্ট বরাদ্দ করতে অক্ষম, বা যখন নেটওয়ার্কের একটি ভুল কনফিগারেশন আছে। ফায়ারওয়াল বা VLAN এর সাথে সমস্যাগুলি সম্ভাব্য কারণ হতে পারে।
- আপনি কিভাবে OpenStack এ পোর্ট বাইন্ডিং ব্যর্থতা ঠিক করবেন?
- এটি করার একটি উপায় হল পোর্টটি ব্যবহার করে একটি বৈধ হোস্টে পুনরায় বরাদ্দ করা আদেশ ফায়ারওয়াল নিয়ম এবং VLAN সেটআপ যাচাই করা সমস্যা সমাধানে সহায়তা করতে পারে।
- OpenStack এ পোর্ট বাইন্ডিং সম্পর্কে কোন ত্রুটি বার্তাগুলি প্রায়শই দেখা যায়?
- একটি প্রায়শই ঘটতে থাকা ত্রুটি যা একটি ব্যর্থ পোর্ট বাইন্ডিং অ্যাকশনকে নির্দেশ করে।
- পোর্ট বাইন্ডিং সমস্যা আমার ফায়ারওয়াল দ্বারা সৃষ্ট হচ্ছে কিনা তা আমি কিভাবে খুঁজে পেতে পারি?
- নিশ্চিত করুন যে ফায়ারওয়াল DHCP এবং মেটাডেটা পরিষেবা যোগাযোগ সহ সমস্ত প্রয়োজনীয় ট্র্যাফিকের অনুমতি দিচ্ছে৷ OPNsense ফায়ারওয়াল ইন্টারফেস, বা , এছাড়াও নিয়ম পরীক্ষা করতে ব্যবহার করা যেতে পারে.
যদিও OpenStack-এ পোর্ট বাইন্ডিং ত্রুটিগুলি পরিচালনা করা কঠিন হতে পারে, সঠিক নেটওয়ার্ক সেটআপের মাধ্যমে সেগুলি এড়ানো যেতে পারে। VLAN ট্যাগিং, ফায়ারওয়াল নিয়ম এবং নেটওয়ার্ক পোর্ট বাইন্ডিং নিশ্চিত করা নিশ্চিত করা যে গ্যারান্টিগুলির যত্ন নেওয়া হয় যে দৃষ্টান্তগুলি কোনও সমস্যা ছাড়াই "ERROR" থেকে "active" এ চলে যায়। অটোমেশন স্ক্রিপ্ট এই অপারেশনের দক্ষতা উন্নত করতে সাহায্য করতে পারে।
তদুপরি, নিউট্রন সেটআপ, নোভা লগ এবং ভার্চুয়াল এবং ফিজিক্যাল NIC-এর মধ্যে ইন্টারপ্লে পরীক্ষা করার দিকে মনোনিবেশ করা ভবিষ্যতে এই প্রকৃতির সমস্যাগুলির মধ্যে পড়ার সম্ভাবনা কমাতে সাহায্য করতে পারে। সঠিক পরীক্ষা এবং বৈধতার জন্য একটি OpenStack পরিবেশ অবশ্যই স্থিতিশীল হতে হবে।
- OpenStack নিউট্রন নেটওয়ার্কিং এবং সমস্যা সমাধানের উপর ব্যাপক ডকুমেন্টেশন OpenStack নিউট্রন ডকুমেন্টেশন .
- Kolla-Ansible-এর সাথে OpenStack কনফিগার এবং স্থাপন করার বিস্তারিত নির্দেশিকা কোল্লা-উত্তরযোগ্য অফিসিয়াল ডকুমেন্টেশন .
- ক্লাউড পরিবেশে OPNsense ফায়ারওয়াল ব্যবহার করার অন্তর্দৃষ্টি OPNsense ডকুমেন্টেশন .
- Proxmox ব্যবহার করে OpenStack ক্লাস্টার স্থাপন ও পরিচালনার জন্য সর্বোত্তম অনুশীলন প্রক্সমক্স ভিই ডকুমেন্টেশন .