Пример #1
0
    def __init__ (self, MAX_IMAGES=None, debug=0, args=[], optlist=[]):
        ChallengeBase.__init__(self, debug)

        self.message ="""
    usage: %s [-h] [-v] [-d] FQDN ip-add
        -h - usage help 
        -v - verbose / debug output 
        -d - if a domain exists it will be deleted first 

        FQDN - Fully Qualified Domain Name; exaple www.wikipedia.org
        ip-add - ip address
    """ % (PROGRAM_NAME)

        self.optlist = optlist
        self.args = args
        
        self.opt_delete_domain = False

        if "-d" in map(lambda x: x[0], optlist) :
            self.opt_delete_domain = True

        try:
            self.domain_record = self.args[0]
            self.domain_name =  ".".join( self.domain_record.split('.')[1:] )
            self.domain = None

            self.ip_str = self.args[1]

        except Exception, e:
            log("missing params")
            self.usage()
            sys.exit(-1)
Пример #2
0
    def __init__ (self, MAX_IMAGES=None, debug=0):
        ChallengeBase.__init__(self,debug)

        self.message ="""
    usage: %s [-h] [-v] dir-name container-name
        -h - usage help 
        -v - verbose / debug output 
        dir-name - a path to a directory
        container-name - upload the dir-name to this cloud container
    """ % (PROGRAM_NAME)

        self.optlist, self.args = None, None
Пример #3
0
    def __init__(self, debug_level=0, args=[], optlist=[]):
        ChallengeBase.__init__(self, debug_level)

        self.message = """
    usage: %s [-h] [-v] [ -i | -d ] [ -u db-user ] [ instance-name ] [ db-name1 [db-name2] ] 
        -h - usage help 
        -v - verbose / debug output 
        -i - if instance exists delete it and all its databases before proceeding 
        -d - delete database(s) from under the instance

        instance-name - create instance with this name 
        db-nameX - name of the database
        db-user - create user that can access the database; by default a user name is equal to db-name
    """ % (
            PROGRAM_NAME
        )

        self.optlist = optlist
        self.args = args

        self.db_users = None
        self.dbs = []

        self.db_instance_name = None
        self.db_instance = None

        self.opt_delete_instance = False
        self.opt_delete_db = False

        for o, val in optlist:
            if o == "-i":
                self.opt_delete_instance = True
            elif o == "-d":
                self.opt_delete_db = True
            elif o == "-u":
                self.db_users = [val]

        try:
            self.db_instance_name = self.args[0]
            self.dbs = self.args[1:]

        except Exception, e:
            pass
Пример #4
0
    def __init__ (self, debug_level=0, args=[], optlist=[]) :
        ChallengeBase.__init__(self, debug_level)

        self.message ="""
    usage: %s [-h] [-v] 
        -h - usage help 
        -v - verbose / debug output 
    """ % (PROGRAM_NAME)

        self.optlist = optlist
        self.args = args

        self.cs_count = 2
        self.servers = []

        self.nodes=[]
        self.lb=None
        self.lb_name="challenge7-vip"
        self.vip=None
Пример #5
0
    def __init__ (self, debug_level=0, args=[], optlist=[]) :
        ChallengeBase.__init__(self, debug_level)

        self.message ="""
    usage: %s [-h] [-v] container-name
        -h - usage help 
        -v - verbose / debug output 
        
        container-name - name of the container
    """ % (PROGRAM_NAME)

        self.optlist = optlist
        self.args = args

        try:
            self.container = None
            self.container_name = self.args[0]

        except Exception, e:
            self.container_name = None
Пример #6
0
    def __init__ (self, debug_level=0, args=[], optlist=[]) :
        ChallengeBase.__init__(self, debug_level)

        self.message ="""
    usage: %s [-h] [-v] 
        -h - usage help 
        -v - verbose / debug output 
    """ % (PROGRAM_NAME)

        self.optlist = optlist
        self.args = args

        self.container_name = "challenge8"
        self.container = None
        self.index_name = "index.html"
        self.index_file_data = "Hello challenge8, it works!\n"

        self.domain_name = "rado-challenge.org"
        self.domain = None
        self.recs = None

        self.rec_CNAME = None
        self.rec_CNAME_data = None
