Before you can use VMware vCenter images with the blueprint designer, you must
install cloud-init and a virtual CD-ROM drive on those images.
Cloud-init is a set
of scripts and utilities that cloud systems use to initialize and configure
instances.
Procedure
- On the image, install a package for cloud initialization.
- If you use a Linux image, install the cloud-init
package, version 0.7.5 or version 0.7.6. This package is available from the Red Hat Network (RHN)
common channel. On Linux images, you can often install
cloud-init with the package manager. For example, if you are using a Red Hat Enterprise Linux (RHEL) version 7 image, you can enable the common
repository and install cloud-init with the following
command:
yum install --enablerepo rhel-7-server-rh-common-rpms cloud-init
You
might need to adapt this command for your distribution of Linux. For example, for RHEL version 6, substitute the repository
rhel-6-server-rh-common-rpms in this command. If you have a problem enabling the
common repository, you might need to subscribe to the common channel with a command that is similar
to the following
example:subscription-manager repos --enable=rhel-7-server-rh-common-rpms
Then,
try running the install command again.
The
following instructions assume that cloud-init was installed by the yum package
manager. You might need to adapt these instructions to work with other package managers or other
distributions of Linux.
- If you use a Windows image, install the
cloudbase-init package. Download it from https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta.msi and install it by following the procedure at http://www.cloudbase.it/cloud-init-for-windows-instances/. Accept the default values, and
ensure that the user name is Administrator.
- Optional: On a Linux image, enable password access through SSH for
the root user:
- Open the file /etc/cloud/cloud.cfg in a text editor.
- Remove any lines of code that begin with disable_root.
- Add the following line of code:
disable_root: 0
- Save your changes to the file.
- Optional: If you want to run Chef roles on the image, run the automated script to install the
heat-config toolchain on the image.
Note: Chef roles are supported only on RHEL version 7 images.
- Download and extract the file os-chef-config-hook.tgz. This file is provided in the heat engine installation media and is in the following location:
/installation_files_location/ibm-ucd-patterns-install/engine-install/resources
- Copy the file install.sh to a temporary folder, such as
/tmp/install_chain.
- On the command line, move to the temporary folder.
- Run the following command:
./install.sh > install.log 2>&1
This command might take
several minutes to complete.
- Verify that the command ran successfully by looking at the end of the file
install.log. The end of this file should show the output of the
os-collect-config command, as in the following
example:
+ cat /etc/os-collect-config.conf
[DEFAULT]
command = os-refresh-config
+ os-collect-config --one-time --debug
2015-08-14 13:51:30.764 27527 WARNING os_collect_config.ec2 [-] ('Connection aborted.', error(101, 'Network is unreachable'))
2015-08-14 13:51:30.765 27527 WARNING os-collect-config [-] Source [ec2] Unavailable.
2015-08-14 13:51:30.765 27527 WARNING os_collect_config.cfn [-] No Access Key ID configured.
2015-08-14 13:51:30.766 27527 DEBUG os-collect-config [-] Source [cfn] Not configured. collect_all /usr/lib/python2.6/site-packages/os_collect_config/collect.py:153
2015-08-14 13:51:30.766 27527 WARNING os_collect_config.heat [-] No auth_url configured.
2015-08-14 13:51:30.766 27527 DEBUG os-collect-config [-] Source [heat] Not configured. collect_all /usr/lib/python2.6/site-packages/os_collect_config/collect.py:153
2015-08-14 13:51:30.767 27527 WARNING os_collect_config.request [-] No metadata_url configured.
2015-08-14 13:51:30.767 27527 WARNING os-collect-config [-] Source [request] Unavailable.
2015-08-14 13:51:30.767 27527 WARNING os_collect_config.local [-] /var/lib/os-collect-config/local-data not found. Skipping
2015-08-14 13:51:30.767 27527 WARNING os_collect_config.local [-] No local metadata found (['/var/lib/os-collect-config/local-data'])
2015-08-14 13:51:30.768 27527 DEBUG os-collect-config [-] No changes detected. __main__ /usr/lib/python2.6/site-packages/os_collect_config/collect.py:274
- Optional: Verify that the Chef client and the knife command line tool are running.
- To confirm that the Chef client is running, on the command line, run the following command:
chef-client -v
The version number is displayed. If the Chef client is not
running, manually install it. See Chef Downloads: Chef Client.
- To confirm that the knife command line tool is running, on the command line, run the following
command:
knife -v
The version number is displayed. If the knife command line
tool is not running, manually configure the Chef development kit. See Install the Chef
DK.
- Install a virtual CD-ROM drive on your image. See Add a DVD or CD-ROM Drive to a Virtual Machine.
- Capture the image as a template for the cloud system:
- Shut down the image. For example, on a Linux image, run the following command:
shutdown -h now
- From the VMware vSphere Web Client, find your instance.
- Right-click the instance and then click Clone to Template
and follow the steps to create a template from your image.
What to do next
You can use the image with the blueprint designer. See
Modeling environments for VMware vCenter.