README included
This commit is contained in:
parent
89a95ef70b
commit
b07920df4a
71
README.md
Normal file
71
README.md
Normal file
@ -0,0 +1,71 @@
|
||||
# keystone-admin interface
|
||||
|
||||
Use this interface to use keystone credentials in your charm layers.
|
||||
|
||||
## Purpose
|
||||
|
||||
By relating you charm layer (keystone-admin:identity-admin) with
|
||||
keystone service, keystone's API endpoint as well as username, password
|
||||
and region name will be shared.
|
||||
|
||||
## How to use in your layers
|
||||
|
||||
The event handler for `identity-admin.connected` is called when a relation
|
||||
is established between your charm layer and keystone.
|
||||
|
||||
In case there are no unset shared data (ie: service_password), a new event
|
||||
handler will be set: `identity-admin.available`.
|
||||
|
||||
This object provides a method,
|
||||
|
||||
credentials()
|
||||
|
||||
returing a dict of:
|
||||
|
||||
{u'service_password': u'XXXXXXXX',
|
||||
u'service_port': u'5000',
|
||||
u'service_hostname': u'10.XX.XX.XXX',
|
||||
u'service_username': u'admin',
|
||||
u'service_tenant_name': u'Admin',
|
||||
u'service_region': u'RegionOne'}
|
||||
|
||||
|
||||
metadata.yaml
|
||||
```
|
||||
requires:
|
||||
identity-admin:
|
||||
interface: keystone-admin
|
||||
```
|
||||
|
||||
layer.yaml,
|
||||
```
|
||||
includes: ['layer:basic', 'interface:keystone-admin']
|
||||
```
|
||||
|
||||
charm layer example,
|
||||
```
|
||||
@when('identity-admin.available')
|
||||
def setup_openstack_plugin(kst_data):
|
||||
creds = kst_data.credentials()
|
||||
if data_changed('identity-admin.config', creds):
|
||||
settings = {'keystone_vip': creds['service_hostname'],
|
||||
'keystone_port': creds['service_port'],
|
||||
'username': creds['service_username'],
|
||||
'password': creds['service_password'],
|
||||
'tenant_name': creds['service_tenant_name'],
|
||||
}
|
||||
```
|
||||
|
||||
## Example deployment
|
||||
|
||||
```
|
||||
$ juju deploy your-awesome-charm
|
||||
$ juju deploy keystone --config keystone-creds.yaml
|
||||
$ juju deploy mysql
|
||||
$ juju add-relation keystone mysql
|
||||
$ juju add-relation your-awesome-charm keystone
|
||||
```
|
||||
|
||||
where `keystone-creds.yaml` has the necessary configuration settings for your
|
||||
awesome charm to connect to keystone.
|
||||
|
Loading…
Reference in New Issue
Block a user