293 Commits

Author SHA1 Message Date
James Page
22c103169b 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 os_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 and contrib.openstack support for this
feature.

Change-Id: I5734e87d39e62c1fb791b0b79ff216e30a784d1f
2016-09-20 12:19:37 +01:00
jarrance
23ebb2da37 Added trove to the valid_services dictionary so the Trove charm will work.
Change-Id: I04c9b9c41ba43a88cff6305778f60d02c17a383c
2016-09-13 18:42:45 -04:00
Corey Bryant
33953f67a6 Enable API to run under apache2 when deployed from source.
The keystone charm runs the keystone API under apache2 for liberty
and above. This patch enables the keystone API to run under apache2
when deployed from source for liberty and above.

Change-Id: I5eccf38aad9668248f4f94523d61f7bd40ed5c30
2016-07-13 19:25:35 +00:00
James Page
d1fd13261f Re-license charm as Apache-2.0
All contributors to this charm have agreed to the switch
from GPL v3 to Apache 2.0; switch to Apache-2.0 license
as agreed so we can move forward with official project status.

Change-Id: Iaee75f59fe51f01da18aa2703a46c3885ade73c0
2016-07-03 16:39:47 +00:00
Liam Young
3c1bcdcef3 Add admin domain id to identity relation
Add the admin domain id (not name) to the data passed to clients
down the identity-service relation. Some clients (eg Horizon) require
the admin domain id for local configuration.

Change-Id: Idfbd09fa62e628958139f77b9d06f602783e3619
Partial-Bug: 1595685
2016-06-28 14:18:57 +00:00
Corey Bryant
df578e943b Add defaults for openstack-origin-git config option
openstack-origin-git currently only supports YAML that specifies
the git repositories to deploy from.

This adds support for default openstack-origin-git values. The
default values supported are: icehouse, kilo, liberty, mitaka,
and master.  For example: openstack-origin-git=master.

Change-Id: I03839dc0abfb7465578cbb4eedfdab5043d053e6
2016-06-16 14:30:18 +00:00
Alex Kavanagh
61047ac055 Fix for multiple status-set - related to bug 1588462
This change fixes the obvious race for a status_set() between
check_optional_interfaces() and assess_status() as the later calls the former
which calls status_set(), returns the status, which is then potentially set
again by the assess_status() function.  This cleans up the code so that only a
single status_set() is performed when calling assess_status().

Change-Id: I928f60967e4a7588df2b25136525391c283cda14
Related-Bug:#1588462
2016-06-15 14:05:01 +00:00
Jenkins
2391d53118 Merge "Ensure package provided apache conf is disabled" 2016-06-10 10:52:14 +00:00
Liam Young
36bda1a911 Add Congress to known services
There some community interest in a Congress charm. This patch adds
Congress to the list of valid services so the Congress charm can
register endpoints with keystone.

Change-Id: I0432bd9c7eddbc4499af2f2843fe6b5b69fdee18
2016-06-09 15:00:29 +00:00
James Page
49d2599ca8 Ensure package provided apache conf is disabled
The newton packages for keystone ship an apache2 site named
keystone, with conflicts with the charm provided wsgi-keystone
site.

Ensure that the packaging provided configuration is disabled,
both on initial install and on upgrade from Mitaka->Newton.

Change-Id: I5f6c67057a32d46529510ba6e4c0f5514f1a2d9e
2016-06-08 09:56:15 +01:00
Alex Kavanagh
07d020bc35 Add barbican to list of known services
This is to support the new barbican charm in the keystone charm as a
relationship.

Change-Id: I6d9fc956a0273bdee4934131c487336ad2d788bb
2016-06-01 14:44:26 +00:00
David Ames
8d535b56f6 Fix broken call to create_user_credentials
In the change from tenant to project the call to
create_user_credentials was incorrectly changed to project.
This is a trivial fix of that call.

Change-Id: I3f478412034d6305f13805ed53ce3d52896a0677
2016-05-04 09:19:52 -07:00
David Ames
30a5fe0999 Create identity-credentials relation
Charms use this relation to obtain keystone credentials without
creating a service catalog entry. Set 'username' only on the relation
and keystone will set defaults and return authentication details.

Possible relation settings:
username: Username to be created.
project: Project (tenant) name to be created. Defaults to services
         project.
requested_roles: Comma delimited list of roles to be created
requested_grants: Comma delimited list of roles to be granted.
                  Defaults to Admin role.
domain: Keystone v3 domain the user will be created in.
        Defaults to the Default domain.

Change-Id: I465d2273560d86752d1bfc7497a9139a9604f814
2016-04-29 13:33:59 -05:00
Liam Young
63ce501629 Create default domain for Mitaka keystone v3
The default domain is created automatically in liberty but needs to
be created by the charm for Mitaka

Change-Id: I84ee9ddb15194c122dfad9e69526199dcd1666f8
Closes-Bug: 1571315
2016-04-17 12:43:49 +00:00
Liam Young
eae361c36e Restart apache2 safely when using mod_wsgi
The restart_on_change function uses the underlying init systems service
control programs to stop/start/restart services. However, sometimes
these misbehave like apache2 with mod_wsgi which can leave process
running after stop has completed which then block start from running.
These change ensures that apache really has stopped before starting it.

Change-Id: I8255d8f5371f7bb0783878253afafcf27275b6b8
Closes-Bug: 1567741
2016-04-08 17:51:08 +00:00
Liam Young
6a1c04a451 Run keystone with apache + mod_wsgi for liberty+
The Kilo release of openstack deprecated the eventlet wsgi server in favor of
using apache with mod_wsgi. This changes disables the keystone service and
adds a vhost to the existing apache server to run keystone using mod_wsgi.

Change-Id: I8125d8081c14550e86cd77b25185f27f500e368b
Closes-Bug: 1515628
2016-04-06 15:56:26 +00:00
Jenkins
1ec235b969 Merge "Fix case-insensitivity for roles/users/tenants" 2016-03-17 18:54:40 +00:00
David Ames
3163574413 Fix case-insensitivity for roles/users/tenants
When checking for existing roles/users/tenants the charm was case
sensitive such that admin != Admin. However, when keystone tries to
create a role/user/tenant that exists but with different case mysql will
error out. OpenNFV requires that the admin user be named 'admin' with
lower case but the default is 'Admin' leading to failed deploys of
OpenStack.

This change makes the check for existence case insensitive. It does
*not* change the creation of roles/users/tenants. Therefore,
roles/users/tenants will be created unchanged but checks for existence
will still match even when case does not.

Change-Id: I49c4f5e8d0e79f64fbc8bf412341a93f4a970778
Closes-Bug: #1512984
2016-03-17 08:53:27 -07:00
James Page
5be8433751 Enhanced pause/resume with gated restarts - 2
This contains a fix against the original change id:
Ie0c5e0249bde0839345ad66f7400522754aa91ca which broke
keystone. Otherwise, the fix is the same:

The existing pause/resume functionality is enhanced with
changed charm-helpers support to chech that the services
really are stopped and that paused units really stay
paused.  The restart_on_change decorator is gated
such that if the unit is 'paused' then the service
is not accidentally started.

Change-Id: I6a828676be11338266845e822be087d734944da0
2016-03-15 20:14:00 +00:00
James Page
1f081a98ea Enhanced pause/resume with gated restarts
The existing pause/resume functionality is enhanced with
changed charm-helpers support to chech that the services
really are stopped and that paused units really stay
paused.  The restart_on_change decorator is gated
such that if the unit is 'paused' then the service
is not accidentally started.

Change-Id: Ie0c5e0249bde0839345ad66f7400522754aa91ca
2016-03-15 16:51:51 +00:00
Jenkins
83b15dc7ce Merge "Install cron job to flush keystone tokens." 2016-03-10 18:58:28 +00:00
Billy Olsen
55274a7867 Install cron job to flush keystone tokens.
This change adds a cron job definition to flush the keystone tokens
once every hour. Without this, the keystone database grows unbounded,
which can be problematic in production environments.

This change introduces a new keystone-token-flush templated cron job,
which will run the keystone-manage token_flush command as the keystone
user once per hour. This change honors the use-syslog setting by
sending output of the command either to the keystone-token-flush.log
file or to the syslog using the logger exec.

Only the juju service leader will have the cron job active in order to
prevent multiple units from running the token_flush at the concurrently.

Change-Id: I21be3b23a8fe66b67fba0654ce498d62b3afc2ac
Closes-Bug: #1467832
2016-03-10 07:42:58 -07:00
James Page
cee6aceb0f Add support for Aodh alarming endpoints
Aodh is part of the OpenStack Telemetry and provides alarming and
notification services based on events across an OpenStack Cloud.

Ensure that keystone understands 'aodh' and 'alarming' as valid
endpoint types.

Change-Id: Id1d9fed86ec7af2327f2d18738703290b4f833a1
2016-03-10 12:30:53 +00:00
Liam Young
c283a1c922 Enable Keystone v3 API
This changes enables the Keystone v3 api. It can be toggled on and off via the
preferred-api-version option.

When services join the identity-service relation they will be presented with a
new parameter api_version which is the maximum api version the keystone charm
supports and matches what was set via preferred-api-version.

