Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import requests
- import json
- import requests.packages.urllib3
- from requests.packages.urllib3.exceptions import InsecureRequestWarning
- requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
- xms_user = ''
- xms_pass = ''
- xms_ip = ''
- xms_addr = 'https://%s/api/json/v2/types/' % (xms_ip)
- xms_cluster = ''
- def refreshSnapSet(cluster,snapfrom,snapto,snapnew,snaptype,suffix):
- try:
- payload = {'cluster-id' : cluster,
- 'to-snapshot-set-id' : snapto,
- 'snapshot-set-name' : snapnew,
- 'backup-snapshot-type' : snaptype,
- 'backup-snap-suffix' : '-' + suffix}
- if suffix == 'SSRW':
- payload['from-snapshot-set-id'] = snapfrom
- else:
- payload['from-consistency-group-id'] = snapfrom
- r = requests.post(xms_addr+'snapshots',json=payload,auth=(xms_user,xms_pass),verify=False)
- print r.status_code
- except Exception as e:
- print "Error: ",e
- return 1
- def renameSnapSet(cluster,snapfrom,snapto):
- try:
- payload = {'new-name' : snapto}
- r = requests.put('%ssnapshot-sets?name=%s&cluster-name=%s'%(xms_addr,snapfrom,xms_cluster),
- json=payload,
- auth=(xms_user,xms_pass),
- verify=False)
- print r.status_code
- except Exception as e:
- print "Error: ",e
- return 1
- def rotateSnapSet(cluster,orig,old,new):
- try:
- renameSnapSet(cluster,orig,old)
- renameSnapSet(cluster,new,orig)
- except Exception as e:
- print "Error: ",e
- return 1
- def deleteSnapSet(cluster,snapname):
- try:
- r = requests.delete('%ssnapshot-sets?name=%s&cluster-name=%s'%(xms_addr,snapname,xms_cluster),
- auth=(xms_user,xms_pass),
- verify=False)
- print r.status_code
- except Exception as e:
- print "Error: ",e
- return 1
- def buildVarsDict(cgname):
- cg_vars = {'name' : cgname,
- 'ssro' : cgname + '-SSRO',
- 'ssroold' : cgname + '-SSRO-OLD',
- 'ssronew' : cgname + '-SSRO-NEW',
- 'ssrw' : cgname + '-SSRW',
- 'ssrwold' : cgname + '-SSRW-OLD',
- 'ssrwnew' : cgname + '-SSRW-NEW'}
- return cg_vars
- def main():
- cg_list = ('CACHE_DRVG','CACHE_PRDVG')
- for cg in cg_list:
- cg = buildVarsDict(cg)
- refreshSnapSet(xms_cluster,cg['name'],cg['ssro'],cg['ssronew'],'readonly','SSRO')
- refreshSnapSet(xms_cluster,cg['ssro'],cg['ssrw'],cg['ssrwnew'],'regular','SSRW')
- rotateSnapSet(xms_cluster,cg['ssro'],cg['ssroold'],cg['ssronew'])
- rotateSnapSet(xms_cluster,cg['ssrw'],cg['ssrwold'],cg['ssrwnew'])
- deleteSnapSet(xms_cluster,cg['ssroold'])
- deleteSnapSet(xms_cluster,cg['ssrwold'])
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement