پايتون, زبان برنامه نويسي اوپن استك و يكي از محبوب ترين زبان هاي برنامه نويسي حال حاضر ميباشد بنياد اوپن استك جهت سهولت كاربران و توسعه دهندگان, Open stack SDK يا Shade رو توسعه داده كه تقريبا همه فرآيند هاي يك زيرساخت ابري مبتني بر اوپن استك رو ميتونه كنترل كنه, در پست قصد داريم آموزش برنامه نويسي پايتون براي اوپن استك رو براي شما داشته باشيم.

 

نصب Open Stack SDK:

براي نصب كافيه دستور pip install openstacksdk رو در خط فرمان تايپ كنيد, اگر قصد داريد از Virtual env استفاده كنيد (كه حرفه اي تر هست) به صورت زير نصب كنيد:

 

mkvirtualenv openstacksdk
pip install openstacksdk

 

حالا pip همه پكيج هاي مورد نياز رو براي شما نصب ميكنه كه شامل تعداد زيادي از كتابخانه هاي اوپن استك ميشه.

شروع برنامه نويسي پايتون براي اوپن استك:

ابتدا openstacksdk رو به شكل زير ايمپورت ميكنيم:

 

import openstack

 

ايجاد فايل clouds.yaml:

فايل clouds.yaml حاوي اطلاعات اتصال به زيرساخت ابري اوپن استك هست كه به صورت زير بايد اطلاعات اتصال رو در اون قرار بديم:

 

clouds:
openstack:
auth:
auth_url: http://controller:5000/v3/
username: "admin"
password: "AdminPasS"
project_id: c6d15c3ad1084712ace8b350b3b53deb
project_name: "admin"
user_domain_name: "Default"
region_name: "RegionOne"
interface: "public"
identity_api_version: 3

 

بيشتر اين اطلاعات در فايل rc كه هنگام كار با خط فرمان اوپن استك و نصب اوپن استك ايجاد كرديم موجود هست.

در خط دوم openstack اسمي هست كه براي كلود انتخاب كرديم و ميتونيد تغييرش بديد

project_id, آيدي يا شناسه پروژه اي هست كه اوپن استك بهش دسترسي پيدا ميكنه

كه در خط فرمان اوپن استك با دستور openstack project list ميتونيد بدست بياريدش

اين فايل رو در كنار فايل پايتون ذخيره كنيد.

حالا براي اتصال كافيه دستور زير رو در پايتون وارد كنيد:

 

conn = openstack.connect

(cloud='openstack')

 

حالا آبجكت conn رابط شما و كلود شماست. و تمام زيرمجموعه هاي اوپن استك با يك نقطه در دسترس شما خواهند بود, براي مثال ميتونيد با دستور زير ليست سرور (Instance) هاي موجود رو بدست بياريد:

 

for server in conn.compute.servers():
print(server.to_dict())

 

يا براي ايجاد Project ميتوانيد از دستور زير استفاده كنيد:

 

proj = conn.create_project('pythontest','created in python','default')

 

و حتي ميتونيد يك سرور جديد ايجاد كنيد:

 

conn.create_server

('my-server', image=image, flavor=flavor, wait=True, auto_ip=True)

 

بهترين راهنماي شما براي ادامه كار برنامه نويسي پايتون براي اوپن استك:

https://docs.openstack.org/openstacksdk/latest/

 

براي كسب اطلاعات در مورد خدمات ارائه شده توسط نوين هاست ، از جمله ثبت نام دامنه ، خريد هاست ، سرور مجازي در لوكيشن هاي مختلف ، سرور اختصاصي ، هاست ابري و سرور مجازي ايران ، به www.novinhost.org مراجعه كنيد يا با شماره 66015891 تماس بگيريد تا با يكي از اعضاي بخش فروش ما صحبت كنيد. پيروز و سر بلند باشيد.

 

https://www.novinhost.org/blog/731