创建内网
[root@controller python]# cat network.py
import requests
import json
headers = {"a":"b"}
body = {
"auth": {
"identity": {
"methods": ['password'],
"password": {
"user": {
"domain": {
"name": "demo"
},
"name": "admin",
"password": "000000"
}
}
},
"scope": {
"project": {
"domain": {
"name": "demo"
},
"name": "admin"
}
}
}
}
headers["X-Auth-Token"] = requests.post("http://192.168.100.10:5000/v3/auth/tokens",headers=headers,json=body).headers["X-Subject-Token"]
data = {
"network": {
"name": "extnei"
}
}
requests.post("http://192.168.100.10:9696/v2.0/networks",headers=headers,json=data).json()
print('网络创建成功')
创建外网
import requests
import json
headers = {"a":"b"}
body = {
"auth": {
"identity": {
"methods": ['password'],
"password": {
"user": {
"domain": {
"name": "demo"
},
"name": "admin",
"password": "000000"
}
}
},
"scope": {
"project": {
"domain": {
"name": "demo"
},
"name": "admin"
}
}
}
}
headers["X-Auth-Token"] = requests.post("http://192.168.100.10:5000/v3/auth/tokens",headers=headers,json=body).headers["X-Subject-Token"]
data = {
"network": {
"name": "extwai",
"provider:network_type": "flat",
"provider:physical_network": "provider",
"router:external": "true",
"shared": "true"
}
}
requests.post("http://192.168.100.10:9696/v2.0/networks",headers=headers,json=data).json()
print('网络创建成功')
创建子网
[root@controller ~]# cat subnet.py
import requests
import json
headers = {"a":"b"}
body = {
"auth": {
"identity": {
"methods": ['password'],
"password": {
"user": {
"domain": {
"name": "demo"
},
"name": "admin",
"password": "000000"
}
}
},
"scope": {
"project": {
"domain": {
"name": "demo"
},
"name": "admin"
}
}
}
}
headers["X-Auth-Token"] = requests.post("http://192.168.100.10:5000/v3/auth/tokens",headers=headers,json=body).headers["X-Subject-Token"]
data = {
"subnet": {
"name": "subwai",
"network_id": "5c250c2b-92a4-4d34-b1c3-016fa0f84adf",
"cidr": "192.168.100.0/24",
"ip_version": 4,
"gateway_ip": "192.168.100.1"
}
}
requests.post("http://192.168.100.10:9696/v2.0/subnets",headers=headers,json=data).json()
print('外网子网创建成功')
内网和子网一起创建
import requests
import json
headers = {"a":"b"}
body = {
"auth": {
"identity": {
"methods": ['password'],
"password": {
"user": {
"domain": {
"name": "demo"
},
"name": "admin",
"password": "000000"
}
}
},
"scope": {
"project": {
"domain": {
"name": "demo"
},
"name": "admin"
}
}
}
}
headers["X-Auth-Token"] = requests.post("http://192.168.100.10:5000/v3/auth/tokens",headers=headers,json=body).headers["X-Subject-Token"]
data = {
"network": {
"name": "netnei",
"provider:network_type": "flat",
"provider:physical_network": "provider",
"shared": "true"
}
}
a = requests.post("http://192.168.100.10:9696/v2.0/networks",headers=headers,json=data).json()
b=a['network']['id']
print('网络创建成功')
data = {
"subnet": {
"name": "subnei",
"cidr": "192.168.200.0/24",
"gateway_ip": "192.168.200.1",
"ip_version": "4"
}
}
data['subnet']['network_id']=str(b)
requests.post("http://192.168.100.10:9696/v2.0/subnets",headers=headers,json=data).json()
print('子网创建成功')