* Update charm-ceph-radosgw from branch 'master'
to 8ca8dc7cd8e9d74e05d7e03d244a35a78c70b0c5
- Merge "Fix scale-out in the multi-site replication scenario"
- Fix scale-out in the multi-site replication scenario
If the multi-site relation is established, the `ceph-radosgw` application
cannot be scaled out.
This is happening because the multi-site functions are part of
`check_optional_config_and_relations`, which is called by `assess_status`
after every successful hook in the main hook entrypoint:
```
if __name__ == '__main__':
try:
hooks.execute(sys.argv)
except UnregisteredHookError as e:
log('Unknown hook {} - skipping.'.format(e))
except ValueError as e:
# Handle any invalid configuration values
status_set(WORKLOAD_STATES.BLOCKED, str(e))
else:
assess_status(CONFIGS)
```
The multi-site functions (for example: `is_multisite_configured` or
`check_cluster_has_buckets`) will fail since the unit is not be ready
for service.
This change ensures that the unit is ready for service before calling
any multi-site functions.
Closes-Bug: #2062405
Change-Id: I63c21a0b545bb456df9b09d8c16cc43cd7eec2f3
Signed-off-by: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
* Update charm-ceph-radosgw from branch 'master'
to 940be7fdfc6729ffeb7dd37d50943a2aeecdcda6
- Implement key rotation on the ceph-radosgw charm
This patchset implements key rotation in the ceph-radosgw charm,
by replacing the keyring file if it exists and the ceph-mon
relation reports a new key.
Change-Id: I447b5f827e39118e7dbd430b1c63b3ec4ea3e176
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1195
* Update charm-ceph-radosgw from branch 'master'
to ebca1152ec0301bc540f98cbe0839434bd6d2db6
- Fix failing functional tests
Update tox.ini to support the new TEST_CONSTRAINTS_FILE
Additionally pin netaddr in test-requirements.txt. The latest netaddr
1.2.1 release throws an error when passed None, which it previously
didn't. This causes MonContextTest.test_ctxt_missing_data to error out.
This should probably be fixed in charmhelpers later.
Change-Id: I5bf8900c426395421c73ec3d52ebd691cc5496f8
* Update charm-ceph-radosgw from branch 'master'
to 92caaa710b02316bfd428ca3d86d24e27c88d2bf
- Initial support for the s3 interface
Implement initial support for the s3 interface here:
https://github.com/canonical/charm-relation-interfaces/tree/main/interfaces/s3/v0
Drive-by: fully qualify rename.sh in allowlist_externals
Change-Id: I8a78c41840c529cf2c35f487739c0397e4374f97
* Update charm-ceph-radosgw from branch 'master'
to 8b7522b906883c7388203f62993249abec8754ad
- Merge "Allow URLs which contain encoded path separators"
- Allow URLs which contain encoded path separators
This is to resolve the issue with objects containing slash in the name
not correctly synced in multisite environments.
Closes-Bug: #1974138
Change-Id: I71ac000bb4754c9cb987d703f145dc2a5ff032ad
* Update charm-ceph-radosgw from branch 'master'
to 07898679cada82e14cb1fe4e087dc7d3ab38f662
- Revert default source to 'bobcat'
The Openstack libs don't recognize Ceph releases when specifying
the charm source. Instead, we have to use an Openstack release.
Since it was set to quincy, reset it to bobcat.
Change-Id: I5b82c876184025a790e2b0cab84348c71a8a4a55
* Update charm-ceph-radosgw from branch 'master'
to b24a35713a00b9a3c89424dc0ed6c0243de0e239
- Improve platform mocking
Patch out charmhelpers.osplatform.get_platform() and
charmhelpers.core.host.lsb_release() globally in the unit tests to
insulate the unit tests from the platform that the unit tests are being
run on.
Also, add mock for `charmhelpers.contrib.openstack.context.is_ipv6_disabled`
in the `HAProxyContextTests.test_ctxt` unit test.
The charmhelpers function `is_ipv6_disabled` calls `sysctl` and this doesn't
exist on Debian container images. This fixes the following unit test failure:
```
FileNotFoundError: [Errno 2] No such file or directory: 'sysctl'
```
Signed-off-by: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
Co-authored-by: Alex Kavanagh <alex.kavanagh@canonical.com>
Change-Id: I60bc9550a83eb342e78d3c1916d98bfaa8035572
* Update charm-ceph-radosgw from branch 'master'
to 976fc4ae846956a0d3938d1a8c42e4249b6f76f1
- Merge "Add upgrade func testing"
- Add upgrade func testing
Change functional testing to also test upgrades from charmhub version
to the locally built charm. Include a new test for installing a locally built charm from scratch.
Also pin some support charms to specific tracks.
Change-Id: I57937f55526f531cb807a876fd074f5f589b00ed
* Update charm-ceph-radosgw from branch 'master'
to dd8a9d949409a120945f89876c9368ea9de2e084
- Merge "Ensure get_requests_for_local_unit doesn't fail on incomplete relation"
- Ensure get_requests_for_local_unit doesn't fail on incomplete relation
This is a rebuild/make sync for charms to pickup the fix in charmhelpers to fix
any inadvertant accesses of ['ca'] in the relation data before it is available
from vault in the certificates relation. Fix in charmhelpers is in [1].
[1] https://github.com/juju/charm-helpers/pull/824
Closes-Bug: #2028683
Change-Id: Ie05a9ff536700282dc0c66816b50efee5da62767
* Update charm-ceph-radosgw from branch 'master'
to 4d36f6cbc38bbf4253f4d171f12e69c72dc70c7b
- Prune CI jobs
Change-Id: I4260d8c4ea6e5a7cedca4231dec42d0700e25638
* Update charm-ceph-radosgw from branch 'master'
to 4bc15968fe43f6f86150331f40dba4b2cadb983b
- Merge "Fix pool names in RadosGW charm"
- Fix pool names in RadosGW charm
The latest Ceph versions forbid pool names that start with a dot.
Since the RadosGW charm uses pools named so extensively, this
patchset fixes that issue.
In addition, the Ceph libraries are synced as well, since they
were outdated.
Change-Id: I50112480bb3669de08ee85a9bf9a594b379e9ec3
* Update charm-ceph-radosgw from branch 'master'
to ac9c22c3df161533a1fd80d4d4c12981ba7e9767
- Fix typo in actions.yaml
There was a typo in actions.yaml for the resume action that was breaking
builds. This change fixes that typo. The charm will build.
Closes-Bug: 2030677
Change-Id: I4501c3142620dc6bff87f554a9f26b39ac4c927d
* Update charm-ceph-radosgw from branch 'master'
to 14a195d942b976b7a5d47b1fe43f11be8da2b084
- Add docs key and point at Discourse
Add the 'docs' key and point it at a Discourse topic
previously populated with the charm's README contents.
When the new charm revision is released to the Charmhub,
this Discourse-based content will be displayed there. In
the absense of the this new key, the Charmhub's default
behaviour is to display the value of the charm's
'description' key.
Change-Id: Id759ee81cea83fe9b18671ce5bc19a31db319a77
* Update charm-ceph-radosgw from branch 'master'
to 541ceec4018e311cef1517a62eefa28cd53bc162
- Enable rgw trust forwarded https when https proxy
This option is required for server-side encryption to be allowed
if radosgw is behind a reverse proxy,
such as here when certificates are configured and apache2 is running.
ref. https://docs.ceph.com/en/latest/radosgw/encryption/
It is safe to always enable when https is configured in the charm,
because it will be securely behind the reverse proxy in the unit.
This option must not be enabled when https is not configured in the charm,
because this would allow clients to spoof headers.
Closes-Bug: #2021560
Change-Id: I940f9b2f424a3d98936b5f185bf8f87b71091317
* Update charm-ceph-radosgw from branch 'master'
to 8e9d25f72ecde465724a273226f049a990425e4e
- Charm-helpers sync
charm-helpers sync to pick up Antelope UCA support
Change-Id: Ie649be98ecd338b6441a59a0ad32aa696fc8ca99
* Update charm-ceph-radosgw from branch 'master'
to a1267f49196e986aa2ca1c1952ae4aa6390e1c68
- Add support for interim Ubuntu releases
- update bundles to include UCA pocket tests
- update test configuration
- update metadata to include kinetic and lunar
- update snapcraft to allow run-on for kinetic and lunar
Change-Id: I05ce01c13efdd453c06e3c8d615d64bad6e27727
* Update charm-ceph-radosgw from branch 'master'
to 1fff8f052b2a702ddd442881ba1675bf5016b05b
- Add kinetic support
Add 22.10 run-on base and add kinetic to metadata.yaml.
Change-Id: Ie057238ac1d3640047480cd243a9b4fb9e0eae30
* Update charm-ceph-radosgw from branch 'master'
to bb16e670dc6490f0095ecc20b3535d105b1f32fb
- Partial revert[1] to re-enable Focal support
1: 51f59879d381e44958970ada79a784d8cce9a92e
Change-Id: I565e36b94d249d2cf0beccf1480189a19da008d9
* Update charm-ceph-radosgw from branch 'master'
to 367a2aedcbe5da5559ab116f11ce775b857d7465
- Adds primary/secondary multisite relation
A new relation with primary/secondary nomenclature is added and the
old master/slave relation is marked as *Deprecated*. In future,
master/slave relation would be completely removed.
Change-Id: I9cda48b74a20aaa9a41baedc79332bfaf13951d3
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/926
* Update charm-ceph-radosgw from branch 'master'
to c1c9531a7f60f9d356ea6ad1152f4d19a283dda8
- Merge "Adds support for scaling down multisite rgw system"
- Adds support for scaling down multisite rgw system
Adds implementation for relation-departed hooks to cleanly remove
participant sites from the multisite system. The replication
between zones is stopped and both zones split up to continue as
separate master zones.
Change-Id: I420f7933db55f3004f752949b5c09b1b79774f64
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/863
* Update charm-ceph-radosgw from branch 'master'
to 349f90828e6b4c286b5faf848daa31aacf510448
- Merge "Add Kinetic and Zed support"
- Add Kinetic and Zed support
* sync charm-helpers to classic charms
* change openstack-origin/source default to zed
* align testing with zed
* add new zed bundles
* add zed bundles to tests.yaml
* add zed tests to osci.yaml and .zuul.yaml
* update build-on and run-on bases
* add bindep.txt for py310
* sync tox.ini and requirements.txt for ruamel
* use charmcraft_channel 2.0/stable
* drop reactive plugin overrides
* move interface/layer env vars to charmcraft.yaml
Change-Id: Ieb1ef7b7ab76775f5769621a6a7cbcfb18c40b7f
* Update charm-ceph-radosgw from branch 'master'
to e97e3607e26d14d6f2da47ab6b6b6a28c098105a
- Adds existence verification for config values
Multisite config values (realm, zonegroup, zone) are written
to ceph.conf as the defaults without verifying their existence, this
causes failure for commands which use the default values.
Closes-Bug: #1987127
Change-Id: I0ab4df34f0000339227e5d5b80352355ea7bd36e
* Update charm-ceph-radosgw from branch 'master'
to 44fee84d4d61e8ccda78dfb9afd68e0048686d4a
- Adds support for migration to multi-site system.
1.) Currently multi-site can only be configured when system is being
deployed from scratch, migration works by renaming the existing
Zone/Zonegroups (Z/ZG) to Juju config values on primary site before
secondary site pulls the realm data and then rename and configure
secondary Zone accordingly.
During migration:
2.) If multiple Z/ZG not matching the config values are present at
primary site, the leader unit will block and prompt use of
'force-enable-multisite' which renames and configures selected Z/ZG
according to multisite config values.
3.) If the site being added as a secondary already contain Buckets,
the unit will block and prompt the operator to purge all such Buckets
before proceeding.
Closes-Bug: #1959837
Change-Id: I01a4c1c4551c797f0a32951dfbde8a1a4126c2d6
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/840
* Update charm-ceph-radosgw from branch 'master'
to 5c4cab3f820c38162a5e715b490ed05425be563c
- Add the 'zonegroup' and 'realm' keys to ceph.conf file
This patchset adds these 2 additional keys to the ceph.conf file,
which are used in multisite configurations when present.
Change-Id: I51ca46bbb3479cb73ec4d9966208ed794f0ed774
Closes-Bug: #1975857
* Update charm-ceph-radosgw from branch 'master'
to b069b3aa4cb159672e04fa722702a2788c763587
- Multisite replication should use public, rather than internal, networks
Closes-Bug: #1960520
Change-Id: Ie2954a9a59acbc384c18c901e2d324ee003d7108
* Update charm-ceph-radosgw from branch 'master'
to 7907fa96e93085e114fb42f2dc547963938498fb
- Resolve issue with mod_proxy decoding
The Ceph RADOS Gateway uses some unusual URI's for multisite
replication; ensure that mod_proxy passes the 'raw' URI down
to the radosgw http endpoint so that client and server side
signatures continue to match.
This seems quite Ceph specific so the template is specialised
into the charm rather than updated in charm-helpers.
Change-Id: Iede49ba8904500076d53388345e154a3ed18e761
Closes-Bug: 1966669
* Update charm-ceph-radosgw from branch 'master'
to 25885fdd0eb857055fdb2f2202444c84f59ab3be
- Merge "Ceph Quincy dropped support for the Civetweb http frontend."
- Ceph Quincy dropped support for the Civetweb http frontend.
Change-Id: I2428cd34110fbc8f7775eb79fe70c34a4eafe3eb
* Update charm-ceph-radosgw from branch 'master'
to 88d1f4b0a59841e8bbbaa13a0a8049c099f8068d
- Merge "Enable HAProxy HTTP Health Checks"
- Enable HAProxy HTTP Health Checks
Ceph radosgw supports [0] the swift health check endpoint
"/swift/healthcheck". This change adds the haproxy
configuration [1] necessary to take the response of "GET
/swift/healthcheck" into account when determining the health
of a radosgw service.
For testing, I verified that:
- HAProxy starts and responds to requests normally with this
configuration.
- Servers with status != 2xx or 3xx are removed from the
backend.
- Servers that take too long to respond are also removed
from the backend. The default timeout value is 2s.
[0] https://tracker.ceph.com/issues/11682
[1] https://www.haproxy.com/documentation/hapee/2-0r1/onepage/#4.2-option%20httpchk
Closes-Bug: 1946280
Change-Id: I82634255ca3423fec3fc15c1e714dcb31db5da7a
* Update charm-ceph-radosgw from branch 'master'
to 56f80952c4245319ff909828f9b4a77c790cf0a9
- Merge "Charmhelpers Sync: https health checks for HAProxy"
- Charmhelpers Sync: https health checks for HAProxy
Change-Id: I4848168b5a45c3430dec58f786d4453e40539361
* Update charm-ceph-radosgw from branch 'master'
to d81d4bb12807443a6e6aaa482d959360a4d8db85
- Update to classic charms to build using charmcraft in CI
This update is to ensure that the Zuul Canonical CI builds the charm
before functional tests and ensure that that artifact is used for the
functional tests. This is to try to ensure that the charm that gets
landed to the charmhub is the same charm that was tested with.
Change-Id: I56e04707036b994c52cc9cfcb19e6c37cd41309e
* Update charm-ceph-radosgw from branch 'master'
to c817ef666be1d64c85c3c14b61e4909eaffb53e6
- Use unittest.mock instead of mock
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.
Note that https://github.com/openstack/charms.openstack is used during tests
and he need `mock`, unfortunatelly it doesn't declare `mock` in its
requirements so it retrieve mock from other charm project (cross dependency).
So we depend on charms.openstack first and when
Ib1ed5b598a52375e29e247db9ab4786df5b6d142 will be merged then CI
will pass without errors.
Depends-On: Ib1ed5b598a52375e29e247db9ab4786df5b6d142
Change-Id: If352ea32d18cd3d1d8bc5577a32c0397e1cb7e93
* Update charm-ceph-radosgw from branch 'master'
to 6dd6144f660489a525d5b08a64679c65dc4731ff
- Merge "Fix create_system_user so it returns creds"
- Fix create_system_user so it returns creds
Fix the create_system_user method so it returns the access_key
and secret when a user is created.
This patch also includes the following changes:
* Improve logging of multisite methods to help with debugging issues.
* Fix multisite relations in bundles.
Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/667
Closes-Bug: #1950329
Change-Id: I0528fe7f4a89c69f2790a0e472f6f43e23c2de19
* Update charm-ceph-radosgw from branch 'master'
to cebcc733804b5dd2a24855bb63742b5706cb1176
- Merge "Restart radosgw services on upgrade"
- Restart radosgw services on upgrade
When radosgw packages are upgraded, the radosgw service needs to
be restarted by the charm. Check to see that packages were installed
on the upgrade path and if so, restart the radosgw service.
Change-Id: I61055ea4605a9a7c490c18f611d0eb583c617ce3
Closes-Bug: #1906707
* Update charm-ceph-radosgw from branch 'master'
to 13402ca8f89b6157e50ea4ae0b23f807c1f04704
- Merge "Update catalog entry on addition of certificates"
- Update catalog entry on addition of certificates
Guarantee that the object-store URL is updated when the certificates
relation is completed.
Sync release-tools tox and requirements
Change-Id: I4ca967f2c5c5eedfc56969785fcf23e4063d2a78