sdk创建openstack资源

1|0使用SDK方式创建镜像

在提供的OpenStack私有云平台上,使用T版本的“openstack-python-dev”镜像创建1台云主机,云主机类型使用4vCPU/12G内存/100G硬盘。该主机中已经默认安装了所需的开发环境,登录默认账号密码为“root/Abc@1234”。使用“openstacksdk”python库,在/root目录下创建sdk_manager_image.py文件,编写python代码,代码实现以下任务:

(1)先检查OpenStack镜像“cirros-image”名称是否存在?如果存在,先完成删除该镜像;

(2)如果不存在“cirros-image”名称,使用文件服务器上“cirros-0.3.4-x86_64-disk.img”文件创建镜像;

(3)创建完成后,查询该镜像信息,查询的body部分内容控制台输出,同时json格式的输出到文件当前目录下的image _demo.js文件中,json格式要求indent=4。

编写完成后,提交allinone节点的用户名、密码和IP地址到答题框。

import openstack,json conn = openstack.connect( auth_url='http://10.24.2.46:5000/v3/', user_domain_name='demo', username='admin', password='000000', ) image = conn.image.find_image('cirros-image') if image: conn.image.delete_image(image.id) uri = 'http://10.24.1.46/cirros-0.3.4-x86_64-disk.img' data = {'name':'cirros-image','disk_format':'qcow2','container_format':'bare'} image=conn.image.create_image(**data) image=conn.image.import_image(image,method='web-download',uri=uri) get_image=conn.image.find_image("cirros-image") print(get_image) with open("image_demo.json","w") as outfile: json.dump(get_image,outfile,indent=4)

2|0使用SDK方式创建网络

import openstack,json conn=openstack.connect( auth_url='http://10.24.196.72:5000/v3', user_domain_name='demo', username='admin', password='000000' ) network=conn.network.find_network('pvm_int') print(network) if network: conn.network.delete_network(network.id) data={'name':'pvm_int'} network=conn.network.create_network(**data) print(network.id) network_id=network.id data={'name':'pvm_subnet','network_id':network_id,'ip_version':4,'cidr':'10.10.2.0/24','gateway_ip':'10.10.2.1'} subnet=conn.network.create_subnet(**data) print(subnet)

1|0SDK方式创建主机类型

import openstack,json conn=openstack.connect( auth_url='http://controller:5000/v3', user_domain_name='demo', username='admin', password='000000' ) flavor=conn.compute.find_flavor('m1.flavor') if flavor: conn.compute.delete_flavor(flavor.id) data={'name':'m1.flavor','ram':1024,'disk':10,'id':1234,'vcpus':1} flavor=conn.compute.create_flavor(**data) print(flavor)

1|0使用SDK方式创建用户

import openstack,json conn=openstack.connect( auth_url='http://controller:5000/v3', user_domain_name='demo', username='admin', password='000000' ) user=conn.identity.find_user('user_demo') if user: conn.identity.delete_user(user.id) data={'name':'user_demo'} user=conn.identity.create_user(**data) print(user)

1|0SDK方式创建云主机

import openstack,json conn=openstack.connect( auth_url='http://controller:5000/v3', user_domain_name='demo', username='admin', password='000000' ) server=conn.compute.find_server('vm1') if server: conn.compute.delete_server(server.id) image=conn.compute.find_image('cirros') flavor=conn.compute.find_flavor('m1.flavor') network=conn.network.find_network('pvm_int') data={'name':'vm1','image_id':image.id,'flavor_id':flavor.id,'networks':[{"uuid": network.id}]} server=conn.compute.create_server(**data) server = conn.compute.wait_for_server(server) print(server)

__EOF__

本文作者执伞候佳人
本文链接https://www.cnblogs.com/hekang520/p/18398381.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   才下眉头3  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示