Commit Graph
13292 Commits
Author SHA1 Message Date
Hiroshi Muraoka 5f4e9cf38b ceph: fix the parameters fields of crds
CephBlockPool: remove the duplicated field
CephFilesystem: change the nesting level

Related to #5779

Signed-off-by: Hiroshi Muraoka <h.muraoka714@gmail.com>
2020-07-21 10:34:54 +00:00
Sébastien Han a343c597f6 Merge pull request #5857 from travisn/more-clusterinfo
ceph: Additional clusterInfo cleanup for user creds
2020-07-21 12:16:44 +02:00
Sébastien Han eda37f0f25 Merge pull request #5859 from sfynx/master
ceph: Default .Values.agent.mountSecurityMode to empty string.
2020-07-21 12:14:43 +02:00
Sébastien Han 6e99c0933f Merge pull request #5796 from rajatsingh25aug/finalizer-deletion
Ceph: Delete Filesystem only when it exists
2020-07-21 12:13:41 +02:00
Sébastien Han c9657e69e7 Merge pull request #5856 from leseb/report-error
ceph: report error on timeout
2020-07-21 09:14:45 +02:00
Henno Schooljan c47180e37c ceph: default .Values.agent.mountSecurityMode to empty string
Signed-off-by: Henno Schooljan <github@sfynx.nl>
2020-07-21 01:13:36 +02:00
Travis Nielsen d06b18067b edgefs: simplify string formatting for labels
The label generated to apply to a node are simplified with the
backtick string delimeter to avoid the escaping of quotes.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-20 17:11:38 -06:00
Travis Nielsen 710b3e8b19 ceph: remove obsolete log method
The ClusterInfo does not use the Log method to write the fields
anymore. The formatting was not necessary since the struct can
be logged if needed with the standard %v golang formatting.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-20 17:11:37 -06:00
Travis Nielsen 7bef54c089 edgefs: error checking for ineffectual assignments
All assignments made to errors or other variables should be
used instead of ignored. This checks for errors in a couple
places that were previously ignored, and also initializes
a variable such that it won't be always overwritten by the
various if else statements.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-20 17:11:37 -06:00
Travis Nielsen e7998b3c00 ceph: additional clusterInfo cleanup for user creds
The user creds should not be passed to the ceph helper methods
since the clusterInfo already has the needed context. Removing
a final reference that was missed in the refactor.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-20 16:26:20 -06:00
Travis Nielsen 14d4ed447e Merge pull request #5845 from leseb/external-clusterinfo
ceph: re-hydrate clusterInfo for external mode
2020-07-20 16:20:50 -06:00
Travis Nielsen 7c65df506f Merge pull request #5852 from yanniszark/feature-cassandra-update-jolokia-lib
cassandra: Update Jolokia lib in Cassandra sidecar image
2020-07-20 15:17:56 -06:00
RAJAT SINGH e3c0d2530d ceph: delete filesystem only when it exists
ceph-file-controller gets stuck in loops, this happens when it tires to delete the filesystem which doesn't exist.Filesystem should only be deleted when it exist.

Signed-off-by: RAJAT SINGH <rajasing@redhat.com>
2020-07-21 01:58:11 +05:30
Sébastien Han d98e49f5b3 ceph: re-hydrate clusterInfo for external mode
Whether we run an external cluster or not we need to load the
appropriate clusterInfo.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-20 19:24:54 +02:00
subhamkrai 23f0ac7f9c ceph: ability to configure livenessprobe for cephobjectstore crd
this commit allows us to disable livenessprobe for
cephobjectstore crd.

Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
2020-07-20 22:53:32 +05:30
Sébastien Han 97a029e691 Merge pull request #5844 from vbnrh/ci-issue-admission
ceph:  disables admission controller tests for k8 v1.14 and older.
2020-07-20 17:48:54 +02:00
Sébastien Han 2c48357f8b ceph: fix error message on empty buffer
Do not print the empty buffer to get a clean error message.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-20 17:41:49 +02:00
Sébastien Han 954074b707 ceph: report error on timeout
If the healthcheck goroutine cannot check for the ceph status/times out
(if the mons are not in quorum) this should still be reflected in the
CRD status field.

Example:

