Set the b64 encoded cert as a string
Sending a byte string to relation-set can result in the data
being sent being prefixed with a "b'". In this case it corrupts
the b64encoding and the receiving charm (ceilometer-agent) cannot
b64decode the data.
* Backported test fixes too to fix the gate.
Change-Id: I004bff0706362f893f2f69b07568be1034dbf574
(cherry picked from commit 7ad2d31417
)
This commit is contained in:
parent
ad34a6d26e
commit
895dbee21d
|
@ -440,7 +440,7 @@ def ceilometer_joined():
|
|||
# pass the data to agents.
|
||||
if 'rabbit_ssl_ca' in context:
|
||||
with open(context['rabbit_ssl_ca'], 'rb') as fh:
|
||||
context['rabbit_ssl_ca'] = base64.b64encode(fh.read())
|
||||
context['rabbit_ssl_ca'] = base64.b64encode(fh.read()).decode()
|
||||
for relid in relation_ids('ceilometer-service'):
|
||||
relation_set(relid, context)
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ applications:
|
|||
to:
|
||||
- '1'
|
||||
mongodb:
|
||||
charm: cs:trusty/mongodb
|
||||
charm: cs:trusty/mongodb-53
|
||||
num_units: 1
|
||||
to:
|
||||
- '2'
|
||||
|
@ -98,4 +98,4 @@ relations:
|
|||
- - 'nova-cloud-controller:cloud-compute'
|
||||
- 'nova-compute:cloud-compute'
|
||||
- - 'nova-cloud-controller:image-service'
|
||||
- 'glance:image-service'
|
||||
- 'glance:image-service'
|
||||
|
|
|
@ -10,58 +10,101 @@ machines:
|
|||
5: {}
|
||||
6: {}
|
||||
7: {}
|
||||
8: {}
|
||||
9: {}
|
||||
10: {}
|
||||
11: {}
|
||||
12: {}
|
||||
13: {}
|
||||
14: {}
|
||||
15: {}
|
||||
applications:
|
||||
percona-cluster:
|
||||
charm: cs:~openstack-charmers/percona-cluster
|
||||
charm: cs:~openstack-charmers-next/percona-cluster
|
||||
num_units: 1
|
||||
options:
|
||||
max-connections: 1000
|
||||
innodb-buffer-pool-size: 256M
|
||||
to:
|
||||
- '0'
|
||||
rabbitmq-server:
|
||||
charm: cs:~openstack-charmers/rabbitmq-server
|
||||
charm: cs:~openstack-charmers-next/rabbitmq-server
|
||||
num_units: 1
|
||||
to:
|
||||
- '1'
|
||||
mongodb:
|
||||
charm: cs:xenial/mongodb
|
||||
memcached:
|
||||
charm: cs:~memcached-team/memcached
|
||||
num_units: 1
|
||||
to:
|
||||
- '2'
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers/keystone
|
||||
num_units: 1
|
||||
ceph-osd:
|
||||
charm: cs:~openstack-charmers-next/ceph-osd
|
||||
num_units: 3
|
||||
storage:
|
||||
osd-devices: 'cinder,10G'
|
||||
options:
|
||||
openstack-origin: *source
|
||||
source: *source
|
||||
to:
|
||||
- '3'
|
||||
glance:
|
||||
charm: cs:~openstack-charmers/glance
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '4'
|
||||
nova-cloud-controller:
|
||||
charm: cs:~openstack-charmers/nova-cloud-controller
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '5'
|
||||
nova-compute:
|
||||
charm: cs:~openstack-charmers/nova-compute
|
||||
num_units: 1
|
||||
ceph-mon:
|
||||
charm: cs:~openstack-charmers-next/ceph-mon
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *source
|
||||
source: *source
|
||||
to:
|
||||
- '6'
|
||||
- '7'
|
||||
- '8'
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers-next/keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '9'
|
||||
glance:
|
||||
charm: cs:~openstack-charmers-next/glance
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '10'
|
||||
nova-cloud-controller:
|
||||
charm: cs:~openstack-charmers-next/nova-cloud-controller
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '11'
|
||||
nova-compute:
|
||||
charm: cs:~openstack-charmers-next/nova-compute
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '12'
|
||||
ceilometer:
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '7'
|
||||
- '13'
|
||||
gnocchi:
|
||||
charm: cs:~openstack-charmers-next/gnocchi
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *source
|
||||
to:
|
||||
- '14'
|
||||
ceilometer-agent:
|
||||
charm: cs:~openstack-charmers/ceilometer-agent
|
||||
charm: cs:~openstack-charmers-next/ceilometer-agent
|
||||
mongodb:
|
||||
num_units: 1
|
||||
charm: cs:xenial/mongodb
|
||||
to:
|
||||
- '15'
|
||||
relations:
|
||||
- - 'ceilometer:amqp'
|
||||
- 'rabbitmq-server:amqp'
|
||||
|
@ -69,6 +112,8 @@ relations:
|
|||
- 'keystone:identity-notifications'
|
||||
- - 'ceilometer:ceilometer-service'
|
||||
- 'ceilometer-agent:ceilometer-service'
|
||||
- - 'ceilometer:metric-service'
|
||||
- 'gnocchi:metric-service'
|
||||
- - 'ceilometer:identity-service'
|
||||
- 'keystone:identity-service'
|
||||
- - 'ceilometer:shared-db'
|
||||
|
@ -98,4 +143,14 @@ relations:
|
|||
- - 'nova-cloud-controller:cloud-compute'
|
||||
- 'nova-compute:cloud-compute'
|
||||
- - 'nova-cloud-controller:image-service'
|
||||
- 'glance:image-service'
|
||||
- 'glance:image-service'
|
||||
- - 'ceph-mon:osd'
|
||||
- 'ceph-osd:mon'
|
||||
- - 'gnocchi:shared-db'
|
||||
- 'percona-cluster:shared-db'
|
||||
- - 'gnocchi:storage-ceph'
|
||||
- 'ceph-mon:client'
|
||||
- - 'gnocchi:coordinator-memcached'
|
||||
- 'memcached:cache'
|
||||
- - 'gnocchi:identity-service'
|
||||
- 'keystone:identity-service'
|
||||
|
|
|
@ -16,7 +16,7 @@ import copy
|
|||
import os
|
||||
import sys
|
||||
|
||||
from mock import patch, MagicMock, call
|
||||
from mock import patch, MagicMock, call, mock_open
|
||||
|
||||
# python-apt is not installed as part of test-requirements but is imported by
|
||||
# some charmhelpers modules so create a fake import.
|
||||
|
@ -317,10 +317,17 @@ class CeilometerHooksTest(CharmTestCase):
|
|||
@patch('charmhelpers.core.hookenv.config')
|
||||
def test_ceilometer_joined(self, mock_config):
|
||||
self.relation_ids.return_value = ['ceilometer:0']
|
||||
self.get_ceilometer_context.return_value = {'test': 'data'}
|
||||
hooks.hooks.execute(['hooks/ceilometer-service-relation-joined'])
|
||||
self.relation_set.assert_called_with('ceilometer:0',
|
||||
{'test': 'data'})
|
||||
self.get_ceilometer_context.return_value = {
|
||||
'test': 'data',
|
||||
'rabbit_ssl_ca': '/etc/certs/rabbit.pem'}
|
||||
with patch.object(
|
||||
hooks,
|
||||
'open',
|
||||
mock_open(read_data=b'dGVzdCBjZXJ0Cg==')):
|
||||
hooks.hooks.execute(['hooks/ceilometer-service-relation-joined'])
|
||||
self.relation_set.assert_called_with(
|
||||
'ceilometer:0',
|
||||
{'test': 'data', 'rabbit_ssl_ca': 'ZEdWemRDQmpaWEowQ2c9PQ=='})
|
||||
|
||||
@patch('charmhelpers.core.hookenv.config')
|
||||
def test_identity_notifications_changed(self, mock_config):
|
||||
|
|
Loading…
Reference in New Issue