-
Notifications
You must be signed in to change notification settings - Fork 0
/
plugin.spec
195 lines (175 loc) · 8.17 KB
/
plugin.spec
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
---
config:
plugin_type: provision
subparsers:
virsh:
description: Provision virtual machines on a single Hypervisor using libvirt
include_groups: ["Ansible options", "Inventory", "Common options", "Answers file"]
groups:
- title: Hypervisor
options:
host-address:
type: Value
help: 'Address/FQDN of the BM hypervisor'
required: yes
host-user:
type: Value
help: 'User to SSH to the host with'
default: root
host-key:
type: Value
help: "User's SSH key"
required: yes
host-validate:
type: Bool
help: |
Validate and enable virtualization on the hypervisor.
Disable this option if you already know your hypervisor support virtualization and that it
is enabled.
default: True
host-memory-overcommit:
type: Bool
help: |
By default memory overcommitment is false and provision will fail if Hypervisor's free
memory is lower than required memory for all nodes. Use `--host-mem-overcommitment True`
to change default behaviour.
default: False
host-mtu-size:
type: Value
help: |
Setting the custom MTU size on the provided networks of the Hypervisor. If the custom size is not defined,
the default MTU size of '1500' will be used.
default: False
- title: image
options:
image-url:
type: Value
help: |
URL to the image used for node provisioning.
Default url to RHEL 7.6 guest image
RHEL 7.6 is unavailable for OSP7 and OSP11
default: https://url.corp.redhat.com/rhel-guest-image-7-6-210-x86-64-qcow2
force-image-download:
type: Bool
help: |
Forces downloading the image.
If 'False' (default), the image won't be downloaded if one already exists on the destination
default: False
disk-pool:
type: Value
help: |
A path to the image pool. Default is Storage Pool from libvirt
default: "/var/lib/libvirt/images"
image-mirror-url:
type: Value
help: |
URL to location where auxiliary images are placed.
default: https://url.corp.redhat.com/rhos-qe-mirror-tlv
- title: topology
options:
prefix:
type: Value
help: |
Prefix VMs and networks names with this value. If this value is
more than 4 characters long some resources like bridges will fail
to create due to name lengths limit.
length: 4
# fixme(yfried): add support for user files
topology-network:
type: VarFile
help: |
Network configuration to be used
__LISTYAMLS__
default: 3_nets
topology-net-url:
type: Value
help: |
URL of network configuration to apply
topology-nodes:
type: ListOfTopologyFiles
help: |
Provision topology.
List of of nodes types and they amount, in a "key:value" format.
Example: "'--topology-nodes 'undercloud:1,controller:3,compute:2'"
__LISTYAMLS__
topology-username:
type: Value
default: cloud-user
help: |
Non-root username with sudo privileges that will be created on nodes.
Will be use as main ssh user subsequently.
topology-extend:
type: Bool
default: False
help: |
Use it to extend existing deployment with nodes provided by topology.
topology-timezone:
type: Value
help: |
If provided infrared will set specific timezone for the topology. Value
has to be a valid timezone.
None: Option change Hypervisor Timezone also
- title: Advanced Settings
options:
serial-files:
type: Bool
default: False
help: |
Redirect the VMs serial output to files.
Files can be found under /var/log/sfiles/{prefix-node_name-node_number}.log
For example: /var/log/sfiles/XYZ-undercloud-0.log
- title: cleanup
options:
cleanup:
type: Bool
help: Clean given system instead of running playbooks on a new one.
# FIXME(yfried): setting default in spec sets silent=true always
# default: False
silent:
- topology-nodes
kill:
type: Bool
help: Destroy and undefine libvirt resources for the given workspace instead of running playbooks on a new one.
# FIXME(yfried): setting default in spec sets silent=true always
# default: False
silent:
- topology-nodes
remove-nodes:
type: ListValue
help: |
Use it to remove nodes from existing topology.
Example: compute-3,compute-4,compute-5
- title: Boot Mode
options:
bootmode:
type: Value
help: |
Desired boot mode for VMs.
May require additional packages, please refer http://infrared.readthedocs.io/en/stable/advance_features.html#uefi-mode-related-binaries
NOTE: 'uefi' bootmode is supported only for nodes without OS.
choices: ['hd', 'uefi']
default: hd
- title: Disk Bus
options:
disk-bus:
type: Value
help: |
Desired bus to use for disks, please refer to: https://wiki.qemu.org/Features/VirtioSCSI
Some of disk busses supports different modes:
choises: ['virtio', 'scsi']
default: 'virtio'
- title: Custom virt-install options
options:
virtopts:
type: Value
help: |
Any custom options to be appended to virt-install command.
Usefull for special cases when one may want to override specific
options used for spawning vms (memballoon, rng and such).
default: ''
- title: ansible facts
options:
collect-ansible-facts:
type: Bool
help: Save ansible facts as json file(s)
default: False