If preferred-api-version is set to 3 then the charm will render a new
policy.json which adds support for domains etc when keystone is checking
authorisation. The new policy.json requires an admin domain to be created and
specifies that a user is classed as an admin of the whole cloud if they have
the admin role against that admin domain.

The admin domain, called admin_domain, is created by the charm. The name of
this domain is currently not user configurable. The role that enables a user to
be classed as an admin is specified by the old charm option admin-role. The
charm grants admin-role to the admin-user against the admin_domain.

Switching a deployed cloud from preferred-api-version 2 to
preferred-api-version 3 is supported. Switching from preferred-api-version 3 to
preferred-api-version 2 should work from the charm point of view but may cause
problems if there are duplicate users between domains or may have unintended
consequences like escalating the privilege of some users so is not recommended.

Change-Id: I8eec2a90e0acbf56ee72cb5036a0a21f4a77a2c3
2016-03-09 11:05:33 +00:00
Alex Kavanagh
348d834cf1 Merge keystone/next into change to get ready for final merge 2016-02-19 14:49:59 +00:00
James Page
65e10fa744 Add astara to services 2016-02-18 10:02:59 +00:00
Alex Kavanagh
bb09ba2f0f Synced new version of charm-helpers from:
lp:~ajkavanagh/charm-helpers/add-service-checks-lp1524388
Added call to services() and determined_ports() for the assess_status()
call.
2016-02-12 11:40:41 +00:00
James Page
8a8ad04021 Add support for designate 2016-02-11 13:18:06 +00:00
Adam Gandelman
b93a4fcf3a Add astara to services 2016-02-03 11:43:18 -08:00
Liam Young
9ec8113065 Fix designate endpoint type 2016-01-22 11:43:45 +00:00
David Ames
09e1405865 [tinwood,r=thedac] Fixes Bug#1526511 change pause/resume actions use (new) assess_status() 2016-01-19 08:54:03 -08:00
Liam Young
34248cf5b2 Add dnsaas 2016-01-19 08:56:29 +00:00
Alex Kavanagh
86c7018113 Change pause/resume actions use (new) assess_status()
Implemented new is_paused() and assess_status() functions, and changed
the pause and resume actions to use them. Changed existing and added new
tests to verify functionality.
2016-01-13 15:13:10 +00:00
Liam Young
e654d7c84a Remove debug prints 2016-01-12 15:50:54 +00:00
Liam Young
1c32c99fd1 Delete the old quantum catalog entry if a neutron entry is present 2016-01-12 11:09:46 +00:00
Edward Hope-Morley
5c579613bf [hopem,r=]
Ensure ssl certs always synced.
Partially-Closes-Bug: 1520339
2015-12-07 15:04:38 +01:00
James Page
442a9f35c9 Add tox support 2015-10-31 08:30:09 +09:00
Liam Young
2a96ee0e43 Make do_openstack_upgrade action managed upgrade safe 2015-10-19 12:22:10 +00:00
Liam Young
a4711763a0 Remove chance of config-changed running in an infinite loop due to re-exec 2015-10-19 08:16:38 +00:00
Liam Young
686464a8ba Rexec config-changed hook after upgrade to avoid issues with packages changing under the feet of the running hook 2015-10-16 08:41:46 +00:00
billy.olsen@canonical.com
44d402c570 [ionutbalutoiu,r=billy-olsen] Add ironic to the valid_service dictionary. 2015-10-06 12:19:34 -07:00
Liam Young
f11b489529 [thedac,r=gnuoy] Workload Status 2015-09-29 16:50:01 +01:00
Ionut Balutoiu
90c15d6eae Added Ironic to valid_services 2015-09-26 02:37:18 +03:00
David Ames
31caf460a5 use check_optional_relations 2015-09-25 16:01:35 -07:00
David Ames
13895315bf Workload status 2015-09-25 11:59:06 -07:00
Edward Hope-Morley
f498d966d2 [hopem,r=]
No more trusty-backports for haproxy >= Liberty

Closes-Bug: 1499435
2015-09-24 17:32:06 +01:00
James Page
1ca9cdc15a Add support for cloudkitty ratings service. 2015-09-23 15:03:57 +01:00
Gauvain Pocentek
cb731e65af Add support for the cloudkitty service
CloudKitty (Rating-as-a-Service for OpenStack) requires the creation of a
service in keystone to properly work. This patch registers cloukitty as a valid
service to enable the relation between those two charms.
2015-08-31 17:10:30 +02:00
Alberto Donato
b304023952 Address review comments. 2015-08-19 17:08:06 +03:00
Alberto Donato
e39ac30d87 Fix 2015-08-17 12:38:28 +03:00