@@ -68,6 +68,8 @@ def add_vpool(vpool_name, vpool_details, api, storagerouter_ip, albabackend_name
6868 'storage_ip' : vpool_details ['storage_ip' ],
6969 'storagerouter_ip' : storagerouter_ip ,
7070 'writecache_size' : int (vpool_details ['storagedriver' ]['global_write_buffer' ]),
71+ 'block_cache_on_read' : vpool_details ['block_cache' ]['strategy' ]['cache_on_read' ],
72+ 'block_cache_on_write' : vpool_details ['block_cache' ]['strategy' ]['cache_on_write' ],
7173 'fragment_cache_on_read' : vpool_details ['fragment_cache' ]['strategy' ]['cache_on_read' ],
7274 'fragment_cache_on_write' : vpool_details ['fragment_cache' ]['strategy' ]['cache_on_write' ],
7375 'config_params' : {'dtl_mode' : vpool_details ['storagedriver' ]['dtl_mode' ],
@@ -96,6 +98,22 @@ def add_vpool(vpool_name, vpool_details, api, storagerouter_ip, albabackend_name
9698 VPoolSetup .LOGGER .error (error_msg )
9799 raise RuntimeError (error_msg )
98100
101+ if vpool_details ['block_cache' ]['location' ] == 'backend' :
102+ backend_info_bc = {
103+ 'alba_backend_guid' :
104+ BackendHelper .get_albabackend_by_name (vpool_details ['block_cache' ]['backend' ]['name' ]).guid ,
105+ 'preset' : vpool_details ['block_cache' ]['backend' ]['preset' ]
106+ }
107+ connection_info_bc = {'host' : '' , 'port' : '' , 'client_id' : '' , 'client_secret' : '' }
108+ call_parameters ['call_parameters' ]['backend_info_bc' ] = backend_info_bc
109+ call_parameters ['call_parameters' ]['connection_info_bc' ] = connection_info_bc
110+ elif vpool_details ['fragment_cache' ]['location' ] == 'disk' :
111+ pass
112+ else :
113+ error_msg = 'Wrong `block_cache->location` in vPool configuration, it should be `disk` or `backend`'
114+ VPoolSetup .LOGGER .error (error_msg )
115+ raise RuntimeError (error_msg )
116+
99117 task_guid = api .post (
100118 api = '/storagerouters/{0}/add_vpool/' .format (
101119 StoragerouterHelper .get_storagerouter_guid_by_ip (storagerouter_ip )),
0 commit comments