]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge PR #33952 into octopus
authorSage Weil <sage@redhat.com>
Mon, 16 Mar 2020 22:36:43 +0000 (17:36 -0500)
committerSage Weil <sage@redhat.com>
Mon, 16 Mar 2020 22:36:43 +0000 (17:36 -0500)
* refs/pull/33952/head:
qa/workunits/cephadm: --skip-mon-network when using 127.0.0.1
cephadm: add tests
qa/tasks/cephadm: pass -v to bootstrap
mgr/cephadm: only try to place mons on hosts matching public_network
mgr/cephadm: keep track of host networks, ips
cephadm: automatically infer mon public_network, if we can
cephadm: add list-networks command

Reviewed-by: Sebastian Wagner <swagner@suse.com>
1  2 
qa/tasks/cephadm.py
src/cephadm/cephadm
src/pybind/mgr/cephadm/module.py

Simple merge
Simple merge
index c2702bdf3f845d34162badfa29d9ce7132be8fe7,825a26bf5f228b4d447f17fe90134c389cb11346..887543d105eebfcc9d87d7935625381fb7fd5b6c
@@@ -2238,7 -2257,29 +2262,27 @@@ class CephadmOrchestrator(orchestrator.
              return trivial_result([])
          config_func = config_fns.get(daemon_type, None)
  
 -        service_name = spec.service_name()
 -        self.log.debug('Applying service %s spec' % service_name)
          daemons = self.cache.get_daemons_by_service(service_name)
+         public_network = None
+         if daemon_type == 'mon':
+             ret, out, err = self.mon_command({
+                 'prefix': 'config get',
+                 'who': 'mon',
+                 'key': 'public_network',
+             })
+             if '/' in out:
+                 public_network = out.strip()
+                 self.log.debug('mon public_network is %s' % public_network)
+         def matches_network(host):
+             # type: (str) -> bool
+             if not public_network:
+                 return False
+             # make sure we have 1 or more IPs for that network on that
+             # host
+             return len(self.cache.networks[host].get(public_network, [])) > 0
          hosts = HostAssignment(
              spec=spec,
              get_hosts_func=self._get_hosts,