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": "demo"}, "name": "admin", "password": "000000"}}}, "scope": {"project": {"domain": {"name": "demo"}, "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 net_api: def __init__(self,handers:dict,resUrl:str): self.headers=handers self.resUrl=resUrl #创建网络 def create_net(self,net_name:str): self.headers['Content-Type']="application/json" url=self.resUrl + "networks" body={ "network": { "name": net_name} } return json.loads(requests.post(url, data=json.dumps(body), headers=self.headers).text) #创建子网 def create_subnet(self, net_id:str, subnet_name:str, cidr_ip:str, gateway_ip:str): self.headers['Content-Type']="application/json" url=self.resUrl + "subnets" body={ "subnet": { "name": subnet_name, "network_id":net_id, "ip_version":4, "cidr":cidr_ip, "gateway_ip":gateway_ip } } return json.loads(requests.post(url, data=json.dumps(body), headers=self.headers).text) net_api=net_api(headers,f"http://{controller_ip}:9696/v2.0/") net_info=net_api.create_net(net_name='c2') subnet_info=net_api.create_subnet(net_id=net_info["network"]["id"], subnet_name="c22", cidr_ip="199.168.23.0/24", gateway_ip="199.168.23.1") print(subnet_info)
openstack学习之路-python运维(network)
最新推荐文章于 2023-02-16 13:13:16 发布