Пример #7
0
    def __init__ (self, debug_level=0, args=[], optlist=[]) :
        ChallengeBase.__init__(self, debug_level)

        self.message ="""
    usage: %s [-h] [-v] -n FQDN-name -i image-id -f flavor-id
        -h - usage help 
        -v - verbose / debug output 
        -n - FQDN name
        -i - proper image id
        -f - flavor id 
    """ % (PROGRAM_NAME)

        self.optlist = optlist
        self.args = args

        self.server = None
        self.image = None
        self.flavor = None

        (self.fqdn_name, self.image_id, self.flavor_id)  = (None, None, None)

        for o, val in optlist:
            if o == "-n":
                self.fqdn_name = val
                self.domain_name =  ".".join( self.fqdn_name.split('.')[1:] )
                self.domain=None
                self.recs = None
                self.net=None

            elif o == "-i":
                self.image_id = val
            elif o == "-f":
                self.flavor_id = val

        if not ( self.fqdn_name and self.image_id and self.flavor_id) :
            self.usage()
            sys.exit(-1)
Пример #8
0
    def __init__ (self, debug_level=0, args=[], optlist=[]) :
        ChallengeBase.__init__(self, debug_level)

        self.message ="""
    usage: %s [-h] [-v] [-d] [ -s ssh-key ] [ -e error-page ] [ -c container-name ] [ -i image-id ] [ -f flavor-id ] -n FQDN-name  

    image-id -f flavor-id
        -h - usage help 
        -v - verbose / debug output 
        -d - delete objects if they existed in cloud before creating new one
        -n - FQDN name like www.myexample.com
        -s - path to your ssh public key (not priv!)
        -e - path to a html file that will be served from the LB when all pool members are down
        -c - name of cloud files container-name to store the backup data
        -i - specify image-id or use the default for Ubuntu 10.04
        -f - specify flavor-id or use the default for the smallest cloud server
    """ % (PROGRAM_NAME)

        self.optlist = optlist
        self.args = args

        self.opt_delete = False

        self.fqdn_name = None
        self.domain_name = None
        self.domain = None
        self.recs = None

        self.ssh_public_key_name = None
        self.ssh_public_key = None

        self.error_page_name = None
        self.error_page_path = None
        self.error_page = None

        self.container_name = None
        self.container = None

        self.image = None
        self.image_id = None

        self.flavor = None
        self.flavor_id = None

        self.server_prefix=None
        self.cs_count=2
        self.servers = []
        
        self.lb=None
        self.lb_name =None
        self.vip=None
        self.vip_address = None
        self.nodes=[]

        for o, val in optlist:
            if o == "-n":
                self.fqdn_name = val
                self.domain_name =  ".".join( self.fqdn_name.split('.')[1:] )
                self.domain=None
                self.recs = None
            elif o == "-s":
                self.ssh_public_key_name = val
            elif o == "-e":
                self.error_page_path = val
            elif o == "-d":
                self.opt_delete = True
            elif o == "-c":
                self.container_name = val
            elif o == "-i":
                self.image_id = val
            elif o == "-f":
                self.flavor_id = val

        if not self.fqdn_name :
            self.usage()
            sys.exit(-1)

        #default values for some variables 

        if not self.container_name :
            self.container_name = self.fqdn_name 

        self.image = None
        if not self.image_id :
            self.image_id = utils.get_image(self.cs)
        
        self.flavor= None
        if not self.flavor_id :
            self.flavor_id = utils.get_flavor(self.cs)

        self.lb_name = self.fqdn_name

        self.server_prefix = self.fqdn_name
