Unlike `config set`, `config-key set` does not take the <who>
argument.
This change removes it from mgr ssl setup.
Signed-off-by: Mehdi Abaakouk <sileht@sileht.net>
A Ceph Manager Orchestrator that uses a external REST API service to execute Ansible playbooks.
get_inventory implementation
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Document how to use CLI through Orchestrator CLI
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
doc/orchestrator: Integrate CLI specification into the documentation
Reviewed-by: Alfredo Deza <adeza@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
This module provides integration between Ceph's orchestrator framework
and DeepSea, a Ceph deployment and management system built upon Salt.
Included so far are implementations of get_inventory() and
describe_service(). This allows `ceph orchestrator device ls`, `ceph
orchestrator service ls` and `ceph orchestrator service status` to
operate correctly.
To test, try:
# ceph mgr module enable orchestrator_cli
# ceph mgr module enable deepsea
# ceph orchestrator set backend deepsea
# ceph deepsea config-set salt_api_url <salt api url>
# ceph deepsea config-set salt_api_username <salt api username>
# ceph deepsea config-set salt_api_password <salt api shared secret>
# ceph orchestrator device ls
# ceph orchestrator service ls
Signed-off-by: Tim Serong <tserong@suse.com>
This section was removed accidentally by
331a826a9f. It offers a helpful configuration
variant to deal with mgr failovers.
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
mgr/orchestrator: Add support for "ceph orchestrator service ls"
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Tim Serong <tserong@suse.com>
Separate diskprediction local cloud from the diskprediction plugin.
Devicehealth invoke device prediction function related on the global
configuration "device_failure_prediction_mode".
Signed-off-by: Rick Chen <rick.chen@prophetstor.com>
The ServiceDescription object just holds a list of ServiceLocation
objects. Eliminate ServiceLocation and merge it into the
ServiceDescription class. Have describe_service return a list of
ServiceDescriptions.
Suggested-by: Tim Serong <tserong@suse.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
There's currently no way to enumerate the services that the
orchestrator backend knows about. Add a "service ls" command
that will list them with some basic info, subject to filters
given on the command line.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
* refs/pull/24925/head:
Avoid import _strptime failed
Avoid exception if remote plugin not enabled
Separate diskprediction local plugin from the diskprediction plugin
Reviewed-by: Sage Weil <sage@redhat.com>
Fixes: https://tracker.ceph.com/issues/36193
Enable API auditing with 'ceph dashboard set-audit-api-enabled true' (default is false). If you do not want to log the request payload, then disable it via 'set-audit-api-log-payload false' (default is true).
Example output:
2018-10-08 10:25:21.850994 mgr.x [INF] [DASHBOARD] from='https://[::1]:44410' path='/api/auth' method='POST' user='None' params='{"username": "admin", "password": "***", "stay_signed_in": false}'
Signed-off-by: Volker Theile <vtheile@suse.com>
Separate diskprediction local plugin from the diskprediction plugin.
Devicehealth invoke device prediction function related on the global
configuration "device_failure_prediction_mode".
Signed-off-by: Rick Chen <rick.chen@prophetstor.com>
* refs/pull/24109/head:
doc: update docs for device management
mgr: make devicehealth always-on
mgr/devicehealth: do not create metrics pool on get-device-metrics
mgr/devicehealth: converge OPTIONS and DEFAULTS
mgr/devicehealth: squelch health warnings for unused devices
mgr/devicehealth: show-health-metrics -> get-health-metrics
Reviewed-by: John Spray <john.spray@redhat.com>
This module is written by Rick Chen <rick.chen@prophetstor.com> and
provides both a built-in local predictor and a cloud mode that queries
a cloud service (provided by ProphetStor) to predict device failures.
Signed-off-by: Rick Chen <rick.chen@prophetstor.com>
Signed-off-by: Sage Weil <sage@redhat.com>
Move this out of mgr section and into rados operations.
Leave a placeholder for failure prediction, which is still a work in
progress.
Signed-off-by: Sage Weil <sage@redhat.com>
Reworded the description of the user/role management feature, clarified
that it can be configured on both the CLI and the WebUI. Added labels for
referencing the user/role management and SSL configuration sections.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
This allows us to multiplex data being send to Influx as we have
a configurable amount of workers sending data to Influx.
The main bottleneck for the performance seems to be fetching all
the perf counters using this code:
self.get_all_perf_counters()
On a larger cluster, for example 2000 OSDs this can take about 20s
where flushing to Influx only takes 5s.
A 2000 OSD cluster generates about 100k data points on every run,
prior to using a Queue these would all be send to Influx in series
in that took over 15 seconds to complete.
Python Six is being used in the code to make sure it's compatible
with both Python 2 and 3.
Signed-off-by: Wido den Hollander <wido@42on.com>
Enables to change (set/unset) values of settings of the dashboard using
the REST API.
Fixes: https://tracker.ceph.com/issues/24273
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
The CLI `status` method tells you what backend
is selected, and also gives the backend
an opportunity to complain if something
seems wrong with its configuration.
Signed-off-by: John Spray <john.spray@redhat.com>
This is pretty sparse because users don't really
interact with the module, they interact with other
modules that use it.
Signed-off-by: John Spray <john.spray@redhat.com>
mgr/dashboard: Set timeout in RestClient calls
Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Set a default timeout of 45 seconds to all REST client calls. This can be customized via 'ceph dashboard set-rest-requests-timeout <seconds>'. Currently the REST client is only used by the RGW controller.
Signed-off-by: Volker Theile <vtheile@suse.com>
Although is preferred and should be enabled by default users might
want to disable SSL as the dashboard might be running behind a proxy
which terminates the SSL.
Fixes: https://tracker.ceph.com/issues/24674
Signed-off-by: Wido den Hollander <wido@42on.com>
This setting tends to confuse people, as it's only respected
on the very first startup of the cluster. Instead, mention
it (with appropriate caveats) on the general mgr admin
page.
Signed-off-by: John Spray <john.spray@redhat.com>
* Updated the overview of dashboard to avoid many paragraphs,
some outdated statements, etc.
* Updated glossary, glossary references and urls
* Dropped unnecessary term *module* in possible places
* Unified the new dashboard name as *Ceph Manager Dashboard*
Signed-off-by: Jos Collin <jcollin@redhat.com>
Enables token authentication for the Grafana proxy as additional option
to username/password authentication. The authentication method has to be
set, too.
$ ceph dashboard set-grafana-api-token <token> # default: ''
$ ceph dashboard set-grafana-api-auth-method <method> # default: ''
Possible values for the authentication method are 'password' and
'token'.
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
Add the ability to connect the dashboard with a Grafana instance to
display graphs from Grafana incorporated into the dashboard.
Possible configuration options:
$ ceph dashboard set-grafana-api-host <host> # Default: 'localhost'
$ ceph dashboard set-grafana-api-port <port> # Default: 3000
$ ceph dashboard set-grafana-api-scheme <scheme> # Default: 'http'
The configuration can be checked using a GET request to the API endpoint
`/api/grafana/status`. It returns a JSON response in the following
format:
{
"available": False,
"message": "<error message>",
}
The message is not returned if Grafana is available.
The Grafana proxy is reachable through
`http(s)://<host>/api/grafana/proxy`.
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
Port 8080 is a common alternative HTTP port used for web traffic.
The dashboard however uses SSL (which can not be turned off) and for
that purpose we should either use 8443.
Historically the dashboard would run on port 7000 so to keep this backwards
compatibility the dashboard should bind again on TCP 7000.
Signed-off-by: Wido den Hollander <wido@42on.com>
Updated Ceph manager dashboard documentation: added SSL to the
feature overview, added new section about configuring SSL certificates.
Rearranged installation instructions for setting host name and port.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
Fixed typo and slightly reworked the description of the mgr
dashboard in the "Major changes" section. Updated the
description in the "Notable changes" section as well by adding
a note about creating an SSL certificate.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
This Manager Module will send statistics and version information from
a Ceph cluster back to telemetry.ceph.com if the user has opted-in on sending
this information.
Additionally a user can tell that the information is allowed to be made
public which then allows other users to see this information.
Signed-off-by: Wido den Hollander <wido@42on.com>
(cherry picked from commit 8f6137d162)
Telegraf is a agent for collecting and reporting metrics.
It has multiple inputs and can send data to various outputs like
for example InfluxDB or ElasticSearch.
This module works by using the socket_listener of Telegraf and can
send data over UDP, TCP and a local Unix Socket.
Signed-off-by: Wido den Hollander <wido@42on.com>
- Do some polishing in the docs.
- Refactor RgwClient::is_service_online() method. The system is considered as online if the response structure is valid. The response content itself is not validated in this case.
- Relocate NoCredentialsException and derive it from RequestException.
Signed-off-by: Volker Theile <vtheile@suse.com>
Updated feature list in the dashboard documentation to also
mention the RGW user/bucket management capabilities.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
This simple 'hello' mgr module prints 'hello world' to stdout and to out/mgr.x.log; for documentation purposes. Also added /doc/mgr/hello.rst.
Signed-off-by: Yaarit Hatuka <yaarithatuka@gmail.com>
...for recent config changes. Explain about MgrModule.OPTIONS,
and explain the new store/config distinction.
Signed-off-by: John Spray <john.spray@redhat.com>
Updated the dashboard feature list in the documentation to mention
the possibility to list Ceph pools and the RGW users and their buckets.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
Moved content (RGW access configuration) from the dashboard `README.rst`
into the reference manual. Made various textual improvements to both the
README and the documentation.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard)
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Updated the dashboard chapter in the manual to reflect the
changes introduced by Dashboard v2 (e.g. username/password).
Updated description to include a high-level overview of the features
available.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
Users can still override this parameter, but by default the fsid
of the cluster will be used to send data to Zabbix.
This makes it even easier to use the Zabbix module.
Signed-off-by: Wido den Hollander <wido@42on.com>
Add possibility to connect to InfluxDB via https.
Also adding the option for verifying the https cert.
Signed-off-by: Tobias Gall <tobias.gall@mailbox.org>
Explain ceph_disk_occupation, importance
of instance labels and honor_labels, provide
example prometheus configuration yaml.
Signed-off-by: John Spray <john.spray@redhat.com>
- existing check tried to list all DB and fails even if DB exists if user is not admin level
- still tries to create database if not found and user has privs
Signed-off-by: Benjeman Meekhof <bmeekhof@umich.edu>
...and also trim down the configuration to what's really
needed. In general users don't need to pick and choose
metrics. We could add it back if there was a strong
motivation.
Signed-off-by: John Spray <john.spray@redhat.com>
By default, this will create a pool per rack, 3x replication, with a host
failure domain. Those parameters can be customized via mgr config-key
options.
Signed-off-by: Sage Weil <sage@redhat.com>
This adds a configuration variable url_prefix to the dashboard that
that is prepended to all URLs so you can access the dashboard at
http://$IP:$PORT/$PREFIX/. This is necessary if you wish to use a
reverse http proxy that forwards to the dashboard under a sub-path.
Fixes: http://tracker.ceph.com/issues/20568
Signed-off-by: Nick Erdmann <n@nirf.de>