defaults to "/var/log/ceph/ops-log-$cluster-$name.log".
* The SPDK backend for BlueStore is now able to connect to an NVMeoF target.
Please note that this is not an officially supported feature.
+* RGW's pubsub interface now returns boolean fields using bool. Before this change,
+ `/topics/<topic-name>` returns "stored_secret" and "persistent" using a string
+ of "true" or "false" with quotes around them. After this change, these fields
+ are returned without quotes so they can be decoded as boolean values in JSON.
+ The same applies to the `is_truncated` field returned by `/subscriptions/<sub-name>`.
+* RGW's response of `Action=GetTopicAttributes&TopicArn=<topic-arn>` REST API now
+ returns `HasStoredSecret` and `Persistent` as boolean in the JSON string
+ encoded in `Attributes/EndPoint`.
+* All boolean fields previously rendered as string by `rgw-admin` command when
+ the JSON format is used are now rendered as boolean. If your scripts/tools
+ relies on this behavior, please update them accordingly. The impacted field names
+ are:
+ * absolute
+ * add
+ * admin
+ * appendable
+ * bucket_key_enabled
+ * delete_marker
+ * exists
+ * has_bucket_info
+ * high_precision_time
+ * index
+ * is_master
+ * is_prefix
+ * is_truncated
+ * linked
+ * log_meta
+ * log_op
+ * pending_removal
+ * read_only
+ * retain_head_object
+ * rule_exist
+ * start_with_full_sync
+ * sync_from_all
+ * syncstopped
+ * system
+ * truncated
+ * user_stats_sync
"push_endpoint":"",
"push_endpoint_args":"",
"push_endpoint_topic":"",
- "stored_secret":"",
- "persistent":""
+ "stored_secret":false,
+ "persistent":true,
},
"arn":""
"opaqueData":""
::
- {"next_marker":"","is_truncated":"",...}
+ {"next_marker":"","is_truncated":false,...}
The actual content of the response is depended with how the subscription was created.
void encode_json(const char *name, bool val, Formatter *f)
{
- string s;
- if (val)
- s = "true";
- else
- s = "false";
-
- f->dump_string(name, s);
+ f->dump_bool(name, val);
}
void encode_json(const char *name, int val, Formatter *f)
import logging
import re
import xml.etree.ElementTree as ET # noqa: N814
-from distutils.util import strtobool
from subprocess import SubprocessError
from mgr_util import build_url
def _is_system_user(self, admin_path, userid, request=None) -> bool:
# pylint: disable=unused-argument
response = request()
- return strtobool(response['data']['system'])
+ return response['data']['system']
def is_system_user(self) -> bool:
return self._is_system_user(self.admin_path, self.userid)