Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
idna / lib / python2.7 / site-packages / vif_plug_ovs / linux_net.pyc
Size: Mime:
ó
̍EYc@sðdZddlZddlZddlmZddlmZddlm	Z	ddl
mZddl
mZddl
m
Z
ejeƒZdd	„Zddd
„Zd„Ze
jjddddd„ƒZe
jjdddd
„ƒZe
jjdd„ƒZd„Zd„Ze
jjd„ƒZe
jjd„ƒZe
jjd„ƒZe
jjd„ƒZe
jjd„ƒZ e
jjd„ƒZ!ddd„Z"e
jjd„ƒZ#e
jjdd„ƒZ$e
jjdd„ƒZ%dS(s0Implements vlans, bridges using linux utilities.iÿÿÿÿN(tprocessutils(tlog(texcutils(t	constants(t	exception(tprivsepcCsŽdg}|dk	r)|d|g7}n||7}ytj|ŒSWnCtk
r‰}tjdi|d6|d6ƒtjd|ƒ‚nXdS(Ns	ovs-vsctls--timeout=%ss3Unable to execute %(cmd)s. Exception: %(exception)stcmdRtmethod(tNoneRtexecutet	ExceptiontLOGterrorRt
AgentError(targsttimeoutt	full_argste((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyt
_ovs_vsctl$s	
	cCszddd|dd||ddd|d|dd	|d
|g}|r\|d|g7}n|rv|d|g7}n|S(
Ns--s--if-existssdel-portsadd-porttsett	Interfacesexternal-ids:iface-id=%ss external-ids:iface-status=activesexternal-ids:attached-mac=%ssexternal-ids:vm-uuid=%sstype=%ssoptions:vhost-server-path=%s((tbridgetdevtiface_idtmactinstance_idtinterface_typetvhost_server_pathR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyt_create_ovs_vif_cmd1s	
c
Cs#ddd|ddd|d|g	S(Ns--s--may-existsadd-brRtBridgesdatapath_type=%s((Rt
datapath_type((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyt_create_ovs_bridge_cmdBsc			CsBtt|||||||ƒd|ƒt|||d|ƒdS(NR(RRt_update_device_mtu(	RRRRRtmtuRRR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pytcreate_ovs_vif_portGs	cCst|||d|ƒdS(NR(R (RR!RR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pytupdate_ovs_vif_portQscCs-tddd||gd|ƒt|ƒdS(Ns--s--if-existssdel-portR(Rt_delete_net_dev(RRR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pytdelete_ovs_vif_portVscCstjjd|ƒS(s Check if ethernet device exists.s/sys/class/net/%s(tostpathtexists(tdevice((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyt
device_exists]sc	Cs†t|ƒr‚y9tjddd|ddddgƒtjd|ƒWq‚tjk
r~tjƒtjd	|ƒWd
QXq‚Xnd
S(s*Delete a network device only if it exists.tiptlinktdeletetcheck_exit_codeiiiþsNet device removed: '%s's Failed removing net device: '%s'N(	R*RR	RtdebugtProcessExecutionErrorRtsave_and_reraise_exceptionR(R((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyR$bs
c
Cs£x||gD]}t|ƒq
Wtjddd|dddd|ƒ	xV||gD]H}tjddd|d	ƒtjddd|d
dƒt||ƒqSWdS(
spCreate a pair of veth devices with the specified names,
    deleting any previous devices with those names.
    R+R,taddttypetvethtpeertnameRtuptpromisctonN(R$RR	R (t	dev1_namet	dev2_nameR!R((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pytcreate_veth_pairnscCs(x!||gD]}t||ƒq
WdS(s5Update a pair of veth devices with new configuration.N(R (R:R;R!R((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pytupdate_veth_pair~scCstt||ƒƒdS(N(RR(RR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pytensure_ovs_bridge…scCsÞt|ƒsÁtjdd|ƒtjdd|dƒtjdd|dƒd}||}tjd|d	d
dddgƒd
|}tjj|ƒrÁtjd|d	ddddgƒqÁntjddd|dƒdS(Ntbrctltaddbrtsetfditstptoffs+/sys/class/net/%s/bridge/multicast_snoopingtteet
process_inputt0R.is'/proc/sys/net/ipv6/conf/%s/disable_ipv6t1R+R,RR7(R*RR	R&R'R((Rtsyspathtdisv6((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyt
ensure_bridgeŠs 

	cCsUt|ƒrQtjdd||ƒtjddd|dƒtjdd|ƒndS(NR?tdelifR+R,Rtdowntdelbr(R*RR	(RR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyt
delete_bridgeŸscCstjdd||ƒdS(NR?taddif(RR	(RR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pytadd_bridge_port§sixcCsŽ|s
dS|tjtjgkrGtjtjkrŠt||ƒqŠnCtd|ƒrlt||d|ƒnt	j
di|d6|d6ƒdS(NRsGMTU not set on %(interface_name)s interface of type %(interface_type)s.tinterface_nameR(RtOVS_VHOSTUSER_INTERFACE_TYPEt#OVS_VHOSTUSER_CLIENT_INTERFACE_TYPEtsystplatformtPLATFORM_WIN32t_set_device_mtut_ovs_supports_mtu_requestst_set_mtu_requestRR/(RR!RR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyR ¬s	
cCs/tjddd|d|ddddgƒd	S(
sSet the device MTU.R+R,RR!R.iiiþN(RR	(RR!((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyRWÁscCs-ddd|d|g}t|d|ƒdS(Ns--Rt	interfacesmtu_request=%sR(R(RR!RR((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyRYÈs
cCs?dddg}t|d|ƒ\}}|ddkr;tStS(Ns--columns=mtu_requesttlistRZRs%ovs-vsctl: Interface does not contains* a column whose name matches "mtu_request"(RtFalsetTrue(RRt_R((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyRXÏs
(&t__doc__R&RTtoslo_concurrencyRtoslo_logRtloggingt
oslo_utilsRtvif_plug_ovsRRRt	getLoggert__name__RRRRRtvif_plugt
entrypointR"R#R%R*R$R<R=R>RJRNRPR RWRYRX(((sK/home/tvault/.virtenv/lib/python2.7/site-packages/vif_plug_ovs/linux_net.pyt<module>sD