import requests,json,time# *******************全局变量IP*****************************
#执行代码前,请修改controller_ip的IP地址,与指定router
print("\n==============================基础环境配置==============================\n")
controller_ip=input("请输入访问openstack平台控制节点IP地址:(xx.xx.xx.xx)\n")try:url  = f"http://{controller_ip}:5000/v3/auth/tokens"body = {"auth": {"identity": {"methods": ["password"], "password": {"user": {"domain": {"name": "default"}, "name": "admin", "password": "000000"}}},"scope": {"project": {"domain": {"name": "default"}, "name": "admin"}}}}headers = {"Content-Type": "application/json",}Token = requests.post(url, data=json.dumps(body), headers=headers).headers['X-Subject-Token']headers = {"X-Auth-Token": Token}
except Exception as e:print(f"获取Token值失败,请检查访问云主机控制节点IP是否正确?输出错误信息如下:{str(e)}")exit(0)class glance_api:def __init__(self, headers: dict, resUrl: str):self.headers = headersself.resUrl = resUrl#创建glance镜像def create_glance(self, image_name: str, container_format="bare", disk_format="qcow2"):body = {"container_format": container_format,"disk_format": disk_format,"name": image_name,}status_code = requests.post(self.resUrl, data=json.dumps(body), headers=self.headers).status_code#获取glance镜像iddef get_glance_id(self,image_name:str):result = json.loads(requests.get(self.resUrl,headers=self.headers).text)for item in result['images']:if(item['name']==image_name):return item['id']#上传glance镜像def update_glance(self,image_name:str,file_path=""):self.resUrl=self.resUrl+"/"+self.get_glance_id(image_name)+"/file"self.headers['Content-Type'] = "application/octet-stream"seatus_code = requests.put(self.resUrl,data=open(file_path,'rb').read(),headers=self.headers).status_code
glance_api = glance_api(headers,f"http://{controller_ip}:9292/v2/images")
glance_api.create_glance(image_name="cirros001")  #调用glance-api中创建镜像方法
print("镜像创建成功,id为: ",glance_api.get_glance_id(image_name="cirros001"))
glance_api.update_glance(image_name="cirros001",file_path="./cirros-0.3.4-x86_64-disk.img")

openstack学习之路-python运维(image)相关推荐

  1. openstack学习之路(运维部份)

    OpenStack云平台运维 在自行搭建的OpenStack平台上,使用命令创建一个名为Fmin,ID为1,内存为1024MB,磁盘为10GB,vcpu数量为1的云主机类型. opestack fla ...

  2. python运维看什么书_学习Python在Linux运维上的应用应该看哪些书 什么样的学习路线...

    匿名用户 1级 2017-08-02 回答 Python岗位有哪些呢?主要的岗位有这些: Python全栈开发工程师(10k-20K) Python运维开发工程师(15k-20K) Python高级开 ...

  3. Python调用OpenStack API 《通过RESTful编写Python运维》

    目录 Python调用OpenStack API   <通过RESTful编写Python运维> 赛题实施 1. 认证服务:用户管理 (1&#x

  4. python程序员需要掌握哪些技术-python运维要掌握哪些内容

    python运维需要会什么 随着移动互联网的普及,服务器运维所面临的挑战也随之越来越大.当规模增长到一定程度,手动管理方式已经无法应对,自动化运维成为解决问题的银弹. Python凭借其灵活性,在自动 ...

  5. python运维工程师前景及待遇_做运维工程师有前途吗?

    运维是一个进入门槛低,但是发展前景大的行业. 去年我们老板从运维总监职位退下来的时候年薪75万,所以不要小看这个行业. 但是前路漫漫,想在这个领域有长足的发展,要学习很多,付出很多. "今年 ...

  6. python运维工程师待遇_会Python的运维工程师能挣多少钱?

    或许你经常听说,一个高级运维必须会Python.一个不会Python的运维拿不了高薪.那么,Python和运维的关系是什么呢?为什么Python更适合做运维?今天达妹就来带你详细看一下. 工作一年以上 ...

  7. python运维脚本面试_运维开发工程师 面试题 shell编程

    1. 32位随机密码生成 cat /proc/sys/kernel/random/uuid | tr -d '-' 2.查看当前系统每个ip的tcp连接数 -n 强制显示IP地址 -t 显示TCP连接 ...

  8. python运维怎么学

    运维工程师和开发人员一样,同属于IT从业人员,很多人认为运维人员不需要懂开发,其实不然,不懂开发的运维道路会越走越窄.现阶段,掌握一门Python开发已经成为高级运维工程师的必备技能了,那么Pytho ...

  9. python运维开发之socket网络编程01

    python运维开发之socket网络编程01说明:本文来自来自北京老男孩linux运维实战培训中心-运维开发课程免费视频内容,本文内容为系列内容,更多分享信息见:http://oldboy.blog ...

最新文章

  1. 好消息!算法工程师提高待遇的好机会,终于来了!!
  2. 常用巡检语句(oracle)
  3. 语言ppt课件猜拳_人教版初中数学七年级下册阅读与思考 一次方程组的古今表示及解法公开课优质课课件教案视频...
  4. pcb地线应该不应该做成环路_PCB制板的基础知识,你都学会了吗?(中)
  5. 如何进行职业生涯规划
  6. c mysql 视图_MySQL入门教程(七)之视图
  7. ASP.NET登录控件login。
  8. What?什么是区块链?你不知道就太low了
  9. 【java学习】多线程之高并发编程
  10. Excel 固定表头
  11. c#制作仿win7屏幕键盘之笔记
  12. Perl语言的多线程(一)
  13. 如何用服务器做虚拟主机,服务器如何搭建虚拟主机
  14. WTP 线程池管理系统,修改配置后能够实时刷新
  15. 领先农业技术平台Dimitra,帮助小农户实现农业现代化
  16. 故障转移集群搭建高可用文件共享服务器
  17. 数据链路层协议(1)
  18. 前端三剑客 HTML、CSS、JavaScript 入门到上手
  19. 软件开发随笔系列一——分布式架构实现
  20. 财报数据知冷暖:欧洲电信市场整体复苏中

热门文章

  1. %5B0%5D表示什么意思
  2. 2020年php最新基础面试题
  3. STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
  4. Zeo正式对外承接Flash业务
  5. 做一个很难的小程序是怎样的体验(一)
  6. 美通社再度成为国际消费类电子产品展(CES)官方合作伙伴
  7. 《这句英语怎么说?》之生活篇
  8. 移动端 / 微信浏览器开发遇到的坑
  9. 该想的不该想到的方法~测试方法总结
  10. day04-商品分类及品牌