MongoDB cluster instances missing 'key'

The rebase of https://review.openstack.org/#/c/187734/21..22 undid the
changes to the cluster strategy api for mongodb. This means the
instances are being started without the correct cluster configuration
data.

Change-Id: I12d7d65a03295a1153215e132ad8807ff4e70dac
Closes-bug: #1476283
This commit is contained in:
Matt Van Dijk
2015-07-20 11:14:50 -04:00
parent f7aace809f
commit 1ee3151850

View File

@@ -121,11 +121,13 @@ class MongoDbCluster(models.Cluster):
task_status=ClusterTasks.BUILDING_INITIAL)
replica_set_name = "rs1"
key = utils.generate_random_password()
member_config = {"id": db_info.id,
"shard_id": utils.generate_uuid(),
"instance_type": "member",
"replica_set_name": replica_set_name}
"replica_set_name": replica_set_name,
"key": key}
for i in range(0, num_instances):
instance_name = "%s-%s-%s" % (name, replica_set_name, str(i + 1))
inst_models.Instance.create(context, instance_name,
@@ -140,7 +142,8 @@ class MongoDbCluster(models.Cluster):
cluster_config=member_config)
configsvr_config = {"id": db_info.id,
"instance_type": "config_server"}
"instance_type": "config_server",
"key": key}
for i in range(1, num_configsvr + 1):
instance_name = "%s-%s-%s" % (name, "configsvr", str(i))
inst_models.Instance.create(context, instance_name,
@@ -155,7 +158,8 @@ class MongoDbCluster(models.Cluster):
cluster_config=configsvr_config)
mongos_config = {"id": db_info.id,
"instance_type": "query_router"}
"instance_type": "query_router",
"key": key}
for i in range(1, num_mongos + 1):
instance_name = "%s-%s-%s" % (name, "mongos", str(i))
inst_models.Instance.create(context, instance_name,
@@ -200,10 +204,15 @@ class MongoDbCluster(models.Cluster):
check_quotas(self.context.tenant, deltas)
new_replica_set_name = "rs" + str(num_unique_shards + 1)
new_shard_id = utils.generate_uuid()
dsv_manager = (datastore_models.DatastoreVersion.
load_by_uuid(db_insts[0].datastore_version_id).manager)
manager = task_api.load(self.context, dsv_manager)
key = manager.get_key(a_member)
member_config = {"id": self.id,
"shard_id": new_shard_id,
"instance_type": "member",
"replica_set_name": new_replica_set_name}
"replica_set_name": new_replica_set_name,
"key": key}
for i in range(1, num_members_per_shard + 1):
instance_name = "%s-%s-%s" % (self.name, new_replica_set_name,
str(i))
@@ -219,9 +228,7 @@ class MongoDbCluster(models.Cluster):
cluster_config=member_config)
self.update_db(task_status=ClusterTasks.ADDING_SHARD)
manager = (datastore_models.DatastoreVersion.
load_by_uuid(db_insts[0].datastore_version_id).manager)
task_api.load(self.context, manager).mongodb_add_shard_cluster(
manager.mongodb_add_shard_cluster(
self.id,
new_shard_id,
new_replica_set_name)