Commit Graph

362 Commits

Author SHA1 Message Date
James Page 536c22a6a2 Retire project
Leave README around for those that follow.

Change-Id: I34f8092296c70cd1b51de7c48d7ee589f410d55d
2018-09-14 11:53:08 -06:00
Ryan Beisner 485726e527 Update amulet test definitions
This change requires the following charm-helpers change
to land first:

- https://github.com/juju/charm-helpers/pull/32

Change-Id: I7c1c2399cb38fd48139f3d42854442796e0d3a3b
2017-12-08 10:02:05 -08:00
James Page 9d095b31d9 Process client broker requests post bootstrap
Its possible that a remote client unit will present its broker
request prior to the Ceph MON cluster being bootstrapped; ensure
that any client-relation-changed hooks are re-executed after
bootstrap to process any pending broker requests.

Change-Id: Id412a6b3503e00bd870ccb8f3acc5f3957c23f5d
Closes-Bug: 1734620
2017-11-27 11:24:09 +00:00
Ryan Beisner 3d6fddbc76 Sync charm-helpers
Change-Id: I94fb2e6b7a4362e414583be7016ba208056c9922
2017-11-22 18:22:20 +00:00
James Page 0a298a732d migration: Superceed use of 'ceph mon rm'
Use the remove command (instead of rm) which is supported in
Ceph firefly or later (which covers all current deployment targets).

This resolves an issue with the ceph -> ceph-mon/ceph-osd migration
process for Luminous based deployments.

Change-Id: I127930e7c4b80465796b8270a9966b08f7c03037
Closes-Bug: 1729370
2017-11-02 09:13:57 +00:00
Zuul 8500fd6134 Merge "Add support for ceph-mon bootstrap" 2017-10-18 08:46:42 +00:00
James Page 71390fe0cf Add support for ceph-mon bootstrap
Add new relation to support bootstrapping a new deployment
of the ceph-mon charm from an existing ceph charm deployment,
supporting migration away from the deprecated ceph charm.

Each member of the existing ceph application will present
the required fsid and monitor-secret values, as well as its
public address so that the related ceph-mon units can
correctly seed from the exisitng MON cluster.

Provide stop hook implementation, which will leaves OSD
services running but will remove the ceph.conf provided
directly from this charm, falling back to ceph.conf provided
by other charms installed on the same machine. MON and MGR
services will be shutdown and disabled.

Closes-Bug: 1665159

Change-Id: I9bd1d7630a8eff53c65cb0f07d17e095fc7f32a9
Depends-On: Iac34d1bee4b51b55dfb3d14d315aae8526a0893c
2017-10-09 06:48:00 -04:00
James Page 596d8a9625 Generalize upgrade paths, use charms.ceph
Bring ceph charm inline with ceph-mon and ceph-osd charms,
supporting all upgrades paths for trusty and xenial deployments.

Change-Id: I8284e1f9b583b34cb68babec69407edc14c04930
Closes-Bug: 1662863
2017-09-18 12:55:28 +01:00
Chris MacNaughton 3bf1bf7bfa Rename config variable to match expectation
Change-Id: Id3ae36d7da884a499092a6edd49614b706770534
Closes-Bug: #1716682
2017-09-12 17:06:29 +02:00
Dmitrii Shcherbakov f962fadc21 use a non-legacy bluestore option on Luminous+
the 'experimental' option is no longer needed as of Luminous release
https://github.com/ceph/ceph/blob/luminous/src/common/legacy_config_opts.h#L79

Change-Id: I9bbc0cc74833259b6ac1b0f951dceadebe0a267b
2017-08-30 16:53:41 +03:00
Dmitrii Shcherbakov 62925ccad7 fix JUJU_AVAILABILITY_ZONE usage
juju_availability_zone is not a valid configuration setting, let's use
'rack' instead.