```
status:
  ceph:
    details:
      error:
        message: 'failed to get status. . timed out: exit status 1'
        severity: Urgent
    health: HEALTH_ERR
    lastChanged: "2020-07-20T14:11:05Z"
    lastChecked: "2020-07-20T14:11:05Z"
    previousHealth: HEALTH_WARN
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-20 16:15:08 +02:00
Vineet Badrinath f0bb6b11bd ceph: disables admission controller tests for k8 v1.14 and older
Adds checks to see whether the k8s version is greater than v1.15 in integration tests.
when true, it will run the scripts for the admission controllers.

Closes: https://github.com/rook/rook/issues/5841
Signed-off-by: Vineet Badrinath <vbadrina@redhat.com>
2020-07-20 19:36:17 +05:30
Minjong Kim 7ac0ce6873 ceph: change command to add 3300 port for monmap
In the latest version of rook-ceph, disaster recovery does not work properly with the following command. Therefore, the command was updated to the latest command.

Closes: https://github.com/rook/rook/issues/5662
Closes: https://github.com/rook/rook/issues/5649
Signed-off-by: caffeinism <make.dirty.code@gmail.com>
2020-07-20 11:55:10 +00:00
Sébastien Han 46e64a1d16 Merge pull request #5633 from leseb/fail-if-no-lvm
ceph: fail prepare pod if lvm2 pkg is missing
2020-07-20 10:29:13 +02:00
Sébastien Han f3c4975e35 ceph: fail prepare pod if lvm2 pkg is missing
A long-standing issue that was only solved via a documentation note. Now,
during the prepare pod instantiation, we check for the presence of the
lvm binary on the host. Success will indicate that we can bootstrap
OSDs where failure will refuse to prepare the OSD.

Closes: https://github.com/rook/rook/issues/5627
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-20 10:05:05 +02:00
Ahmad Nurus S 22574ac965 docs: update nfs openshift scc documentation
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-07-20 10:58:34 +07:00
Yannis Zarkadas bb24d8efa0 cassandra: update jolokia lib in operator sidecar image
The Cassandra sidecar uses the Jolokia javaagent to expose a REST API of
Cassandra's administrative interface, which is normally only exposed via
JMX, a Java-only RPC protocol. Update the Jolokia javaagent to a newer
version, containing new features and security bug fixes.

Signed-off-by: Yannis Zarkadas <yanniszark@arrikto.com>
2020-07-20 01:05:57 +03:00
Blaine Gardner 1d2d748ff3 Merge pull request #5825 from SUSE/fix-5056
ceph: support device names with special chars
2020-07-17 16:38:48 -06:00
Travis Nielsen a1880e6589 Merge pull request #5849 from travisn/target-size-string
ceph: Pool parameters must be strings
2020-07-17 12:24:21 -06:00
Ali Maredia 48ef107271 ceph: fix names of variables for requeue times
Name for requeue time variables were the same for
the object-zone and the object-zonegroup.

This commit makes them more descriptive and
accurate

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-17 11:32:31 -06:00
Ali Maredia f29c650ce1 ceph: allow creation for non-master zonegroups/zones
The masterArg flag cannot be "" so a different
command without masterArg must be run for zone
and zone group creation

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-17 11:32:31 -06:00
Ali Maredia 49e6796b90 ceph: allow multiple object-stores in a zone
Make it so that zones & zone groups can be
modified with more than one endpoint so that
more than one object store can be in a zone

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-17 11:32:31 -06:00
Ali Maredia 1efb3d4bd1 ceph: check for adding endpoints into zone group
Endpoints can only be added to a zone group if the
zone the endpoint is part of is master.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-17 11:32:28 -06:00
Travis Nielsen 5be965c1c3 ceph: target_size_ratio must be a string instead of float
The pool parameters must be strings. In the pool examples now we add
quotes around the sample target_size_ratio to avoid deserialization
errors.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-17 11:16:00 -06:00
Blaine Gardner 825f1e3eb2 ceph: support device names with special chars
Pass desired devices to the OSD provisioning container by
JSON-marshalling/-unmarshalling a disk ID with StorageConfig settings.
This will allow disks to be specified that contain special characters.
Notably, this will support /dev/disk/by-path/pci-HHHH:HH:HH.H devices
that were unsupported previously due to the format which separated
devices from params with colons (:).

Fixes #5056
Fixes #5535

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-07-17 09:44:26 -06:00
Sébastien Han 0e684460bd Merge pull request #5642 from leseb/monitoring-endpoint
ceph: add external prometheus endpoint
2020-07-17 16:20:51 +02:00
Sébastien Han 17f8ac614d Merge pull request #5834 from leseb/disable-orch-module
ceph: do not enable the 'rook' module by default
2020-07-17 16:06:29 +02:00
Sébastien Han 94c8546d31 ceph: fix some mgr test
Fail if the orch status never gets ready.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-17 14:03:58 +02:00
Anmol Sachan 6bf3aa9a9a ceph: added prometheus rule file for alerting on external cluster
Signed-off-by: Anmol Sachan <anmol13694@gmail.com>
2020-07-17 11:29:51 +02:00
Sébastien Han 34ccb84aa3 ceph: add external prometheus endpoint
We can now connect an external prometheus exporter to Rook to collect
metrics and generate alerts from Prometheus.
Just enable this in the CephCluster CR:

```
spec:
  external:
    enable: true
   monitoring:
    enabled: true
    rulesNamespace: rook-ceph
    externalMgrEndpoints:
    - ip: 192.168.39.182
