okozachenko | 2ab48e8 | 2021-05-07 16:55:11 +0300 | [diff] [blame^] | 1 | from staffeln.common import auth
|
| 2 |
|
| 3 | conn = auth.create_connection()
|
| 4 |
|
| 5 |
|
| 6 | # user
|
| 7 | def get_user_id():
|
| 8 | user_name = conn.config.auth["username"]
|
| 9 | domain_id = conn.config.auth["user_domain_id"]
|
| 10 | user = conn.get_user(name_or_id=user_name, domain_id=domain_id)
|
| 11 | return user.id
|
| 12 |
|
| 13 | ############## project
|
| 14 | def get_projects():
|
| 15 | return conn.list_projects()
|
| 16 |
|
| 17 |
|
| 18 | ############## server
|
| 19 | def get_servers(project_id, all_projects=True, details=True):
|
| 20 | return conn.compute.servers(details=details, all_projects=all_projects, project_id=project_id)
|
| 21 |
|
| 22 |
|
| 23 | ############## volume
|
| 24 | def get_volume(uuid):
|
| 25 | # volume = conn.block_storage.get_volume(volume_id)
|
| 26 | return conn.get_volume_by_id(uuid)
|
| 27 |
|
| 28 |
|
| 29 | ############## backup
|
| 30 | def get_backup(uuid, project_id=None):
|
| 31 | # return conn.block_storage.get_backup(
|
| 32 | # project_id=project_id, backup_id=uuid,
|
| 33 | # )
|
| 34 | # conn.block_storage.backups(volume_id=uuid,project_id=project_id)
|
| 35 | return conn.get_volume_backup(uuid)
|
| 36 |
|
| 37 |
|
| 38 | def create_backup(volume_id, force=True, wait=False):
|
| 39 | # return conn.block_storage.create_backup(
|
| 40 | # volume_id=queue.volume_id, force=True, project_id=queue.project_id,
|
| 41 | # )
|
| 42 | return conn.create_volume_backup(
|
| 43 | volume_id=volume_id, force=force, wait=wait,
|
| 44 | )
|
| 45 |
|
| 46 |
|
| 47 | def delete_backup(uuid, project_id=None, force=True):
|
| 48 | # TODO(Alex): v3 is not supporting force delete?
|
| 49 | # conn.block_storage.delete_backup(
|
| 50 | # project_id=project_id, backup_id=uuid,
|
| 51 | # )
|
| 52 | conn.delete_volume_backup(uuid, force=force)
|
| 53 | # TODO(Alex): After delete the backup generator, need to set the volume status again
|