Change-Id: I9ffe609337805a188990c9516fe3e79025694f56
Closes-Bug: #1684330
2017-08-28 12:12:58 +03:00
Ryan Beisner 1bd97e22df Sync charm-helpers
Change-Id: I0337a519d6171e90ca1effbb65a1038b13cbb7f4
2017-08-24 16:46:07 -05:00
Chris MacNaughton d259b894b2 remove trusty requirement to allow xenial upgrades
Closes-Bug: #1709962
Closes-Bug: #1710645
Change-Id: I8274e40f36ac8c916b15efb6bb3d6f3b5d3af386
2017-08-21 16:43:21 +02:00
Edward Hope-Morley f0042a9a7f Sync charms.ceph to get code cleanup changes
Also had to fix some imports due to changes
implemented as part of the cleanup.

Change-Id: I64de0ad077eaaf8ca6ac0c575c4ae7f19bccf8ee
2017-08-14 14:54:35 +01:00
Corey Bryant 94e2db92e1 Bootstrap ceph-mgr daemon
As of the Luminous release, Ceph requires ceph-mgr daemons be run
to have a fully functional cluster. [0]

[0] http://docs.ceph.com/docs/master/mgr/administrator/

Change-Id: I59e4d20c0e3c2d3e4cff45aaa70adf5b2862f71b
Closes-bug: #1709061
2017-08-10 19:06:34 +00:00
Chris MacNaughton 9625ea7ba7 add default features support
Change-Id: Ic640b097f88b238d865b5880bb2ecd682b2a84ec
2017-07-13 09:00:05 +02:00
James Page e2fc2e3bd9 Add bluestore support for OSD's
Add highly experimental support for bluestore storage format for
OSD devices; this is disabled by default and should only be enabled
in deployments where loss of data does not present a problem!

Change-Id: I67323e26a4698de4e08c8c755db232399f7fed02
Depends-On: I36f7aa9d7b96ec5c9eaa7a3a970593f9ca14cb34
2017-07-07 09:59:42 +01:00
Jenkins 290a32832e Merge "Skip osd-devices not absolute paths" 2017-05-21 21:07:59 +00:00
Jenkins 166ca8b3ce Merge "Updates for pike b1" 2017-05-18 17:21:18 +00:00
David Ames 04b8f84927 Do not install NTP when installed in a container
Use determine_packages() to avoid installing NTP when in a container.
Sync charms.ceph to get ceph.determine_packages().

Change-Id: Ia00af86964d8f77e615367cbcde35a4d7d10774c
Partial-Bug: #1690513
2017-05-16 11:37:14 -07:00
James Page f4ddf01f32 Updates for pike b1
Resync charmhelpers for pike versioning.

Add tests for pike targets, but disable until all charms support
pike.

Change-Id: I513acf13ceec8b9b4446d8c3292b18e7b9760e4a
2017-05-12 06:56:36 +02:00
Alex Kavanagh 0ced70b19e Fix alphanumeric comparisons for openstack and ubuntu releases
- sync charmhelpers with fix-alpha helpers
- fix up code where the alpha comparisons are done
- fix tests which assumed mocks would just work on os_release()

Change-Id: Ie1a70a68e61f0460a9b60436643d9f5173e30105
Related-Bug: #1659575
2017-04-27 11:21:04 +01:00
Billy Olsen a631169edd Skip osd-devices not absolute paths
This change skips over any devices which does not start with a leading
folder separator ('/'). Allowing such entries causes an OSD to be
created out of the charm directory. This can be caused by something as
innocuous as 2 spaces between devices. The result is that the root
device is also running an OSD, which is undesirable.

Change-Id: I5b52096da0b6f100ae9835c339905585425b27ae
Closes-Bug: 1652175
2017-04-05 17:40:01 -07:00
David Ames 9e020aac19 Enable Ocata Amulet Tests
- Add Zesty as a supported series to metadata.yaml.
- Turn on Xenial-Ocata Amulet test definitions.
- Sync charm helpers to get Juju 2.x amulet compatibility.
- Keeping Zesty-Ocata Amulet test definitions turned off until the
  metadata.yaml changes propagate to the charm store.
- Resync tox.ini to resolve amulet test failures.

Change-Id: Id0c204f273caa9f0f585dcf505975ba685349ad0
2017-03-23 09:15:51 +00:00
Chris MacNaughton d3cf8bb3ab Only check for upgrades if bootstrapped
Only check for upgrade requests if the local unit is installed
and bootstrapped, avoiding attempts to upgrade on initial
execution of config-changed for trusty UCA pockets.

