Skip to content

Commit 565b0c3

Browse files
committed
Rewrite vApp provisioning chapter to reflect recent status
With this commit we provide more accurate instructions for preparing vApp templates (on vCloudDirector), creating catalog items (on CloudForms) and ordering them. We provide images from ManageIQ mask because we didn't have CloudForms appliance available for the time of writing. Signed-off-by: Miha Pleško <miha.plesko@xlab.si>
1 parent 66ea6f9 commit 565b0c3

File tree

7 files changed

+171
-24
lines changed

7 files changed

+171
-24
lines changed

SUMMARY.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
.. link:vcd_installation_guide/topics/vcd-rabbitmq.adoc[Event monitoring configuration]
99
.. link:vcd_installation_guide/topics/adding-vcd-provider.adoc[Adding a new VMware vCloud Director cloud provider in CloudForms]
1010
.. link:vcd_installation_guide/topics/vcd-vapp-provision.adoc[vApp template provisioning through CloudForms]
11+
.. link:vcd_installation_guide/topics/vcd-console-access.adoc[Remote Console Access through Red Hat CloudForms]
100 KB
Loading
61.9 KB
Loading
23 KB
Loading
17.4 KB
Loading
49 KB
Loading
Lines changed: 170 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,189 @@
1-
== vApp Provision in vCloudDirector through Red Hat CloudForms
1+
== vApp Provisioning in vCloudDirector through Red Hat CloudForms
22

3-
The VMware vCloudDirector uses vApps as a basic entity on which power operations are performed. The vApp can include one or more virtual machines and in CloudForms a vApp is represented as a type of orchestration stack. User can find more information about vApps on link:https://pubs.vmware.com/vca/index.jsp?topic=%2Fcom.vmware.vca.od.ug.doc%2FGUID-3F4BF45F-89CE-4478-B6D5-5BD7EE749C08.html[VMware pages].
3+
*vApp template* is basic entity of provisioning on VMware vCloudDirector. It describes both virtual
4+
machines specifications and vApp networks specifications as well as connection between the two.
5+
In CloudForms, vApp template is inventoried as an orchestration stack template and can be assigned
6+
a service dialog to allow provisioning.
47

5-
Note: Currently CloudForms cannot change any attributes of a vApp or any virtual machines inside vApp. All vApp modification should be realized throug VMware vCloud Director.
8+
NOTE: CloudForms currently only supports vApp provisioning through vApp template instantiation.
9+
Composing a new vApp is not supported at the moment.
610

711
=== Prerequisites
8-
.The vApp provision process requires:
12+
.vApp provisioning process (through CloudForms) requires:
913
* Properly configured vCloudDirector:
10-
- Valid Organization
11-
- Organization VCD (virtual data center)
12-
- Catalog populated with vApps
14+
- desired vApp template must be available in Catalog owned by or shared by our organization. In case
15+
of shared catalog, CloudForms settings must allow inventoring public images.
16+
- vApp template should be prepared following some recommendations (please see below) to offer better
17+
experience to user when provisioning request customization.
1318
* Properly configured CloudForms:
14-
- VMware Cloud provider added (vCloudDirector, organization level access)
19+
- Setting `:get_public_images:` must be set to `true` in case we're using vApp template from shared
20+
catalog. vApp template won't be inventoried otherwise.
21+
- VMware vCloud cloud provider added and inventory fetched
1522

16-
=== vApp provision process
17-
The vApp provision process is comprised of several steps. First the Service Dialog is required to be created. After this the new Service Item to provision the vApp is added to the Catalog.
23+
Following guide assumes VMware vCloud cloud provider inventory is successfully fetched, meaning also
24+
vApp template is stored in CloudForms as an orchestration template. Please verify by navigating to
25+
`Services -> Catalogs` in the main menu and then examining `Orchestration Templates -> vApp Templates`
26+
tab. Your vApp template should be listed there.
1827

19-
==== Create a service dialog for vApp
20-
In the CloudForms navigate to "Services>Catalogs>Orchestration templates". In "All Orchestration Templates" folder find "vApp templates" and choose vApp template. Now from Configuration menu choose "Create Service Dialog from Orchestration template". Choose the name of the Dialog and save the dialog.
28+
=== vApp template design recommendations
29+
CloudForms is able to inventory and provision any vApp template obtained from vCloudDirector, but not all
30+
of them will be fully customizable due to following limitations:
2131

