Closed khenderick closed 7 years ago
Remark: check for compatible alba version to be integrated at the same time.
We can only enable this flag when used with an Alba backend.
Fixed by #996, packaged in openvstorage-2.7.4-rev.4084.68cc098
The change in framework introduced a new parameter 'vrouter_use_fencing' in the volumedriver config. This parameter should default to 'false' by the volumedriver but framework will configure it to 'true' by default.
{
"content_addressed_cache": {
"read_cache_serialization_path": [],
"serialize_read_cache": false
},
"backend_connection_manager": {
"backend_interface_retries_on_error": 5,
"alba_connection_preset": "default",
"backend_type": "ALBA",
"alba_connection_transport": "TCP",
"alba_connection_timeout": 15,
"backend_interface_retry_backoff_multiplier": 2.0,
"backend_interface_retry_interval_secs": 1,
"alba_connection_host": "10.100.199.151",
"alba_connection_port": 26204
},
"distributed_lock_store": {
"dls_arakoon_cluster_nodes": [
{
"host": "10.100.199.151",
"node_id": "DRvbRRQZXE1eouKs",
"port": 26408
}
],
"dls_arakoon_cluster_id": "voldrv", a
"dls_type": "Arakoon"
},
"volume_registry": {
"vregistry_arakoon_cluster_id": "voldrv",
"vregistry_arakoon_cluster_nodes": [
{
"host": "10.100.199.151",
"node_id": "DRvbRRQZXE1eouKs",
"port": 26408
}
]
},
"volume_router_cluster": {
"vrouter_cluster_id": "73b2b485-47e3-4455-b23d-b930bec87bd3"
},
"volume_router": {
"vrouter_migrate_timeout_ms": 5000,
"vrouter_sco_multiplier": 1024,
"vrouter_volume_read_threshold": 1024,
"vrouter_id": "myvpool01DRvbRRQZXE1eouKs",
"vrouter_use_fencing": true,
"vrouter_file_write_threshold": 1024,
"vrouter_volume_write_threshold": 1024,
"vrouter_max_workers": 16,
"vrouter_min_workers": 4,
"vrouter_routing_retries": 10,
"vrouter_backend_sync_timeout_ms": 5000,
"vrouter_redirect_timeout_ms": "5000",
"vrouter_file_read_threshold": 1024
},
"volume_manager": {
"clean_interval": 1,
"tlog_path": "/mnt/hdd1/myvpool01_db_tlog_1",
"non_disposable_scos_factor": 2.0,
"metadata_path": "/mnt/hdd1/myvpool01_db_md_1",
"number_of_scos_in_tlog": 16,
"default_cluster_size": 4096,
"dtl_throttle_usecs": 4000
},
"scocache": {
"trigger_gap": "1GB",
"backoff_gap": "2GB",
"scocache_mount_points": [
{
"path": "/mnt/hdd1/myvpool01_write_sco_1",
"size": "45211648KiB"
}
]
},
"filesystem": {
"fs_raw_disk_suffix": ".raw",
"fs_enable_shm_interface": 0,
"fs_metadata_backend_arakoon_cluster_nodes": [],
"fs_dtl_mode": "Asynchronous",
"fs_metadata_backend_mds_nodes": [
{
"host": "10.100.199.151",
"port": 26300
}
],
"fs_metadata_backend_type": "MDS",
"fs_virtual_disk_format": "raw",
"fs_enable_network_interface": 1,
"fs_dtl_config_mode": "Automatic",
"fs_dtl_host": ""
},
"file_driver": {
"fd_extent_cache_capacity": "1024",
"fd_namespace": "fd-myvpool01-73b2b485-47e3-4455-b23d-b930bec87bd3",
"fd_cache_path": "/mnt/hdd1/myvpool01_write_fd_1"
},
"threadpool_component": {
"num_threads": 16
},
"event_publisher": {
"events_amqp_routing_key": "volumerouter",
"events_amqp_uris": [
{
"amqp_uri": "amqp://ovs:0penv5tor4ge@10.100.199.153"
},
{
"amqp_uri": "amqp://ovs:0penv5tor4ge@10.100.199.151"
},
{
"amqp_uri": "amqp://ovs:0penv5tor4ge@10.100.199.152"
}
]
},
"metadata_server": {
"mds_nodes": [
{
"host": "10.100.199.151",
"scratch_directory": "/mnt/hdd1/myvpool01_db_mds_1",
"port": 26300,
"db_directory": "/mnt/hdd1/myvpool01_db_mds_1"
}
]
},
"distributed_transaction_log": {
"dtl_path": "/mnt/hdd1/myvpool01_write_dtl_1",
"dtl_transport": "TCP"
}
}
Found
"volume_router": {
"vrouter_migrate_timeout_ms": 5000,
"vrouter_sco_multiplier": 1024,
"vrouter_volume_read_threshold": 1024,
"vrouter_id": "myvpool01DRvbRRQZXE1eouKs",
"vrouter_use_fencing": true, <--------
"vrouter_file_write_threshold": 1024,
"vrouter_volume_write_threshold": 1024,
"vrouter_max_workers": 16,
"vrouter_min_workers": 4,
"vrouter_routing_retries": 10,
"vrouter_backend_sync_timeout_ms": 5000,
"vrouter_redirect_timeout_ms": "5000",
"vrouter_file_read_threshold": 1024
},
sdc = StorageDriverConfiguration('storagedriver', vdisk.vpool_guid, vdisk.storagedriver_id)
sdc.load()
if 'vrouter_use_fencing' in sdc.configuration.get('volume_router'):
print 'Parameter in config'
if sdc.configuration.get('volume_router')['vrouter_use_fencing'] is True:
print 'Parameter set to the default value'
Code above gives:
Parameter in config
Parameter set to the default value
Test passed.
Tested for Ubuntu 16.04.
Integrate volumedriver fencing: https://github.com/openvstorage/volumedriver/pull/120