summaryrefslogtreecommitdiff
path: root/etc/trove/trove.conf.test
blob: 92f07d7e27d16feb398cbcd4a7773a2f250ba097 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
[DEFAULT]

# Fake out the remote implementations
remote_nova_client = trove.tests.fakes.nova.fake_create_nova_client
remote_guest_client = trove.tests.fakes.guestagent.fake_create_guest_client
remote_swift_client = trove.tests.fakes.swift.fake_create_swift_client
remote_cinder_client = trove.tests.fakes.nova.fake_create_cinder_client
remote_neutron_client = trove.tests.fakes.neutron.fake_create_neutron_client

# Fake out the RPC implementation
transport_url = 'fake:/'

# Skip running periodic tasks
report_interval = 0

# Fake out DNS.
trove_dns_support = True
dns_driver = trove.tests.fakes.dns.FakeDnsDriver
dns_instance_entry_factory = trove.tests.fakes.dns.FakeDnsInstanceEntryFactory

# This will remove some of the verbose logging when trying to diagnose tox issues
default_log_levels=routes.middleware=ERROR,trove.common.auth=WARN

log_file = trovetest.log
use_stderr = False
debug = True

# Address to bind the API server
bind_host = 0.0.0.0
# Port the bind the API server to
bind_port = 8779

# Number of workers for the API service. The default will
# be the number of CPUs available. (integer value)
#trove_api_workers=None

#DB Api Implementation
db_api_implementation = trove.db.sqlalchemy.api

# Configuration options for talking to nova via the novaclient.
# These options are for an admin user in your keystone config.
# It proxy's the token received from the user to send to nova via this admin users creds,
# basically acting like the client via that proxy token.
nova_proxy_admin_user = admin
nova_proxy_admin_pass = 3de4922d8b6ac5a1aad9
nova_proxy_admin_tenant_id =
trove_auth_url = http://0.0.0.0/identity/v2.0
os_region_name = RegionOne
nova_compute_service_type = compute
nova_service_name = Compute Service

# Config option for showing the IP address that nova doles out
ip_regex = ^(15.|123.)
black_list_regex = ^(10.0.0.)

# Config options for enabling volume service
trove_volume_support = True
nova_volume_service_type = volume
nova_volume_service_name = Volume Service
device_path = /dev/vdb
max_accepted_volume_size = 25
max_instances_per_tenant = 55
max_volumes_per_tenant = 100
max_backups_per_tenant = 5
volume_time_out=30

# Config options for rate limits
http_get_rate = 500
http_post_rate = 500
http_put_rate = 500
http_delete_rate = 500

# default datastore
default_datastore = a00000a0-00a0-0a00-00a0-000a000000aa

# Auth
admin_roles = admin

# Users to ignore for user create/list/delete operations
ignore_users = os_admin, root
ignore_dbs = lost+found, mysql, information_schema

# Guest related conf
agent_heartbeat_time = 10
agent_call_low_timeout = 5
agent_call_high_timeout = 150

server_delete_time_out=10
dns_time_out = 120
resize_time_out = 120
revert_time_out = 120

# usage notifications
notification_driver = trove.tests.util.usage
notification_service_id = mysql:123,percona:abc

control_exchange = trove

paste_config_file=api-paste.ini.test

[mysql]
root_on_create = False
volume_support = True
device_path = /dev/vdb

[redis]
# redis uses local storage
volume_support = False
# default device_path = None

[cassandra]
volume_support = True
device_path = /dev/vdb

[couchbase]
volume_support = True
device_path = /dev/vdb

[mongodb]
volume_support = True
device_path = /dev/vdb

[database]
# SQLAlchemy connection string for the reference implementation
# registry server. Any valid SQLAlchemy connection string is fine.
# See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine
connection = sqlite:///trove_test.sqlite
#connection = mysql+pymysql://root:e1a2c042c828d3566d0a@localhost/trove
#connection = postgresql://trove:trove@localhost/trove

# Period in seconds after which SQLAlchemy should reestablish its connection
# to the database.
#
# MySQL uses a default `wait_timeout` of 8 hours, after which it will drop
# idle connections. This can result in 'MySQL Gone Away' exceptions. If you
# notice this, you can lower this value to ensure that SQLAlchemy reconnects
# before MySQL can drop the connection.
idle_timeout = 3600

[composite:trove]
use = call:trove.common.wsgi:versioned_urlmap
/: versions
/v1.0: troveapi

[app:versions]
paste.app_factory = trove.versions:app_factory

[pipeline:troveapi]
pipeline = faultwrapper authtoken authorization contextwrapper ratelimit extensions troveapp
# pipeline = debug troveapp

[filter:extensions]
paste.filter_factory = trove.common.extensions:factory

[filter:authtoken]
paste.filter_factory = trove.tests.fakes.keystone:filter_factory
service_protocol = http
service_host = 127.0.0.1
service_port = 5000
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
www_authenticate_uri = http://127.0.0.1/identity/

[filter:authorization]
paste.filter_factory = trove.common.auth:AuthorizationMiddleware.factory

[filter:contextwrapper]
paste.filter_factory = trove.common.wsgi:ContextMiddleware.factory

[filter:faultwrapper]
paste.filter_factory = trove.common.wsgi:FaultWrapper.factory

[filter:ratelimit]
paste.filter_factory = trove.tests.fakes.limits:FakeRateLimitingMiddleware.factory

[app:troveapp]
paste.app_factory = trove.common.api:app_factory

#Add this filter to log request and response for debugging
[filter:debug]
paste.filter_factory = trove.common.wsgi:Debug