32+
* **Adding/removing vApp networks not supported.** Service dialog supports editing any vApp network that is defined in
33+
vApp template, but creating/deleting them is currently not supported. Bear this in mind when preparing vApp template
34+
on vCloudDirector: if you expect user will want to hook VM's NIC to a vApp network, please create it upon vApp
35+
template creation.
36+
* **Connecting vApp network to VDC network.** Service dialog is currently not able to determine what
37+
value to select initially in vApp network's drop-down for selecting parent network, therefore it always
38+
selects none. User is then offered to pick desired VDC/external network to connect vApp network to. Please
39+
take this into account when preparing vApp template: rather connect all VM's NICs to isolated vApp
40+
networks and let user connect those to VDC/external networks during provisioning customization.
41+
* **Real-time validation not supported.** Service dialog will capture all the customization parameters
42+
from user and send provisioning request to CloudForms backend, automation engine, where it will be
43+
executed. Potential problems with service dialog parameters (e.g. duplicated vApp name) will only be
44+
visible via CloudForms logging mechanism. For this reason we recommend you to prepare vApp templates in
45+
a way that minimizes probability of failing request:
2246

23-
==== Create a Catalog item
47+
** Make sure VMs actually boot and that they have VMware Tools already installed. If not, provisioning
48+
may fail if user opts-in to enable guest customization. Alternatively, make sure guest customization is
49+
disabled by default to let user know she probably shouldn't turn it on.
50+
** Make sure VDC (virtual data center) has enough resources. If no IP addresses are available, for example,
51+
and user opts-in for IP allocation using IP pool, provisioning will fail.
2452

25-
NOTE: This step assumes that there is at least one catalog already create.
53+
=== vApp provisioning process
54+
vApp provisioning is a three-step process. First step is catalog item preparation, carried out by VMware vCloud
55+
cloud provider's owner. Catalog item represents orderable unit, ordering one is in fact vApp
56+
template provisioning through CloudForms. Second step is catalog item ordering, carried out by user.
57+
Final step is order approval, carried out by owner:
2658

27-
In the CloudForms navigate to "Services>Catalogs>Catalog Items". From Configuration menu, choose "Add New Catalog Item". In "Catalog Item" menu choose "Orchestration".
59+
. Catalog, service dialog and catalog item preparation (owner)
60+
. Catalog item ordering with customization (user)
61+
. Order approval, which results in actual provisioning to happen (owner)
62+
63+
NOTE: New catalog item and service dialog need to be created for each vApp template. But they
64+
can be added to the same catalog.
65+
66+
==== Catalog, service dialog and catalog item preparation
67+
Login into CloudForms where you have your VMware vCloud cloud provider added. Then follow these steps to
68+
create a new catalog and catalog item (with service dialog) that users will be able to order.
69+
70+
===== Prepare catalog
71+
Navigate to _Services -> Catalogs_ in the main menu and then open _Catalogs_ tab. Option _Configuration ->
72+
Add a New Catalog_ appears in center menu. Please pick descriptive catalog name and click "Add".
73+
74+
===== Prepare service dialog
75+
Navigate to _Services -> Catalogs_ in the main menu and then open _Orchestration Templates -> vApp
76+
Templates_ tab. Your vApp template should be listed here. When you select it, option _Configuration ->
77+
Create Service Dialog from Orchestration Template_ appears in center menu. Please pick descriptive
78+
service dialog name and click "Save".
79+
80+
===== Prepare catalog item
81+
Navigate to _Services -> Catalogs_ in the main menu and then open _Catalog Items_ tab. Option _Configuration ->
82+
Add a New Catalog Item_ appears in center menu.
2883

2984
image:../../images/vcd-vapp04-itemtype.png[alt="Select Orchestration stack"]
3085

