# generated by cephadm\n{grafana_cert}""").lstrip(),
'certs/cert_key': dedent(f"""
# generated by cephadm\n{grafana_key}""").lstrip(),
+ 'provisioning/dashboards/default.yml': dedent("""
+ # This file is generated by cephadm.
+ apiVersion: 1
+
+ providers:
+ - name: 'Ceph Dashboard'
+ orgId: 1
+ folder: ''
+ type: file
+ disableDeletion: false
+ updateIntervalSeconds: 3
+ editable: false
+ options:
+ path: '/etc/grafana/provisioning/dashboards'""").lstrip(),
}
_run_cephadm.assert_called_with(
' isDefault: false\n'
' editable: false',
'certs/cert_file': ANY,
- 'certs/cert_key': ANY}}, ['secure_monitoring_stack:False'])
+ 'certs/cert_key': ANY,
+ 'provisioning/dashboards/default.yml':
+ '# This file is generated by cephadm.\n'
+ 'apiVersion: 1\n\n'
+ 'providers:\n'
+ " - name: 'Ceph Dashboard'\n"
+ ' orgId: 1\n'
+ " folder: ''\n"
+ ' type: file\n'
+ ' disableDeletion: false\n'
+ ' updateIntervalSeconds: 3\n'
+ ' editable: false\n'
+ ' options:\n'
+ " path: '/etc/grafana/provisioning/dashboards'"
+ }}, ['secure_monitoring_stack:False'])
@patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
def test_grafana_no_anon_access(self, cephadm_module: CephadmOrchestrator):
' isDefault: false\n'
' editable: false',
'certs/cert_file': ANY,
- 'certs/cert_key': ANY}}, ['secure_monitoring_stack:False'])
+ 'certs/cert_key': ANY,
+ 'provisioning/dashboards/default.yml':
+ '# This file is generated by cephadm.\n'
+ 'apiVersion: 1\n\n'
+ 'providers:\n'
+ " - name: 'Ceph Dashboard'\n"
+ ' orgId: 1\n'
+ " folder: ''\n"
+ ' type: file\n'
+ ' disableDeletion: false\n'
+ ' updateIntervalSeconds: 3\n'
+ ' editable: false\n'
+ ' options:\n'
+ " path: '/etc/grafana/provisioning/dashboards'"
+ }}, ['secure_monitoring_stack:False'])
@patch("cephadm.serve.CephadmServe._run_cephadm")
def test_monitoring_ports(self, _run_cephadm, cephadm_module: CephadmOrchestrator):