'compression_algorithms': JList(six.string_types),
'compression_modes': JList(six.string_types),
'is_all_bluestore': bool,
- "bluestore_compression_algorithm": six.string_types,
+ 'bluestore_compression_algorithm': six.string_types,
'osd_count': int,
'crush_rules_replicated': JList(JObj({}, allow_unknown=True)),
'crush_rules_erasure': JList(JObj({}, allow_unknown=True)),
+ 'pg_autoscale_default_mode': six.string_types,
+ 'pg_autoscale_modes': JList(six.string_types),
}))
return all(o['osd_objectstore'] == 'bluestore'
for o in mgr.get('osd_metadata').values())
- def compression_enum(conf_name):
+ def get_config_option_enum(conf_name):
return [[v for v in o['enum_values'] if len(v) > 0]
for o in mgr.get('config_options')['options']
if o['name'] == conf_name][0]
+ mgr_config = mgr.get('config')
result = {
"pool_names": [p['pool_name'] for p in self._pool_list()],
"crush_rules_replicated": rules(1),
"crush_rules_erasure": rules(3),
"is_all_bluestore": all_bluestore(),
"osd_count": len(mgr.get('osd_map')['osds']),
- "bluestore_compression_algorithm": mgr.get('config')['bluestore_compression_algorithm'],
- "compression_algorithms": compression_enum('bluestore_compression_algorithm'),
- "compression_modes": compression_enum('bluestore_compression_mode'),
+ "bluestore_compression_algorithm": mgr_config['bluestore_compression_algorithm'],
+ "compression_algorithms": get_config_option_enum('bluestore_compression_algorithm'),
+ "compression_modes": get_config_option_enum('bluestore_compression_mode'),
+ "pg_autoscale_default_mode": mgr_config['osd_pool_default_pg_autoscale_mode'],
+ "pg_autoscale_modes": get_config_option_enum('osd_pool_default_pg_autoscale_mode'),
}
if pool_name:
compression_algorithms: ['snappy'],
compression_modes: ['none', 'passive'],
crush_rules_replicated: [],
- crush_rules_erasure: []
+ crush_rules_erasure: [],
+ pg_autoscale_default_mode: 'off',
+ pg_autoscale_modes: ['off', 'warn', 'on']
};
const ecp1 = new ErasureCodeProfile();
ecp1.name = 'ecp1';
compression_modes: string[];
crush_rules_replicated: CrushRule[];
crush_rules_erasure: CrushRule[];
+ pg_autoscale_default_mode: string;
+ pg_autoscale_modes: string[];
}
# RadosGW manager role provides all permissions for block related scopes
RGW_MGR_ROLE = Role('rgw-manager', 'RGW Manager', {
Scope.RGW: [_P.READ, _P.CREATE, _P.UPDATE, _P.DELETE],
- Scope.CONFIG_OPT: [_P.READ],
Scope.GRAFANA: [_P.READ],
})
# Pool manager role provides all permissions for pool related scopes
POOL_MGR_ROLE = Role('pool-manager', 'Pool Manager', {
Scope.POOL: [_P.READ, _P.CREATE, _P.UPDATE, _P.DELETE],
- Scope.CONFIG_OPT: [_P.READ],
Scope.GRAFANA: [_P.READ],
})
-# Pool manager role provides all permissions for CephFS related scopes
+# CephFS manager role provides all permissions for CephFS related scopes
CEPHFS_MGR_ROLE = Role('cephfs-manager', 'CephFS Manager', {
Scope.CEPHFS: [_P.READ, _P.CREATE, _P.UPDATE, _P.DELETE],
- Scope.CONFIG_OPT: [_P.READ],
Scope.GRAFANA: [_P.READ],
})
Scope.NFS_GANESHA: [_P.READ, _P.CREATE, _P.UPDATE, _P.DELETE],
Scope.CEPHFS: [_P.READ, _P.CREATE, _P.UPDATE, _P.DELETE],
Scope.RGW: [_P.READ, _P.CREATE, _P.UPDATE, _P.DELETE],
- Scope.CONFIG_OPT: [_P.READ],
Scope.GRAFANA: [_P.READ],
})