76 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Corey Bryant
1f9e7082d1 [corey.bryant,trival] Fix assert_called_with typo 2015-09-30 10:40:18 -04:00
Alberto Donato
0810e46a2b Fix unittest. 2015-08-19 10:48:04 +03:00
Corey Bryant
c9393bb3c3 [billy-olsen,r=corey.bryant] Provide support for user-specified public endpoint hostname. 2015-06-10 16:44:02 -04:00
Billy Olsen
05a260d573 Change config option to os-public-hostname 2015-06-03 11:24:05 -07:00
Billy Olsen
4766a0acc3 [wolsen,r=] Add support for overriding public endpoint addresses.
Adds in the config option for overriding public endpoint addresses
and introduces a unit tests to ensure that the override for the
public address is functioning correctly.

Closes-Bug: #1398182
2015-06-02 14:30:32 -07:00
Corey Bryant
37e4ccc5eb Patch out pip_install 2015-05-08 12:36:59 +00:00
Corey Bryant
d7d2fd47d1 Unit test updates 2015-05-07 17:05:18 +00:00
Corey Bryant
fa6a9f6ec3 Update unit tests 2015-05-05 19:54:36 +00:00
Corey Bryant
f3643788cf Change default mkdir permissions to 755 for deploy from source 2015-04-17 12:10:54 +00:00
Corey Bryant
244bdd27a8 Merge next branch 2015-04-15 15:21:50 +00:00
Corey Bryant
f867a3f0c2 Bulk copy files to /etc/keystone 2015-04-13 18:03:02 +00:00
Corey Bryant
ac5eb21fdf Move deploy from source template files to templates/git 2015-04-13 13:59:56 +00:00
Edward Hope-Morley
86f68c93b3 [hopem,r=]
Fix accidentally removed peer_store_and_set() for identity
settings to ensure that they are shared with and forwardable by
all peers.
2015-04-09 11:30:15 +01:00
Corey Bryant
807751b2d2 Unit test updates for config file template change 2015-04-08 18:18:07 +00:00
Corey Bryant
4d99449780 Merge next branch 2015-04-01 15:15:49 +00:00
Edward Hope-Morley
a3e980e76b cleanup 2015-03-30 21:42:39 +01:00
Edward Hope-Morley
a546537888 fixed update_password logic 2015-03-30 21:06:31 +01:00
Edward Hope-Morley
c1c05464fa Added unit tests 2015-03-30 20:17:16 +01:00
Corey Bryant
d121ecbd5d unit test updates 2015-03-30 16:04:34 +00:00
Corey Bryant
fc62b0fb64 Merge next branch 2015-03-30 15:11:11 +00:00
Corey Bryant
36a5f672e9 Update git_post_install unit test 2015-03-30 11:57:01 +00:00
Corey Bryant
06f21b2090 Merge next branch 2015-03-30 11:43:06 +00:00
Edward Hope-Morley
a2a041b82f [hopem,r=]
A previous commit had removed auth_host and service_host from
the peer relation due to races with resolve_address(). If
we do not place this data on the peer relation we actually
break endpoints that use openstack.context.IdentityServiceContext
which expects *any* keystone relation unit to be able to provide
a complete set of valid settings...which are propagated by the
peer relation and re-propagated to the keystone relations.
2015-03-30 00:00:15 +01:00
Edward Hope-Morley
7248b95b5b added unit test 2015-03-26 16:13:15 -07:00
Corey Bryant
a85e2f0327 drop yaml import 2015-03-18 20:26:01 +00:00
Corey Bryant
c829ef7bc0 mock updates 2015-03-18 20:15:45 +00:00
Corey Bryant
1b3faebb68 Merge next branch 2015-03-18 18:59:03 +00:00
Corey Bryant
ece7c05e39 Add deploy from source action support and various fixups after rebase 2015-03-13 09:52:11 +00:00
Corey Bryant
eafbb59cf2 Merge next branch 2015-03-11 11:45:09 +00:00
Edward Hope-Morley
fa4892f524 synced /next 2015-03-10 16:17:27 +00:00
Edward Hope-Morley
277fbae84d [hopem,r=]
Fixes disable ssl. Allows disable of use-https and https-service-endpoints.

Use '__null__' value to flush out peer relation settings that need to be unset
when forwared to other relations. This will fix ssl disable by ensuring that
peer settings are correctly forwarded to endpoint relations.

Closes-Bug: 1427906
2015-03-10 12:02:11 +00:00
Edward Hope-Morley
bfeca73d14 don't push race-prone data on cluster relation to avoid spinning 2015-02-24 13:35:09 +00:00
Edward Hope-Morley
849497d132 [hopem,r=gnuoy]
* improves ssl master election logic
* adds more unit tests
* fixes config changes logic

Closes-Bug: 1415579
2015-02-05 17:32:30 +00:00
Edward Hope-Morley
b0df8f0b59 Improve ssl master election logic and add more unit tests 2015-02-03 12:56:40 +00:00
Edward Hope-Morley
172c11f7fd [hopem,r=]
Fixes is_db_ready() logic

Closes-Bug: 1417108
2015-02-02 13:49:05 +00:00