Skip to content

Commit f99b2e7

Browse files
author
iago.henrique
committed
Merge branch 'fix/zone_migration_and_switch_master' into 'master'
Fix/zone migration and switch master See merge request dbdev/dbaas!5
2 parents 168b062 + b6a88a0 commit f99b2e7

File tree

4 files changed

+43
-19
lines changed

4 files changed

+43
-19
lines changed

dbaas/drivers/redis.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,7 @@ def switch_master(self, instance=None, preferred_slave_instance=None):
528528
fi
529529
}"""
530530

531-
if self.engine.major_version == 6:
531+
if self.databaseinfra.engine.major_version == 6:
532532
script += """
533533
/usr/bin/redis-cli -h {} -p {} <<EOF_DBAAS
534534
SENTINEL failover {}
@@ -747,7 +747,7 @@ def switch_master(self, instance=None, preferred_slave_instance=None):
747747
fi
748748
}"""
749749

750-
if self.engine.major_version == 6:
750+
if self.databaseinfra.engine.major_version == 6:
751751
script += """
752752
/usr/bin/redis-cli -h {} -p {} -a {} -c<<EOF_DBAAS
753753
CLUSTER FAILOVER

dbaas/logical/templates/logical/database/details/migrate_tab.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,9 @@ <h3>Regions</h3>
124124
{% endfor %}
125125
{% endif %}
126126
</select>
127-
<button data-toggle="modal" id="migrate_region_btn" class="resize_button btn host-zone-btn" data-region-name="{{reg.region}}" data-region-id="{{reg.env}}" data-target="#migrate_region_modal" disabled>Migrate Region to GCP</button>
127+
{% if is_dba %}
128+
<button data-toggle="modal" id="migrate_region_btn" class="resize_button btn host-zone-btn" data-region-name="{{reg.region}}" data-region-id="{{reg.env}}" data-target="#migrate_region_modal">Migrate Region to GCP</button>
129+
{% endif %}
128130
</p>
129131
</td>
130132
</div>
@@ -270,9 +272,11 @@ <h3>Regions</h3>
270272
$("#migrate_region").change(function() {
271273
if ((is_in_waiting) || ($(this).val() === "---------")){
272274
status_migrate("migrate_region_btn", "DISABLE", "DISABLE");
275+
status_migrate("migrate_host_btn_" + hostId, "DISABLE", "DISABLE");
273276
}
274277
else {
275-
status_migrate("migrate_region_btn", "DISABLE", "DISABLE");
278+
status_migrate("migrate_region_btn", "DISABLE", "False");
279+
status_migrate("migrate_host_btn_" + hostId, "DISABLE", "DISABLE");
276280
}
277281
});
278282

dbaas/logical/views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2372,6 +2372,7 @@ def database_migrate(request, context, database):
23722372
context["environments"] = set()
23732373
context['zones'] = sorted(zones)
23742374
context['hosts'] = sorted(hosts, key=lambda host: host.hostname)
2375+
context['is_dba'] = request.user.team_set.filter(role__name="role_dba")
23752376

23762377
environment_groups = environment.groups.all()
23772378
if not environment_groups:

dbaas/workflow/steps/redis/upgrade/sentinel.py

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
22
from time import sleep
33
from workflow.steps.util.base import BaseInstanceStep
4-
from workflow.steps.redis.util import reset_sentinel
4+
from workflow.steps.redis.util import reset_sentinel, reset_sentinel_redis_6
55

66

77
class Reset(BaseInstanceStep):
@@ -15,13 +15,22 @@ def sentinel_instance(self):
1515

1616
def do(self):
1717
sleep(10)
18-
if self.sentinel_instance:
19-
reset_sentinel(
20-
self.host,
21-
self.sentinel_instance.address,
22-
self.sentinel_instance.port,
23-
self.sentinel_instance.databaseinfra.name
24-
)
18+
if self.infra.engine.major_version == 6:
19+
if self.sentinel_instance:
20+
reset_sentinel_redis_6(
21+
self.host,
22+
self.sentinel_instance.address,
23+
self.sentinel_instance.port,
24+
self.sentinel_instance.databaseinfra.name
25+
)
26+
else:
27+
if self.sentinel_instance:
28+
reset_sentinel(
29+
self.host,
30+
self.sentinel_instance.address,
31+
self.sentinel_instance.port,
32+
self.sentinel_instance.databaseinfra.name
33+
)
2534

2635
def undo(self):
2736
pass
@@ -34,13 +43,23 @@ def __unicode__(self):
3443

3544
def reset_sentinels(self):
3645
driver = self.infra.get_driver()
37-
for sentinel_instance in driver.get_non_database_instances():
38-
reset_sentinel(
39-
sentinel_instance.hostname,
40-
sentinel_instance.address,
41-
sentinel_instance.port,
42-
self.infra.name
43-
)
46+
if self.infra.engine.major_version == 6:
47+
for sentinel_instance in driver.get_non_database_instances():
48+
reset_sentinel_redis_6(
49+
sentinel_instance.hostname,
50+
sentinel_instance.address,
51+
sentinel_instance.port,
52+
self.infra.name
53+
)
54+
else:
55+
for sentinel_instance in driver.get_non_database_instances():
56+
reset_sentinel(
57+
self.host,
58+
self.sentinel_instance.address,
59+
self.sentinel_instance.port,
60+
self.sentinel_instance.databaseinfra.name
61+
)
62+
4463

4564
def do(self):
4665
self.reset_sentinels()

0 commit comments

Comments
 (0)