Building out more RDS functionality
parent
737065cf2d
commit
240568ce29
|
@ -19,8 +19,8 @@ def update_prod():
|
|||
with cd("/opt/regluit"):
|
||||
run("./deploy/update-prod")
|
||||
|
||||
def backup_db():
|
||||
run("""TS=`date +"%Y-%m-%dT%H:%M:%S"`; /home/ubuntu/dump.sh | gzip > unglue.it.${TS}.sql.gz; scp ./unglue.it.${TS}.sql.gz b235656@hanjin.dreamhost.com: ; rm -f unglue.it.${TS}.sql.gz""")
|
||||
def backup_db(name='unglue.it'):
|
||||
run("""TS=`date +"%Y-%m-%dT%H:%M:%S"`; /home/ubuntu/dump.sh | gzip > {0}.${{TS}}.sql.gz; scp ./{0}.${{TS}}.sql.gz b235656@hanjin.dreamhost.com: ; rm -f {0}.${{TS}}.sql.gz""".format(name))
|
||||
|
||||
def get_dump():
|
||||
"""Dump the current db on remote server and scp it over to local machine.
|
||||
|
@ -31,11 +31,23 @@ def get_dump():
|
|||
local("scp web1:/home/ubuntu/unglue.it.sql.gz .")
|
||||
local("gunzip -f unglue.it.sql.gz")
|
||||
|
||||
def copy_dump_to_ry_dev():
|
||||
"""Dump the current db on remote server and scp it over to ry-dev.
|
||||
Note: web1 has been hardcoded here to represent the name of the unglue.it server
|
||||
"""
|
||||
run("./dump.sh > unglue.it.sql ")
|
||||
run("scp unglue.it.sql ry-dev.dyndns.org:")
|
||||
|
||||
|
||||
def build_prod_instance(ami_id='ami-a29943cb'):
|
||||
"""Build a new instance to serve as server instance for unglue.it"""
|
||||
# http://my.safaribooksonline.com/book/-/9781449308100/2dot-ec2-recipes/id2529379
|
||||
# default ami-a29943cb' is Ubuntu 12.04 Precise EBS boot
|
||||
|
||||
def ecdsa():
|
||||
"""Calculate the host ECSDA host fingerprint http://bridge.grumpy-troll.org/2011/01/openssh.html """
|
||||
run("""ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l""")
|
||||
|
||||
def ssh_fingerprint():
|
||||
"""display ssh fingerprint of /home/ubuntu/.ssh/id_rsa.pub on remote machine"""
|
||||
run ("""ssh-keygen -l -f /home/ubuntu/.ssh/id_rsa.pub""")
|
||||
|
|
|
@ -29,15 +29,26 @@ def all_rds():
|
|||
def all_rds_parameter_groups():
|
||||
return rds.get_all_dbparameter_groups()
|
||||
|
||||
def modify_please1_pg_group():
|
||||
"""kinda ugly
|
||||
def modify_rds_parameter(group_name, parameter, value, apply_immediate=False):
|
||||
"""change parameter in RDS parameter group_name to value
|
||||
http://stackoverflow.com/a/9085381/7782
|
||||
After doing this, I changed please db to talk to this parameter group and rebooted db
|
||||
Remember to make sure that the parameter group is actually associated with the db.
|
||||
You will likely need to reboot db too.
|
||||
"""
|
||||
pg = conn.get_all_dbparameters('mygroup')
|
||||
pg2 = rds.get_all_dbparameters('mygroup', marker = pg.Marker)
|
||||
pg2['tx_isolation'].value = True
|
||||
pg2['tx_isolation'].apply(True)
|
||||
|
||||
pg = rds.get_all_dbparameters(group_name)
|
||||
while not pg.has_key(parameter) and hasattr(pg, 'Marker'):
|
||||
pg = rds.get_all_dbparameters(group_name, marker = pg.Marker)
|
||||
if pg.has_key(parameter):
|
||||
pg[parameter].value = value
|
||||
pg[parameter].apply(immediate=apply_immediate)
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
# how I associated the param_group to a db and then rebooted db
|
||||
# rds.modify_dbinstance(id='production', param_group='production1', apply_immediately=True)
|
||||
# rds.reboot_dbinstance(id='production')
|
||||
|
||||
def all_snapshots(owner=GLUEJAR_ACCOUNT_ID):
|
||||
"""by default, return only snapshots owned by Gluejar -- None returns all snapshots available to us"""
|
||||
|
|
Loading…
Reference in New Issue