Note that the upgrade process relies on a running ceph cluster.

Change-Id: Ia3efe2f8cfdac4317809681e7d169725c6bd9ef2
Closes-Bug: 1662943
2017-02-17 12:30:53 +00:00
Jenkins 459ccae83d Merge "Pre-release charm-helpers sync 17.02" 2017-02-15 08:59:27 +00:00
David Ames 8baceb31eb Pre-release charm-helpers sync 17.02
Get each charm up to date with lp:charm-helpers for release testing.

Change-Id: I9374ef558153401e0f5d57aa0d2247fcbb749c17
2017-02-14 14:49:55 -08:00
Chris MacNaughton 024fe9215f remove upgrade_keys
This function is no longer necessary as we do
not need to ensure that the remote units can
create their own pools

Change-Id: I7e46b97ad2bb18a6e11a393a34f40e9bf51445c7
Partial-Bug: 1424771
2017-02-14 13:20:16 -06:00
Chris MacNaughton 4aecaa7159 Remove /var/lib/ceph from updatedb
This stops updatedb from indexing the storage locations

Change-Id: I98caae42a16c31d0e9942150449f8937ab721291
Closes-bug: 1520226
2017-01-25 09:22:28 -05:00
Chris MacNaughton 6b1a224e67 Add support for ceph-osd broker requests
This is to support ceph-osd requesting movement
of OSD devices into various buckets.

This also implements the osd side with
an action to move a disk

Change-Id: I609ceb8662b20ca06b71d66696d101bda799e25c
2016-12-12 13:54:49 -05:00
Chris MacNaughton 39ffd26452 Add action to list unmounted disks
This action is fairly simple in that it returns
a list of unmounted disks

This also includes a git-sync to pull in charms.ceph
changes.
Change-Id: Idb6eabd565b0a9951bb0b212b81a57497ada56f1
Closes-Bug: 1645481
2016-12-12 12:16:04 -05:00
Chris MacNaughton a52acb9760 Add availability_zone to the OSD configuration
Addition of configurable availability_zone allows the
administrator to deploy Ceph with two dimensions of
crush locations, one from config and one from Juju's
availability zone

Change-Id: Icd0ee2eeaea8bad2b78f2ed46176084e01601261
2016-12-09 15:25:59 -05:00
Corey Bryant 780c3b3d95 Sync charm-helpers to pick up Ocata UCA support
Change-Id: I06c207f73184ac3bd17bd76c7e655142cff30651
2016-12-05 21:11:46 -05:00
Ryan Beisner 9e2aa03289 Update Amulet defs, series metadata and c-h sync
- Sync charm helpers if applicable.

- Fix test executable hashbags for virtualenv prep.

- Add Yakkety-Newton Amulet test definitions.

- Prep Xenial-Ocata Amulet test definitions (not yet enabled).

- Prep Zesty-Ocata Amulet test definitions (not yet enabled).

- Remove Precise charm series metadata if present.

- Remove Precise Amulet test definitions if present.

Change-Id: Ic32eba6b28007101965bd2caec9ca6e5369ab379
2016-12-03 16:42:16 +00:00
Chris MacNaughton 15e6c17a72 Add install_deps to ensure python dependencies are installed
Change-Id: I02d3954bfc607a4520e490913e4ad3001deec55b
2016-12-01 13:46:11 -05:00
Adam Collard 5d635ae394 Install lockfile-progs when related to nagios
The nrpe ceph status script relies on lockfile-create, but
lockfile-progs (package containing lockfile-create) was missing from
the install. Install it when related to nagios, and on upgrade-charm
when related to nagios.

Change-Id: I0addf9993d486a4d305dd554237efe554d4608d4
Closes-Bug: #1629104
2016-11-29 16:12:17 +00:00
Jenkins 96de9f8e35 Merge "Update amulet test definitions for Newton" 2016-10-12 11:47:53 +00:00
Ryan Beisner d52053e3e4 Update amulet test definitions for Newton
- Remove Precise-Icehouse Amulet test definitions if they exist.

- Add Xenial-Newton Amulet test definitions.

- Add Yakkety-Newton Amulet test definitions.

