The CephBrokerRq class will be used to validate the arguments
passed so that the caller will get immediate feedback if any
unknown arguments or invalid values are used.
Change-Id: Ideb142ead729977dedd2c00435e98846fc842da3
Allow MDS clients to specify additional pools to be added to the
FS being created.
Also drive-by fixes to calls to self.send_request_if_needed
Change-Id: Ib19e545fc676fa9e986f3fddcfb92cf99e778a3f
Its not possible to call a method which is annotated as a property
so which to just using the property directly.
Its also difficult to patch a property during unit testing so
provide private methods for unit testing to allow properties
to be specified during testing.
Change-Id: Id9db6578e00fa412e4cf58e75bd89970b6e8e682
Ensure that various data items are available via the relation
adapters in charms.openstack by marking functions as properties.
This equates to the auto_accessors lists in the ceph-client and
ceph-mds RelationBase endpoint implementations.
Change-Id: I240552158475635d6996c622bf17eb6dd73b5d81
This relation is very similar to the ceph-client relation so add
it to this repo so they can share code. This will retire the
seperate repo *1 and also require an update to the central
index of interfaces to point at the new location.
*1 https://github.com/openstack/charm-interface-ceph-mds
*2 https://juju.github.io/layer-index/
Change-Id: I9f438bb678da1b69d8161390aad2cf58907bc1b5
Switch requires relation from the old api
charms.reactive.relations.RelationBase to the replacement
charms.reactive.endpoints.Endpoint.
Change-Id: I6fe7cab654d5768f521ffa4218ae5c3974ef4ae8
Re-organise interface to allow multiple interfaces to share
common code. The idea being to add ceph-mds to this code base.
Change-Id: Ie53ef7e5fc7a461dca8e53d9f91b332399a70076
Re-enable and fix unit tests. Unit test check of set_local removed
as the json dump is not ordering dict keys and the set_local
calls will be removed by an imminent patch.
Change-Id: Id804e0e518c0013043db6f4b7cd44ccaa5499749
The mock third party library was needed for mock support in py2
runtimes. Since we now only support py36 and later, we can use the
standard lib unittest.mock module instead.
Change-Id: I887adac6caebb327871d3709ed59f25e401b5600
Minor refactor to ensure that the get_current_request method
actually exists for the requires part of this interface.
Misc drive by fixes for CI scaffolding as well.
Change-Id: I26e9585df2a84c336d9f01115c6208d7ef994b3c
Added create_replicated_pool to match the charm-helpers
deprecation of create_pool. I didn't make a
create_erasure_pool.
Piped create_pool through create_replicated_pool to
mirror charm-helpers.
create_replicated_pool can now be called multiple
times to create multiple pools
Related-Bug: #1824035
Change-Id: Iaa421ff152dc40bf446200cabc19d99f5b04bbe9
- removing sitepackages in tox.ini to avoid test env pollution
- skip_missing_interpreters in tox.ini set to False to avoid false
positives by skipping missing interpreters.
Change-Id: I72582997b86641c773686e4e04cedf7d1d11d9e1
This reverts commit e4997e5ab8 and
288bab66dd.
This is necessary as this change does not verify that there is not an
existing request to do this in the queue, and will end up creating
infinite create_pool requests on the ceph-mon
Change-Id: I76305181ddba83eca414d9e08bbd58408d2b01ce
The ignores removes all files that are not relevant to
the interface from the built charm, and thus, the
runtime imports of the interface bits
Change-Id: I4d5c58fff7d05dc10eea54567fbabb579a9ddd71
Refactor create_pool to allow future methods to easily access
the existing request. This change also includes two changes in
behaviour:
* If an existing request is invalid due to invalid json or missing
ops attribute then the exception is now propagated rather than
logged and suppressed. If an existing request is corrupt then
fail early otherwise bad things will follow.
* The existing implementation only allows for a single create_pool
request. Any additional requests would overwrite previous ones.
This change allows for multiple pools to be requested in a
single broker request.
Change-Id: I61998c2ce70325cb904add8c51cbc9c34b3c9564
When a charm requests a pool in cannot specify the weight atm as
the create_pool function forces it to None.
Change-Id: I40a85cf5c0e943aef0b4ec507d8c9b3a24ba09a8
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: I2bc5f7d63ef948318a8c5c6c498021431f9757ad
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.
Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.
Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Remove --allow-unverified from pip, it's not supported with current pip.
Remove install of python-apt since it fails and is unneeded for the job.
Change-Id: I72ab95ec19b059ef83e628859cf16e663333308b
Story: #2002586
Task: #24317
Add parsing of munged data presented by the ceph-proxy
charm in the ceph-public-address relation key; this
includes dropping the addition of the port to the values
added to the list of monitor hosts - this is not required
and the ceph-proxy may provide that data as part of the
ceph-public-address.
This change brings this interface inline with existing
ceph context support in the openstack charm helpers.
Change-Id: Id4d7b5df711c378763d5adb54269a3ede344dd45