-
Notifications
You must be signed in to change notification settings - Fork 36
/
quads.yml
207 lines (175 loc) · 8.05 KB
/
quads.yml
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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
###############################################
# This is the main configuration file for QUADS
# Configure for your environment
###############################################
#
# spare pool name. e.g. where your unused systems rest
spare_pool_name: cloud01
spare_pool_description: "Spare Pool"
spare_pool_owner: quads
# Define the name of the QUADS environment
lab_name: "Lab"
# display name for QUADS email notifications
mail_display_name: "QUADS Scheduler"
# set header for User-Agent:
mail_user_agent: "Rufus Postman 2.1.6"
domain: example.com
log: /opt/quads/log/quads.log
quads_base_url: http://127.0.0.1:5000/
# used for reporting
# add your email here to receive copies of notification emails
# set to true to receive notifications when:
# 1) upon cloud definition for a future workload
# 2) upon passing of validated tests
# 3) 1,3,5,7 days out from when assignment ends
email_notify: true
## email server settings
# this is for your mail relay host
# in containers we use the podman container host itself, you should
# change this to localhost if you want to use the mail relay on the localhost
# and you're not running quads in containers
email_host: 172.16.0.1
# * Note* you'll need Supybot with the notify plugin
# these setting use netcat to send messages to Supybot
irc_notify: false
ircbot_ipaddr: 192.168.0.100
ircbot_port: 5050
ircbot_channel: #yourchannel
# support for sending webhook notifications on assignment release
webhook_notify: false
webhook_url: https://chat.example.com/v1/spaces/AAABBBCCC
# (optional ticket system URL) in this case we're using JIRA
ticket_url: https://issues.example.com/browse
# (optional ticket queue name) this is typically the ticket queue
# name or abbreviation in the case of JIRA
ticket_queue: SCALELAB
# Jira Specific Variables
jira_url: https://issues.example.com/rest/api/2
# takes 2 values only, basic or token, defaults to basic
# basic will make use of jira_username and jira_password
# token will make use of jira_token
jira_auth: basic
jira_username: admin
jira_password: password
jira_token: YourJiraTokenHereKeepItSafe
# this is used in some of the wiki generate for the links
quads_url: https://quads.scalelab.example.com
# url for a request form if you use one
# e.g. http://scalelab.example.com
quads_request_url:
# Deadline day you'd like extension requests for assignments
# to be submitted prior to, e.g. Wednesday
quads_request_deadline_day:
# Quads API authentication
quads_api_username: [email protected]
quads_api_password: password
# Foreman Specific Variables
# foreman URL
# set to true of foreman unavailable (useful for testing)
foreman_unavailable: true
foreman_url: http://foreman.example.com/hosts/
foreman_api_url: https://foreman.example.com/api/v2
foreman_username: admin
foreman_password: password
# more foreman settings for your OS, medium, partition table
foreman_default_os: "RHEL 7"
foreman_default_ptable: "generic-rhel7"
foreman_default_medium: "RHEL Local"
# Foreman RBAC fix ignore
# variable to pass cloud names to be excluded from foreman_heal
# with values separated by pipes 'cloud32|cloud04' or singularly 'cloud02'
foreman_rbac_exclude:
# omit these hosts (used for wiki generation)
# These are typically hosts known to your foreman that you don't
# want to pull into the wiki. (this is a regexp, e.g. 'host1|host2')
exclude_hosts: cyclades|s4810|z9000|5548|foreman|c08-h30-r630|c08-h05-r930|b08-|e05-h25|zfs01
# Foreman naming convention is <rack>-<u-location>-<type>
# e.g. c01-h23-r620 is an r620 type host in rack c01 at u-location 23
racks: b09 b10 c01 c02 c03 c04 c05 c06 c07 c08 c09 c10
# visual web dir is where the visual HTML representation of the lab usage goes
visual_web_dir: /opt/quads/web/visual
# this is where we place the generated instackenv.json files
# directory needs to be readable by the nginx user
json_web_path: /opt/quads/web/instack
# path to the user specific web content for quads-web
web_content_path: /opt/quads/web
web_exclude_dirs: .git static instack visual
# number of days of retaining old .json files
json_retention_days: 0
# untouchable_hosts are hosts that should be avoided by QUADS in any way.
# use this to define hosts QUADS should never move.
untouchable_hosts: foreman.example.com c08-h30-r630.example.com
# Lab location for use with pass complexity as `{infra_location}@{ticket}`
infra_location: rdu2
# ipmi QUADS admin user/pass
# this is the IPMI account QUADS uses
ipmi_username: root
ipmi_password: password
# ipmi user account
# this is the account you create for users
# to interact with the ipmi
ipmi_cloud_username: quads
ipmi_cloud_password: password
ipmi_cloud_username_id: 4
ipmi_reset_sleep: 10
# This stores the username for connecting to junos switches
junos_username: scaleadmin
# Do you have managed PDUs?
pdu_management: false
# Openstack variable for generation of instack env json files
# Setting this to false will prevent quads from generating and
# displaying instack env json files on quads wiki
openstack_management: false
# OpenShift variable for generation of inventory files
# Setting this to false will prevent quads from generating and
# displaying ocpinventory files on quads wiki
openshift_management: false
# Validation grace period in minutes
# This gives the validation logic some time for the hosts to complete
# provisioning. Value in minutes.
validation_grace_period: 120
# switch specific config
# sw_vlan_first - The first VLAN ID used for the first interface of cloud01
# this defaults to 1100 unless set otherwise.
sw_vlan_first: 1100
# default behavior is to change wipe back to true when all schedules expire
# Use this carefully! Setting this to False will leave "wipe" behavior alone which
# could cause issues unless you are certain what you are doing.
# In most cases, leave it commented, or set to True
default_wipe: True
# If you're using metadata model / search you want to add any system models
# here. Please see docs/quads-host-metadata-search.md
models: R620,R630,R640,R650,R660,R760,R930,R730XD,FC640,DL360,6018R,6048R,1029U-TRTP,1029U-TN10RT,1029P,5039MS,6049P
# Amount of hours for locking a cloud for redefinition
cloud_reservation_lock: 48
# Continue to send notifications for expiration until assignments are
# actually extended. We set this because our ticket system (JIRA) is not tied
# into QUADS to silence expiration notices if an expiration request is
# submitted, only when it's executed will notifications cease.
# Unless you have done custom modification of notify.py/QUADS to tie toggling
# database flags for 'message' you want to leave this alone.
# Leaving the below to True will include a message in expiration notifications
# that users can ignore future expiration warnings if they have already
# submitted an extension request but it hasn't been executed yet.
quads_notify_until_extended: True
# Comma separated docs links for jira ticket template
jira_docs_links: http://wiki.example.com/faq/,http://wiki.example.com/usage/,http://docs.example.com/wiki/ScaleLabTipsAndTricks
# If you're not using the routable VLAN functionality, leave the example entries
# intact below
jira_vlans_docs_links: http://wiki.example.com/vlans/,http://wiki.example.com/public-vlans/
# This following variable will determine the default PXE boot interface
# when defining a new host. This variable will be overridden if pxe flag
# is passed when used in --add-interface argument.
# This will be most useful when generating the instack_env json
default_pxe_interface: em2
# This following variable specifies an omission list of certain destination
# clouds, partial hostnames or domain names of hosts on which the --move-hosts
# command will not perform the network automation portions of a QUADS move.
# Other parts like provisioning, update of host/cloud object fields, IPMI RBAC,
# Foreman RBAC, etc., will still be performed.
# Example:
# omit_network_move; cloud14, f02-h01-000-r650.example.com, tng.example.com
# This example would omit all hosts containing any of these values in their address/hostname
# and also omit network automation portion for any hosts moving to cloud14.
omit_network_move: