openstack security group and rules python api use

nova和neutron都可以,但是感觉还是用neutron好。

 

import neutronclient.v2_0.client as neclient
neutron = neclient.Client(username='admin',password='password',tenant_name='admin',auth_url='http://ip:5000/v2.0')

s1 = neutron.create_security_group(body={'security_group':{'name':'block'}})
for r in s1['security_group']['security_group_rules']:
    neutron.delete_security_group_rule(security_group_rule=r['id'])

sgs = neutron.list_security_groups()['security_groups']
s2 = ''
for sg in sgs:
    if sg['name']=='block':
        s2 = sg
        break

if s2!='':
    neutron.create_security_group_rule(body={"security_group_rule": {
                        "direction": "ingress",
                        "ethertype": "IPv4",
                        "protocol": None,
                        "remote_ip_prefix":"192.168.0.0/16",
                        "security_group_id":s2['id'] }
                      })

    neutron.create_security_group_rule(body={"security_group_rule": {
                        "direction": "egress",
                        "ethertype": "IPv4",
                        "protocol": None,
                         "remote_ip_prefix":"192.168.0.0/16",
                        "security_group_id":s2['id'] }
                      })

  

文档感觉很low,去binding python的文档看neutron的简直想死 http://docs.openstack.org/developer/python-neutronclient/ 。。。只能去看源码

看参数还是得去看原生api http://developer.openstack.org/api-ref-networking-v2-ext.html

 

posted @ 2016-06-01 18:20  juandx  阅读(855)  评论(0编辑  收藏  举报