Repository URL to install this package:
|
Version:
3.4.44 ▾
|
ó
±EYc @ s d Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l
m Z d d l m
Z
d d l Z
d d l
m Z d d l
m Z d d l
m Z d d
l
m Z e
j j Z e j e Z d Z d Z d
e f d YZ d S( sR
CloudPipe - Build a user-data payload zip file, and launch
an instance with it.
iÿÿÿÿN( t log( t fileutils( t compute( t flavors( t crypto( t db( t exception( t utilsc C s | t j j k S( N( t CONFt cloudpipet vpn_image_id( t image_id( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt is_vpn_image- s c C s^ t t j j d } t j | j } Wd QX| j d t j j d t j j d t j
S( Nt rt dmz_nett dmz_maskt num_vpn( t openR R t boot_script_templatet stringt Templatet readt
substituteR R t cnt_vpn_clients( t shellfilet s( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt _load_boot_script1 s
t CloudPipec B s5 e Z d Z d Z d Z d Z d Z RS( c C s t j | _ d S( N( R t APIt compute_api( t self( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt __init__: s c
C sm t j [} d } t j j | | } t j | d t j } t } t j
| | j d | t j j t j | d } | j
| d t j j t j | d } | j
| d t j j t j | } | j
| d t j j t j | d }
| j
|
d | j t | d + } t j | j } t j | } Wd QXWd QX| S( Ns payload.zipt ws
autorun.shs crl.pems
server.keys ca.crts
server.crtt rb( R t tempdirt ost patht joint zipfilet ZipFilet ZIP_DEFLATEDR R t generate_vpn_filest writestrt ca_foldert writet ca_patht closeR t base64t b64encodeR (
R t
project_idt tmpdirt filenamet zippatht zt boot_scriptt crlt
server_keyt ca_crtt
server_crtt zippyt encoded( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt get_encoded_zip= s,
c C s¨ t j d | j | j | } | j | } t j t j j } d | j t j j
f } | j | j } | j j
| | t j j d | d | d | d | g S( Ns Launching VPN for %ss %s%st display_namet user_datat key_namet security_group( t LOGt debugR1 t setup_key_pairt setup_security_groupR t get_flavor_by_nameR R t
vpn_flavort vpn_key_suffixR= R t createR
( R t contextR@ t
group_namet flavort
instance_nameR? ( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyt launch_vpn_instance\ s c C sí d | j t j j f } i | j d 6| j d 6| d 6d d 6} y t j | | } Wn t j k
rn | SXi | d d 6d d
6d d 6d
d 6d
d 6} t j | | i | d d 6d d
6d d 6d d 6d d 6} t j | | | S( Ns %s%st user_idR1 t names
Group for vpnt descriptiont idt parent_group_ids 0.0.0.0/0t cidrt udpt protocoliª t from_portt to_portt icmpiÿÿÿÿ(
R1 R R RH RO R t security_group_createR t SecurityGroupExistst security_group_rule_create( R RJ RK t groupt group_reft rule( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyRE l s.
c C sÚ d | j t j j f } y t j j } | j | | j | \ } } t j
j t j j
| j } t j | t j
j | d | } t | d } | j | Wd QXWn t j t j t f k
rÕ n X| S( Ns %s%ss %s.pemR ( R1 R R RH R t apit
KeypairAPIt create_key_pairRO R# R$ R% R t keys_pathR t ensure_treeR R, R t
KeyPairExistst errort IOError( R RJ R@ t keypair_apit resultt private_keyt key_dirt key_patht f( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyRD s
( t __name__t
__module__R R= RN RE RD ( ( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/nova/cloudpipe/pipelib.pyR 9 s
( t __doc__R/ R# R R&