- Use the percona-cluster charm in tests instead of the mysql charm.

Change-Id: I74764b639dad616060c7fa7c2ccbad1e283e1f9d
2016-10-11 13:25:49 -05:00
Chris MacNaughton a62a1e5adb
Remove the compiled python bytecode
upgrade-charm could previously fail because of compiled bytecode
remaining behind. This change makes the upgrade-charm hook remove
any such compiled bytecode files

Change-Id: I1cb6521cab1ac0d529907d44f1e9bdb313a798ac
Closes-Bug: 1628322
2016-10-03 13:17:07 -04:00
David Ames daa475a8c5 Pre-release charm-helpers sync 16.10
Get each charm up to date with lp:charm-helpers for release testing.

Change-Id: I9f0aad6d212fb18d88924a6144540def4b30f995
2016-09-30 08:47:04 -07:00
Chris Holcombe 57808f02ab Multiple Rolling Upgrades
The rolling upgrade code sets keys in the ceph mon
cluster to discover whether it can upgrade itself. This
patch addresses an issue where the upgrade code was not
taking into account multiple upgrades to newer ceph versions
in a row.

Change-Id: Icae681e1817ce50039ef22a0677398fe84057bf7
2016-09-23 08:18:34 +01:00
James Page a980e1c7d6 Add support for application version
Juju 2.0 provides support for display of the version of
an application deployed by a charm in juju status.

Insert the application_version_set function into the
existing assess_status function - this gets called after
all hook executions, and periodically after that, so any
changes in package versions due to normal system updates
will also be reflected in the status output.

This review also includes a resync of charm-helpers to
pickup hookenv support for this feature.

Change-Id: I22763c26a28d397688f02845f0acb8021320a5ae
2016-09-21 09:11:37 +01:00
Jenkins 84b4b82eca Merge "Fix directory ownership as part of upgrade and restart OSD's" 2016-08-12 15:25:41 +00:00
Chris MacNaughton 811bc04e7c Clean up dependency chain
This includes a resync of charms_ceph to raise the directory one level
The charms_ceph change that we're syncing in changes the
name of the ceph.py file into the __init__.py file to remove the
second level of namespacing

Change-Id: I8773a26266a2a13f92083e89db957a6454df9bb3
2016-08-11 11:00:53 -04:00
James Page 001d890d42 Fix directory ownership as part of upgrade and restart OSD's
This change ensures that when ceph is upgraded from an
older version that uses root to a newer version that
uses ceph as the process owner that all directories
are chowned.

As the ceph charm can also host OSD processes, ensure that
any ceph-osd daemons are stopped and started during the
upgrade process.

Change-Id: Ief3fd6352b440b7740965746cd0d1d846c647f84
Closes-Bug: 1600338
2016-08-11 10:32:34 +01:00
Jenkins 5bfbd7417a Merge "Migrate to shared lib" 2016-08-03 22:14:58 +00:00
James Page 9b37f57e45 Resync charm helpers for PG calc fixes
When the Ceph RADOS Gateway is used with small OSD configurations
(3 OSDs), the light pools consume 0.1% of storage by default; this
results in PG counts below or equal to 0; enforce a minimum PG count
of 2 as specified in the official Ceph PG calculator.

Change-Id: I44748807540ddde1ac76493bd85bb0f1c708e16c
Closes-Bug: 1607961
2016-08-02 11:02:36 +01:00
Chris MacNaughton 1f140c73ed Migrate to shared lib
This change moves our ceph.py and ceph_broker.py into
a seperate repository that we can share between various
ceph related Juju projects, along with a Makefile
change to use a new git_sync file to partially sync
a git repository into a specified path

Change-Id: I8942d2f3411acec197fd6b854c1d9e50457502a5
2016-08-01 17:00:23 -04:00
Liam Young 31aae0b984 Pre 1607 release charm-helpers sync
Sync charmhelpers to pick up bug fixes for 1607 release

Change-Id: If16e81f8eb03472bb4f9c8263428f8be15307b10
2016-07-21 14:25:27 +00:00
Jenkins e93f6756d5 Merge "Use osd-upgrade user for pause/resume" 2016-07-20 04:08:31 +00:00