2021-09-07 14:37:12 +00:00

117 lines
3.3 KiB
Python

import json
loadbalancer_data = {
'ceph-dashboard': {
'admin': {
'ip': ['10.20.0.101'],
'port': 8443,
'protocol': 'http'},
'internal': {
'ip': ['10.30.0.101'],
'port': 8443,
'protocol': 'http'},
'public': {
'ip': ['10.10.0.101'],
'port': 8443,
'protocol': 'http'}}}
def add_loadbalancer_relation(harness):
rel_id = harness.add_relation(
'loadbalancer',
'service-loadbalancer')
harness.add_relation_unit(
rel_id,
'service-loadbalancer/0')
harness.update_relation_data(
rel_id,
'service-loadbalancer/0',
{'ingress-address': '10.0.0.3'})
return rel_id
def add_loadbalancer_response(harness, rel_id):
harness.update_relation_data(
rel_id,
'service-loadbalancer',
{
'frontends': json.dumps(
loadbalancer_data)})
def add_requesting_dash_relation(harness):
rel_id = harness.add_relation('loadbalancer', 'ceph-dashboard')
harness.add_relation_unit(
rel_id,
'ceph-dashboard/0')
harness.add_relation_unit(
rel_id,
'ceph-dashboard/1')
harness.update_relation_data(
rel_id,
'ceph-dashboard/0',
{
'endpoints': json.dumps([
{
'service-name': 'ceph-dashboard',
'backend-port': 8443,
'backend-ip': '10.0.0.10'},
{
'service-name': 'ceph-api',
'backend-port': 9443,
'backend-ip': '10.0.0.10'}])})
harness.update_relation_data(
rel_id,
'ceph-dashboard/1',
{
'endpoints': json.dumps([
{
'service-name': 'ceph-dashboard',
'backend-port': 8443,
'backend-ip': '10.0.0.11'},
{
'service-name': 'ceph-api',
'backend-port': 9443,
'backend-ip': '10.0.0.11'}])})
harness.update_relation_data(
rel_id,
'ceph-dashboard',
{
'endpoints': json.dumps([
{
'service-name': 'ceph-dashboard',
'frontend-port': 8443,
'check-type': 'https'},
{
'service-name': 'ceph-api',
'frontend-port': 9443,
'check-type': 'https'}])})
return rel_id
def add_requesting_glance_relation(harness):
rel_id = harness.add_relation('loadbalancer', 'glance')
harness.add_relation_unit(
rel_id,
'glance/0')
harness.update_relation_data(
rel_id,
'glance/0',
{
'endpoints': json.dumps([
{
'service-name': 'glance-api',
'backend-port': 9292,
'backend-ip': '10.0.0.50'}])})
harness.update_relation_data(
rel_id,
'glance',
{
'endpoints': json.dumps([
{
'service-name': 'glance-api',
'frontend-port': 9292,
'check-type': 'http'}])})
return rel_id