```

Closes: https://github.com/rook/rook/issues/5516
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-17 11:29:48 +02:00
Sébastien Han 90787daef7 ceph: do not enable the 'rook' module by default
We currently don't use the module, so let's speed up the bootstrap
progress as well as the reconcile by not always enabling it.
It can always be enabled via the spec mgr section.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-17 10:37:28 +02:00
Sébastien Han 1bdb369cb4 ceph: do not enable orchestrator_cli
orchestrator_cli is always-on so we don't need to do anything.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-17 10:36:59 +02:00
Sébastien Han 88434ceb51 Merge pull request #5746 from travisn/ceph-cred-refactor
ceph: Refactor clusterInfo passed by the operator throughout the controllers
2020-07-17 10:34:06 +02:00
Travis Nielsen 76028f66ab ceph: load external creds from deprecated secret
The external creds have been loaded from their own key. For
backward compatibility we need to check that key if the
new key is not found.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-16 15:54:54 -06:00
Travis Nielsen 30e0cb53d2 ceph: debug logging for the rgw health check
Health checks should log to debug rather than info
or else the operator log fills with messages as the health
checks trigger periodically.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-16 15:54:54 -06:00
Travis Nielsen e74c7eaef8 ceph: refactor context and clusterInfo passed to the ceph commands
To provide more context for executing commands in a ceph cluster,
the full clusterInfo is now passed to the ceph execution commands.
All information about the cluster will now be available throughout
all the areas of the operator. The namespace, ceph credentials,
mon endpoints, and other info is a core part of that cluster info.

Arguments passed through the controllers are also simplified for
mons, mgr, osds, and other daemons where the parameters had
become too complex.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-16 15:54:54 -06:00
Travis Nielsen 4681f9e73d ceph: consolidate ceph config and client packages
The ceph config and client packages are conceptually the same.
To avoid circular dependencies in some cases, we simplify by combining
the packages into the client package.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-16 15:54:43 -06:00
Travis Nielsen 631b13b906 ceph: refactor creds used by operator
The operator should only connect to ceph with a single set of creds.
In a converged cluster this will be the admin creds and in an external
cluster it will be lower-privileged creds. Independent clusters were
implemented with a separate set of creds. To simplify the code these
are now merged to a single set.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-16 15:54:42 -06:00
Sébastien Han c4f89361ee Merge pull request #5813 from thotz/updatingdispnamecepbobjectuser
ceph: display name updation for existing ceph object store users
2020-07-16 17:49:11 +02:00
Jiffin Tony Thottan e37a6ee122 ceph: display name updation for existing ceph object stores users
Closes: #5713
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2020-07-16 16:14:34 +05:30
Sébastien Han 0f33bc2b62 Merge pull request #5820 from cybozu-go/detect-version-placement
ceph: update detect-version's placement to ignore mon's PodAntiAffinity
2020-07-16 11:49:43 +02:00
Hiroshi Muraoka e2b1a2230d ceph: ignore PodAntiAffinity for detect-version placement
When a PodAntiAffinity is set to mon, detect-version may not be scheduled because detect-version has the same PodAntiAffinity with mon.
This commit fixes this issue.

Closes #5810

Signed-off-by: Hiroshi Muraoka <h.muraoka714@gmail.com>
2020-07-16 04:27:06 +00:00
Travis Nielsen 2514699ccd Merge pull request #5817 from travisn/enable-mgr-test
Re-enable the Ceph Mgr integration test that runs against Ceph master
2020-07-15 15:09:38 -06:00