2016-05-02 14:34:58 |
jiamin |
bug |
|
|
added bug |
2016-05-02 14:35:46 |
jiamin |
summary |
failback causes cinder to enable backend when frozen |
failback causes cinder to enable backend when it is frozen before failover |
|
2016-05-02 14:37:11 |
jiamin |
description |
Steps to Reproduce:
freeze host
failover host
failback host
attempt to create volume
Actual Results: Can modify backend even though it's frozen.
Expected Results: Backend is frozen and must be thawed.
I think it better is change the failover-host function in manager.py from:
3350 if secondary_backend_id == "default":
3351 service.replication_status = fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 service.disabled = False
3354 service.disabled_reason = ""
3355 service.save()
to:
3350 if secondary_backend_id == "default":
3351 service.replication_status = fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 if service.frozen:
3354 service.disabled = True
3355 service.disabled_reason = "frozen"
3356 else:
3357 service.disabled = False
3358 service.disabled_reason = ""
3359 service.save()
if not change the code, there is another problem too, after failback, the 'frozen' filed in the result of "cinder service-list --withreplicaiton True" will be still True and confuse user.
$ cinder service-list --withreplication True
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Replication Status | Active Backend ID | Frozen | Disabled Reason |
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| cinder-backup | charmander | nova | enabled | up | 2016-05-02T14:23:28.000000 | | | | - |
| cinder-scheduler | charmander | nova | enabled | up | 2016-05-02T14:23:26.000000 | | | | - |
| cinder-volume | charmander@IBM-DS8K_9.11.242.187_P7_fibre_channel | nova | enabled | up | 2016-05-02T14:23:34.000000 | enabled | | True | | |
Steps to Reproduce:
freeze host
failover host
failback host
attempt to create volume
Actual Results: Can modify backend even though it's frozen.
Expected Results: Backend is frozen and must be thawed.
I think it better is change the failover-host function in manager.py from:
{code}
3350 if secondary_backend_id == "default":
3351 service.replication_status = fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 service.disabled = False
3354 service.disabled_reason = ""
3355 service.save()
{code}
to:
{code}
3350 if secondary_backend_id == "default":
3351 service.replication_status = fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 if service.frozen:
3354 service.disabled = True
3355 service.disabled_reason = "frozen"
3356 else:
3357 service.disabled = False
3358 service.disabled_reason = ""
3359 service.save()
{code}
if not change the code, there is another problem too, after failback, the 'frozen' filed in the result of "cinder service-list --withreplicaiton True" will be still True and confuse user.
$ cinder service-list --withreplication True
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Replication Status | Active Backend ID | Frozen | Disabled Reason |
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| cinder-backup | charmander | nova | enabled | up | 2016-05-02T14:23:28.000000 | | | | - |
| cinder-scheduler | charmander | nova | enabled | up | 2016-05-02T14:23:26.000000 | | | | - |
| cinder-volume | charmander@IBM-DS8K_9.11.242.187_P7_fibre_channel | nova | enabled | up | 2016-05-02T14:23:34.000000 | enabled | | True | | |
|
2016-05-02 14:39:23 |
jiamin |
description |
Steps to Reproduce:
freeze host
failover host
failback host
attempt to create volume
Actual Results: Can modify backend even though it's frozen.
Expected Results: Backend is frozen and must be thawed.
I think it better is change the failover-host function in manager.py from:
{code}
3350 if secondary_backend_id == "default":
3351 service.replication_status = fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 service.disabled = False
3354 service.disabled_reason = ""
3355 service.save()
{code}
to:
{code}
3350 if secondary_backend_id == "default":
3351 service.replication_status = fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 if service.frozen:
3354 service.disabled = True
3355 service.disabled_reason = "frozen"
3356 else:
3357 service.disabled = False
3358 service.disabled_reason = ""
3359 service.save()
{code}
if not change the code, there is another problem too, after failback, the 'frozen' filed in the result of "cinder service-list --withreplicaiton True" will be still True and confuse user.
$ cinder service-list --withreplication True
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Replication Status | Active Backend ID | Frozen | Disabled Reason |
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| cinder-backup | charmander | nova | enabled | up | 2016-05-02T14:23:28.000000 | | | | - |
| cinder-scheduler | charmander | nova | enabled | up | 2016-05-02T14:23:26.000000 | | | | - |
| cinder-volume | charmander@IBM-DS8K_9.11.242.187_P7_fibre_channel | nova | enabled | up | 2016-05-02T14:23:34.000000 | enabled | | True | | |
Steps to Reproduce:
freeze host
failover host
failback host
attempt to create volume
Actual Results: Can modify backend even though it's frozen.
Expected Results: Backend is frozen and must be thawed.
I think it better is change the failover-host function in manager.py from:
3350 if secondary_backend_id == "default":
3351 service.replication_status =fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 service.disabled = False
3354 service.disabled_reason = ""
3355 service.save()
to:
3350 if secondary_backend_id == "default":
3351 service.replication_status = fields.ReplicationStatus.ENABLED
3352 service.active_backend_id = ""
3353 if service.frozen:
3354 service.disabled = True
3355 service.disabled_reason = "frozen"
3356 else:
3357 service.disabled = False
3358 service.disabled_reason = ""
3359 service.save()
if not change the code, there is another problem too, after failback, the 'frozen' filed in the result of "cinder service-list --withreplicaiton True" will be still True and confuse user.
$ cinder service-list --withreplication True
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Replication Status | Active Backend ID | Frozen | Disabled Reason |
+------------------+-----------------------------------------------------------------------+------+---------+-------+----------------------------+--------------------+-------------------+--------+-----------------+
| cinder-backup | charmander | nova | enabled | up | 2016-05-02T14:23:28.000000 | | | | - |
| cinder-scheduler | charmander | nova | enabled | up | 2016-05-02T14:23:26.000000 | | | | - |
| cinder-volume | charmander@IBM-DS8K_9.11.242.187_P7_fibre_channel | nova | enabled | up | 2016-05-02T14:23:34.000000 | enabled | | True | | |
|
2016-05-04 03:13:58 |
jiamin |
cinder: assignee |
|
jiamin (shljia) |
|
2016-05-04 06:37:19 |
jiamin |
summary |
failback causes cinder to enable backend when it is frozen before failover |
failback causes cinder to enable backend which may be frozen before failover |
|
2016-05-04 06:44:39 |
OpenStack Infra |
cinder: status |
New |
In Progress |
|
2016-05-04 08:11:44 |
Sheel Rana |
cinder: importance |
Undecided |
Medium |
|
2016-05-16 10:10:06 |
OpenStack Infra |
cinder: status |
In Progress |
Fix Released |
|