86+
Choose "Orchestration" type and populate form with appropriate data:
87+
88+
image:../../images/vapp_provisioning/catalog-item-create.png[alt="Create catalog item"]
89+
90+
|=====================================================================================
91+
| "Name / Description" | catalog item name and description
92+
| "Display in Catalog" | yes
93+
| "Catalog" | catalog that was created in previous step
94+
| "Dialog" | service dialog that was created in previous step
95+
| "Orchestration Template" | vApp template that service dialog was created for
96+
| "Provider" | VMware vCloud cloud provider instance that service dialog was created for
97+
| "Provisioning Entry Point" | (leave default)
98+
| "Reconfigure Entry Point" | (leave default)
99+
| "Retirement Entry Point" | (leave default)
100+
|=====================================================================================
101+
102+
IMPORTANT: Selected orchestration template *MUST* match vApp template that service
103+
dialog was created from. Provisioning will fail otherwise.
104+
105+
IMPORTANT: Selected provider *MUST* match VMware vCloud cloud provider instance that
106+
service dialog was created for.
107+
108+
Eventually click "Add" to save catalog item. It becomes visible in catalog and therefore available for
109+
users to order it.
110+
111+
==== Catalog item ordering with customization
112+
Login into CloudForms as a regular user. Then follow steps below to customize and order catalog item.
113+
114+
Navigate to _Services -> Catalogs_ in the main menu and then open _Service Catalogs_ tab. Select desired
115+
catalog item from the list and click "Order":
116+
117+
image:../../images/vapp_provisioning/catalog-item-pick-to-order.png[alt="Pick catalog item to order"]
118+
119+
Service dialog opens offering you vApp template customization prior ordering. Exact number of
120+
inputs varies depending on concrete vApp template it bases on, but there are always three main
121+
sections present: basic information section, vApp networks customization section and virtual machines customization
122+
section. You need to fill-in the basic section while other sections are optional and can be left with
123+
default values.
124+
125+
===== Basic information section of vApp template provisioning dialog
126+
image:../../images/vapp_provisioning/catalog-item-section-basic.png[alt="Basic section"]
127+
128+
Below please find essential fields bold that must always be filled-in. All other fields are optional
129+
and don't need to be modified for provisioning to succeed:
130+
131+
|=====================================================================================
132+
| "Tenant" | (leave default)
133+
| *"Stack Name"* | new vApp name
134+
| *"Availability zone"* | VDC to deploy the new vApp to
135+
| "vApp Template" | (leave default)
136+
| "Deploy vApp" | whether vApp should be deployed upon provisioning
137+
| "Power On vApp" | whether vApp should be powered on upon provisioning
138+
|=====================================================================================
139+
140+
===== vApp networks customization section of vApp template provisioning dialog
141+
image:../../images/vapp_provisioning/catalog-item-section-vapp-network.png[alt="vApp network section"]
142+
143+
Service dialog displays one vApp network customization section form (see screenshot above) for each vApp
144+
network from given vApp template. Default values are populated based on vApp template defaults.
145+
146+
|=====================================================================================
147+
| "Parent Network" | VDC/external network to connect this vApp network to. Leave unselected to keep
148+
vApp network isolated i.e. limited to vApp only
149+
| "Fence Mode" | How to connect to parent VDC/external network. Please select "Isolated" when not
150+
connecting to any VDC/external network
151+
| "Gateway" | vApp network's default gateway
152+
| "Netmask" | vApp network's netmask
153+
| "DNS1", "DNS2" | IP addresses of DNS servers (optional)
154+
|=====================================================================================
31155

32-
.Populate the Orchestration dialog with appropriate data:
33-
* Name
34-
* Tick "Display in Catalog"
35-
* Choose Catalog
36-
* Find the dialog, created in "Create a Service Dialog for vApp" step.
37-
* Select a provider
156+
===== VM customization section of vApp template provisioning dialog
157+
image:../../images/vapp_provisioning/catalog-item-section-vm.png[alt="VM section"]
38158

39-
Saving the from concludes the step of creating the catalog.
159+
Service dialog displays one VM customization section form (see screenshot above) for each VM from given vApp
160+
template. Number of form fields varies depending on number of disks attached to VM and number
161+
of NICs (network interface cards) attached to VM. Screenshot above shows form for VM with one disk (Disk 0)
162+
and two NICs (NIC#0 and NIC#1).
40163

41-
==== Provision (order) vApp service
164+
|=====================================================================================
165+
| "Instance Name" | VM name
166+
| "Instance Hostname" | VM hostname i.e. computer name (can only contain alphanumeric characters and
167+
hypens)
168+
| "Number of virtual CPUs" | how many virtual CPU cores to assign to VM
169+
| "Cores per socket" | how many virtual CPU cores to assign to each CPU socket (must be a divisor
170+
of number of CPU cores)
171+
| "Total memory (MB)" | VM memory in megabytes
172+
| "Guest customization" | whether to apply guest customization (administrator password etc.) to the
173+
guest operating system. Please enable this only for VMs that support guest
174+
customization or provisioning will fail.
175+
| "Administrator Password" | password to apply upon first VM boot. Leave empty to let vCloudDirector
176+
autogenerate it for you. Guest customization must be enabled for this to work.
177+
| "Require password change"| require administrator to change password upon first login
178+
| "Disk _n_ (MB)" | disk size in megabytes. Original value can only be increased, decreasing it will
179+
fail provisioning. Form input is rendered per VM's disk.
180+
| "NIC#_n_ Network" | vApp network to connect NIC to. Form input is rendered per VM's NIC.
181+
| "NIC#_n_ Mode" | NIC's IP allocation mode. Please also specify static IP address in case you
182+
opt-in for Static - MANUAL. Form input is rendered per VM's NIC.
183+
| "NIC#_n_ IP Address" | NIC's static IP address. Ignored unless mode is set to Static - MANUAL
184+
Please make sure IP address is within vApp network's range or provisioning
185+
will fail. Form input is rendered per VM's NIC.
186+
|=====================================================================================
42187

43-
In the CloudForms navigate to "Services>Catalogs>Service Catalog". Choose your preferred Catalog where you saved the vApp service item and "Order" the item. Choose stack (vApp) name, Select availability zone, vApp parameters and Network. Submit the order for approval.
188+
Click "Submit" to submit order. Please note that VMware vCloud cloud provider owner needs to approve your order
189+
before it gets provisioned.

0 commit comments

Comments
 (0)