This patch brings a mechanism to define arbitrary environment variables in OSD containers (both prepare and main ones). It bases on idea proposed by Sebastien Han to use an optional `ConfigMap` instance named `aook-ceph-daemon-env-override` as the source of these settings. The need for the patch comes from the fact that, although crimson finally exposes the same CLI interface as the classical OSD, the broadly used development builds have ASan built in. As ASan, by default, complains if it isn't the very first loaded DSO, we need a way to set the `ASAN_OPTIONS` environment variable to `verify_asan_link_order=0` to mitigate the early aborts. Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
20 lines
925 B
YAML
20 lines
925 B
YAML
# ###############################################################################################################
|
|
# The `rook-ceph-osd-env-override` ConfigMap is a development feature
|
|
# that allows to inject arbitrary environment variables to OSD-related
|
|
# containers created by the operator.
|
|
# ###############################################################################################################
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: rook-ceph-osd-env-override
|
|
namespace: rook-ceph
|
|
data:
|
|
# Bypass the ASan's assertion that it is the very first loaded DSO.
|
|
# This is necessary for crimson-osd as it's currently built with
|
|
# the ASan sanitizer turned on which means the `libasan.so` must
|
|
# the be the very first loaded dynamic library. Unfortunately, this
|
|
# isn't fulfilled as the containers use `ld.preload`, so ASan was
|
|
# aborting the entire OSD.
|
|
ASAN_OPTIONS: verify_asan_link_order=0
|