]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: recreate osd config when redeploy/reconfiguring 47421/head
authorAdam King <adking@redhat.com>
Tue, 2 Aug 2022 20:29:04 +0000 (16:29 -0400)
committerAdam King <adking@redhat.com>
Tue, 2 Aug 2022 20:29:04 +0000 (16:29 -0400)
OSDs have a config file that includes addresses for the mon daemons.
We already have in place logic to cause a reconfig of OSDs if the mon map
changes, but when we do we aren't actually regenerating the config
so it's never updated with the new mon addresses. This change is to
have us recreate the OSD config when we redeploy or reconfig an OSD
so it gets the new mon addresses.

Fixes: https://tracker.ceph.com/issues/57007
Signed-off-by: Adam King <adking@redhat.com>
src/pybind/mgr/cephadm/module.py

index 8a11b937323e04846b62931303910538c9dcd085..02c4367bee44cc51490935ab7779f5bc6e8ab4e5 100644 (file)
@@ -1995,6 +1995,10 @@ Then run the following:
             if daemon_spec.daemon_type != 'osd':
                 daemon_spec = self.cephadm_services[daemon_type_to_service(
                     daemon_spec.daemon_type)].prepare_create(daemon_spec)
+            else:
+                # for OSDs, we still need to update config, just not carry out the full
+                # prepare_create function
+                daemon_spec.final_config, daemon_spec.deps = self.osd_service.generate_config(daemon_spec)
             return self.wait_async(CephadmServe(self)._create_daemon(daemon_spec, reconfig=(action == 'reconfig')))
 
         actions = {