2022-12-21 14:40:23 |
Maurice Escher |
description |
Hi,
I'm running xena with dhss=true and the netapp driver.
I have a share with an active access rule.
Now I create a replica of type DR.
Expected result: access rule stays active
Actual result: access rule is queued_to_apply
The only way to get out of this is to create any dummy access rule (and delete it).
I had a look into the database:
share_instance_access_map for the active replica shows state 'active'
share_instance_access_map for the non-active replica shows state 'queued_to_apply'
get_aggregated_access_rules_state() of manila/db/sqlalchemy/models.py is always looking at all rules, even in the replication type DR case, where the rules are not in use, yet.
Not even the startup ensure loop is correcting this situation since the access_rule_state of the non-active share instance is set to 'active' (and not 'syncing')
I'm unsure about the way out: should the get_aggregated_access_rules_state() method conditionally check? Or should the rules be active right at replica create time?
Best,
Maurice |
Hi,
I'm running xena with dhss=true and the netapp driver.
I have a share with an active access rule.
Now I create a replica of type DR.
Expected result: access rule stays active
Actual result: access rule is queued_to_apply
The only way to get out of this is to create any dummy access rule (and delete it).
I had a look into the database:
share_instance_access_map for the active replica shows state 'active'
share_instance_access_map for the non-active replica shows state 'queued_to_apply'
get_aggregated_access_rules_state() of manila/db/sqlalchemy/models.py is always looking at all rules, even in the replication type DR case, where the rules are not in use, yet.
Not even the startup ensure loop is correcting this situation since the access_rule_state of the non-active share instance is set to 'active' (and not 'syncing')
I'm unsure about the way out: should the get_aggregated_access_rules_state() method conditionally check? Or should the rules be active right at replica create time?
Best,
Maurice
P.S.: the state is only 'cosmetically' wrong, that means the rules stay correctly applied on the backend. But any client relying on the state will be misled. |
|