openstack调用api创建网络

创建内网

[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('子网创建成功')
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值