Package: openstack-cluster-installer Version: 42.3.0~bpo12+1 Tags: patch When using a dedicated ceph-cluster network, puppet fails to determine a node's Ceph IP. This is due to the SQL SELECT query including the following impossible combination:
networks.role='ceph-cluster' AND networks.role='ipmi' Patch attached. -- Regards Jim
diff --git a/src/inc/enc.php b/src/inc/enc.php index 2b116576..e187e2bb 100644 --- a/src/inc/enc.php +++ b/src/inc/enc.php @@ -2906,8 +2906,8 @@ function puppet_enc($con,$conf){ $enc_file .= " ceph_mon_initial_members: " . $ret["data"]["osd_members"] . "\n"; $enc_file .= " ceph_mon_host: " . $ret["data"]["osd_ips"] . "\n"; - // Get the IP for the cluster network. - $q = "SELECT machines.hostname AS hostname, INET_NTOA(ips.ip) AS ipaddr, networks.mtu AS mtu, networks.ip AS networkaddr, networks.cidr AS networkcidr FROM machines, ips, networks WHERE machines.id='$machine_id' AND machines.cluster='$cluster_id' AND machines.id=ips.machine AND ips.network=networks.id AND networks.is_public='no' AND networks.role='ceph-cluster' AND networks.role='ipmi'"; + // Get the IP for the Ceph network. + $q = "SELECT machines.hostname AS hostname, INET_NTOA(ips.ip) AS ipaddr, networks.mtu AS mtu, networks.ip AS networkaddr, networks.cidr AS networkcidr FROM machines, ips, networks WHERE machines.id='$machine_id' AND machines.cluster='$cluster_id' AND machines.id=ips.machine AND ips.network=networks.id AND networks.is_public='no' AND networks.role='ceph-cluster'"; $r = mysqli_query($con, $q); if($r === FALSE){ $json["status"] = "error";