Пример #9
0
    def __init__ (self, debug_level=0, args=[], optlist=[]) :
        ChallengeBase.__init__(self, debug_level)

        self.message ="""
    usage: %s [-h] [-v] [-d] [ -k key-key  ] [ -c cert ] [ -i image-id ]\
[ -f flavor-id ] -n FQDN-name  

    image-id -f flavor-id
        -h - usage help 
        -v - verbose / debug output 
        -d - delete objects if they existed in cloud before creating new one
        -k - certificate pritate key (see -c below)
        -c - public certificate ( see -k above)
        -n - FQDN name like www.myexample.com
        -i - specify image-id or use the default for Ubuntu 10.04
        -f - specify flavor-id or use the default for the smallest cloud server
    """ % (PROGRAM_NAME) 

        self.cert_use_default = False
        self.cert_key_name = None
        self.cert_key = None
        self.cert_name = None
        self.cert = None

        self.opt_delete = False

        self.fqdn_name = None
        self.domain_name = None
        self.domain = None
        self.recs = None

        self.lb=None
        self.lb_name = None
        self.vip=None
        self.vip_address = None
        self.nodes=[]

        self.image = None
        self.image_id = None

        self.flavor = None
        self.flavor_id = None

        self.server_prefix=None
        self.cs_count=3
        self.server_passord = "SecretP@ss1"
        self.servers = []

        self.storage_name = None
        self.volumes=[]

        self.network_name = None
        self.network_range = "192.168.100.0/24"
        self.network = None
        self.network_id = None


        for o, val in optlist:
            if o == "-n":
                self.fqdn_name = val
                self.domain_name =  ".".join( self.fqdn_name.split('.')[1:] )
                self.domain=None
                self.recs = None
            elif o == "-d":
                self.opt_delete = True
            elif o == "-i":
                self.image_id = val
            elif o == "-f":
                self.flavor_id = val
            elif o == "-k":
                self.cert_key_name = val
            elif o == "-c":
                self.cert_name = val
            elif o == "-i":
                self.image_id = val
            elif o == "-f":
                self.flavor_id = val

        if not self.fqdn_name :
            self.usage()
            sys.exit(-1)

        #default values for some variables 

        self.image = None
        if not self.image_id :
            self.image_id = utils.get_image(self.cs)
        
        self.flavor= None
        if not self.flavor_id :
            self.flavor_id = utils.get_flavor(self.cs)

        self.lb_name = self.fqdn_name
        self.storage_name = self.fqdn_name
        self.server_prefix = self.fqdn_name
        self.network_name = self.fqdn_name

        if not self.cert_key_name and not self.cert_name :
            self.cert_use_default = True
            self.cert_key_name = self.fqdn_name + ".key"
            self.cert_key="""-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCypZq3lUHWhBjDxV6hOtOQFI3WvcGlp9RP+ZHVTcwDb/buaGIL
99xCUabM5TIjzfSMthddEb+43RIdZeaXSnqV0Ut+xF9fPIHiky+DrOS2i77ltu67
RGTerezjM36D4TW5N3vQOR+qIezp1yko1qJr5hROp2ykqcgIL5GzR4980QIDAQAB
AoGBAKIZyKDqa3pGFN6XWf18jnn/XJDNUEiLWAhVkfF2DTfVQcAksUrg1ljLFEp5
chyxBkUj+WE2+Lu6xXQtgaYoK7/+mRRpKEZ6aHEsd5KqoVgxp2igyRZOGyVWaAJ3
loi+GmMiRkjC6o6xxNGG7UNfXSACfbB8eEBaGw61ZhbZJ28NAkEA5rVk/mqQFYzO
WynHT1DUz4YeIpj1ZAnhjn/957knU61VoAjeruLANOmN5bQ2gCKJm7MsPJ11iAdp
Cfltaprq7wJBAMY7Jp0hQBWOp3J1VNTkeG23At/ZQv5QzkUih2hcHjXy54RYqFe/
pIH9qrLC01BjhG2PePrJwaKMmhl7TvQ7FD8CQHmG7848n+1aIJFQ7pZPQ+qVAWbE
H+80bUY9EahwldC0K7iDM5n4A7tbk81+In9Yshf8R78eSnz/Oktwwjw3oq0CQEyZ
3PEJQUdTSdeMCYz/AJ59AwpXXXEC7sJ+dk7YkgAM7nQRAnRuJPbqfET5zkiZPDpO
H9ThlAbpSD8ijD8KeWcCQBxun2xWhCH19BulbUufsocKrwaxAijJ4pc5fX+cabEU
Na05oMyXQxN2tR4gWlbyVrGuZPVRDH39oRej5z2/JUA=
-----END RSA PRIVATE KEY-----
"""
        self.cert_name = self.fqdn_name + ".crt"
        self.cert = """-----BEGIN CERTIFICATE-----