blob: c4a28c1390022581f79eb860f8a8ccd8f7d5e64d [file] [log] [blame]
okozachenko2ab48e82021-05-07 16:55:11 +03001from staffeln.common import auth
2
3conn = auth.create_connection()
4
5
6# user
7def 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
14def get_projects():
15 return conn.list_projects()
16
17
18############## server
19def 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
24def get_volume(uuid):
25 # volume = conn.block_storage.get_volume(volume_id)
26 return conn.get_volume_by_id(uuid)
27
28
29############## backup
30def 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
38def 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
47def 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