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    
Size: Mime:
ó
±EYc@s	dZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
ddlZ
ddl
mZddl
mZdd	l
mZdd
l
mZe
jjZejeƒZd„Zd„Zd
efd„ƒYZdS(sR
CloudPipe - Build a user-data payload zip file, and launch
an instance with it.

iÿÿÿÿN(tlog(t	fileutils(tcompute(tflavors(tcrypto(tdb(t	exception(tutilscCs|tjjkS(N(tCONFt	cloudpipetvpn_image_id(timage_id((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pytis_vpn_image-scCs^ttjjdƒ}tj|jƒƒ}WdQX|jdtjjdtjj	dtj
ƒS(Ntrtdmz_nettdmz_masktnum_vpn(topenRR	tboot_script_templatetstringtTemplatetreadt
substituteRRtcnt_vpn_clients(t	shellfilets((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt_load_boot_script1s
t	CloudPipecBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCstjƒ|_dS(N(RtAPItcompute_api(tself((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt__init__:sc

Csmtjƒ[}d}tjj||ƒ}tj|dtjƒ}tƒ}t	j
|ƒ|jd|ƒtjjt	j|ƒdƒ}|j
|dƒtjjt	j|ƒdƒ}|j
|dƒtjjt	j|ƒƒ}	|j
|	dƒtjjt	j|ƒdƒ}
|j
|
dƒ|jƒt|dƒ+}tj|jƒƒ}tj|ƒ}WdQXWdQX|S(	Nspayload.ziptws
autorun.shscrl.pems
server.keysca.crts
server.crttrb(RttempdirtostpathtjointzipfiletZipFiletZIP_DEFLATEDRRtgenerate_vpn_filestwritestrt	ca_foldertwritetca_pathtcloseRtbase64t	b64encodeR(
Rt
project_idttmpdirtfilenametzippathtztboot_scripttcrlt
server_keytca_crtt
server_crttzippytencoded((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pytget_encoded_zip=s,	
		
cCs¨tjd|jƒ|j|ƒ}|j|ƒ}tjtjj	ƒ}d|jtjj
f}|j|jƒ}|jj
||tjjd|d|d|d|gƒS(NsLaunching VPN for %ss%s%stdisplay_namet	user_datatkey_nametsecurity_group(tLOGtdebugR1tsetup_key_pairtsetup_security_groupRtget_flavor_by_nameRR	t
vpn_flavortvpn_key_suffixR=RtcreateR
(RtcontextR@t
group_nametflavort
instance_nameR?((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pytlaunch_vpn_instance\s	cCsíd|jtjjf}i|jd6|jd6|d6dd6}ytj||ƒ}Wntjk
rn|SXi|dd6d	d
6dd6d
d6d
d6}tj	||ƒi|dd6d	d
6dd6dd6dd6}tj	||ƒ|S(Ns%s%stuser_idR1tnames
Group for vpntdescriptiontidtparent_group_ids	0.0.0.0/0tcidrtudptprotocoliªt	from_porttto_portticmpiÿÿÿÿ(
R1RR	RHRORtsecurity_group_createRtSecurityGroupExiststsecurity_group_rule_create(RRJRKtgroupt	group_reftrule((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyREls.	




c	CsÚd|jtjjf}yštjjƒ}|j||j|ƒ\}}t	j
jtjj
|jƒ}tj|ƒt	j
j|d|ƒ}t|dƒ}|j|ƒWdQXWn tjt	jtfk
rÕnX|S(Ns%s%ss%s.pemR (R1RR	RHRtapit
KeypairAPItcreate_key_pairROR#R$R%Rt	keys_pathRtensure_treeRR,Rt
KeyPairExiststerrortIOError(	RRJR@tkeypair_apitresulttprivate_keytkey_dirtkey_pathtf((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyRD‡s		
(t__name__t
__module__RR=RNRERD(((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyR9s
				(t__doc__R/R#RR&toslo_logRtloggingt
oslo_utilsRtnovaRtnova.computeRt	nova.confRRRRtconfRt	getLoggerRnRBRRtobjectR(((sK/home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt<module>s$