Repository URL to install this package:
Version:
4.0.115 ▾
|
ó ±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&