In get_container, convert calls to get_container_binds and
get_container_mounts to direct uses of the ContainerDaemonForm customize
methods, avoiding constructing said ContainerDaemonForm subclasses
redundantly.
This is all done in one pass because the _update_podman_mounts function
is called by get_container_mounts and trying to convert each type at a
time would result in extra calls to that function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Use the CustomContainer.create classmethod like most other blocks of
code in the get_container function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
mgr/dashboard: Show the OSDs Out and Down panels as red whenever an OSD is in Out or Down state in Ceph Cluster grafana dashboard
Reviewed-by: Nizamudeen A <nia@redhat.com>
mgr/cephadm: Expose nvmeof gateway configuration parameters through specifications
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Aviv Caro <Aviv.Caro@ibm.com>
cephadm: workaround issues running cephadm with relative path
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
The interface to the load_bucket call changed when tenant and bucket
name are specified and user is no longer required. This updates the
flight call to load_bucket to reflect those changes.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Implement a workaround for the jinja2 package loader not correctly
finding a template inside the cephadmlib package when run as
a zipapp. See docstring in the shim class for more details.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
'ceph-volume raw list' is broken for a specific use case (rook).
rook copies devices from /dev/ to /mnt for specific/internal needs.
when ceph-volume raw list is passed a device from /mnt then
ceph-volume ignores it and return an empty dict.
That prevent rook from creating OSDs properly.
https://tracker.ceph.com/issues/63545
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
This change is crucial for the next commits,
submit_error_log and failure_func should share the same
rep_tid.
to be shared later with error_log call
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
`submit_error_log()` was returning `version` to be used later in
`failure_func` call to `complete_write()`.
Maintain the version returned from `submit_error_log()` in a dedicated map
to avoid handling the lifetime of 'version'.
Note: This change is crucial to the following change that will
return 'error_fut' separately.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
* '!log_entries.empty()' assert instead of if-case.
log_entries entry is inserted right before.
* 'version != eversion_t()' assert instead of if-case.
since op_info.may_write() is true, we should have a non-empty version.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Using
ceph tell $pgid [deep]-scrub
to initiate an 'operator initiated' scrub, and
ceph tell $pgid schedule[-deep]-scrub
for causing a 'periodic scrub' to be scheduled.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
- min_controller_id, max_controller_id: Enable the specification of minimum and maximum controller IDs utilized by the SPDK.
Having distinct controller IDs is vital for configuring multipath setups.
- enable_spdk_discovery_controller: Manage whether the SPDK or ceph-nvmeof discovery service is employed. The default value is set to False.
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
crimson/common/interruptible_future: deal with exceptions thrown from seastar::future::get() and seastar:🧵:yield()
Reviewed-by: Samuel Just <sjust@redhat.com>
Add the term "Quorum" to the glossary and link to the part of
architecture.rst concerning Monitors. The sticky header at the top of
the docs.ceph.com website gets in the way of the location linked to in
this commit, but fatigue and disgust prevent me from spending time today
trial-and-erroring my way through the hostile and ill-documented
wilderness of scroll-margin so that the link goes where it should.
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
Eliminate the _update_pids_limit function by moving the logic into the
various daemon type classes `customize_container_args` functions allow
each class to decide if it needs to run with unlimited-pids or not.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Now that the ceph and ceph exporter classes have all the necessary
methods, rework the get_container function to use those class methods
in a common manner.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
These, currently unused, methods will be used in a subsequent change to
move logic for setting up containers out of the get_containers function
into the daemon type classes in a common way.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add unused methods to the ceph class in order to prepare for moving
the logic for setting up the various ceph deaemon types to be
handled by the class.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add methods customize_{container_args,process_args} & default_entrypoint
to the monitoring daemon type class. Use those methods in the
get_container function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add methods customize_{container_envs,process_args} & default_entrypoint
to the tracing daemon type class. Use those methods in the get_container
function.
This change tries to adapt to, but not fix, the rather strange
set_configuration static method that side-effects the class's(!)
property.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add methods customize_{container_envs,process_args} & default_entrypoint
to the nfs daemon type class. Use those methods in the get_container
function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add methods customize_process_args & default_entrypoint to the ceph
exporter daemon type class. Use those methods in the get_container
function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add methods customize_{container_args,process_args} to the haproxy
daemon type class. Use those methods in the get_container function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add methods customize_{container_args,container_envs} to the keepalived
daemon type class. Use those methods in the get_container function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add method customize_container_args to the nvmeof daemon type class. Use
that method in the get_container function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add method default_entrypoint to the iscsi daemon type class. Use that
method in the get_container function.
Signed-off-by: John Mulligan <jmulligan@redhat.com>