#!/usr/bin/env python3 # # Copyright 2016 Canonical Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from subprocess import CalledProcessError from charmhelpers.core.hookenv import action_get, log, action_fail from charms_ceph.broker import handle_set_pool_value if __name__ == '__main__': name = action_get("name") key = action_get("key") value = action_get("value") request = {'name': name, 'key': key, 'value': value} try: # Bug: #1838650 -- force coercion to an int for the value if required. handle_set_pool_value(service='admin', request=request, coerce=True) except CalledProcessError as e: log(str(e)) action_fail("Setting pool key: {} and value: {} failed with " "message: {}".format(key, value, str(e)))