Sco Admin Guide
Sco Admin Guide
Version 2.3
User's Guide
Note
Before using this information and the product it supports, read the information in Notices on page 1127.
Edition notice
This edition applies to IBM SmartCloud Orchestrator Version 2 Release 3 Fix Pack 1 (program number 5725-H28),
available as a licensed program product, and to all subsequent releases and modifications until otherwise indicated
in new editions.
The material in this document is an excerpt from the IBM SmartCloud Orchestrator 2.3 information center and is
provided for convenience. This document should be used in conjunction with the information center.
Copyright IBM Corporation 2013, 2014.
US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Tables. . . . . . . . . . . . . . . xiii
Preface . . . . . . . . . . . . . . xv
Who should read this information. . . . . . . xv
Chapter 1. Overview . . . . . . . . . 1
What is new in this release . . . . . . . . . 1
Product architecture . . . . . . . . . . . . 2
Product features . . . . . . . . . . . . . 5
Custom extensions . . . . . . . . . . . . 7
Overview of OpenStack. . . . . . . . . . . 8
Chapter 2. Installing . . . . . . . . . 9
Planning your installation . . . . . . . . . . 9
Installation overview . . . . . . . . . . 9
Installation scenarios . . . . . . . . . . 10
Manage vCenter scenario . . . . . . . . 11
Manage VMControl scenario . . . . . . 12
Scale-out KVM scenario . . . . . . . . 12
SmartCloud Orchestrator Enterprise
installation . . . . . . . . . . . . 12
Hardware prerequisites . . . . . . . . . 13
Software prerequisites . . . . . . . . . . 15
Supported operating systems . . . . . . . 16
Preparing the central server and the region server 17
Preparing the installation media . . . . . . . 21
Preparing the installation based on electronic
download packages. . . . . . . . . . . 21
Preparing the installation based on DVD images 22
Installing the central server . . . . . . . . . 23
Installing the region server . . . . . . . . . 26
List of the RPM packages added during installation 30
Installing a compute node . . . . . . . . . 44
Installing a KVM compute node by PXE. . . . 44
Installing a KVM compute node by script . . . 45
Installing a multiple-region environment . . . . 47
Verifying the installation . . . . . . . . . . 47
Performing advanced configuration tasks . . . . 49
Setting up virtual machines to install Central
Server and Region Server. . . . . . . . . 49
Managing networks . . . . . . . . . . 54
Creating a network for a KVM region . . . 54
Creating a VLAN-based network . . . . 54
Creating a flat network . . . . . . . 57
Creating a network for a VMware or Power
region . . . . . . . . . . . . . . 59
Configuring DNS for the Workload Deployer
IP groups . . . . . . . . . . . . . 61
Deleting the existing networks . . . . . . 62
Shutting down or starting Central Servers and
Region Servers . . . . . . . . . . . . 62
Integrating SmartCloud Orchestrator with
VMware vCenter . . . . . . . . . . . 63
Integrating SmartCloud Orchestrator with
VMControl . . . . . . . . . . . . . 66
Setting NTP servers . . . . . . . . . . 71
Configuring Memcached cache size . . . . . 72
Configuring Virtual Image Library proxies . . . 72
Removing a Compute Node . . . . . . . . 74
Removing a region . . . . . . . . . . . 75
Configuring LDAP authentication . . . . . . 77
Configuring LDAP authentication
independently of the domain . . . . . . 77
Configuring LDAP authentication on a
domain-by-domain basis . . . . . . . . 80
Using external Directory Integration tools with
LDAP authentication . . . . . . . . . 81
LDAP Keystone configuration file reference . 82
Modifying project quotas . . . . . . . . . 86
Preparing to install additional Enterprise
components . . . . . . . . . . . . . 87
Quick start guide for metering and billing . . 87
Confirming the creation of offerings and
categories . . . . . . . . . . . . . . 88
Changing the language settings for the vSys
offerings and categories . . . . . . . . 89
Changing the various passwords . . . . . . 89
Replacing the existing certificates . . . . . . 97
Archiving historical data . . . . . . . . 100
Content Pack installation . . . . . . . . . 101
Upgrading to Fix Pack 1. . . . . . . . . . 101
Upgrading from SmartCloud Provisioning 2.3 . . 103
High Availability . . . . . . . . . . . . 104
Using vSphere HA clusters . . . . . . . . 105
Configuring vSphere DRS . . . . . . . 106
Using System Automation Application Manager 107
Installing System Automation Application
Manager . . . . . . . . . . . . . 107
Starting System Automation Application
Manager . . . . . . . . . . . . . 108
Planning for System Automation Application
Manager configuration . . . . . . . . 109
Modifying the sample configuration files . . 110
Configuring System Automation Application
Manager . . . . . . . . . . . . . 117
(Optional) Post configuring System
Automation Application Manager with
SmartCloud Orchestrator . . . . . . . 121
Controlling the management stack . . . . 124
Troubleshooting System Automation
Application Manager . . . . . . . . . 125
Ports used by SmartCloud Orchestrator . . . . 126
Chapter 3. Getting started . . . . . . 131
Chapter 4. Administering . . . . . . 135
Starting or stopping SmartCloud Orchestrator . . 135
Accessing SmartCloud Orchestrator user interfaces 135
Managing the services . . . . . . . . . . 137
Managing services with SCOrchestrator.py . . 137
Copyright IBM Corp. 2013, 2014 iii
Running the SCOrchestrator.py script . . . 138
Running the SCOrchestrator.py script with
non-root user . . . . . . . . . . . 138
Example SCOComponents.xml . . . . . . 140
Example SCOEnvironment.xml . . . . . . 141
Backing up and restoring the services . . . . 141
Managing settings . . . . . . . . . . . . 142
Managing email delivery . . . . . . . . 142
Configuring email delivery with the user
interface . . . . . . . . . . . . . 143
Virtual Image Library configuration files . . . 143
Configuring the scalable web infrastructure
server . . . . . . . . . . . . . . . 145
Configuring session timeout value . . . . . 146
Configuring timeout value for Ajax calls . . . 146
Configuring OpenStack synchronization . . . 146
Configuring OpenStack connection . . . . . 148
Configuring OpenStack to support thin
provisioning. . . . . . . . . . . . . 149
Configuring memory and CPU overcommitment 149
Managing users, projects, and domains. . . . . 149
User roles in SmartCloud Orchestrator . . . . 151
Managing users . . . . . . . . . . . 153
Managing projects . . . . . . . . . . . 155
Managing domains . . . . . . . . . . 158
Using the Public Cloud Gateway . . . . . . . 159
Public Cloud Gateway overview . . . . . . 160
Capabilities and limitations. . . . . . . 160
Managing Amazon EC2 using the Public Cloud
Gateway . . . . . . . . . . . . . . 161
Prerequisites. . . . . . . . . . . . 161
Configuring the Public Cloud Gateway. . . 162
Managing non-IBM supplied OpenStack using
the Public Cloud Gateway . . . . . . . . 168
Prerequisites. . . . . . . . . . . . 168
Configure the Public Cloud Gateway to
manage non-IBM supplied OpenStack . . . 169
Configure the Public Cloud Gateway
regions for non-IBM supplied OpenStack . 170
Configure non-IBM supplied OpenStack
flavors. . . . . . . . . . . . . 171
Configure non-IBM supplied OpenStack
EC2 credentials . . . . . . . . . . 172
Configure IaaS Gateway and restart the
Public Cloud Gateway . . . . . . . 174
Post configuration tasks . . . . . . . . 175
Create a supported image . . . . . . 175
Troubleshooting . . . . . . . . . . . 176
Loss of functionality in Public Cloud
Gateway cloud groups . . . . . . . . 177
Loss of functionality in Public Cloud
Gateway cloud groups (2) . . . . . . . 178
Region names displayed incorrectly in the
Virtual Image page . . . . . . . . . 178
Unable to connect to a public cloud due to
missing credentials . . . . . . . . . 179
Unable to deploy instance to non-IBM
supplied OpenStack . . . . . . . . . 180
Inconsistencies in deployed instance names 180
MAC address field is empty . . . . . . 180
Reference. . . . . . . . . . . . . . 181
Key pairs. . . . . . . . . . . . . 181
Command-line interface scripts . . . . . 181
Password authentication on Amazon EC2
images . . . . . . . . . . . . . 181
Configuring the Public Cloud Gateway
regions to use a proxy server . . . . . . 182
Building the cloud with topology resources . . . 183
Managing cloud resources . . . . . . . . 183
Administering cloud groups . . . . . . 184
Managing availability zones in OpenStack 185
Fields on the Cloud Groups window . . 186
Administering hypervisors . . . . . . . 187
vCenter management . . . . . . . . 188
Restricting access to vCenter . . . . . 190
VMware administrative user minimum
rights . . . . . . . . . . . . . 190
Fields on the Hypervisors window . . . 191
Administering virtual machines . . . . 194
Administering networks. . . . . . . 203
Administering storage . . . . . . . 206
Hypervisor states . . . . . . . . . 207
Administering IP groups and IP addresses 208
IP groups. . . . . . . . . . . . 209
Administering IP groups and IP addresses
with the user interface . . . . . . . 210
Managing environment profiles . . . . . . 220
Environment profiles overview . . . . . 221
Managing environment profiles in the user
interface . . . . . . . . . . . . . 222
Creating an environment profile . . . . 223
Cloning an environment profile . . . . 227
Editing an environment profile . . . . 228
Environment Profiles window fields . . . 230
Populating the catalog . . . . . . . . . . 233
Managing script packages . . . . . . . . 234
Script packages overview . . . . . . . 235
Example script package to install an
application . . . . . . . . . . . 236
Example script to configure the trace
levels . . . . . . . . . . . . . 238
Example script package to create a server 239
Example script package to create a
WebSphere Application Server cluster . . 240
Using script packages with the user interface 242
Adding a script package. . . . . . . 243
Cloning a script package . . . . . . 245
Making script packages read-only . . . 246
Associating a script package with a
pattern . . . . . . . . . . . . 247
Deleting a script package . . . . . . 248
Windows sample to check if a file already
exists . . . . . . . . . . . . . 249
Configuring a script package using a JSON
object . . . . . . . . . . . . . . 250
Script package environment variables . . . 251
Properties variable syntax . . . . . . . 253
Managing add-ons . . . . . . . . . . 254
Add-ons in the catalog . . . . . . . . 255
Managing add-ons with the user interface 257
Adding add-ons to the catalog . . . . 258
Cloning an add-on . . . . . . . . 259
iv IBM SmartCloud Orchestrator 2.3: User's Guide
Editing an add-on . . . . . . . . . 261
Making add-ons read-only . . . . . . 262
Associating an add-on with a pattern . . 263
Deleting an add-on . . . . . . . . 264
Fields on the Add-Ons user interface . . 265
Managing key pairs . . . . . . . . . . . 268
Monitoring the task queue . . . . . . . . . 269
Auditing . . . . . . . . . . . . . . . 270
Audit events . . . . . . . . . . . . 271
Audit event record attributes and usage tips . . 272
Download options for audit event records . . . 277
Retrieving audit data with the user interface 278
Retrieving audit data with the REST API . . 279
Monitoring the status of audit data storage . . 283
Deleting audit data to free storage . . . . . 284
Chapter 5. Managing virtual images 287
Managing virtual images with the user interface 288
Importing a virtual image to the catalog . . . 289
Registering a virtual image . . . . . . . . 290
Removing a virtual image from the catalog . . 291
Virtual image fields on the user interface . . . 292
Adding images to OpenStack . . . . . . . . 294
Working with Virtual Image Library. . . . . . 295
Overview. . . . . . . . . . . . . . 295
Virtual Image Library basics . . . . . . 296
Installing and configuring . . . . . . . . 299
Installing . . . . . . . . . . . . . 299
Installing the proxy component . . . . 301
Configuring . . . . . . . . . . . . 303
Configuring Virtual Image Library server
and remote proxy components . . . . 303
Configuring Virtual Image Library proxies
with slow connectivity . . . . . . . 304
Configuring Virtual Image Library for
VMware . . . . . . . . . . . . 305
Uninstalling . . . . . . . . . . . . 306
Uninstalling Virtual Image Library . . . 306
Uninstalling the distributed proxy . . . 307
Best practices . . . . . . . . . . . 307
Managing reference images. . . . . . 307
Managing the remote proxy . . . . . 309
Changing the WebSphere account
password. . . . . . . . . . . . 310
Backing up and restoring the proxy . . . 310
Getting started . . . . . . . . . . . . 311
User roles and requirements . . . . . . 312
Assigning a role to a user . . . . . . 313
Adding an operational repository . . . . 314
Changing server access credentials . . . 316
Removing an operational repository . . . 316
Indexing an image. . . . . . . . . . 317
Enabling the Keystone user registry . . . . 318
Managing Virtual Image Library . . . . . . 318
Managing the resource access control list . . 319
Copying an image to the reference repository 320
Importing an image . . . . . . . . . 321
Copying an image from the reference
repository . . . . . . . . . . . . 322
Removing an image from the reference
repository . . . . . . . . . . . . 323
Tracking image version and provenance . . 323
Moving an image to a different version
chain . . . . . . . . . . . . . 325
Searching for images . . . . . . . . . 326
Comparing images . . . . . . . . . 326
Finding similar images . . . . . . . . 327
Synchronizing repositories . . . . . . . 328
Using the plug-in for vSphere Client . . . . 328
Troubleshooting . . . . . . . . . . . 330
Log files . . . . . . . . . . . . . 330
Changing the time zone . . . . . . . . 332
Known problems and limitations . . . . . 333
Limitations . . . . . . . . . . . 333
Cannot check in a deployed virtual
machine . . . . . . . . . . . . 334
Cannot connect to the HBase database . . 334
NoClassDefFoundError exception . . . 334
rbagent component does not start . . . 335
Error 404 - Too many open files . . . . 335
Cannot create HBase tables . . . . . . 336
Disk space lower than the safe threshold
value . . . . . . . . . . . . . 336
Configuring WebSphere Application
Server . . . . . . . . . . . . . 337
Modifying the default check out settings 337
Image checkout fails . . . . . . . . 338
Domain status is out of sync . . . . . 338
New region, new repository, or new
image does not appear . . . . . . . 339
Virtual Image Library fails with message
java.lang.NoClassDefFoundError . . . . 339
After moving a Linux image, you have
problems starting the image . . . . . 339
REST API reference . . . . . . . . . . 340
ImageManager API reference . . . . . . 341
Administration REST API . . . . . . 341
Analytics REST API . . . . . . . . 343
Connector REST API . . . . . . . . 350
Domain REST API. . . . . . . . . 358
Image log REST API . . . . . . . . 361
Location REST API . . . . . . . . 362
Operational repository REST API . . . . 364
Operational images REST API . . . . . 365
Users REST API . . . . . . . . . 381
Version chain REST API . . . . . . . 381
IaaS API reference . . . . . . . . . . 385
Glance API . . . . . . . . . . . 385
OVF metadata REST API . . . . . . 386
Working with IBM Image Construction and
Composition Tool . . . . . . . . . . . . 387
Installing, upgrading, and uninstalling Image
Construction and Composition Tool . . . . . 389
Installing IBM Image Construction and
Composition Tool on Linux. . . . . . . 390
Upgrading the Image Construction and
Composition Tool . . . . . . . . . . 393
Upgrading from a previous version . . . 393
Upgrading silently from a previous
version . . . . . . . . . . . . 394
Uninstalling the product. . . . . . . . 395
Uninstalling a fix pack . . . . . . . 395
Contents v
Uninstalling the Image Construction and
Composition Tool . . . . . . . . . 395
Uninstalling the Image Construction and
Composition Tool silently . . . . . . 396
Getting started . . . . . . . . . . . . 396
The basics . . . . . . . . . . . . 396
Universal identifiers . . . . . . . . . 397
System requirements . . . . . . . . . 398
Changing your user password. . . . . . 398
Managing the Image Construction and
Composition Tool server. . . . . . . . 399
Managing the firewall . . . . . . . . 399
Configuring cloud providers . . . . . . 399
Configuring the OpenStack cloud provider 400
Working with virtual images . . . . . . . 400
Importing base images from OpenStack . . 401
Building virtual images . . . . . . . . 401
Extending virtual images . . . . . . 403
Adding software bundles to virtual
images . . . . . . . . . . . . 403
Adding licenses to virtual images . . . 405
Adding personalities to virtual images 405
Synchronizing virtual images . . . . . 407
Capturing virtual images . . . . . . 409
Creating virtual images from a template 409
Managing software bundles . . . . . . 410
Preparing to create software bundles . . 411
Creating software bundles . . . . . . 412
Searching for bundles . . . . . . . 417
Extending software bundles . . . . . 417
Uploading large files when creating
software bundles . . . . . . . . . 418
Sharing software bundles . . . . . . 418
Using the command-line interface . . . . . 419
Command-line interface high-level procedure 420
Command-line interface overview . . . . 421
Downloading and configuring the
command-line interface . . . . . . . . 422
Invoking the command-line interface . . . 423
Invoking in interactive mode . . . . . 425
Invoking in batch mode . . . . . . . 426
Command-line interface resource object
reference . . . . . . . . . . . . . 428
Bundles reference . . . . . . . . . 428
Cloud providers reference . . . . . . 449
Images reference . . . . . . . . . 452
Users reference . . . . . . . . . . 461
Problem determination reference for the
command-line interface . . . . . . . 463
Getting help on the command-line interface 465
Troubleshooting issues with Image Construction
and Composition Tool . . . . . . . . . 466
Log files for troubleshooting . . . . . . 466
Setting logging levels for troubleshooting . . 467
Adjusting the configuration timeout settings 468
Log files for virtual image synchronization 469
Troubleshooting problems during VM
activation. . . . . . . . . . . . . 470
Working with enablement bundles . . . . 471
Updating Activation Engine in a virtual
image . . . . . . . . . . . . . . 472
Image Construction and Composition Tool
does not respond . . . . . . . . . . 473
Image Construction and Composition Tool
does not start after installation . . . . 473
Image Construction and Composition Tool
returns EOFException . . . . . . . 474
Install executable launcher error during
installation . . . . . . . . . . . . 474
Exec error 1 during installation . . . . . 475
Universal ID and version must be unique 475
Cancel - use the current file link does not
work . . . . . . . . . . . . . . 475
Failure during OVA disk conversion. . . . 476
Import or export of the OVA file fails . . . 476
Error occurs during OVA export . . . . . 476
Virtual image capture fails . . . . . . . 477
Extending an image fails . . . . . . . 477
Virtual images that contain old versions of
the activation engine cannot be deployed . . 479
Files are not replaced correctly . . . . . 479
The user interface stops responding while
uploading files . . . . . . . . . . . 479
Limitation when performing concurrent
updates . . . . . . . . . . . . . 480
Cannot remove software bundles from a
personality . . . . . . . . . . . . 480
Bundles are not displayed in the list of
compatible images. . . . . . . . . . 480
Limitation when adding bundles to a
personality . . . . . . . . . . . . 480
Limitation when deleting images that are
synchronizing . . . . . . . . . . . 481
Time lag when deleting virtual images . . . 481
Virtual image synchronization takes a long
time . . . . . . . . . . . . . . 481
Virtual image synchronization fails after five
hours for images . . . . . . . . . . 482
SSL exception . . . . . . . . . . . 483
Cannot pass characters for arguments on the
command line . . . . . . . . . . . 483
Deploying a pattern with parts created by
Image Construction and Composition Tool
might not work . . . . . . . . . . 483
Import fails using OpenStack cloud provider 484
New password is not set after upgrade or
reinstallation . . . . . . . . . . . 484
Virtual image synchronization problems . . 484
Synchronization fails for a virtual image
imported from a running virtual machine . 484
Virtual image synchronization fails
because of return code value . . . . . 485
Virtual image synchronization fails and
troubleshooting is not possible . . . . 487
Windows image synchronization fails . . 487
Synchronization fails on a Linux operating
system . . . . . . . . . . . . 488
Image management . . . . . . . . . . . 488
Creating new images or using existing images 488
Creating new AIX or Linux images or using
existing ones . . . . . . . . . . . 488
Prerequisites for KVM or VMware images 488
vi IBM SmartCloud Orchestrator 2.3: User's Guide
Creating new images or using existing
images on KVM . . . . . . . . . 490
Creating new images or using existing
images on VMware . . . . . . . . 492
Creating new images or using existing
images on VMControl . . . . . . . 492
Creating new Windows images or using
existing ones . . . . . . . . . . . 494
Prerequisites for KVM or VMware images 494
Creating new images or using existing
images on KVM . . . . . . . . . 497
Creating new images or using existing
images on VMware . . . . . . . . 498
Importing images . . . . . . . . . . . 498
Registering images . . . . . . . . . . 500
Deploying images . . . . . . . . . . . 501
Deploying an image through a pattern in
OpenStack . . . . . . . . . . . . 501
Deploying an image through a pattern in
vCenter or VMControl . . . . . . . . 503
Extending images . . . . . . . . . . . 505
Extending images in OpenStack . . . . . 505
Extending images in vCenter . . . . . . 507
Image management on Power . . . . . . . 509
Chapter 6. Managing and deploying
virtual patterns. . . . . . . . . . . 511
Virtual pattern types . . . . . . . . . . . 511
Working with virtual system patterns . . . . . 511
Supported virtual system patterns . . . . . 512
Working with virtual system patterns in the
user interface . . . . . . . . . . . . 513
Selecting a virtual system pattern. . . . . 514
Using a predefined virtual system pattern 516
Cloning an existing virtual system pattern 517
Creating a virtual system pattern. . . . 519
Editing a virtual system pattern . . . . . 521
Virtual system pattern editing views and
parts . . . . . . . . . . . . . 522
Ordering parts to run at deployment . . 526
Configuring parts . . . . . . . . . . 527
Configuring advanced options. . . . . . 529
Configuring advanced options for cluster
virtual system patterns . . . . . . . 532
Configuring advanced options for
Intelligent Management Pack . . . . . 536
Configuring advanced messaging for
databases. . . . . . . . . . . . 541
Configuring advanced options for single
server virtual system patterns . . . . . 543
Configuring database implemented
session persistence for Derby . . . . . 545
Making virtual system patterns read-only 546
Deploying a virtual system pattern . . . . 547
Deploying a pattern with additional
actions . . . . . . . . . . . . 551
Deleting a virtual system pattern . . . . . 551
Virtual system pattern windows . . . . . 552
Fields on the Virtual System Patterns
window . . . . . . . . . . . . 554
Fields on the Pattern Editor window . . 556
Virtual system pattern processing . . . . . 559
Creating new flavors in OpenStack . . . . . 560
Customizing flavors for Power features. . . . 561
Managing virtual system instances . . . . . 562
Managing virtual system instances with the
user interface . . . . . . . . . . . 563
Starting a persistent virtual system
instance . . . . . . . . . . . . 565
Stopping a persistent virtual system
instance . . . . . . . . . . . . 566
Removing a virtual system instance . . . 567
Creating a snapshot image . . . . . . 569
Restoring virtual system instances from a
snapshot image. . . . . . . . . . 570
Deleting snapshot images . . . . . . 571
Virtual Systems fields on the user
interface . . . . . . . . . . . . 572
Accessing virtual machines in your virtual
system instance. . . . . . . . . . 573
Expanding disk on deployed virtual
machines . . . . . . . . . . . . 574
Viewing the details for your virtual
machines . . . . . . . . . . . . 575
Working with virtual applications . . . . . . 581
Virtual application pattern components. . . . 583
Managing pattern types . . . . . . . . . 585
Viewing pattern types . . . . . . . . 586
Viewing the plug-ins in the pattern types . . 587
Importing pattern types . . . . . . . . 587
Removing a pattern type . . . . . . . 588
Upgrading pattern types . . . . . . . 588
Upgrading a deployed pattern type . . . . 589
Pattern type packaging reference . . . . . 590
Managing virtual applications . . . . . . . 591
Creating virtual application patterns. . . . 592
Editing virtual application patterns . . . . 593
Cloning virtual application patterns . . . . 594
Deleting virtual application patterns. . . . 595
Creating virtual application layers . . . . 595
Editing virtual application layers . . . . . 596
Deleting virtual application pattern layers 597
Importing virtual application pattern layers 598
Working with reusable application
components . . . . . . . . . . . . 598
Working with virtual application templates 599
Creating a virtual application template 600
Creating virtual applications from
templates. . . . . . . . . . . . 601
Cloning a virtual application template . . 602
Editing virtual application templates . . 603
Importing a virtual application template 603
Exporting a virtual application template 604
Removing a virtual application template 604
Working with virtual application pattern
plug-ins . . . . . . . . . . . . . . 605
Managing system plug-ins . . . . . . . 606
Plug-ins shipped with pattern types . . . 606
Adding system plug-ins to the catalog . . 607
Deleting plug-ins from the catalog . . . 607
Virtual application pattern components. . . 607
Application components. . . . . . . 609
Contents vii
Database components . . . . . . . 623
User Registry components . . . . . . 633
Messaging components . . . . . . . 643
OSGi components . . . . . . . . . 648
Transaction processing components . . . 653
Other components. . . . . . . . . 658
Policies . . . . . . . . . . . . 660
Developing plug-ins . . . . . . . . . 666
Plug-in Development Kit . . . . . . 671
Plug-in development guide. . . . . . 676
Samples . . . . . . . . . . . . 723
Deploying virtual applications. . . . . . . 735
Deploying virtual application patterns . . . 736
Terminating virtual machines and
reclaiming IP addresses . . . . . . . 740
Deploying virtual application templates . . 741
Securing virtual applications . . . . . . 744
Securing virtual application instances with
SSL. . . . . . . . . . . . . . 744
Configuring SSH key-based access during
application deployment . . . . . . . 746
Configuring SSH key-based access in the
user interface . . . . . . . . . . 747
LTPA keys . . . . . . . . . . . 748
Working with virtual application instances . . 749
Monitoring virtual application instances . . 751
Viewing virtual application instance logs 752
Using the command-line interface for
applications . . . . . . . . . . . . . 753
Working with shared services . . . . . . . . 754
Deploying shared services . . . . . . . . 754
Monitoring shared services . . . . . . . . 755
Deploying a monitoring shared service . . . 756
Enabling TOSCA support for SmartCloud
Orchestrator . . . . . . . . . . . . . . 757
Configuring the RPM repository for the
deployment of TOSCA patterns . . . . . . 757
Configuring an RPM repository of type ISO
Image on NFS . . . . . . . . . . . 758
Configuring an RPM repository of type FTP 759
Configuring an RPM repository of type
HTTP . . . . . . . . . . . . . . 759
Disabling the configuration of an RPM
repository . . . . . . . . . . . . 760
Configuring Chef support for TOSCA based
virtual application patterns . . . . . . . . 760
Chapter 7. Managing orchestration
workflows . . . . . . . . . . . . . 763
Orchestration workflows . . . . . . . . . 763
Self-service offerings . . . . . . . . . . 764
User actions . . . . . . . . . . . . . 764
Event-triggered actions . . . . . . . . . 765
Samples and standard extensions for orchestration
workflows . . . . . . . . . . . . . . 765
Working with Business Process Manager . . . . 766
Setting up IBM Process Designer . . . . . . 766
Adding users to IBM Process Designer . . . 767
Creating a process application in Process
Designer . . . . . . . . . . . . . . 767
Reusing processes and human services in a
process application . . . . . . . . . 769
Editing process applications and toolkits . . 769
Creating a process . . . . . . . . . . . 769
User input required at service request time 771
Making a new process available as a self-service
offering . . . . . . . . . . . . . . 771
Making a process available as an orchestration
action . . . . . . . . . . . . . . . 772
Upgrading a process on a development system
or production system. . . . . . . . . . 773
Configuring development mode . . . . . 774
Configuring production mode . . . . . . 774
Guidelines for working with Business Process
Manager . . . . . . . . . . . . . . 775
Guidelines for naming and documenting
your toolkit or process application . . . . 775
Guidelines for creating artifacts in a toolkit 776
Guidelines to structure your solution . . . 777
Guidelines for handling errors. . . . . . 777
Chapter 8. Working with self-service 779
Managing self-service offerings . . . . . . . 779
Adding offerings . . . . . . . . . . . 779
Categorizing self-service offerings . . . . . 779
Modifying self-service offerings . . . . . . 780
Using self-service . . . . . . . . . . . . 780
Navigating the Self-Service panel . . . . . . 780
Submitting a self-service request . . . . . . 781
Viewing the status of your requests . . . . . 781
Completing an assignment in My Inbox . . . 782
Chapter 9. Integrating . . . . . . . . 783
Integrating with IBM Tivoli Monitoring . . . . 783
Preparing a base operating system . . . . . 783
Database setup . . . . . . . . . . . . 784
Installing IBM Tivoli Monitoring . . . . . . 784
Packages used for installation . . . . . . 785
Creating a warehouse database . . . . . . 786
Monitoring Agent for Linux . . . . . . . 787
Monitoring Agent for Kernel-based virtual
machines . . . . . . . . . . . . . . 787
OpenStack hypervisors . . . . . . . . . 788
Installing Image Construction and Composition
Tool bundle to deploy Tivoli Monitoring agents . 788
Integrating with IBM Endpoint Manager . . . . 790
Installing Endpoint Manager agent to existing
computers . . . . . . . . . . . . . 790
Installing Endpoint Manager agents during
virtual machine deployment . . . . . . . 790
Chapter 10. Reporting. . . . . . . . 799
Machine activity reporting . . . . . . . . . 800
User activity reporting . . . . . . . . . . 801
Tivoli Common Reporting . . . . . . . . . 802
Installing Jazz for Service Management and Tivoli
Common Reporting . . . . . . . . . . . 802
Installing Jazz for Service Management in the
silent mode . . . . . . . . . . . . . 803
viii IBM SmartCloud Orchestrator 2.3: User's Guide
Installing Tivoli Common Reporting in the silent
mode . . . . . . . . . . . . . . . 804
Chapter 11. Reference. . . . . . . . 805
Using the command-line interface . . . . . . 805
Command-line interface overview . . . . . 806
Core functions . . . . . . . . . . . . 807
Command-line interface resource object
reference . . . . . . . . . . . . . . 808
AddOn command-line interface reference . . 810
Audit logging command-line interface
reference . . . . . . . . . . . . . 813
Cloud group command-line interface
reference . . . . . . . . . . . . . 815
Domain Name System (DNS) server
command-line interface reference. . . . . 817
Environment profiles command-line interface
reference . . . . . . . . . . . . . 819
Environment profiles on the
command-line interface . . . . . . . 820
Environment profile clouds on the
command-line interface . . . . . . . 824
Environment profile cloud IP groups on
the command-line interface. . . . . . 827
Hypervisor command-line interface reference 830
Image command-line interface reference . . 833
IP command-line interface reference . . . . 834
IP group command-line interface reference 838
Mail delivery command-line interface
reference . . . . . . . . . . . . . 841
Maintenance command-line interface
reference . . . . . . . . . . . . . 841
Network command-line interface reference 843
Pattern command-line interface reference . . 844
Importing and exporting virtual system
patterns . . . . . . . . . . . . 846
Patterns on the command-line interface 848
Pattern parts on the command-line
interface . . . . . . . . . . . . 855
Pattern scripts on the command-line
interface . . . . . . . . . . . . 861
Parts on the command-line interface. . . 867
Pattern type command-line interface . . . 870
Plug-in command-line interface reference . . 872
Problem determination command-line
interface reference . . . . . . . . . . 874
Script package command-line interface
reference . . . . . . . . . . . . . 876
Snapshots on the command-line interface . . 880
Storage command-line interface reference . . 882
Virtual application instance command-line
interface reference . . . . . . . . . . 883
Virtual application pattern command-line
interface reference . . . . . . . . . . 886
Virtual images command-line interface
reference . . . . . . . . . . . . . 893
Virtual machines on the command-line
interface . . . . . . . . . . . . . 899
Virtual system instances command-line
interface reference . . . . . . . . . . 902
Downloading and configuring the
command-line interface . . . . . . . . . 909
Invoking the command-line interface . . . . 911
Using the command-line interface for
applications . . . . . . . . . . . . . 913
Getting help on the command-line interface . . 913
Resources, resource collections, and methods 914
Resources on the command line . . . . . 916
Resource collections on the command line 920
Resource methods on the command-line
interface . . . . . . . . . . . . . 921
Resource collections methods on the
command-line interface . . . . . . . . 927
Wizard objects on the command-line interface 933
ACL object . . . . . . . . . . . . 935
Additional command-line interface utilities . . 938
REST API reference . . . . . . . . . . . 940
REST API frameworks . . . . . . . . . 941
Application patterns REST API . . . . . . 942
Auditing REST API . . . . . . . . . . 950
Certificates REST API . . . . . . . . . 952
Cloud groups REST API . . . . . . . . . 954
diagnostics.zip file REST API . . . . . . 961
Environment profiles REST API . . . . . . 962
Hypervisors REST API . . . . . . . . . 966
IP addresses REST API . . . . . . . . . 973
IP groups REST API . . . . . . . . . . 977
Log viewer manager REST API . . . . . . 983
Logging REST API . . . . . . . . . . 985
Monitoring REST API . . . . . . . . . 987
Networks REST API . . . . . . . . . . 991
Pattern types REST API . . . . . . . . . 994
Patterns REST API. . . . . . . . . . . 997
Plug-ins REST API . . . . . . . . . . 1002
Shared services REST API . . . . . . . . 1004
Storage REST API . . . . . . . . . . 1006
Version REST API . . . . . . . . . . 1009
Virtual appliance instances REST API . . . . 1010
Virtual applications REST API . . . . . . 1014
Virtual images REST API . . . . . . . . 1019
Virtual machines REST API . . . . . . . 1025
Virtual system instances REST API . . . . . 1030
OpenStack and IaaS REST API . . . . . . 1040
Using REST APIs to manage users, projects,
roles, and domains . . . . . . . . . 1041
Orchestration actions REST API . . . . . . 1043
List all orchestration action entries . . . . 1043
Retrieve an orchestration action entry . . . 1044
Add or update an entry in the orchestration
actions . . . . . . . . . . . . . 1045
Delete an orchestration action entry . . . 1046
Get entries for a specific virtual system 1046
Business Process Manager Invoker REST API 1047
Retrieve available BPM Business Processes 1047
List all BPM Business Processes . . . . 1047
Get entries for a specific BPM Business
Process . . . . . . . . . . . . 1048
Retrieve available human services . . . . 1048
List all human services . . . . . . . 1048
Get entries for a specific human service 1049
Retrieve My Inbox . . . . . . . . . 1050
Contents ix
List all My Inbox items. . . . . . . 1050
Get entries for a specific My Inbox item 1052
Service instance REST API. . . . . . . . 1053
Get entries for a specific service instance 1054
Metadata parameters REST APIs . . . . . 1057
Get parameters of specific metadata . . . 1057
Post metadata parameters . . . . . . . 1058
Delete parameters of specific metadata . . 1058
Virtual machines parameters REST API . . . 1059
Get parameters of a specific virtual machine 1059
Post virtual machine parameters . . . . 1059
Delete parameters of specific virtual
machines . . . . . . . . . . . . 1060
Task engine REST API . . . . . . . . . 1060
List all currently running and recently
completed tasks . . . . . . . . . . 1060
Get entries for a specific task. . . . . . 1061
Deployment parameters REST API . . . . . 1062
Get deployment parameters for a specific
instance . . . . . . . . . . . . . 1063
Post deployment parameters for a specific
instance . . . . . . . . . . . . . 1064
Self-service offering REST API . . . . . . 1064
List all self-service offerings . . . . . . 1064
Get entries for a specific self-service offering 1066
Delete a specific self-service offering . . . 1068
Update a specific self-service offering . . . 1068
Executing a self-service offering . . . . . 1069
Chapter 12. Troubleshooting . . . . 1077
Finding the log files . . . . . . . . . . . 1077
Problem determination with pdcollect tool . . . 1078
Running the pdcollect tool . . . . . . . 1079
Running the pdcollect tool with non-root user 1080
Example Components.xml . . . . . . . . 1081
Example Environment.xml . . . . . . . . 1083
Example Environment_work.xml . . . . . . 1083
Setting logging levels . . . . . . . . . . 1084
Controlling the size of the IaaS gateway log file 1086
Workload Deployer log files . . . . . . . . 1087
Known errors and limitations . . . . . . . 1088
Product limitations . . . . . . . . . . 1089
Installation errors . . . . . . . . . . 1089
Region Server installation failure with error:
Region already exists. . . . . . . . 1089
Installation fails because the chef-server is
down. . . . . . . . . . . . . . 1089
Installation fails to deploy central servers 1090
Installation fails to deploy central servers (2) 1091
Region Server deployment completes with
network configuration warning . . . . . 1092
Error when upgrading the Region Server 1092
Upgrade Central Server fails while re-run
deploy_central_server.sh . . . . . . 1093
Hypervisor errors and scenarios that can cause
them . . . . . . . . . . . . . . . 1094
Image errors . . . . . . . . . . . . 1096
Instance errors. . . . . . . . . . . . 1100
Deployment errors . . . . . . . . . . 1100
Setting the host name when deploying a
Windows system . . . . . . . . . . 1100
Unable to deploy a virtual system pattern
with a non-admin user . . . . . . . . 1101
Error displayed when deploying a virtual
system pattern. . . . . . . . . . . 1102
Unable to deploy a virtual machine in a
VMware multi-region environment . . . . 1102
Unable to deploy a virtual machine due to
insufficient resources . . . . . . . . 1103
Deployment might hang . . . . . . . 1103
Unable to deploy IBM DB2 Enterprise or
WebSphere MQ OVA image . . . . . . 1104
Unable to deploy WebSphere Application
Server OVA image . . . . . . . . . 1104
Unable to deploy WebSphere Portal 8.0.0.1
pattern . . . . . . . . . . . . . 1105
Unable to deploy IBM InfoSphere
Information Server Enterprise Edition 9.1
pattern . . . . . . . . . . . . . 1106
Unable to deploy IBM Integration Bus
Hypervisor Edition pattern . . . . . . 1106
Unable to deploy or to delete virtual
machines . . . . . . . . . . . . 1107
Deployment of the virtual system pattern
fails due to the name of the virtual machine. 1110
Script execution does not report failing
condition . . . . . . . . . . . . 1111
nova command errors and limitations . . . . 1111
Security limitations . . . . . . . . . . 1112
User interface errors . . . . . . . . . . 1112
Fixing command-line interface errors when
using multi-byte character sets . . . . . . 1113
SmartCloud Entry does not function properly 1114
Command nova-cloud-create fails with an error 1114
Unable to change the flavor of VMware virtual
machines . . . . . . . . . . . . . 1114
Error message displayed after launching a
virtual system . . . . . . . . . . . . 1115
Unable to list keystone endpoints on the
Region Server . . . . . . . . . . . . 1116
Unable to log in by using an LDAP user . . . 1118
Must remove hosts that are not eligible for
cloud . . . . . . . . . . . . . . . 1118
Hotplug is not fully supported . . . . . . 1119
Unable to capture a NIM-based image in
VMControl . . . . . . . . . . . . . 1119
Troubleshooting Workload Deployer . . . . . 1122
Failure to deploy a virtual system or
application when a linked clone is enabled . . 1122
Increasing the default timeout if hypervisor
fails . . . . . . . . . . . . . . . 1122
Troubleshooting virtual applications . . . . . 1122
Setting runtime trace in the Agent process . . 1123
Deployment stops during middleware setup in
VMware. . . . . . . . . . . . . . 1123
Troubleshooting Business Process Manager . . . 1123
Troubleshooting Virtual Image Library . . . . 1124
Troubleshooting Image Construction and
Composition Tool . . . . . . . . . . . 1125
x IBM SmartCloud Orchestrator 2.3: User's Guide
Notices . . . . . . . . . . . . . 1127
Glossary . . . . . . . . . . . . . 1129
A . . . . . . . . . . . . . . . . . 1129
B . . . . . . . . . . . . . . . . . 1130
C . . . . . . . . . . . . . . . . . 1130
E . . . . . . . . . . . . . . . . . 1130
H . . . . . . . . . . . . . . . . . 1130
K . . . . . . . . . . . . . . . . . 1130
O . . . . . . . . . . . . . . . . . 1131
P . . . . . . . . . . . . . . . . . 1131
R . . . . . . . . . . . . . . . . . 1132
S . . . . . . . . . . . . . . . . . 1132
T . . . . . . . . . . . . . . . . . 1132
V . . . . . . . . . . . . . . . . . 1133
Trademarks and service marks . . . 1135
Privacy policy considerations . . . . 1137
Accessibility features for SmartCloud
Orchestrator . . . . . . . . . . . 1139
Contents xi
xii IBM SmartCloud Orchestrator 2.3: User's Guide
Tables
1. Summary of SmartCloud Orchestrator
installation scenarios . . . . . . . . . 10
2. The minimum Manage-from requirements 13
3. KVM Compute Nodes . . . . . . . . . 14
4. VMware Compute Nodes . . . . . . . . 14
5. Power Compute Nodes . . . . . . . . 15
6. Host and guest operating systems supported
by the standard installation . . . . . . . 16
7. Host and guest operating systems supported
by the hypervisors . . . . . . . . . . 16
8. Compulsory attributes . . . . . . . . . 24
9. Compulsory configurations . . . . . . . 27
10. Configuration file options in ldap_pre_auth
section . . . . . . . . . . . . . . 82
11. Configuration file options in auto-population
section . . . . . . . . . . . . . . 85
12. Environment configuration in sample files 109
13. Ports used by SmartCloud Orchestrator 126
14. Object level access definitions . . . . . . 153
15. Ports used by Public Cloud Gateway 161
16. Parameters that are used in the admin.json
file . . . . . . . . . . . . . . . 163
17. Parameters used in the config.json file 164
18. Parameters that are used in the
credentials.json file . . . . . . . . . 165
19. Ports used by Public Cloud Gateway 169
20. Parameters used in the cacheCounter tag
section of the config.json file . . . . . . 178
21. The minimum rights of a VMware
administrative user . . . . . . . . . 190
22. Events that are tracked by audit data 271
23. Universal event record attributes . . . . . 273
24. Attribute name-value pairs . . . . . . . 273
25. Download options for audit data . . . . . 277
26. Overview of sample scripts . . . . . . . 280
27. User roles. . . . . . . . . . . . . 297
28. User roles. . . . . . . . . . . . . 312
29. Creating an image using Image Construction
and Composition Tool . . . . . . . . 388
30. Main Image Construction and Composition
Tool pages . . . . . . . . . . . . 397
31. Specify the software to install on your
instances . . . . . . . . . . . . . 414
32. Incoming connectable components . . . . 609
33. Policy components for enterprise applications 611
34. Incoming connectable components . . . . 611
35. Outgoing connectable components . . . . 612
36. Incoming connectable components . . . . 616
37. Incoming connectable components . . . . 617
38. Policy components for web applications 618
39. Incoming connectable components . . . . 619
40. Outgoing connectable components . . . . 619
41. Incoming connectable components . . . . 625
42. Incoming connectable components . . . . 626
43. Incoming connectable components . . . . 628
44. Incoming connectable components . . . . 630
45. Incoming connectable components . . . . 631
46. Incoming connectable components . . . . 634
47. Incoming connectable components . . . . 637
48. Incoming connectable components . . . . 640
49. Incoming connectable components . . . . 644
50. Incoming connectable components . . . . 645
51. Incoming connectable components . . . . 647
52. Incoming connectable components . . . . 649
53. Incoming connectable components . . . . 650
54. Outgoing connectable components . . . . 650
55. Incoming connectable components . . . . 654
56. Incoming connectable components . . . . 657
57. Incoming connectable components . . . . 659
58. Outgoing connectable components . . . . 661
59. Outgoing connectable components . . . . 662
60. Outgoing connectable components . . . . 663
61. Outgoing connectable components . . . . 664
62. Role state and status . . . . . . . . . 689
63. Logtypes . . . . . . . . . . . . . 709
64. Custom logtypes . . . . . . . . . . 709
65. Monitoring collector types. . . . . . . . 714
66. Monitoring collector types. . . . . . . . 715
67. Monitor types . . . . . . . . . . . 717
68. Chart types . . . . . . . . . . . . 717
69. Possible status values for a deployed virtual
application . . . . . . . . . . . . 738
70. Possible status values for a deployed virtual
application . . . . . . . . . . . . 742
71. Possible status values for a deployed virtual
application . . . . . . . . . . . . 749
72. Editing process applications and toolkits 769
73. List all application patterns.. . . . . . . 942
74. Create an application pattern with specific
attributes details. . . . . . . . . . . 942
75. Create an application pattern from an existing
application or template (clone) details. . . . 943
76. List application pattern with various filters
details. . . . . . . . . . . . . . . 944
77. Update application pattern details. . . . . 945
78. Return detailed information about the
application pattern. . . . . . . . . . 946
79. Download the application pattern zip file,
including all artifacts and the json file details.. 946
80. Update application pattern access right
details. . . . . . . . . . . . . . . 947
81. Delete a specified application pattern details. 947
82. List all artifact of a given application pattern
details. . . . . . . . . . . . . . . 947
83. Upload an artifact file details. . . . . . . 948
84. Download an artifact file details. . . . . . 949
85. Get the detail of the artifact. . . . . . . 949
86. Delete an artifact file details. . . . . . . 949
87. REST API for working with audit event
records. . . . . . . . . . . . . . 950
88. REST API for Certificates . . . . . . . 953
89. REST API for Clouds . . . . . . . . . 954
Copyright IBM Corp. 2013, 2014 xiii
90. REST API for diagnostics.zip. . . . . . 961
91. REST API for environment profiles . . . . 962
92. REST API for hypervisors . . . . . . . 967
93. REST API for IP addresses . . . . . . . 973
94. REST API for IpGroups . . . . . . . . 977
95. REST API for LogViewerMgr . . . . . . 984
96. List all the logs on a specific virtual machine 985
97. Get the content of a specific log file . . . . 986
98. Get the overall monitoring status of a given
virtual application . . . . . . . . . . 987
99. Get the virtual machine monitoring status for
a given virtual application instance . . . . 988
100. Get the middleware monitoring status for a
given virtual application instance . . . . . 989
101. Get virtual machine level monitoring metrics
of a specific virtual machine . . . . . . 989
102. Get middleware level monitoring metrics of a
specific middleware . . . . . . . . . 990
103. REST API for Networks . . . . . . . . 991
104. List all pattern types with version format "vr"
or "vmf" details . . . . . . . . . . . 994
105. Create a pattern type details . . . . . . 995
106. List detail information of one pattern type 995
107. List plugin list of one pattern type details 996
108. Accept the license agreement of a pattern
type. . . . . . . . . . . . . . . 996
109. Delete a pattern type details . . . . . . 997
110. REST API for Patterns . . . . . . . . 997
111. Retrieve all plug-ins details . . . . . . 1002
112. Create a plug-in details . . . . . . . . 1002
113. Delete a plug-in details . . . . . . . . 1003
114. Retrieve plug-in information details 1003
115. List all patterns of shared services . . . . 1004
116. Deploy a shared services pattern into a
cloud group . . . . . . . . . . . 1005
117. REST API for Storage . . . . . . . . 1006
118. REST API for versions . . . . . . . . 1009
119. REST API for VirtualApplianceInstances 1010
120. Retrieve all virtual application details 1014
121. Retrieve the virtual applications with filter 1014
122. Deploy a virtual application details 1015
123. Retrieve virtual application instance status 1016
124. Updated virtual application status details 1017
125. Delete a virtual application details 1018
126. Update application access right for the
specified user name or group name. . . . 1018
127. REST API for VirtualMachines . . . . . 1019
128. REST API for virtual machines . . . . . 1025
129. REST API for VirtualSystems . . . . . . 1030
130. List all orchestration action entries REST API
call . . . . . . . . . . . . . . 1043
131. Retrieve an orchestration action entry REST
API call . . . . . . . . . . . . . 1044
132. Add or update an entry in the orchestration
actions REST API call . . . . . . . . 1045
133. Delete an orchestration action entry REST
API call . . . . . . . . . . . . . 1046
134. Get entries for a specific virtual system
REST API call . . . . . . . . . . . 1046
135. Get list of all BPM Business Processes 1047
136. Get information about a specific BPM
Business Process . . . . . . . . . . 1048
137. Get list of all human services . . . . . . 1048
138. Get information about a specific human
service . . . . . . . . . . . . . 1049
139. Get list of all My Inbox items . . . . . . 1050
140. Get information about a specific My Inbox
item . . . . . . . . . . . . . . 1052
141. Get entries for a specific service instance
entry with a specified deployment ID REST
API call . . . . . . . . . . . . . 1054
142. Get metadata parameters of a specific
service instance REST API call . . . . . 1057
143. Post metadata parameters of a specific
service instance REST API call . . . . . 1058
144. Delete metadata parameters of a specific
service instance REST API call . . . . . 1058
145. Get virtual machine parameters of a specific
service instance REST API call . . . . . 1059
146. Post virtual machine parameters of a specific
service instance REST API call . . . . . 1059
147. Delete virtual machines parameters of a
specific service instance REST API call . . . 1060
148. List all currently running and recently
completed tasks REST API call . . . . . 1060
149. Get information about a specific task 1061
150. Get deployment parameters for a specific
service instance REST API call . . . . . 1063
151. Post deployment parameters for a specific
service instance REST API call . . . . . 1064
152. Get list of all self-service offerings . . . . 1064
153. Get entries for a specific self-service offering
REST API call . . . . . . . . . . . 1066
154. Delete a self-service offering REST API call 1068
155. Update a self-service offering REST API call 1068
156. Log files . . . . . . . . . . . . . 1077
xiv IBM SmartCloud Orchestrator 2.3: User's Guide
Preface
This publication documents how to use IBM
SmartCloud Orchestrator.
Who should read this information
This information is intended for cloud administrators who install and configure
IBM SmartCloud
hypervisors
SmartCloud Orchestrator supports PowerVM hypervisors managed by IBM
Systems Director VMControl
.
Importing virtual machine
You can import virtual machines that were not provisioned by SmartCloud
Orchestrator and that already exist on your hypervisors. After you import
a virtual machine, you can manage it by using the SmartCloud
Orchestrator user interface. For more information, see Importing virtual
machines on page 197.
Product architecture
IBM SmartCloud Orchestrator is a comprehensive product that integrates the
capabilities of several other IBM solutions. It adds several components and
functionalities to IBM SmartCloud Provisioning.
The main components of IBM SmartCloud Orchestrator are the process engine and
the corresponding modeling user interface, which is used to create processes. For
this purpose, SmartCloud Orchestrator uses the capabilities of IBM Business
Process Manager. It also integrates other domain-specific components that are
responsible for such functions as monitoring, metering, and accounting.
SmartCloud Orchestrator bundles all these products and components and provides
processes that are required to implement the domain-specific functionalities. Both
the self-service user interface and the administrative user interface of SmartCloud
Provisioning are extended to reflect the new functions that are provided by
SmartCloud Orchestrator.
2 IBM SmartCloud Orchestrator 2.3: User's Guide
Cloud Marketplace
Development
tools
IaaS gateway
Storage
(Cinder)
Public
Cloud
Compute
(Nova)
Network
(Nova Networks)
Infrastructure-as-a-Service (IaaS)
Workflow
Image
management
Patterns Software stacks
Service management
- Monitor
- Backup and Restore
- Security and patch compliance
The following is a description of the role each major component plays in
SmartCloud Orchestrator:
Infrastructure-as-a-Service
The Infrastructure-as-a-Service (IaaS) component is responsible for
managing access to compute, storage and networking resources in the
virtual environment. All requests to provision services across these services
is performed by this component. The IaaS component is delivered by using
OpenStack, a leading open source, community-driven project for highly
scalable, highly resilient cloud infrastructure management. IBM is one of
the Platinum Members of the OpenStack Foundation.
IaaS Gateway
The IaaS Gateway provides a routing mechanism that allows two
important configurations. Firstly, it allows multi-geographical deployments
in which multiple IaaS/OpenStack instances can be deployed in multiple
sites and then federated together within SmartCloud Orchestrator.
Secondly, it allows for connectivity to public clouds such as Amazon EC2
and other public clouds compatible with OpenStack.
Software stacks
While not a specific component itself, Software Stacks represent the
concept that when one or more virtual systems are deployed, it is also
possible to specify multiple software packages to be deployed upon first
boot of those systems. It can be done by invoking simple installation
scripts, but also other strong tools can be used such as Chef recipes and
cookbooks for automated installation and configuration.
Patterns
Patterns allow for deploying more complex middleware configurations and
multinode applications. The Patterns component provides a graphical
editor that allows the user to describe multiple virtual systems, each with a
base image and set of software to be installed, and then specify the
relationships and configuration scripts necessary to connect those systems
together. With this level of automation, an entire multisystem deployment
can be done with just a few simple clicks.
Chapter 1. Overview 3
Image management
The Image Management component has two major functional areas. The
first one is the Image Construction and Composition Tool, which allows a
user to describe a base image and set of software stacks, and then capture
that fully deployed system into an image that can be reused. The second
one is the Virtual Image Library, which allows a user to manage images
similar to other assets, providing check-in and check-out options,
versioning, indexing and searching facilities so that corporate compliance
rules can be followed even when the images are offline.
Workflow orchestration
The Workflow Orchestration component provides a graphical editor that
allows the user to easily customize and extend the procedures that are
followed when a user request is initiated. In addition, it also provides the
facilities to customize the self-service catalog so that users have access to a
variety of service request types that they can access. This component is
delivered by embedding IBM's award-winning Business Process Manager
technology along with a number of pre-built automation toolkits that make
it possible to integrate workflow automation with the cloud platform and
its other components. The graphical designer is highly flexible, providing
many integration techniques ranging from invocation of simple scripts and
calling web services to invoking more sophisticated programs such as
those written in Java.
Cloud Marketplace
The Cloud Marketplace is a publicly accessible website where various
forms of automation can be downloaded and used within SmartCloud
Orchestrator. It includes references to supported automation communities
such as Chef, ready to use Patterns and Images, and a variety of pre-built
Workflow Orchestration routines, packages and toolkits. It is designed to
"ship when ready", meaning that new automation can become available at
any time, regardless of SmartCloud Orchestrator release schedules.
Service management
This box represents optional additional management functions that are
included in SmartCloud Orchestrator Enterprise. It also highlights the
ability to integrate through Workflow Orchestration other management
tools and disciplines that may be important within your environment.
Development tools
This box represents the ability to integrate developer tools from IBM
Rational Team Concert and a set of plug-ins within SmartCloud
Continuous Delivery such as that a user can automate a "continuous
delivery pipeline" from check-in of code, through build, deployment, test,
and promotion. Those tools are not provided within SmartCloud
Orchestrator, but more information about them can be found on ibm.com.
4 IBM SmartCloud Orchestrator 2.3: User's Guide
Product features
Read about the main features that are available with SmartCloud Orchestrator
version 2.3.
Pattern-based cloud delivery
SmartCloud Orchestrator provides capabilities for multi-domain orchestration
(virtual system and virtual application) and a graphical orchestrator for simple
composition of cloud automation.
SmartCloud Orchestrator is a new private cloud offering based on the open
sourced OpenStack software that significantly speeds and simplifies managing an
enterprise-grade cloud. You have a core set of open source-based technologies to
build enterprise-class cloud services that can be ported across hybrid cloud
environments.
SmartCloud Orchestrator gives you greater flexibility by removing the need to
develop specific interfaces for different cloud services. You can quickly combine
and deploy various cloud services onto the cloud infrastructure by lining up the
compute, storage and network resources with an easy-to-use graphical interface.
Designing business processes
SmartCloud Orchestrator is integrated with IBM Business Process Manager, a
workflow engine with graphical tooling. It provides a possibility to create and edit
complex workflows through simple drag and drop. you can extend the capabilities
of SmartCloud Orchestrator and design your own workflows. For more
information see Custom extensions on page 7.
Self-service user interface
Intuitive self-service user interface containing a customizable catalog of offerings is
available for users. Offerings can be group into categories which are created by
administrators to fit the needs of work environment. For more information about
self-service, see Managing self-service offerings on page 779.
OpenStack adoption
OpenStack is a cloud operating system that controls large pools of compute,
storage, and networking resources throughout a data center, all managed through a
dashboard that gives administrators control while empowering their users to
provision resources through a web interface. For more information see Overview
of OpenStack on page 8.
Image management
SmartCloud Orchestrator provides two components that simplify image
management: Image Construction and Composition Tool, and Virtual Image
Library.
You can use the Image Construction and Composition Tool to build virtual images
for deployment into cloud environments. Experts can build particular software
bundles for reuse by others. This simplifies the complexity of image creation and
Chapter 1. Overview 5
reduces errors. You can reuse and manage images and software in a cloud
environment and build and share images that are self-descriptive, customizable,
and manageable.
The Virtual Image Library component provides extended services for image
management. It supports VMware and OpenStack operational image repositories.
After you define the operational repository to Virtual Image Library and index the
images that it contains, all the information about the images is stored in the Virtual
Image Library database. You can use a local image store, called the reference
repository, to save copies of key images from any operational repository or to
replicate copies of images from the reference repository to any operational
repository. You can also import images from the Virtual Image Library file system
to the reference repository to perform image management operations on the
imported images.
For more information about managing virtual images, see Chapter 5, Managing
virtual images, on page 287.
Cost management
The IBM SmartCloud Cost Management component provides functionality for
collecting, analyzing, reporting, and billing that is based on usage and costs of
shared computing resources. With this tool, you can understand your costs and
track, allocate, and invoice based on allocated or actual resource use by
department, user, and many more criteria. For more information about cost
management, see Metering and billing.
Within SmartCloud Orchestrator metering is primarily driven from the OpenStack
layer to capture all virtual machine provisioning requests. For more information,
see the OpenStack Collector topic.
TOSCA support
SmartCloud Orchestrator supports importing, deploying, and exporting service
templates according to the OASIS Topology and Orchestration Specification for
Cloud Applications (TOSCA). This enables the consumption of third-party content
provided in a standardized format.
Monitoring
In SmartCloud Orchestrator you can monitor workloads and instances using IBM
Tivoli Monitoring. With this component, you can measure the cost of cloud
services with metering and charge-back capabilities. For more information about
monitoring, see Integrating with IBM Tivoli Monitoring on page 783.
Reporting
SmartCloud Orchestrator provides a diverse set of reports that provide specific
data you can use for planning purposes. System usage reports are generated to
track both physical and virtual resource utilization. You can also access reports to
track the user activity in the clouds that are managed by SmartCloud Orchestrator.
For more information about reports, see Chapter 10, Reporting, on page 799.
6 IBM SmartCloud Orchestrator 2.3: User's Guide
Custom extensions
You create custom extensions to SmartCloud Orchestrator in the Business Process
Manager Process Designer tool and base them on Business Process Manager
business processes. To implement user interface extensions, you can use Business
Process Manager human services.
SmartCloud Orchestrator delivers a Business Process Manager toolkit called
SCOrchestrator_Toolkit. This toolkit provides many useful artifacts:
Business processes
A business process is any course of action or procedure that an
organization follows to achieve a larger business goal. When you break it
down, a business process is actually a series of individual tasks or
activities that are performed in a specific order. Business processes provide
the primary means through which enterprise services are integrated.
Services
Services provide functions for a business process, which itself is a sequence
of services. Creating services separately from a business process means a
service can be developed independently of a business process and that
many types of business processes can reuse that service.
Human services
Human service includes an activity in your business process definition that
creates an interactive task that process participants can perform in a
web-based user interface.
Coaches
Coaches are the user interfaces for human services.
Business object definitions
Business objects carry the functional properties, data transformation
information, and file content that the adapter needs to process requests and
generate responses.
With the help of these artifacts, you can efficiently build custom extensions for
SmartCloud Orchestrator. The SCOrchestrator_Toolkit also contains numerous
samples that show how to define custom extensions.
You can download more Business Process Manager toolkits from the online
marketplace. These toolkits provide more content for different areas, such as
networking or storage, and you can also use them to build SmartCloud
Orchestrator extensions.
Restriction: If you define more than one snapshot for Business Process Manager
process application or toolkit, you will be able to use only the artifacts of the top
level to define a new extension in SmartCloud Orchestrator.
Related tasks:
Chapter 7, Managing orchestration workflows, on page 763
Create custom orchestration workflows in the Business Process Manager user
interface and run them in your SmartCloud Orchestrator environment.
Chapter 1. Overview 7
Overview of OpenStack
SmartCloud Orchestrator is based on OpenStack (the Grizzly release).
OpenStack is a collection of open source technologies that provide scalable
computing software for both public and private clouds. For detailed information
about OpenStack, see the OpenStack documentation.
SmartCloud Orchestrator uses the following components and services of
OpenStack:
v Image (codenamed Glance) that provides a catalog and repository for virtual disk
images. The virtual disk images are mostly used in the OpenStack Compute
service component.
v Compute (codenamed Nova) that provides virtual servers on demand.
v Identity (codenamed Keystone) that provides authentication and authorizations
for all OpenStack services.
v Block Storage (codenamed Cinder) that provides persistent block storage to guest
virtual machines.
SmartCloud Orchestrator does not use the Object Store (codenamed Swift) service
component, nor the Network (codenamed Neutron) service component for network
management, nor the Dashboard (codenamed Horizon) service component for the
web-based user interface.
SmartCloud Orchestrator uses the nova-network of OpenStack as a networking
option (see networking with nova-network).
To configure and administer SmartCloud Orchestrator, you must learn to use the
OpenStack command-line interface. For example, you might need to use the
keystone command-line interface to manage authentication and authorizations, and
the glance command-line interface to manage virtual images. For more information
about the OpenStack command-line interface, see the OpenStack CLI Guide.
8 IBM SmartCloud Orchestrator 2.3: User's Guide
Chapter 2. Installing
Follow this procedure to install SmartCloud Orchestrator.
Planning your installation
Before you start the installation, review the requirements and plan the whole
process.
Installation overview
Get familiar with the basic concepts of SmartCloud Orchestrator so that you can
properly plan your installation.
The main components of SmartCloud Orchestrator installation topology are the
Central Server and the Region Server, The Central Server represents the core
SmartCloud Orchestrator management components. The Region Server represents
the component that is used to communicate with a specific hypervisor
management infrastructure (KVM, VMware, or PowerVM).
The Central Server and the Region Server must run on KVM or VMware virtual
machines. Central Server is a set of components that are grouped into four virtual
machines. An additional virtual machine is required if you want to use the high
availability solution. For more information, see High Availability on page 104.
Region Server is set up on a single virtual machine. Additional Region Servers can
be added to enable a multiple-region environment. If you are using a KVM region,
a KVM Compute Server is required and it must be installed on a physical machine.
The key components of the installation are:
Central Server
Is installed on the following virtual machines:
Central Server 1
DB2 plus tooling (yum, chef) for installing components on the other
central servers
Central Server 2
IaaS Gateway, Public Cloud Gateway, Keystone, and Virtual Image
Library
Central Server 3
Workload Deployer and SmartCloud UI
Central Server 4
Business Process Manager
Region Server
Is installed on a single virtual machine:
Region Server -1
The following key components are installed:
v OpenStack
v DB2 (optional, it is installed only if you want this region server
use its own DB2)
Copyright IBM Corp. 2013, 2014 9
v SmartCloud Entry driver (optional, it is installed only on
VMware and Power regions)
v yum
v chef
v PXE (optional, it is installed only for KVM region servers so that
additional KVM compute nodes can be installed)
KVM Compute Server
Only for KVM region. This server must be associated with a KVM Region
Server and have VM work load running on it. The KVM compute server
must be installed on bare metal.
The central servers must be located in the same network, while the region server
can be distributed, as long as it has network connectivity to the central servers
Typically, a customers corporate DNS can be used as SmartCloud Orchestrator
upstream DNS. Central server has a DNS, while each region server also has one.
This means that they are connected hierarchically. As a result, you can delegate a
subdomain to SmartCloud Orchestrator when the installation is complete.
Meanwhile, it is also possible that SmartCloud Orchestrator fully relies on
customers corporate DNS without deploying any embedded DNS, if all
prerequisites are satisfied.
For more information about the SmartCloud Orchestrator topology, you can refer
to the SmartCloud Orchestrator product wiki.
Installation scenarios
Before you proceed with the installation of SmartCloud Orchestrator, you must
choose one of the installation scenarios.
SmartCloud Orchestrator 2.3 supports the following basic installation scenarios:
v Manage vCenter
v Manage VMControl
v Scale-out KVM
The following table presents a brief summary of these scenarios:
Table 1. Summary of SmartCloud Orchestrator installation scenarios
Scenario Description
Manage-from
environment
Manage-to
hypervisor
Distribution of
manage-to and
manage-from
Manage vCenter Installing all
components on
several virtual
machines. Then
connecting to
one or more
existing vCenter
instances.
KVM or
VMware virtual
machines
One or more
vCenter-
managed ESXi
nodes
v Manage-from
not
distributed
v Manage-to
distributed via
vCenter
mechanisms
10 IBM SmartCloud Orchestrator 2.3: User's Guide
Table 1. Summary of SmartCloud Orchestrator installation scenarios (continued)
Scenario Description
Manage-from
environment
Manage-to
hypervisor
Distribution of
manage-to and
manage-from
Manage
VMControl
Installing all
components on
several virtual
machines. Then
connecting to the
existing
VMControl
instance.
KVM or
VMware virtual
machines
One or more
VMControl-
managed Power
systems or Flex
Chasis with
Power nodes
v Manage-from
not
distributed
v Manage-to
distributed via
VMControl
server-pool
mechanisms
Scale-out KVM Installing all
components on
several virtual
machines. Then
adding
manage-to KVM
hypervisors to
increase capacity
as user demand
grows.
KVM or
VMware virtual
machines
One or more
KVM nodes
v Manage-from
not
distributed
v Manage-to
distributed via
additional
KVM nodes
Manage vCenter scenario
Plan for this installation scenario if you want to connect your SmartCloud
Orchestrator environment to already existing vCenter instances.
You can connect the manage-from components to one or more existing vCenter
instances so that the existing vCenter/ESXi infrastructure can be used as a
manage-to environment. The graphic presents the default topology for this
scenario: see Figure 1 at https://www.ibm.com/developerworks/community/
wikis/home?lang=en#!/wiki/IBM%20SmartCloud%20Orchestrator/page/IBM
%20SmartCloud%20Orchestrator%202.3%20Network%20Topology
Management Network
In the default topology, the management network is used to set up
connectivity with vCenters and Virtual Image Library proxies as well as to
permit IBM Workload Deployer, Business Process Manager, and virtual
machine communication. It is also used to grant user access to the
SmartCloud Orchestrator user interface. Upon initial setup, you can change
the SmartCloud Orchestrator configuration to have physical and logical
segregation between this traffic.
VMware internal management network
This network allows for communication between vCenter and ESX. Virtual
Image Library proxy must be located in this network because it requires
network access to ESX servers.
Important: If a datastore cluster is configured in vCenter, then DRS must
be enabled as well. Deployments fail without DRS enabled when
provisioning to a datastore cluster.
To enable DRS, check Turn on Storage DRS under General, when you
create or edit a Datastore Cluster in vCenter.
Chapter 2. Installing 11
Manage VMControl scenario
Plan for this installation scenario if you want to connect your SmartCloud
Orchestrator environment to already existing VMControl instances.
The graphic presents the default topology for this scenario: see Figure 2 at
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/
wiki/IBM%20SmartCloud%20Orchestrator/page/IBM%20SmartCloud
%20Orchestrator%202.3%20Network%20Topology
Scale-out KVM scenario
Plan for this installation scenario if you want to add manage-to KVM nodes to
increase the capacity of your SmartCloud Orchestrator environment.
You can connect the manage-from components to additional manage-to KVM
compute nodes as user demand requires additional capacity. The graphic presents
the default topology for this scenario: see Figure 3 at https://www.ibm.com/
developerworks/community/wikis/home?lang=en#!/wiki/IBM%20SmartCloud
%20Orchestrator/page/IBM%20SmartCloud%20Orchestrator%202.3%20Network
%20Topology
SmartCloud Orchestrator Enterprise installation
To give you more control over your cloud environment, SmartCloud Orchestrator
Enterprise bundles three additional products: Jazz
website:
For SmartCloud Orchestrator, download the following packages:
CIQ3VML.tar
CIQ6EML.tar
CIQ6FML.tar
CIQ6GML.tar
Chapter 2. Installing 21
For SmartCloud Orchestrator Enterprise, download the following packages:
CIQ3XML.tar
CIQ6EML.tar
CIQ6FML.tar
CIQ6GML.tar
Note: The packages CIQ6EML.tar, CIQ6FML.tar and CIQ6GML.tar are used for
both types of installation.
2. Use the following command to extract the content of the TAR files into the
installation directory of your choice. In this example of installation, the
directory is called /install_images:
tar xvf <tar file>
Replace <tar file> with respective file names from the list.
Important: Extract all TAR files into the same installation directory.
3. Central Server only: Download the tar files for the following Business Process
Manager part numbers:
CIL73ML
CIL74ML
CIL75ML
Copy the following files to the install_images/bpm directory:
BPM_Std_V85_Linux_x86_1_of_3.tar.gz
BPM_Std_V85_Linux_x86_2_of_3.tar.gz
BPM_Std_V85_Linux_x86_3_of_3.tar.gz
Do not extract the contents of the tar.gz files.
Preparing the installation based on DVD images
To install SmartCloud Orchestrator from DVDs, you must first prepare the images.
Note: These images must be copied to Central Server 1 and to each Region server
that is being installed.
Procedure
1. Copy the following TAR files from the DVDs to one directory:
For SmartCloud Orchestrator V2.3, copy the files from the following DVDs:
IBM SmartCloud Orchestrator V2.3.0
IBM SmartCloud Provisioning V2.3.0 Base 1 of 3 for Linux RHEL
IBM SmartCloud Provisioning V2.3.0 Base 2 of 3 for Linux RHEL
IBM SmartCloud Provisioning V2.3.0 Base 3 of 3 for Linux RHEL
For SmartCloud Orchestrator V2.3, Fix Pack 1, copy the files from the
following DVDs:
IBM SmartCloud Orchestrator V2.3.0.1 for Multiplatform
IBM SmartCloud Provisioning V2.3.0.1 Base 1 of 4 for Linux RHEL
IBM SmartCloud Provisioning V2.3.0.1 Base 2 of 4 for Linux RHEL
IBM SmartCloud Provisioning V2.3.0.1 Base 3 of 4 for Linux RHEL
IBM SmartCloud Provisioning V2.3.0.1 Base 4 of 4 for Linux RHEL
For SmartCloud Orchestrator Enterprise V2.3, copy the files from the
following DVDs:
IBM SmartCloud Orchestrator Enterprise V2.3.0
IBM SmartCloud Provisioning V2.3.0 Base 1 of 3 for Linux RHEL
IBM SmartCloud Provisioning V2.3.0 Base 2 of 3 for Linux RHEL
IBM SmartCloud Provisioning V2.3.0 Base 3 of 3 for Linux RHEL
22 IBM SmartCloud Orchestrator 2.3: User's Guide
2. Use the following command to extract the content of the TAR files into the
installation directory of your choice. In this example of installation, the
directory is called /install_images:
tar xvf <tar file>
Replace <tar file> with respective file names from the list.
Important: Extract all TAR files into the same installation directory.
3. Central Server only: For Business Process Manager, copy the files from the
following DVDs into the install_images/bpm directory:
IBM Business Process Manager Standard V8.5 for Linux 32bit/64bit (1 of 3)
[BPM_Std_V85_Linux_x86_1_of_3.tar.gz]
IBM Business Process Manager Standard V8.5 for Linux 32bit/64bit (2 of 3)
[BPM_Std_V85_Linux_x86_2_of_3.tar.gz]
IBM Business Process Manager Standard V8.5 for Linux 32bit/64bit (3 of 3)
[BPM_Std_V85_Linux_x86_3_of_3.tar.gz]
Do not extract the contents of the tar.gz files.
Installing the central server
The central server represents the set of machines where the core SmartCloud
Orchestrator components are running, and are grouped into four virtual machines.
Before you begin
Before you start this installation procedure, make sure that you have completed the
preparation steps required for each of the central server virtual systems. For more
information, see Preparing the central server and the region server on page 17.
When you start the installation of the Central Server 1, the virtual machines for all
the other Central Servers must be up and running and must be accessible.
About this task
The following virtual machines are components of the central server:
Central Server 1
DB2 plus tooling (yum, chef) for installing components on the other central
servers
Central Server 2
IaaS Gateway, Public Cloud Gateway, Keystone, and Virtual Image Library
Central Server 3
Workload Deployer and SmartCloud UI
Central Server 4
Business Process Manager
Procedure
1. Log on to Central Server 1.
2. Make sure that the software on Central Server 1 meets the software
prerequisites. See Software prerequisites on page 15.
3. Prepare the installation media on Central Server 1. See Preparing the
installation media on page 21.
Chapter 2. Installing 23
4. If you are a SmartCloud Orchestrator Enterprise customer, copy swtag to
SmartCloud_Orchestrator-2.3.0.swtag by executing the following command:
cp /install_images/iwd/SmartCloud_Orchestrator_Enterprise-2.3.0.swtag /install_images/iwd/SmartCloud_Orchestrator-2.3.0.swtag
5. Edit the file central-server.cfg in folder /install_images/installer.
6. Customize the file so that it reflects your environment setup. The table below
describes the required parameters that you must customize:
Table 8. Compulsory attributes
Configuration Parameter = default value Description
iso_location=/opt/RHEL6.3-20120613.2-
Server-x86_64-DVD1.iso
Location of the Red Hat Enterprise Linux
Server 6 DVD ISO file
dns_suffix=example.com How to define dns_suffix:
v If you choose to use SmartCloud
Orchestrator built-in DNS, define a
domain name for your cloud.
v If you choose to use SmartCloud
Orchestrator built-in DNS with corporate
DNS as the parent DNS, define a sub
domain name for your cloud. For
example, if your company domain name
is company.com, then the sub domain is
cloud.company.com.
v If you choose to use corporate DNS with
no SmartCloud Orchestrator built-in DNS,
make sure that dns_suffix="", and make
sure that the entries which were
configured in step 6 of Preparing the
central server and the region server on
page 17 are correctly resolved on each
central server and region server.
management_network_device=eth0 This option works with the
central_server_ips of the following row,
which means that central_server_ips must be
the same network of this NIC's IP address
central_server_ips=
10.10.10.10,10.10.10.11,10.10.10.12
The IP addresses for Central Server 2,
Central Server 3 and Central Server 4 must
be in the same network with Central Server
1. The FQDN is used for single sign on if
these IP addresses can be resolved from
upstream DNS, so /etc/resolv.conf
hbase-disk=/dev/sdb Specify the name of the 5GB disk you
attached to central server 2 machine as
described in the hardware requirement for
central server 2. The disk is used by Virtual
Image Library to deploy HBase.
central_server_domain_names=central-
server-1,central-server-2,central-
server-3,central-server-4
The hostname of the central servers used to
register into SmartCloud Orchestrator DNS.
Used for Single Sign On only when
central_server_ips cannot be resolved.
7. To install Central Server, run the following command on Central Server 1 (this
command will install also the other central servers):
/install_images/installer/deploy_central_server.sh [-h] [-a]
[-p <os-root-password>] [-P <smartcloud-password>]
where:
24 IBM SmartCloud Orchestrator 2.3: User's Guide
-h Shows usage.
-a Accepts license by default.
-p <os-root-password>
Defines the password of the root user on all central servers. Assign the
same password to all your central servers. This parameter is optional
and, if not indicated it, the command prompts you for it.
-P <smartcloud-password>
Defines the password of the SmartCloud user admin. This parameter is
optional and, if not indicated it, the command prompts you for it.
Important: The password can only contain 0-9,a-z,A-Z, special
characters (for example: -/* @ # ) are not allowed.
Note: It is not supported to rerun deploy_central_server.sh in case of
any installation failures. The Central Server images must either be
recreated or reverted to the previous snapshot.
Note: The install process uses SmartCloud user admin as the OpenStack
administrative user and the OpenStack service users. It is used in the internal
communication between different subcomponents, and used to log into
SmartCloud services, Workload Deployer, and Virtual Image Library. A domain
with domain name Default is generated automatically, and is used to log into
SmartCloud services, Workload Deployer, and Virtual Image Library.
Note: The Central Server IP addresses can only be configured before running
deploy_central_server.sh. Otherwise, the reconfiguration of Central Server IP
addresses will have a high risk to break the existing SmartCloud Orchestrator
environment.
8. Important: If you are a SmartCloud Orchestrator Enterprise customer, login to
Central Server 3 and rename the SmartCloud_Orchestrator-2.3.0.swtag file by
executing the following command:
cd /opt/ibm/SmartCloud_Orchestrator/properties/version/
mv SmartCloud_Orchestrator-2.3.0.swtag SmartCloud_Orchestrator_Enterprise-2.3.0.swtag
Results
You can find the installation logs in /var/log/smartcloud/.
What to do next
After all central servers are successfully installed, add the region server to the
environment. See Installing the region server on page 26. If you want to reboot
the central servers before you install the region server, refer to Shutting down or
starting Central Servers and Region Servers on page 62.
Chapter 2. Installing 25
Installing the region server
A region server represents the component needed to communicate with a specific
hypervisor management infrastructure, including KVM, VMware, or Power.
Before you begin
A SmartCloud Orchestrator environment requires at least one region server
installed, however, additional region servers can be successively installed and can
point to any of the supported hypervisor management infrastructures.
The components representing a region server are installed on a single virtual
machine and are:
v OpenStack
v DB2 (optional, it is installed only if you want this region server use its own
DB2)
v SmartCloud Entry driver (optional, it is installed only on VMware and Power
regions)
v yum
v chef
v PXE (optional, it is installed only for KVM region servers so that additional
KVM compute nodes can be installed)
Before you start this installation procedure, complete the following steps:
1. Complete the preparation steps required for the region server virtual machine.
See Preparing the central server and the region server on page 17.
2. The DB2 in the region server is used to store the OpenStack data. You can have
a single DB2 shared between the central servers and the region servers. It is
suggested to have a separate DB2 for improving the performance especially in
production environments or in the environments where the region servers are
geographically dispersed.
Decide whether this region server uses its own DB2 or shares the central server
DB2. If you want this region to use its own DB2, skip this step and proceed to
the next section. If you want this region server to share the same DB2 used by
the central server, an authorized central server DB2 administrator must run a
command provided by the installation to prepare the DB2 to be used by this
region sever:
a. Log on to Central Server-1 and locate the /install_images/installer/
directory.
b. Run the command:
/install_images/installer/deploy create-region-db --region_name <region-name>
where:
--region_name <region-name>
Defines the name representing this region and that you later use as
input for the region server installation procedure. This parameter is
required.
26 IBM SmartCloud Orchestrator 2.3: User's Guide
About this task
The installation procedure can be repeated as is for each additional region server to
install. The procedure refers to the region server virtual machine as Region
server-n.
Procedure
1. Log on to the Region Server-n machine.
2. Make sure that the software on Region Server meets the software prerequisites
described in Software prerequisites on page 15.
3. Prepare the installation media on Region Server-n. See Preparing the
installation media on page 21.
4. Edit the file region-server.cfg in folder /install_images/installer.
Customize the file to reflect your environment setup. The following table
describes the required parameters that you must customize:
Table 9. Compulsory configurations
Configuration Parameter = default value Description
iso_location=/opt/RHEL6.3-20120613.2-
Server-x86_64-DVD1.iso
The location of the Red Hat Enterprise
Linux Server 6 DVD ISO file.
management_network_device=eth0 The management NIC device name. If your
machine has multiple NICs, the parameter
specifies which NIC is used to as the
manage from network.
vm_ip_range=10.10.10.100-10.10.10.200 IP address range for provisioned virtual
machines.
Restriction: the vm_ip_range must match the
subnet for the PowerVM network (network
where the VIOS's reside on). It must be in
the same subnet with the region server, and
in the same network of the compute node.
vm_ip_netmask=255.255.255.0 Netmask of the vm_ip_range.
vm_gateway=10.10.10.0 The gateway address for provisioned virtual
machines.
share_central_db=no Specify no if the region server uses its own
DB2. Specify yes if the region must share the
same DB2 of the central server.
Note: If you specify yes, make sure that you
have completed Step 2 in the section Before
you begin.
region_type=kvm Region type that you want to deploy to
configure the product to an hypervisor
management infrastructure for that type.
The value can be KVM, VMware, or Power.
If VMware or Power is specified, further
connection configuration parameters are
required for the relative virtual environment.
Chapter 2. Installing 27
Table 9. Compulsory configurations (continued)
Configuration Parameter = default value Description
region_name=RegionOne Region name that you want to use to deploy,
it will be also used as the prefix of the
domain name for the DNS that will be
deployed on the region server when you
choose the build-in DNS or build-in DNS
with the cooperate DNS as the parent DNS
mode.
Note: The region name only use
0-9,a-z,A-Z and it cannot contain special
characters (for example: -/*).
Note: If you specified yes for the
share_central_db option, make sure that
you use a region name that matches the one
you used as input to the command in Step 2
in the Before you begin section.
vcenter_host=""
vcenter_username=""
vcenter_network="""
vcenter_port="443"
The configuration of your vCenter. Only
effective if region_type=vmware.
vcenter_host:
The host name or IP address of
vCenter, for
example:"172.16.102.200".
vcenter_username:
The user name of the administrator
of vCenter, for
example:"Administrator".
Note: SmartCloud Orchestrator
does not support Domain User
Account for vCenter.
vcenter_network:
The network name defined in
vCenter, for example:"VM
Network".
Note: The vcenter_network
parameter is used for the virtual
machine and it is not used to
configure the region server. The
requirement for this network is that
it must be accessible from the
region server. The network
requirement of the region server
depends on the requirement and
network topology of your
environment. To simplify the
topology, you can use the same port
group (network) as the virtual
machine which is defined by the
vcenter_network parameter. If you
use a different port group, make
sure that those two port groups
(network) are accessible.
vcenter_port:
The port to connect to vCenter
(defaults: 443).
28 IBM SmartCloud Orchestrator 2.3: User's Guide
Table 9. Compulsory configurations (continued)
Configuration Parameter = default value Description
vmcontrol_host=""
vmcontrol_username=""
vmcontrol_network=""
vmcontrol_port="8422"
The configuration of your VMControl. Only
applicable if region_type=power.
vmcontrol_host:
The host name or IP address of
VMControl, for
example:"172.16.102.210".
vmcontrol_username:
The user name of the administrator
of VMControl, for example: "root".
vmcontrol_network:
The network name defined in
VMControl, for example:
"Discovered/1/0/ETHERNET0". It
will be used for provisioned virtual
machines.
vmcontrol_port:
The port to connect to VMControl
(defaults: 8422).
Note: The parameter vmcontrol_network is
combined with two VMControl discovered
network device names:
v From the Systems Director Network
Management or Network Control "Logical
Networks" view, select the network name
planned for SmartCloud Orchestrator
instances, like Discovered/1/0.
v To determine the switch device name for
the network, select "Power Systems
Management" from the System Director,
then "X Power Systems Hosts (Physical
Servers)" where "X" is indicating a number
of Power systems hosts, go into the target
host link. You will see a device like
ETHERNET0-IBM*8205-E6D*068840T with a
type of Switch in its properties. Then
ETHERNET0 would be device name of the
network.
So the full vmcontrol_network is the "Logical
Networks" + "/" + switch device name, here
is Discovered/1/0/ETHERNET0
5. If the region server shares a database with the central server, make sure that
the configuration is share_central_db=yes and that you have completed Step 2
in the section Before you begin.
6. Install the Region Server by running the following command on Region
Server-n:
/install_images/installer/deploy_region_server.sh [-h] [-a]
[-p <os-root-password>] -C <central-server-1-ip-address>
[-P <vcenter/vmcontrol-password>]
where:
-h Shows usage
Chapter 2. Installing 29
-a Accepts license by default
-p <os-root-password>
Defines the root password of the Region Server. This parameter is
optional. If it is not indicated here, the command will prompt you for
it.
-C <central-server-1-ip-address>
Defines the IP address of Central Server 1. This parameter is required.
-P <vcenter/vmcontrol-password>
Defines the password of the user name that you specified for your
vCenter or VMControl. This parameter is optional and it applies only
when you are not deploying a KVM region server. If it is not indicated
here, the command will prompt you for it.
Note: In case of any issues, the region can be removed and added again. For
details, refer to Removing a region on page 75.
Results
You can find the installation logs in /var/log/smartcloud/.
What to do next
After one region server has been setup:
v If the region type is VMware or Power, a SmartCloud Orchestrator with the
specific region was setup successfully. If multiple region are required, see
Installing a multiple-region environment on page 47, otherwise see Verifying
the installation on page 47.
v If the region type is KVM , you need add an extra machine to set up the
hypervisor, see Installing a compute node on page 44.
Note: For subsequent KVM compute nodes on the same subnet as the first
compute node, a new region server is not required, as the existing region server
can be reused. See Installing a compute node on page 44.
List of the RPM packages added during installation
This topic provides the list of the RPM packages that are added during the
installation of the Central Servers and Region Servers.
RPM packages added during the installation of Central Server 1
> apr-1.3.9-5.el6_2.x86_64
> apr-util-1.3.9-3.el6_0.1.x86_64
> apr-util-ldap-1.3.9-3.el6_0.1.x86_64
> audit-libs-2.2-2.el6.i686
> bind-9.8.2-0.17.rc1.el6.x86_64
> cloog-ppl-0.15.7-1.2.el6.x86_64
> compat-libstdc++-296-2.96-144.el6.i686
> compat-libstdc++-33-3.2.3-69.el6.i686
> compat-libstdc++-33-3.2.3-69.el6.x86_64
> compat-readline5-5.2-17.1.el6.x86_64
> cpp-4.4.7-3.el6.x86_64
> cracklib-2.8.16-4.el6.i686
> createrepo-0.9.9-17.el6.noarch
> dapl-2.0.34-1.el6.x86_64
> db4-4.7.25-17.el6.i686
> deltarpm-3.5-0.5.20090913git.el6.x86_64
30 IBM SmartCloud Orchestrator 2.3: User's Guide
> dhcp-4.1.1-34.P1.el6.x86_64
> ebtables-2.0.9-6.el6.x86_64
> gcc-4.4.7-3.el6.x86_64
> gcc-c++-4.4.7-3.el6.x86_64
> glibc-2.12-1.107.el6.i686
> glibc-devel-2.12-1.107.el6.x86_64
> glibc-headers-2.12-1.107.el6.x86_64
> httpd-2.2.15-26.el6.x86_64
> httpd-tools-2.2.15-26.el6.x86_64
> ibm-java-x86_64-sdk-6.0-10.0.x86_64
> jss-4.2.6-24.el6.x86_64
> kernel-headers-2.6.32-358.el6.x86_64
> ksh-20100621-19.el6.x86_64
> libgcc-4.4.7-3.el6.i686
> libibverbs-1.1.6-5.el6.x86_64
> librdmacm-1.0.17-0.git4b5c1aa.el6.x86_64
> libselinux-2.0.94-5.3.el6.i686
> libstdc++-4.4.7-3.el6.i686
> libstdc++-devel-4.4.7-3.el6.x86_64
> mpfr-2.4.1-6.el6.x86_64
> nss-softokn-freebl-3.12.9-11.el6.i686
> pam-1.1.1-13.el6.i686
> ppl-0.10.2-11.el6.x86_64
> python-deltarpm-3.5-0.5.20090913git.el6.x86_64
> rsct.64bit-3.1.4.4-13032.x86_64
> rsct.basic-3.1.4.4-13032.i386
> rsct.basic.msg.de_DE-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.de_DE.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.de_DE.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.es_ES-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.es_ES.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.es_ES.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.fr_FR-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.fr_FR.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.fr_FR.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.it_IT-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.it_IT.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.it_IT.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.ja_JP.eucJP-3.1.1.2-11266.i386
> rsct.basic.msg.ja_JP.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.ko_KR.eucKR-3.1.1.2-11266.i386
> rsct.basic.msg.ko_KR.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.pt_BR-3.1.1.2-11266.i386
> rsct.basic.msg.pt_BR.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.zh_CN.GB18030-3.1.1.2-11266.i386
> rsct.basic.msg.zh_CN.GB2312-3.1.1.2-11266.i386
> rsct.basic.msg.zh_CN.GBK-3.1.1.2-11266.i386
> rsct.basic.msg.zh_CN.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW.Big5-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW.eucTW-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW.UTF-8-3.1.1.2-11266.i386
> rsct.core-3.1.4.4-13032.i386
> rsct.core.msg.de_DE-3.1.1.2-11266.i386
> [email protected]
> rsct.core.msg.de_DE.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.de_DE.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.es_ES-3.1.1.2-11266.i386
> [email protected]
> rsct.core.msg.es_ES.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.es_ES.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.fr_FR-3.1.1.2-11266.i386
> [email protected]
Chapter 2. Installing 31
> rsct.core.msg.fr_FR.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.fr_FR.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.it_IT-3.1.1.2-11266.i386
> [email protected]
> rsct.core.msg.it_IT.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.it_IT.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.ja_JP.eucJP-3.1.1.2-11266.i386
> rsct.core.msg.ja_JP.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.ko_KR.eucKR-3.1.1.2-11266.i386
> rsct.core.msg.ko_KR.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.pt_BR-3.1.1.2-11266.i386
> rsct.core.msg.pt_BR.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.GB18030-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.GB2312-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.GBK-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW.Big5-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW.eucTW-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils-3.1.4.4-13032.i386
> rsct.core.utils.msg.de_DE-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.de_DE.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.de_DE.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.es_ES-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.es_ES.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.es_ES.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.fr_FR-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.fr_FR.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.fr_FR.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.it_IT-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.it_IT.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.it_IT.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.ja_JP.eucJP-3.1.1.2-11266.i386
> rsct.core.utils.msg.ja_JP.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.ko_KR.eucKR-3.1.1.2-11266.i386
> rsct.core.utils.msg.ko_KR.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.pt_BR-3.1.1.2-11266.i386
> rsct.core.utils.msg.pt_BR.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.GB18030-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.GB2312-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.GBK-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_TW-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_TW.Big5-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_TW.eucTW-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_TW.UTF-8-3.1.1.2-11266.i386
> rsct.opt.stackdump-3.1.4.4-13032.i386
> rsct.opt.storagerm-3.1.4.4-13032.i386
> ruby-1.8.7.352-7.el6_2.x86_64
> ruby-devel-1.8.7.352-7.el6_2.x86_64
> rubygems-1.3.7-1.el6.noarch
> ruby-irb-1.8.7.352-7.el6_2.x86_64
> ruby-libs-1.8.7.352-7.el6_2.x86_64
> ruby-rdoc-1.8.7.352-7.el6_2.x86_64
> sam-3.2.2.5-13129.i386
> sam.adapter-3.2.2.5-13129.i386
> sam.msg.de_DE-3.2.2.4-0.i386
> [email protected]
> sam.msg.de_DE.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.de_DE.UTF-8-3.2.2.4-0.i386
> sam.msg.es_ES-3.2.2.4-0.i386
> [email protected]
32 IBM SmartCloud Orchestrator 2.3: User's Guide
> sam.msg.es_ES.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.es_ES.UTF-8-3.2.2.4-0.i386
> sam.msg.fr_FR-3.2.2.4-0.i386
> [email protected]
> sam.msg.fr_FR.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.fr_FR.UTF-8-3.2.2.4-0.i386
> sam.msg.it_IT-3.2.2.4-0.i386
> [email protected]
> sam.msg.it_IT.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.it_IT.UTF-8-3.2.2.4-0.i386
> sam.msg.ja_JP.eucJP-3.2.2.4-0.i386
> sam.msg.ja_JP.UTF-8-3.2.2.4-0.i386
> sam.msg.ko_KR.eucKR-3.2.2.4-0.i386
> sam.msg.ko_KR.UTF-8-3.2.2.4-0.i386
> sam.msg.pt_BR-3.2.2.4-0.i386
> sam.msg.pt_BR.UTF-8-3.2.2.4-0.i386
> sam.msg.zh_CN.GB18030-3.2.2.4-0.i386
> sam.msg.zh_CN.GB2312-3.2.2.4-0.i386
> sam.msg.zh_CN.GBK-3.2.2.4-0.i386
> sam.msg.zh_CN.UTF-8-3.2.2.4-0.i386
> sam.msg.zh_TW-3.2.2.4-0.i386
> sam.msg.zh_TW.Big5-3.2.2.4-0.i386
> sam.msg.zh_TW.eucTW-3.2.2.4-0.i386
> sam.msg.zh_TW.UTF-8-3.2.2.4-0.i386
> sam.policies.one-3.2.2.5-13129.i386
> sam.policies.two-3.2.2.5-13129.i386
> sam.sappolicy-3.2.2.5-13129.i386
> scp-chef_repo_srv-2.2.0.0-201311090045.noarch
> scp-cookbooks-2.3.0.0-B20131109005700.noarch
> sg3_utils-1.28-4.el6.x86_64
> src-3.1.4.4-13032.i386
> src.msg.de_DE-1.3.1.1-11266.i386
> [email protected]
> src.msg.de_DE.ISO-8859-1-1.3.1.1-11266.i386
> src.msg.de_DE.UTF-8-1.3.1.1-11266.i386
> src.msg.es_ES-1.3.1.1-11266.i386
> [email protected]
> src.msg.es_ES.ISO-8859-1-1.3.1.1-11266.i386
> src.msg.es_ES.UTF-8-1.3.1.1-11266.i386
> src.msg.fr_FR-1.3.1.1-11266.i386
> [email protected]
> src.msg.fr_FR.ISO-8859-1-1.3.1.1-11266.i386
> src.msg.fr_FR.UTF-8-1.3.1.1-11266.i386
> src.msg.it_IT-1.3.1.1-11266.i386
> [email protected]
> src.msg.it_IT.ISO-8859-1-1.3.1.1-11266.i386
> src.msg.it_IT.UTF-8-1.3.1.1-11266.i386
> src.msg.ja_JP.eucJP-1.3.1.1-11266.i386
> src.msg.ja_JP.UTF-8-1.3.1.1-11266.i386
> src.msg.ko_KR.eucKR-1.3.1.1-11266.i386
> src.msg.ko_KR.UTF-8-1.3.1.1-11266.i386
> src.msg.pt_BR-1.3.1.1-11266.i386
> src.msg.pt_BR.UTF-8-1.3.1.1-11266.i386
> src.msg.zh_CN.GB18030-1.3.1.1-11266.i386
> src.msg.zh_CN.GB2312-1.3.1.1-11266.i386
> src.msg.zh_CN.GBK-1.3.1.1-11266.i386
> src.msg.zh_CN.UTF-8-1.3.1.1-11266.i386
> src.msg.zh_TW-1.3.1.1-11266.i386
> src.msg.zh_TW.Big5-1.3.1.1-11266.i386
> src.msg.zh_TW.eucTW-1.3.1.1-11266.i386
> src.msg.zh_TW.UTF-8-1.3.1.1-11266.i386
> tunctl-1.5-3.el6.x86_64
Chapter 2. Installing 33
RPM packages added during the installation of Central Server 2
> atk-1.28.0-2.el6.i686
> audit-libs-2.2-2.el6.i686
> augeas-libs-0.9.0-4.el6.x86_64
> avahi-libs-0.6.25-12.el6.i686
> axis-1.2.1-7.2.el6.noarch
> bcel-5.2-7.2.el6.x86_64
> boost-1.47.0-7.ibm.x86_64
> boost-chrono-1.47.0-7.ibm.x86_64
> boost-date-time-1.47.0-7.ibm.x86_64
> boost-filesystem-1.47.0-7.ibm.x86_64
> boost-graph-1.47.0-7.ibm.x86_64
> boost-iostreams-1.47.0-7.ibm.x86_64
> boost-program-options-1.47.0-7.ibm.x86_64
> boost-python-1.47.0-7.ibm.x86_64
> boost-random-1.47.0-7.ibm.x86_64
> boost-regex-1.47.0-7.ibm.x86_64
> boost-serialization-1.47.0-7.ibm.x86_64
> boost-signals-1.47.0-7.ibm.x86_64
> boost-system-1.47.0-7.ibm.x86_64
> boost-test-1.47.0-7.ibm.x86_64
> boost-thread-1.47.0-7.ibm.x86_64
> boost-wave-1.47.0-7.ibm.x86_64
> btrfs-progs-0.20-0.2.git91d9eec.el6.x86_64
> bzip2-devel-1.0.5-7.el6_0.x86_64
> bzip2-libs-1.0.5-7.el6_0.i686
> cairo-1.8.8-3.1.el6.i686
> celt051-0.5.1.3-0.el6.x86_64
> classpathx-jaf-1.0-15.4.el6.x86_64
> classpathx-mail-1.1.1-9.4.el6.noarch
> cloog-ppl-0.15.7-1.2.el6.x86_64
> compat-db42-4.2.52-15.el6.i686
> compat-db42-4.2.52-15.el6.x86_64
> compat-db43-4.3.29-15.el6.i686
> compat-db43-4.3.29-15.el6.x86_64
> compat-db-4.6.21-15.el6.i686
> compat-db-4.6.21-15.el6.x86_64
> compat-libstdc++-33-3.2.3-69.el6.i686
> compat-libstdc++-33-3.2.3-69.el6.x86_64
> compat-readline5-5.2-17.1.el6.x86_64
> cpp-4.4.7-3.el6.x86_64
> cracklib-2.8.16-4.el6.i686
> cups-libs-1.4.2-48.el6_3.3.i686
> cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64
> db4-4.7.25-17.el6.i686
> dbus-libs-1.2.24-7.el6_3.i686
> dos2unix-3.1-37.el6.x86_64
> ebtables-2.0.9-6.el6.x86_64
> ecj-3.4.2-6.el6.x86_64
> elfutils-libelf-0.152-1.el6.i686
> elfutils-libs-0.152-1.el6.i686
> expat-2.0.1-11.el6_2.i686
> febootstrap-supermin-helper-3.12-2.el6.x86_64
> fontconfig-2.8.0-3.el6.i686
> freetype-2.3.11-6.el6_2.9.i686
> fuse-2.8.3-4.el6.x86_64
> fuse-libs-2.8.3-4.el6.x86_64
> gamin-0.1.10-9.el6.i686
> gcc-4.4.7-3.el6.x86_64
> gcc-c++-4.4.7-3.el6.x86_64
> genisoimage-1.1.9-12.el6.x86_64
> glib2-2.22.5-7.el6.i686
> glibc-2.12-1.107.el6.i686
> glibc-devel-2.12-1.107.el6.x86_64
> glibc-headers-2.12-1.107.el6.x86_64
> gnutls-2.8.5-10.el6.i686
> gnutls-utils-2.8.5-10.el6.x86_64
34 IBM SmartCloud Orchestrator 2.3: User's Guide
> gpxe-roms-qemu-0.9.7-6.9.el6.noarch
> gtk2-2.18.9-12.el6.i686
> gtk2-engines-2.18.4-5.el6.i686
> gtk2-engines-2.18.4-5.el6.x86_64
> hivex-1.3.3-4.2.el6.x86_64
> iaasgateway-2013.1-1.1.1.ibm.201310312301.noarch
> ibm-java-x86_64-sdk-6.0-10.0.x86_64
> ibm-simpletoken-authenticator-middleware-2013.1.4-201310161128.ibm.noarch
> iscsi-initiator-utils-6.2.0.873-2.el6.x86_64
> jakarta-commons-collections-3.2.1-3.4.el6.noarch
> jakarta-commons-daemon-1.0.1-8.9.el6.x86_64
> jakarta-commons-dbcp-1.2.1-13.8.el6.noarch
> jakarta-commons-discovery-0.4-5.4.el6.noarch
> jakarta-commons-httpclient-3.1-0.6.el6.x86_64
> jakarta-commons-logging-1.0.4-10.el6.noarch
> jakarta-commons-pool-1.3-12.7.el6.x86_64
> jasper-libs-1.900.1-15.el6_1.1.i686
> java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
> java_cup-0.10k-5.el6.x86_64
> kernel-headers-2.6.32-358.el6.x86_64
> keyutils-libs-1.4-4.el6.i686
> keyutils-libs-devel-1.4-4.el6.x86_64
> krb5-devel-1.10.3-10.el6.x86_64
> krb5-libs-1.10.3-10.el6.i686
> ksh-20100621-19.el6.x86_64
> libart_lgpl-2.3.20-5.1.el6.x86_64
> libcom_err-1.41.12-14.el6.i686
> libcom_err-devel-1.41.12-14.el6.x86_64
> libconfig-1.3.2-1.1.el6.x86_64
> libgcc-4.4.7-3.el6.i686
> libgcj-4.4.7-3.el6.x86_64
> libgcrypt-1.4.5-9.el6_2.2.i686
> libgcrypt-devel-1.4.5-9.el6_2.2.x86_64
> libgpg-error-1.7-4.el6.i686
> libgpg-error-devel-1.7-4.el6.x86_64
> libguestfs-1.16.34-2.el6.x86_64
> libguestfs-tools-1.16.34-2.el6.x86_64
> libguestfs-tools-c-1.16.34-2.el6.x86_64
> libguestfs-winsupport-1.0-7.el6.x86_64
> libICE-1.0.6-1.el6.i686
> libicu-4.2.1-9.1.el6_2.x86_64
> libjpeg-turbo-1.2.1-1.el6.i686
> libpng-1.2.49-1.el6_2.i686
> libselinux-2.0.94-5.3.el6.i686
> libselinux-devel-2.0.94-5.3.el6.x86_64
> libsepol-devel-2.0.41-4.el6.x86_64
> libSM-1.2.1-2.el6.i686
> libstdc++-4.4.7-3.el6.i686
> libstdc++-devel-4.4.7-3.el6.x86_64
> libtasn1-2.3-3.el6_2.1.i686
> libthai-0.1.12-3.el6.i686
> libtiff-3.9.4-9.el6_3.i686
> libuuid-2.17.2-12.9.el6.i686
> libvirt-client-0.10.2-18.el6.x86_64
> libX11-1.5.0-4.el6.i686
> libXau-1.0.6-4.el6.i686
> libxcb-1.8.1-1.el6.i686
> libXcomposite-0.4.3-4.el6.i686
> libXcursor-1.1.13-2.el6.i686
> libXdamage-1.1.3-4.el6.i686
> libXext-1.3.1-2.el6.i686
> libXfixes-5.0-3.el6.i686
> libXft-2.3.1-2.el6.i686
> libXi-1.6.1-3.el6.i686
> libXinerama-1.1.2-2.el6.i686
> libXmu-1.1.1-2.el6.i686
> libXmu-1.1.1-2.el6.x86_64
Chapter 2. Installing 35
> libXp-1.0.0-15.1.el6.i686
> libXp-1.0.0-15.1.el6.x86_64
> libXrandr-1.4.0-1.el6.i686
> libXrender-0.9.7-2.el6.i686
> libXt-1.1.3-1.el6.i686
> libXtst-1.2.1-2.el6.i686
> log4j-1.2.14-6.4.el6.x86_64
> lzo-2.03-3.1.el6.x86_64
> lzop-1.02-0.9.rc1.el6.x86_64
> memcached-1.4.4-3.el6.x86_64
> mpfr-2.4.1-6.el6.x86_64
> mx4j-3.0.1-9.13.el6.noarch
> MySQL-python-1.2.3-0.3.c1.1.el6.x86_64
> nc-1.84-22.el6.x86_64
> ncurses-devel-5.7-3.20090208.el6.x86_64
> netcf-libs-0.1.9-3.el6.x86_64
> nss-softokn-freebl-3.12.9-11.el6.i686
> openssl-devel-1.0.0-27.el6.x86_64
> openstack-keystone-2013.1.4.1-201310310850.ibm.5.noarch
> openstack-utils-2013.1.1.1-201306031701.ibm.1.noarch
> pam-1.1.1-13.el6.i686
> pango-1.28.1-7.el6_3.i686
> perl-Digest-SHA1-2.12-2.el6.x86_64
> perl-hivex-1.3.3-4.2.el6.x86_64
> perl-libintl-1.20-1.el6.x86_64
> perl-Sys-Guestfs-1.16.34-2.el6.x86_64
> perl-Sys-Virt-0.10.2-5.el6.x86_64
> perl-XML-Writer-0.606-6.el6.noarch
> perl-XML-XPath-1.13-10.el6.noarch
> pixman-0.26.2-4.el6.i686
> ppl-0.10.2-11.el6.x86_64
> PyPAM-0.5.0-12.el6.x86_64
> python-anyjson-0.2.4-4.003.ibm.noarch
> python-argparse-1.2.1-3.ibm.noarch
> python-babel-0.9.6-3.001.ibm.noarch
> python-decorator-3.0.1-3.1.el6.noarch
> python-eventlet-0.9.17-2.ibm.noarch
> python-greenlet-0.3.4-11.001.ibm.x86_64
> python-httplib2-0.7.4-7.ibm.noarch
> python-ibm-db-2.0.4.1-2.ibm.el6.x86_64
> python-ibm-db-sa-0.3.0-6.ibm.el6.noarch
> python-iso8601-0.1.4-3.ibm.noarch
> python-keystone-2013.1.4.1-201310310850.ibm.5.noarch
> python-keystoneclient-0.2.3-71.ibm.noarch
> python-libguestfs-1.16.34-2.el6.x86_64
> python-memcached-1.43-6.el6.noarch
> python-migrate-0.7.2-9.ibm.noarch
> python-oslo-config-1.1.1-201308151039.ibm.noarch
> python-passlib-1.5.3-2.ibm.noarch
> python-paste-1.7.4-2.el6.noarch
> python-paste-deploy-1.5.0-5.ibm.001.noarch
> python-prettytable-0.6.1-2.ibm.noarch
> python-requests-0.14.1-2.002.ibm.noarch
> python-routes-1.12.3-5.001.ibm.noarch
> python-sqlalchemy-0.7.9-3.ibm.el6.x86_64
> python-tempita-0.4-2.el6.noarch
> python-webob-1.2.3-2.ibm.noarch
> qemu-img-0.12.1.2-2.355.el6.x86_64
> qemu-kvm-0.12.1.2-2.355.el6.x86_64
> qpid-cpp-client-0.18-6.001.ibm.x86_64
> qpid-cpp-client-ssl-0.18-6.001.ibm.x86_64
> readline-devel-6.0-4.el6.x86_64
> regexp-1.5-4.4.el6.x86_64
> rpm-build-4.8.0-32.el6.x86_64
> ruby-1.8.7.352-7.el6_2.x86_64
> ruby-devel-1.8.7.352-7.el6_2.x86_64
> rubygems-1.3.7-1.el6.noarch
36 IBM SmartCloud Orchestrator 2.3: User's Guide
> ruby-irb-1.8.7.352-7.el6_2.x86_64
> ruby-libs-1.8.7.352-7.el6_2.x86_64
> ruby-rdoc-1.8.7.352-7.el6_2.x86_64
> scrub-2.2-1.el6.x86_64
> seabios-0.6.1.2-26.el6.x86_64
> sgabios-bin-0-0.3.20110621svn.el6.noarch
> sinjdoc-0.5-9.1.el6.x86_64
> spice-server-0.12.0-12.el6.x86_64
> sqlite-devel-3.6.20-1.el6.x86_64
> tomcat6-6.0.24-49.el6.noarch
> tomcat6-el-2.1-api-6.0.24-49.el6.noarch
> tomcat6-jsp-2.1-api-6.0.24-49.el6.noarch
> tomcat6-lib-6.0.24-49.el6.noarch
> tomcat6-servlet-2.5-api-6.0.24-49.el6.noarch
> tunctl-1.5-3.el6.x86_64
> usbredir-0.5.1-1.el6.x86_64
> vgabios-0.6b-3.7.el6.noarch
> wsdl4j-1.5.2-7.8.el6.noarch
> xml-commons-apis-1.3.04-3.6.el6.x86_64
> xml-commons-resolver-1.1-4.18.el6.x86_64
> xz-libs-4.999.9-0.3.beta.20091007git.el6.i686
> yajl-1.0.7-3.el6.x86_64
> zlib-1.2.3-29.el6.i686
RPM packages added during the installation of Central Server 3
> cloog-ppl-0.15.7-1.2.el6.x86_64
> compat-libstdc++-33-3.2.3-69.el6.i686
> compat-libstdc++-33-3.2.3-69.el6.x86_64
> compat-readline5-5.2-17.1.el6.x86_64
> cpp-4.4.7-3.el6.x86_64
> dos2unix-3.1-37.el6.x86_64
> ebtables-2.0.9-6.el6.x86_64
> gcc-4.4.7-3.el6.x86_64
> gcc-c++-4.4.7-3.el6.x86_64
> genisoimage-1.1.9-12.el6.x86_64
> glibc-2.12-1.107.el6.i686
> glibc-devel-2.12-1.107.el6.x86_64
> glibc-headers-2.12-1.107.el6.x86_64
> ibm-java-i386-sdk-6.0-9.3.i386
> ibm-java-x86_64-sdk-6.0-10.0.x86_64
> kernel-headers-2.6.32-358.el6.x86_64
> libgcc-4.4.7-3.el6.i686
> libstdc++-devel-4.4.7-3.el6.x86_64
> mpfr-2.4.1-6.el6.x86_64
> nss-softokn-freebl-3.12.9-11.el6.i686
> ppl-0.10.2-11.el6.x86_64
> ruby-1.8.7.352-7.el6_2.x86_64
> ruby-devel-1.8.7.352-7.el6_2.x86_64
> rubygems-1.3.7-1.el6.noarch
> ruby-irb-1.8.7.352-7.el6_2.x86_64
> ruby-libs-1.8.7.352-7.el6_2.x86_64
> ruby-rdoc-1.8.7.352-7.el6_2.x86_64
> tunctl-1.5-3.el6.x86_64
RPM packages added during the installation of Central Server 4
> atk-1.28.0-2.el6.i686
> audit-libs-2.2-2.el6.i686
> avahi-libs-0.6.25-12.el6.i686
> cairo-1.8.8-3.1.el6.i686
> cloog-ppl-0.15.7-1.2.el6.x86_64
> compat-readline5-5.2-17.1.el6.x86_64
> cpp-4.4.7-3.el6.x86_64
> cups-libs-1.4.2-48.el6_3.3.i686
> dbus-libs-1.2.24-7.el6_3.i686
> ebtables-2.0.9-6.el6.x86_64
> expat-2.0.1-11.el6_2.i686
Chapter 2. Installing 37
> fontconfig-2.8.0-3.el6.i686
> freetype-2.3.11-6.el6_2.9.i686
> gamin-0.1.10-9.el6.i686
> gcc-4.4.7-3.el6.x86_64
> gcc-c++-4.4.7-3.el6.x86_64
> glib2-2.22.5-7.el6.i686
> glibc-2.12-1.107.el6.i686
> glibc-devel-2.12-1.107.el6.x86_64
> glibc-headers-2.12-1.107.el6.x86_64
> gnutls-2.8.5-10.el6.i686
> gtk2-2.18.9-12.el6.i686
> jasper-libs-1.900.1-15.el6_1.1.i686
> kernel-headers-2.6.32-358.el6.x86_64
> keyutils-libs-1.4-4.el6.i686
> krb5-libs-1.10.3-10.el6.i686
> ksh-20100621-19.el6.x86_64
> libcom_err-1.41.12-14.el6.i686
> libgcc-4.4.7-3.el6.i686
> libgcrypt-1.4.5-9.el6_2.2.i686
> libgpg-error-1.7-4.el6.i686
> libjpeg-turbo-1.2.1-1.el6.i686
> libpng-1.2.49-1.el6_2.i686
> libselinux-2.0.94-5.3.el6.i686
> libstdc++-4.4.7-3.el6.i686
> libstdc++-devel-4.4.7-3.el6.x86_64
> libtasn1-2.3-3.el6_2.1.i686
> libthai-0.1.12-3.el6.i686
> libtiff-3.9.4-9.el6_3.i686
> libX11-1.5.0-4.el6.i686
> libXau-1.0.6-4.el6.i686
> libxcb-1.8.1-1.el6.i686
> libXcomposite-0.4.3-4.el6.i686
> libXcursor-1.1.13-2.el6.i686
> libXdamage-1.1.3-4.el6.i686
> libXext-1.3.1-2.el6.i686
> libXfixes-5.0-3.el6.i686
> libXft-2.3.1-2.el6.i686
> libXi-1.6.1-3.el6.i686
> libXinerama-1.1.2-2.el6.i686
> libXrandr-1.4.0-1.el6.i686
> libXrender-0.9.7-2.el6.i686
> libXtst-1.2.1-2.el6.i686
> mpfr-2.4.1-6.el6.x86_64
> nss-softokn-freebl-3.12.9-11.el6.i686
> pango-1.28.1-7.el6_3.i686
> pixman-0.26.2-4.el6.i686
> ppl-0.10.2-11.el6.x86_64
> ruby-1.8.7.352-7.el6_2.x86_64
> ruby-devel-1.8.7.352-7.el6_2.x86_64
> rubygems-1.3.7-1.el6.noarch
> ruby-irb-1.8.7.352-7.el6_2.x86_64
> ruby-libs-1.8.7.352-7.el6_2.x86_64
> ruby-rdoc-1.8.7.352-7.el6_2.x86_64
> tunctl-1.5-3.el6.x86_64
> zlib-1.2.3-29.el6.i686
RPM packages added during the installation of Region Server
"n"
> apr-1.3.9-5.el6_2.x86_64
> apr-util-1.3.9-3.el6_0.1.x86_64
> apr-util-ldap-1.3.9-3.el6_0.1.x86_64
> audit-libs-2.2-2.el6.i686
> augeas-libs-0.9.0-4.el6.x86_64
> bind-9.8.2-0.17.rc1.el6.x86_64
> boost-1.47.0-7.ibm.x86_64
> boost-chrono-1.47.0-7.ibm.x86_64
38 IBM SmartCloud Orchestrator 2.3: User's Guide
> boost-date-time-1.47.0-7.ibm.x86_64
> boost-filesystem-1.47.0-7.ibm.x86_64
> boost-graph-1.47.0-7.ibm.x86_64
> boost-iostreams-1.47.0-7.ibm.x86_64
> boost-program-options-1.47.0-7.ibm.x86_64
> boost-python-1.47.0-7.ibm.x86_64
> boost-random-1.47.0-7.ibm.x86_64
> boost-regex-1.47.0-7.ibm.x86_64
> boost-serialization-1.47.0-7.ibm.x86_64
> boost-signals-1.47.0-7.ibm.x86_64
> boost-system-1.47.0-7.ibm.x86_64
> boost-test-1.47.0-7.ibm.x86_64
> boost-thread-1.47.0-7.ibm.x86_64
> boost-wave-1.47.0-7.ibm.x86_64
> btrfs-progs-0.20-0.2.git91d9eec.el6.x86_64
> bzip2-devel-1.0.5-7.el6_0.x86_64
> celt051-0.5.1.3-0.el6.x86_64
> cloog-ppl-0.15.7-1.2.el6.x86_64
> compat-libstdc++-296-2.96-144.el6.i686
> compat-libstdc++-33-3.2.3-69.el6.i686
> compat-libstdc++-33-3.2.3-69.el6.x86_64
> compat-readline5-5.2-17.1.el6.x86_64
> cpp-4.4.7-3.el6.x86_64
> cracklib-2.8.16-4.el6.i686
> createrepo-0.9.9-17.el6.noarch
> cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64
> dapl-2.0.34-1.el6.x86_64
> db4-4.7.25-17.el6.i686
> deltarpm-3.5-0.5.20090913git.el6.x86_64
> dhcp-4.1.1-34.P1.el6.x86_64
> dnsmasq-2.59-5.ibm.003.x86_64
> dnsmasq-utils-2.59-5.ibm.003.x86_64
> dos2unix-3.1-37.el6.x86_64
> ebtables-2.0.9-6.el6.x86_64
> febootstrap-supermin-helper-3.12-2.el6.x86_64
> fuse-2.8.3-4.el6.x86_64
> fuse-libs-2.8.3-4.el6.x86_64
> gcc-4.4.7-3.el6.x86_64
> gcc-c++-4.4.7-3.el6.x86_64
> genisoimage-1.1.9-12.el6.x86_64
> glibc-2.12-1.107.el6.i686
> glibc-devel-2.12-1.107.el6.x86_64
> glibc-headers-2.12-1.107.el6.x86_64
> gnutls-utils-2.8.5-10.el6.x86_64
> gpxe-roms-qemu-0.9.7-6.9.el6.noarch
> hivex-1.3.3-4.2.el6.x86_64
> httpd-2.2.15-26.el6.x86_64
> httpd-tools-2.2.15-26.el6.x86_64
> iscsi-initiator-utils-6.2.0.873-2.el6.x86_64
> kernel-headers-2.6.32-358.el6.x86_64
> keyutils-libs-devel-1.4-4.el6.x86_64
> krb5-devel-1.10.3-10.el6.x86_64
> ksh-20100621-19.el6.x86_64
> libcom_err-devel-1.41.12-14.el6.x86_64
> libconfig-1.3.2-1.1.el6.x86_64
> libgcc-4.4.7-3.el6.i686
> libgcrypt-devel-1.4.5-9.el6_2.2.x86_64
> libgpg-error-devel-1.7-4.el6.x86_64
> libguestfs-1.16.34-2.el6.x86_64
> libguestfs-tools-1.16.34-2.el6.x86_64
> libguestfs-tools-c-1.16.34-2.el6.x86_64
> libguestfs-winsupport-1.0-7.el6.x86_64
> libibverbs-1.1.6-5.el6.x86_64
> libicu-4.2.1-9.1.el6_2.x86_64
> librdmacm-1.0.17-0.git4b5c1aa.el6.x86_64
> libselinux-2.0.94-5.3.el6.i686
> libselinux-devel-2.0.94-5.3.el6.x86_64
Chapter 2. Installing 39
> libsepol-devel-2.0.41-4.el6.x86_64
> libstdc++-4.4.7-3.el6.i686
> libstdc++-devel-4.4.7-3.el6.x86_64
> libvirt-0.10.2-18.el6.x86_64
> libvirt-client-0.10.2-18.el6.x86_64
> libvirt-python-0.10.2-18.el6.x86_64
> lzo-2.03-3.1.el6.x86_64
> lzop-1.02-0.9.rc1.el6.x86_64
> mpfr-2.4.1-6.el6.x86_64
> mtools-4.0.12-1.el6.x86_64
> MySQL-python-1.2.3-0.3.c1.1.el6.x86_64
> nc-1.84-22.el6.x86_64
> ncurses-devel-5.7-3.20090208.el6.x86_64
> netcf-libs-0.1.9-3.el6.x86_64
> novnc-0.4-6.003.ibm.el6.noarch
> nss-softokn-freebl-3.12.9-11.el6.i686
> openssl-devel-1.0.0-27.el6.x86_64
> openstack-cinder-2013.1.4.1-201310310842.ibm.5.noarch
> openstack-glance-2013.1.4.1-201310310845.ibm.5.noarch
> openstack-nova-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-api-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-cells-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-cert-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-common-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-compute-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-compute-prereqs-2013.1-201308201437.ibm.1.x86_64
> openstack-nova-conductor-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-console-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-network-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-novncproxy-0.4-6.003.ibm.el6.noarch
> openstack-nova-objectstore-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-nova-scheduler-2013.1.4.1-201310310901.ibm.8.noarch
> openstack-utils-2013.1.1.1-201306031701.ibm.1.noarch
> pam-1.1.1-13.el6.i686
> perl-Config-General-2.44-1.el6.noarch
> perl-hivex-1.3.3-4.2.el6.x86_64
> perl-libintl-1.20-1.el6.x86_64
> perl-Sys-Guestfs-1.16.34-2.el6.x86_64
> perl-Sys-Virt-0.10.2-5.el6.x86_64
> perl-XML-Writer-0.606-6.el6.noarch
> perl-XML-XPath-1.13-10.el6.noarch
> ppl-0.10.2-11.el6.x86_64
> PyPAM-0.5.0-12.el6.x86_64
> pyparsing-1.5.7-2.ibm.noarch
> python-amqplib-0.6.1-3.002.ibm.noarch
> python-anyjson-0.2.4-4.003.ibm.noarch
> python-argparse-1.2.1-3.ibm.noarch
> python-boto-2.5.2-2.ibm.noarch
> python-cheetah-2.4.4-4.001.ibm.x86_64
> python-cinder-2013.1.4.1-201310310842.ibm.5.noarch
> python-cinderclient-1.0.3-2.ibm.noarch
> python-cliff-1.3.2-1.ibm.noarch
> python-cmd2-0.6.4-3.ibm.noarch
> python-crypto-2.3-7.ibm.002.x86_64
> python-decorator-3.0.1-3.1.el6.noarch
> python-deltarpm-3.5-0.5.20090913git.el6.x86_64
> python-eventlet-0.9.17-2.ibm.noarch
> python-glance-2013.1.4.1-201310310845.ibm.5.noarch
> python-glanceclient-0.9.0-4.ibm.el6.noarch
> python-greenlet-0.3.4-11.001.ibm.x86_64
> python-httplib2-0.7.4-7.ibm.noarch
> python-ibm-db-2.0.4.1-2.ibm.el6.x86_64
> python-ibm-db-sa-0.3.0-6.ibm.el6.noarch
> python-iso8601-0.1.4-3.ibm.noarch
> python-jsonpatch-0.10-2.ibm.noarch
> python-jsonpointer-0.5-2.ibm.noarch
> python-jsonschema-0.7-2.ibm.noarch
40 IBM SmartCloud Orchestrator 2.3: User's Guide
> python-keystone-2013.1.4.1-201310310850.ibm.5.noarch
> python-keystoneclient-0.2.3-71.ibm.noarch
> python-kombu-1.0.4-2.002.ibm.noarch
> python-libguestfs-1.16.34-2.el6.x86_64
> python-lockfile-0.8-4.ibm.002.noarch
> python-markdown-2.0.1-3.1.el6.noarch
> python-memcached-1.43-6.el6.noarch
> python-migrate-0.7.2-9.ibm.noarch
> python-nova-2013.1.4.1-201310310901.ibm.8.noarch
> python-novaclient-2.13-2.ibm.noarch
> python-ordereddict-1.1-3.001.ibm.noarch
> python-oslo-config-1.1.1-201308151039.ibm.noarch
> python-paramiko-1.8.0-3.ibm.el6.noarch
> python-passlib-1.5.3-2.ibm.noarch
> python-paste-1.7.4-2.el6.noarch
> python-paste-deploy-1.5.0-5.ibm.001.noarch
> python-prettytable-0.6.1-2.ibm.noarch
> python-pyasn1-0.0.12a-2.ibm.noarch
> python-pygments-1.1.1-1.el6.noarch
> python-qpid-0.18-3.ibm.el6.noarch
> python-qpid-qmf-0.18-6.001.ibm.x86_64
> python-quantumclient-2.2.1-5.ibm.noarch
> python-requests-0.14.1-2.002.ibm.noarch
> python-routes-1.12.3-5.001.ibm.noarch
> python-sqlalchemy-0.7.9-3.ibm.el6.x86_64
> python-stevedore-0.8-2.ibm.noarch
> python-suds-0.4.1-3.el6.noarch
> python-swiftclient-1.2.0-4.ibm.noarch
> python-tempita-0.4-2.el6.noarch
> python-warlock-0.7.0-2.ibm.noarch
> python-webob-1.2.3-2.ibm.noarch
> python-websockify-0.2.0-3.001.ibm.noarch
> python-wsgiref-0.1.2-10.001.ibm.noarch
> qemu-img-0.12.1.2-2.355.el6.x86_64
> qemu-kvm-0.12.1.2-2.355.el6.x86_64
> qpid-cpp-client-0.18-6.001.ibm.x86_64
> qpid-cpp-server-0.18-6.001.ibm.x86_64
> qpid-cpp-server-ha-0.18-6.001.ibm.x86_64
> qpid-qmf-0.18-6.001.ibm.x86_64
> qpid-tools-0.18-6.001.ibm.noarch
> radvd-1.6-1.el6.x86_64
> readline-devel-6.0-4.el6.x86_64
> rsct.64bit-3.1.4.4-13032.x86_64
> rsct.basic-3.1.4.4-13032.i386
> rsct.basic.msg.de_DE-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.de_DE.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.de_DE.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.es_ES-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.es_ES.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.es_ES.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.fr_FR-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.fr_FR.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.fr_FR.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.it_IT-3.1.1.2-11266.i386
> [email protected]
> rsct.basic.msg.it_IT.ISO-8859-1-3.1.1.2-11266.i386
> rsct.basic.msg.it_IT.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.ja_JP.eucJP-3.1.1.2-11266.i386
> rsct.basic.msg.ja_JP.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.ko_KR.eucKR-3.1.1.2-11266.i386
> rsct.basic.msg.ko_KR.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.pt_BR-3.1.1.2-11266.i386
> rsct.basic.msg.pt_BR.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.zh_CN.GB18030-3.1.1.2-11266.i386
Chapter 2. Installing 41
> rsct.basic.msg.zh_CN.GB2312-3.1.1.2-11266.i386
> rsct.basic.msg.zh_CN.GBK-3.1.1.2-11266.i386
> rsct.basic.msg.zh_CN.UTF-8-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW.Big5-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW.eucTW-3.1.1.2-11266.i386
> rsct.basic.msg.zh_TW.UTF-8-3.1.1.2-11266.i386
> rsct.core-3.1.4.4-13032.i386
> rsct.core.msg.de_DE-3.1.1.2-11266.i386
> [email protected]
> rsct.core.msg.de_DE.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.de_DE.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.es_ES-3.1.1.2-11266.i386
> [email protected]
> rsct.core.msg.es_ES.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.es_ES.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.fr_FR-3.1.1.2-11266.i386
> [email protected]
> rsct.core.msg.fr_FR.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.fr_FR.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.it_IT-3.1.1.2-11266.i386
> [email protected]
> rsct.core.msg.it_IT.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.msg.it_IT.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.ja_JP.eucJP-3.1.1.2-11266.i386
> rsct.core.msg.ja_JP.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.ko_KR.eucKR-3.1.1.2-11266.i386
> rsct.core.msg.ko_KR.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.pt_BR-3.1.1.2-11266.i386
> rsct.core.msg.pt_BR.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.GB18030-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.GB2312-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.GBK-3.1.1.2-11266.i386
> rsct.core.msg.zh_CN.UTF-8-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW.Big5-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW.eucTW-3.1.1.2-11266.i386
> rsct.core.msg.zh_TW.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils-3.1.4.4-13032.i386
> rsct.core.utils.msg.de_DE-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.de_DE.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.de_DE.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.es_ES-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.es_ES.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.es_ES.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.fr_FR-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.fr_FR.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.fr_FR.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.it_IT-3.1.1.2-11266.i386
> [email protected]
> rsct.core.utils.msg.it_IT.ISO-8859-1-3.1.1.2-11266.i386
> rsct.core.utils.msg.it_IT.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.ja_JP.eucJP-3.1.1.2-11266.i386
> rsct.core.utils.msg.ja_JP.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.ko_KR.eucKR-3.1.1.2-11266.i386
> rsct.core.utils.msg.ko_KR.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.pt_BR-3.1.1.2-11266.i386
> rsct.core.utils.msg.pt_BR.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.GB18030-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.GB2312-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.GBK-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_CN.UTF-8-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_TW-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_TW.Big5-3.1.1.2-11266.i386
42 IBM SmartCloud Orchestrator 2.3: User's Guide
> rsct.core.utils.msg.zh_TW.eucTW-3.1.1.2-11266.i386
> rsct.core.utils.msg.zh_TW.UTF-8-3.1.1.2-11266.i386
> rsct.opt.stackdump-3.1.4.4-13032.i386
> rsct.opt.storagerm-3.1.4.4-13032.i386
> ruby-1.8.7.352-7.el6_2.x86_64
> ruby-devel-1.8.7.352-7.el6_2.x86_64
> rubygems-1.3.7-1.el6.noarch
> ruby-irb-1.8.7.352-7.el6_2.x86_64
> ruby-libs-1.8.7.352-7.el6_2.x86_64
> ruby-rdoc-1.8.7.352-7.el6_2.x86_64
> sam-3.2.2.5-13129.i386
> sam.adapter-3.2.2.5-13129.i386
> sam.msg.de_DE-3.2.2.4-0.i386
> [email protected]
> sam.msg.de_DE.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.de_DE.UTF-8-3.2.2.4-0.i386
> sam.msg.es_ES-3.2.2.4-0.i386
> [email protected]
> sam.msg.es_ES.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.es_ES.UTF-8-3.2.2.4-0.i386
> sam.msg.fr_FR-3.2.2.4-0.i386
> [email protected]
> sam.msg.fr_FR.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.fr_FR.UTF-8-3.2.2.4-0.i386
> sam.msg.it_IT-3.2.2.4-0.i386
> [email protected]
> sam.msg.it_IT.ISO-8859-1-3.2.2.4-0.i386
> sam.msg.it_IT.UTF-8-3.2.2.4-0.i386
> sam.msg.ja_JP.eucJP-3.2.2.4-0.i386
> sam.msg.ja_JP.UTF-8-3.2.2.4-0.i386
> sam.msg.ko_KR.eucKR-3.2.2.4-0.i386
> sam.msg.ko_KR.UTF-8-3.2.2.4-0.i386
> sam.msg.pt_BR-3.2.2.4-0.i386
> sam.msg.pt_BR.UTF-8-3.2.2.4-0.i386
> sam.msg.zh_CN.GB18030-3.2.2.4-0.i386
> sam.msg.zh_CN.GB2312-3.2.2.4-0.i386
> sam.msg.zh_CN.GBK-3.2.2.4-0.i386
> sam.msg.zh_CN.UTF-8-3.2.2.4-0.i386
> sam.msg.zh_TW-3.2.2.4-0.i386
> sam.msg.zh_TW.Big5-3.2.2.4-0.i386
> sam.msg.zh_TW.eucTW-3.2.2.4-0.i386
> sam.msg.zh_TW.UTF-8-3.2.2.4-0.i386
> sam.policies.one-3.2.2.5-13129.i386
> sam.policies.two-3.2.2.5-13129.i386
> sam.sappolicy-3.2.2.5-13129.i386
> scp-chef_repo_srv-2.2.0.0-201311090045.noarch
> scp-cookbooks-2.3.0.0-B20131109005700.noarch
> scrub-2.2-1.el6.x86_64
> scsi-target-utils-1.0.24-2.el6.x86_64
> seabios-0.6.1.2-26.el6.x86_64
> sg3_utils-1.28-4.el6.x86_64
> sgabios-bin-0-0.3.20110621svn.el6.noarch
> smartcloud-2013.1-1.1.ibm.201311080518.noarch
> spice-server-0.12.0-12.el6.x86_64
> sqlite-devel-3.6.20-1.el6.x86_64
> src-3.1.4.4-13032.i386
> src.msg.de_DE-1.3.1.1-11266.i386
> [email protected]
> src.msg.de_DE.ISO-8859-1-1.3.1.1-11266.i386
> src.msg.de_DE.UTF-8-1.3.1.1-11266.i386
> src.msg.es_ES-1.3.1.1-11266.i386
> [email protected]
> src.msg.es_ES.ISO-8859-1-1.3.1.1-11266.i386
> src.msg.es_ES.UTF-8-1.3.1.1-11266.i386
> src.msg.fr_FR-1.3.1.1-11266.i386
> [email protected]
> src.msg.fr_FR.ISO-8859-1-1.3.1.1-11266.i386
Chapter 2. Installing 43
> src.msg.fr_FR.UTF-8-1.3.1.1-11266.i386
> src.msg.it_IT-1.3.1.1-11266.i386
> [email protected]
> src.msg.it_IT.ISO-8859-1-1.3.1.1-11266.i386
> src.msg.it_IT.UTF-8-1.3.1.1-11266.i386
> src.msg.ja_JP.eucJP-1.3.1.1-11266.i386
> src.msg.ja_JP.UTF-8-1.3.1.1-11266.i386
> src.msg.ko_KR.eucKR-1.3.1.1-11266.i386
> src.msg.ko_KR.UTF-8-1.3.1.1-11266.i386
> src.msg.pt_BR-1.3.1.1-11266.i386
> src.msg.pt_BR.UTF-8-1.3.1.1-11266.i386
> src.msg.zh_CN.GB18030-1.3.1.1-11266.i386
> src.msg.zh_CN.GB2312-1.3.1.1-11266.i386
> src.msg.zh_CN.GBK-1.3.1.1-11266.i386
> src.msg.zh_CN.UTF-8-1.3.1.1-11266.i386
> src.msg.zh_TW-1.3.1.1-11266.i386
> src.msg.zh_TW.Big5-1.3.1.1-11266.i386
> src.msg.zh_TW.eucTW-1.3.1.1-11266.i386
> src.msg.zh_TW.UTF-8-1.3.1.1-11266.i386
> syslinux-4.02-8.el6.x86_64
> tftp-server-0.49-7.el6.x86_64
> tunctl-1.5-3.el6.x86_64
> usbredir-0.5.1-1.el6.x86_64
> vgabios-0.6b-3.7.el6.noarch
> xinetd-2.3.14-38.el6.x86_64
> yajl-1.0.7-3.el6.x86_64
> zlib-devel-1.2.3-29.el6.x86_64
Installing a compute node
If you have already deployed the Region Server with KVM type, compute nodes
must be installed on a physical machine. If the machine has no operating system,
use PXE. If the machine already has Red Hat Enterprise Linux 6.3 or 6.4 64-bit
system installed, use the script.
Note: If you have a Region Server, for example, - rs-1 -, with one KVM compute
node added, it is possible to add a second or subsequent nodes to this same
Region Server. However, this is only possible if the compute nodes that are added
are on the same subnet. When adding these additional compute nodes, you can
run the deploy_compute_node.sh script. You do not need to run the
deploy_region_server.sh script again.
All KVM compute nodes must use the same interface to connect to the Region
Server, for example, eth0, eth1, or eth2.
Installing a KVM compute node by PXE
Pre-Boot Execution Environment (PXE) allows a workstation to start from a server
on a network before it runs the operating system on the local hard disk drive. You
can use this method to add a KVM compute node to your network.
Before you begin
The KVM compute node must be a physical machine.
Restriction: PXE does not support a physical machine with SAN storage.
Procedure
1. Make sure that you have already installed a KVM region server and that the
physical machine is PXE-enabled.
44 IBM SmartCloud Orchestrator 2.3: User's Guide
2. On the region server where the KVM compute node must be connected, run
the following command to register the KVM compute node:
/install_images/installer/inst-scripts/register_node.sh
<kvm-host-name> <mac-of-nic> <ip-of-nic>
where:
<kvm-host-name>
Required. Defines the host name that you want to assign to the newly
deployed compute node.
<mac-of-nic>
Required. Defines the MAC address of the NIC that you want to boot
from the PXE.
<ip-of-nic>
Required. Defines the IP address that you want to assign to the newly
deployed compute node.
Note: If the physical node has multiple network devices, choose the device that
connects to the cloud.
3. On the physical node, reboot and change the BIOS settings to ensure it boots
from network.
4. After the physical machine reboots, choose "Choose Compute Node In Disk"
in the prompted menu.
5. On the physical machine, once the operating system has been installed and a
reboot occurs. change the BIOS settings to ensure that the hard disk is the first
boot device.
What to do next
When you have completed this procedure, a SmartCloud Orchestrator with KVM
region was setup successfully. If multiple region are required, see Installing a
multiple-region environment on page 47, otherwise go to Verifying the
installation on page 47.
Note: If you have a region server, for example, - rs-1 -, and it has one KVM
compute node added to it, it is possible to add a second or subsequent nodes to
this same region server. However, this is only possible if the compute nodes that
are added are on the same subnet.
Installing a KVM compute node by script
You can install a KVM compute node using a script.
Before you begin
Make sure that you already have a physical machine with Red Hat Enterprise
Linux 6.3/6.4 64-bit system installed. "Basic Server" is enough to meet the OS
requirement.
Restriction: The compute node and region server must be in the same subnet.
Note:
v Make sure that compute node must be in the same network with the
vm_ip_range specified in region-server.conf.
Chapter 2. Installing 45
v Make sure that compute node operating system is freshly installed and that the
kernel version is consistent with the kernel version of the Region Server.
v Make sure that you have 100 GB in the "/var" partition.
Procedure
1. Make sure that you have already installed a KVM region server.
2. Configure the network with static IP which can be connected to region server.
3. Make sure that the SSHD is enabled and the region server can SSH to it.
4. Edit the /etc/selinux/config file and set the parameter SELINUX=disabled.
5. Reboot the computer.
6. Run the following command to deploy the compute node on region server
where the KVM compute node must be connected:
/install_images/installer/./deploy_compute_node.sh [-h]
<-s <additional node ip> [-p OS root password]
[-n additional-node-name][-e chef-environment]
where:
<-s additional node ip>
Required. Defines the IP address of the KVM compute node.
-p OS root password
Optional. Defines the OS root password to login the additional node. If
it is not indicated here, the command will prompt you for it.
-n additional-node-name
Optional. Defines the name of the KVM compute service that will be
stored in Chef server, the default value is the hostname of your
compute node.
-e chef-environment
Optional. Defines the chef environment of SmartCloud Orchestrator.
Default is production.
What to do next
When you have completed this procedure, a SmartCloud Orchestrator with KVM
region was setup successfully. If multiple region are required, see Installing a
multiple-region environment on page 47, otherwise go to Verifying the
installation on page 47.
Note: If you have a region server, for example, - rs-1 -, and it has one KVM
compute node added to it, it is possible to add a second or subsequent nodes to
this same region server. However, this is only possible if the compute nodes that
are added are on the same subnet. When adding these additional compute nodes,
you can run the deploy_compute_node.sh script. You do not need to run the
deploy_region_server.sh script again.
46 IBM SmartCloud Orchestrator 2.3: User's Guide
Installing a multiple-region environment
You can install SmartCloud Orchestrator in a multiple-region environment.
About this task
A SmartCloud Orchestrator environment must have at least one region server
installed. However, you can install additional region servers. Each region server
can point to any of the supported hypervisor management infrastructures.
Therefore, you can choose whether the regions use the same hypervisor type or
different hypervisor types.
In a multiple-region environment, you can use a single SmartCloud Orchestrator
user interface to deploy your application across multiple providers. For a
high-level overview of the multiple-region structure, see the diagram displayed at
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/
wiki/IBM%20SmartCloud%20Orchestrator/page/IBM%20SmartCloud
%20Orchestrator%202.3%20topology
Procedure
1. Install SmartCloud Orchestrator with at least one region.
2. Prepare a new region server. For more information, see Preparing the central
server and the region server on page 17.
3. Deploy the new region server. For more information, see Installing the region
server on page 26.
4. Repeat steps 2 and 3 to add the required number of region servers.
Verifying the installation
When you have completed the installation, you can verify it by completing the
verification steps.
Procedure
1. Make sure that the integration of all components is successful by accessing the
SmartCloud Orchestrator user interfaces. To access each user interface, use the
admin user name, and the SmartCloud Orchestrator password specified in
Installing the central server on page 23. Leave the domain name blank, the
default value default is used.
a. To access the main user interface:
1) Open the following URL:
https://$central-server-3_ip
where $central-server-3_ip is the IP address of Central Server 3.
2) Click Configuration > Cloud Group.
3) Find the cloud group with the name that is prefixed with the region
name that you specified in Installing the central server on page 23,
and make sure that the cloud group is connected. When you use
multiple regions, multiple cloud groups should be discovered and
connected. One cloud group corresponds to one region.
b. To access the Virtual Image Library user interface:
1) Open the following URL:
https://$central-server-2_ip:9443/ImageLibraryUI
Chapter 2. Installing 47
where $central-server-2_ip is the IP address of Central Server 2.
2) Click Images > Operational Repositories.
3) Make sure that one repository with the same name as the region name
that you specified in Installing the region server on page 26 is
connected. When you use multiple regions, multiple repositories should
be discovered and connected. One repository corresponds to one region.
c. To access the Business Process Manager user interface, open the following
URL:
https://$central-server-4_ip:9443/ProcessCenter/
where $central-server-4_ip is the IP address of Central Server 4.
For advanced usage of the SmartCloud Orchestrator user interfaces, see
Accessing SmartCloud Orchestrator user interfaces on page 135.
2. Verify the connectivity to the KVM compute node or VMware vCenter or
VMControl, by using the OpenStack command line.
To configure and administer SmartCloud Orchestrator, you might need to use
the Keystone command-line interface to manage authentication and
authorizations, and the Glance command-line interface to manage virtual
images. The environment profile /root/keystonerc is generated on each region
server. Make sure that the OpenStack command-line interface can be executed
by using the profile, as shown in the following example:
a. Run the following command to invoke the profile:
source /root/keystonerc
b. Run the following command to display a list of services:
nova-manage service list
The output should be displayed in the following format. The State of each
service should be :-). Otherwise, the cloud is not ready.
v For a KVM region:
Binary Host Zone Status State Updated_At
nova-scheduler region-server-1 internal enabled :-) 2013-10-10 09:27:57.870300
nova-conductor region-server-1 internal enabled :-) 2013-10-10 09:27:58.027345
nova-consoleauth region-server-1 internal enabled :-) 2013-10-10 09:27:57.547338
nova-cert region-server-1 internal enabled :-) 2013-10-10 09:27:50.464783
nova-compute compute-1 nova enabled :-) 2013-10-10 09:27:53.349208
nova-network compute-1 internal enabled :-) 2013-10-10 09:27:57.227900
v For a VMware or VMControl region:
Binary Host Zone Status State Updated_At
nova-scheduler region-server-1 internal enabled :-) 2013-09-26 07:36:17.428072
nova-conductor region-server-1 internal enabled :-) 2013-09-26 07:36:17.426761
nova-consoleauth region-server-1 internal enabled :-) 2013-09-26 07:36:17.426186
nova-network region-server-1 internal enabled :-) 2013-09-26 07:36:17.428626
nova-cert region-server-1 internal enabled :-) 2013-09-26 07:36:17.424870
nova-smartcloud region-server-1 internal enabled :-) 2013-09-14 19:48:19.691012
nova-compute [email protected] nova_smartcloud enabled :-) 2013-09-14 19:48:19.695301
For more information about the OpenStack command-line interface, see the
OpenStack End User Guide(http://docs.openstack.org/user-guide/content/
index.html).
3. Additional verification steps:
The IaaS Generic REST call makes REST calls to OpenStack services through
the IaaS gateway. You can use the interface to specify the target region and the
service to start. If required, check the status by accessing the
http://$central-server-2_ip:9973/providers URL.
The following information should be displayed:
<serviceCatalog>
<service type="identity" name="keystone">
<endpoint interface="internal" url="<http://172.16.102.182:9973/5177539e9caa42959a2818209754a485/v3"
region="RegionOne" id="5177539e9caa42959a2818209754a485"/>
<endpoint interface="admin" url="<http://172.16.102.182:9973/164a8cf0ad3541438200dcc1f3d81abb/v3"
region="RegionOne" id="164a8cf0ad3541438200dcc1f3d81abb"/>
48 IBM SmartCloud Orchestrator 2.3: User's Guide
<endpoint interface="internal" url="http://172.16.102.182:9973/6836f7dfb3954371bfc9261e40d069e8/v3"
region="Master" id="6836f7dfb3954371bfc9261e40d069e8"/>
<endpoint interface="admin" url="http://172.16.102.182:9973/6bffb3fd97a94b1597fe0b25d7e1493b/v3"
region="Master" id="6bffb3fd97a94b1597fe0b25d7e1493b"/>
<endpoint interface="public" url="http://172.16.102.182:9973/d0ec3a2830b6470d900aa66ede514313/v3"
region="RegionOne" id="d0ec3a2830b6470d900aa66ede514313"/>
<endpoint interface="public" url="http://172.16.102.182:9973/85d0ffc426604dc488dc0c8103fa249b/v3"
region="Master" id="85d0ffc426604dc488dc0c8103fa249b"/>
</service>
</serviceCatalog>
4. To improve the performance of the SmartCloud Orchestrator environment, you
can add both the fully-qualified domain name (FQDN) and the host name of all
the central and region servers to /etc/hosts on all the SmartCloud Orchestrator
server nodes. For example:
cat /etc/hosts on central server 2
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.34.201 central-server-1.cloud.company.com central-server-1
172.16.34.202 central-server-2.cloud.company.com central-server-2
172.16.34.203 central-server-3.cloud.company.com central-server-3
172.16.34.204 central-server-4.cloud.company.com central-server-4
172.16.34.205 region-server-1.cloud.company.com region-server-1
172.16.34.206 region-server-2.cloud.company.com region-server-2
You can find FQDN by "nslookup" on each server that has the correct
nameserver configured. For example:
[root@central-server-2 ]# nslookup 172.16.34.202
Server: 172.16.34.200
Address: 172.16.34.200#53
201.34.16.172.in-addr.arpa name = central-server-2.cloud.company.com.
[root@central-server-2 ]# cat /etc/resolv.conf
search cloud.company.com company.com
nameserver 172.16.34.200
What to do next
After checking the environment profile and cloud groups, start to use the product
to work with virtual images in your cloud environment. See Chapter 3, Getting
started, on page 131. Make sure that virtual system patterns can be deployed.
Performing advanced configuration tasks
After successful installation of SmartCloud Orchestrator, you can perform
advanced configuration tasks that help you better manage the product.
Setting up virtual machines to install Central Server and
Region Server
Set up the KVM or VMware virtual machines to install the Central Server and
Region Server by using the virt-manager or the vCenter application. You can also
set up the KVM virtual machines by using the command line.
Setting up KVM virtual machines
To set up a KVM virtual machine, install and configure the KVM-related software
and create the virtual machines as described in the following procedures. It is
recommended to use the same operating system version on your Central Server
and Region Server.
Install and configure KVM-related software
Chapter 2. Installing 49
1. Make sure that the KVM-related feature is enabled in the BIOS of your
host machines. The host machines must use either Intel VT or AMD-V
chipsets that support hardware-assisted virtualization. Verify that the
processor supports KVM by running the following command on your
system:
grep -E vmx|svm /proc/cpuinfo
If the command returns output, your system supports KVM.
2. Configure an ISO repository to be available to your host for
downloading the KVM-related packages. To create a repository using
an ISO image, perform the following steps:
a. For example, if you have your RHEL 6 ISO image stored in
/opt/RHEL6.3-20120613.2-Server-x86_64-DVD1.iso, mount the ISO
image by running the following commands:
mkdir -p /mnt/rhel6
mount -o loop /opt/RHEL6.3-20120613.2-Server-x86_64-DVD1.iso /mnt/rhel6
b. Create a repo file in the /etc/yum.repos.d directory and change the
base path to the directory path that you specified in the mount
command. For example, create the /etc/yum.repos.d/DVD.repo file
with the following content:
[RHEL-Repository]
name=RHEL repository
baseurl=file:///mnt/rhel6
enabled=1
gpgcheck=0
3. Install the KVM management packages via yum by running the
following command:
yum install kvm virt-manager libvirt libvirt-python python-virtinst tunctl
4. Configure the network by performing the following steps:
a. Switch to root user.
b. Disable NetworkManager by running the following commands:
chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start
c. Start the libvirtd service by running the following command:
service libvirtd start
d. Create a bridge (br0) based on the eth0 interface by running the
following command on the host:
virsh iface-bridge eth0 br0
If the command fails, you can manually configure the networks by
performing the following steps:
a. Edit your /etc/sysconfig/network-scripts/ifcfg-eth0 file as in the
following example:
DEVICE=eth0
HWADDR=AA:BB:CC:AA:BB:CC
ONBOOT=yes
BRIDGE=br0
b. Edit your /etc/sysconfig/network-scripts/ifcfg-br0 file as in the
following example:
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
50 IBM SmartCloud Orchestrator 2.3: User's Guide
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
STP=on
DELAY=0
c. Restart the network by running the following command:
service network restart
d. You can review your interfaces and bridge by running the following
commands:
ifconfig
brctl show
Creating the virtual machines
v By using virt-manager (recommended)
The virt-manager application is a desktop user interface for managing
KVM virtual machines. It uses a GUI based front end for KVM creation,
installation and monitoring. It also allows an easy method for adding
hardware.
v By using the command line
Perform the following steps:
1. Create a base qcow2 image for Central Server and Region Server by
running the following command:
qemu-img create -f qcow2 -o cluster_size=2048k
/home/sco-base.qcow2 200G
2. Creating guests with virt-install, by running the following command:
virt-install --connect=qemu:///system \
--name=sco-base \
--ram=2048 \
--vcpus=2 \
--arch=x86_64 \
--os-type=linux \
--os-variant=rhel6 \
--hvm \
--virt-type kvm \
--cdrom=/opt/RHEL6.3-20120613.2-Server-x86_64-DVD1.iso \
--disk path=/home/sco-base.qcow2,format=qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--accelerate \
--vnc
where
--arch Specifies the bits of the guest operating system. x86_64 is
64-bit and i686 is 32-bit.
--os-variant
Specifies the detailed variant of the guest operating system.
You can get the full list by running the man virt-install
command.
--disk Specifies the virtual disk or disks for installing the guest
operating system. If supported, enable virtio.
--network
Specifies the bridge device name. If supported, enable virtio.
The virt-viewer window is displayed. Follow the steps in the
installation wizard to complete the RHEL installation. Install the
Chapter 2. Installing 51
operating system with base mode. For operating systems that
support virtio, customize the partition layout with only /filesystem.
3. Configure the image file by performing the following steps:
a. Log in to the operating system by using virt-viewer:
virtviewer <ID or name>
For example:
virtviewer sco-base
Run the virsh list --all command to get a list of all the IDs or
names.
b. Disable SELinux by editing the /etc/selinux/config file and
specifying the following value:
SELINUX=disabled
c. Disable the firewall by running the following commands:
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
d. Edit the /etc/hosts file and specify the following value:
# Do not remove the following line, or various programs that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
e. Edit the /etc/sysconfig/network file and specify the following
value:
NETWORKING=yes
f. Edit the /etc/sysconfig/network-scripts/ifcfg-eth0 file and
specify the following values:
# Intel Corporation 82562GT 10/100 Network Connection
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
PERSISTENT_DHCLIENT=1
Remove the write net rules by running the following commands:
mv /lib/udev/write_net_rules /lib/udev/write_net_rules.bak
mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak
mv /lib/udev/rules.d/75-persistent-net-generator.rules
/lib/udev/rules.d/75-persistent-net-generator.rules.bak
g. Shut down the virtual machine by running the following
command:
shutdown -h now
4. Create Central Server and Region Server image files by running the
following command:
qemu-img create -b <path>/sco-base.qcow2 -f qcow2 -F qcow2 <path>/<SERVER_NAME>.qcow2
5. Create XML templates file called <SERVER_NAME>.xml for Central
Server and Region Server with the following content:
<domain type=kvm>
<name>SERVER_NAME</name>
<memory unit=KiB>SERVER_RAM</memory>
<currentMemory unit=KiB>SERVER_RAM</currentMemory>
<vcpu placement=static>CPU_NUM</vcpu>
<os>
<type arch=x86_64>hvm</type>
<boot dev=hd/>
</os>
<features>
<acpi/>
<apic/>
</features>
52 IBM SmartCloud Orchestrator 2.3: User's Guide
<clock offset=localtime/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type=file device=disk>
<driver name=qemu type=qcow2 cache=none/>
<source file=IMAGE_PATH/>
<target dev=vda bus=virtio/>
</disk>
<controller type=ide index=0>
<address type=pci domain=0x0000 bus=0x00 slot=0x01 function=0x1/>
</controller>
<controller type=usb index=0>
<address type=pci domain=0x0000 bus=0x00 slot=0x01 function=0x2/>
</controller>
<interface type=bridge>
<source bridge=br0/>
<model type=virtio/>
<address type=pci domain=0x0000 bus=0x00 slot=0x03 function=0x0/>
</interface>
<serial type=pty>
<target port=0/>
</serial>
<console type=pty>
<target type=serial port=0/>
</console>
<input type=tablet bus=usb/>
<input type=mouse bus=ps2/>
<graphics type=vnc port=-1 autoport=yes/>
<video>
<model type=cirrus vram=9216 heads=1/>
<address type=pci domain=0x0000 bus=0x00 slot=0x02 function=0x0/>
</video>
<memballoon model=virtio>
<address type=pci domain=0x0000 bus=0x00 slot=0x06 function=0x0/>
</memballoon>
</devices>
</domain>
Note: To define the SERVER_RAM and CPU_NUM values for each server,
see Hardware prerequisites on page 13. Replace SERVER_NAME and
IMAGE_PATH with the actual values.
6. Create the virtual machines by using the generated XML files by
running the following commands:
virsh define <IMAGE_PATH>/<SERVER_NAME>.xml
virsh start <SERVER_NAME>
7. Create a volume and attach the volume to Central Server 2 by
performing the following steps:
a. Run the following command:
qemu-img create -f qcow2 -o cluster_size=2048k
/hbase-disk.qcow2 5G
b. Create the attach_device.xml file with the following content:
<disk type=block device=disk>
<driver name=qemu type=qcow2/>
<source dev=<path>/hbase-disk.qcow2/>
<target dev=vdb bus=virtio/>
</disk>
c. Run the following command:
virsh attach-device <Central_Server_2_domain_ID> attach_device.xml
After setting up the KVM virtual machines to install the Central Server and Region
Server, start the virtual machine configuration by following the procedure
described in Preparing the central server and the region server on page 17.
Chapter 2. Installing 53
Setting up VMware virtual machines
VMware vCenter Server provides a centralized platform for managing your
VMware vSphere environments. You can automate and deliver a virtual
infrastructure. vCenter Server also supports the high availability solution. For more
information, see the VMware documentation.
After setting up the VMware virtual machines to install the Central Server and
Region Server, start the virtual machine configuration by following the procedure
described in Preparing the central server and the region server on page 17.
Managing networks
SmartCloud Orchestrator uses VLAN network that is also compatible with flat
interface. By default, the network is created according to the vm_ip_range
parameter in the region-server.cfg file while deploying the region server. If you
want to organize and manage instances with different networks, you can create
and configure more networks for SmartCloud Orchestrator.
Creating a network for a KVM region
There are two types of network for a KVM region.
Creating a VLAN-based network:
This topic describes how to create a VLAN-based network for SmartCloud
Orchestrator.
Before you begin
v Plan your network before you create a virtual machine, so that you reserve the
required IP addresses for the compute nodes.
v You cannot create multiple networks with overlapping IP ranges.
v The GATEWAY_IP must exist and belong to X.X.X.X/YY.
v You must configure the VLAN ID on the switch as a trunk.
v All KVM compute nodes must use the same interface to connect to the Region
Server, for example, eth0, eth1, or eth2.
Procedure
1. To create a network, run the following command on one line:
nova-manage network create --label=LABEL
--fixed_range_v4=X.X.X.X/YY --num_networks=1
--network_size=256
--gateway=GATEWAY_IP
--vlan=VLAN --bridge_interface=NIC
For example:
nova-manage network create --label=VLAN106
--fixed_range_v4=10.10.6.0/24 --num_networks=1
--network_size=256
--gateway=10.10.6.1
--vlan=106 --bridge_interface=eth3
The bridge_interface parameter is the interface that all compute nodes must
use to connect to the Region Server. The compute node does not create the
VLAN or bridge until a virtual machine is deployed.
2. Configure the nodes to use the new gateway. Otherwise, they might use their
host as a gateway. Run the following commands on the Region Server and each
compute node:
54 IBM SmartCloud Orchestrator 2.3: User's Guide
echo "dhcp-option=tag:LABEL,option:router,GATEWAY_IP" >>
/etc/dnsmasq.d/nova.gateway
echo "domain=DNS_SUFFIX,X.X.X.X/YY" >>
/etc/dnsmasq.d/nova.domain
3. Stop all dnsmasq services and restart the openstack-nova-network on the Region
Server or compute node:
killall dnsmasq
service openstack-nova-network restart
4. Decide which IP addresses you need to reserve. Reserve an IP address range
for the compute nodes, and use unreserved IP addresses for virtual machines.
For example, if the VLAN network is 192.0.2.0./22 and you plan to install 70
compute nodes, you reserve the IP address range 192.0.2.3 through
192.0.2.72 for the compute nodes, as follows:
a. Connect to the nova database.
b. In the fixed IPs table, update the reserved and host field for each IP
address that you want to reserve. For example, rtpvc11-01-bc01bld01 is a
newly installed compute node that does not host any virtual machine. To
reserve IP address 192.0.2.3 for compute node rtpvc11-01-bc01bld01, run
the following command:
db2 => update fixed_ips set host=rtpvc11-01-bc01bld01, reserved=1
where address=192.0.2.3 and deleted = 0
If you create a virtual machine host on this compute node, the IP address is
192.0.2.3.
c. Reserve IP addresses for the compute nodes that you plan to add in the
future. For example, to reserve the IP address range 192.0.2.73 through
192.0.2.150, run the following command:
db2 => update fixed_ips set reserved=1 where address >192.0.2.72 and
address < 192.0.2.151 and deleted = 0
You can then use the IP address range 192.0.2.151 through 192.0.2.254 for
the virtual machines.
5. To reserve an IP address, you have the following options:
v Option 1: Reserve the IP address via the nova command on the region server
to reserve an IP address which cannot be used by SmartCloud Orchestrator:
nova fixed-ip-reserve <fixed_ip>.
v Option 2: Update the database directly if there are too many fixed IP
addresses that need to be reserved. If there are some IP addresses in the
X.X.X.X/YY range and you do not want them to be used by SmartCloud
Orchestrator, you can exclude them. For example, to exclude the IP addresses
10.10.10.0-10.10.10.20, run the following commands:
db2 => connect to openstac
Database Connection Information
Database server = DB2/LINUXX8664 10.1.2
SQL authorization ID = DB2INST1
Local database alias = OPENSTACdb2
db2 => select schemaname from syscat.schemata
SCHEMANAME
------------------------------------------------
CIR14447
GLE14447
NOA14447
NULLID
SCE14447
Chapter 2. Installing 55
SQLJ
SYSCAT
SYSFUN
SYSIBM
SYSIBMADM
SYSIBMINTERNAL
SYSIBMTS
SYSPROC
SYSPUBLIC
SYSSTAT
SYSTOOLS
16 record(s) selected.
Find the user for nova, here it is NOA14447.
db2 => connect to openstac user $username using $password_for_db2
Database Connection Information
Database server = DB2/LINUXX8664 10.1.2
SQL authorization ID = NOA14447
Local database alias = OPENSTAC
Find the corresponding ID numbers for the reserved IPs.
db2 => select * from fixed_ips where ADDRESS=10.10.10.0
CREATED_AT UPDATED_AT DELETED_AT ID ADDRESS NETWORK_ID ALLOCATED LEASED RESERVED VIRTUAL_INTERFACE_ID
-------------------------- ----------- ----------- ---- ----------- ----------- --------- ------ -------- --------------------
2013-09-23-19.03.58.894240 - - 11 10.10.10.0 1 0 0 0 -
HOST INSTANCE_UUID DELETED
------- -------------- -------
- - 0
1 record(s) selected.
db2 => select * from fixed_ips where ADDRESS=10.10.10.20
CREATED_AT UPDATED_AT DELETED_AT ID ADDRESS NETWORK_ID ALLOCATED LEASED RESERVED VIRTUAL_INTERFACE_ID
-------------------------- ----------- ----------- ---- ----------- ----------- --------- ------ -------- --------------------
2013-09-23-19.03.58.951306 - - 32 10.10.10.20 1 0 0 0 -
HOST INSTANCE_UUID DELETED
------- -------------- -------
- - 0
1 record(s) selected.
Here we can see the ID numbers for the IP addresses 10.10.10.0-10.10.10.20
is 11-32. Update the database to reserve the IP addresses 10.10.10.0-
10.10.10.20 using the following command:
db2 => update fixed_ips set reserved=1 where id>10 and id<33
DB20000I The SQL command completed successfully.
6. Update DNS with the new network information. Run the following commands:
db2 => update NETWORKS set dns1=X.X.X.X, dns2=X.X.X.X
DB20000I The SQL command completed successfully.
where:
v The value X.X.X.X can be your DNS server or IP address of the Region
Server.
What to do next
Proceed to Configuring DNS for the Workload Deployer IP groups on page 61.
56 IBM SmartCloud Orchestrator 2.3: User's Guide
Creating a flat network:
You can create a flat network for workstations that are directly connected to each
other.
Procedure
1. Create a bridge. Select any number from 0 to 4095, for example, 4080:
brctl addbr br4080
Edit /etc/sysconfig/network-scripts/ifcfg-br4080 with the following
content:
DEVICE=br4080
TYPE="Bridge"
BOOTPROTO="none"
DELAY=0
ONBOOT=yes
Then run this command:
ifup br4080
2. Enslave the flat interface, for example eth3, to the bridge created in step 1.
Note: This interface must be different than the value of
managment_network_device in the region-server.cfg file.
Run:
brctl addif br4080 eth3
Note: Make sure there is no IP address on this flat interface. You can ensure
this with command ifconfig eth3 0.0.0.0 up.
Add BRIDGE=br4080 in the /etc/sysconfig/network-scripts/ifcfg-eth3 file as
in the following example:
DEVICE="eth3"
BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
BRIDGE=br4080
3. Create a fake VLAN interface and enslave it by running the following
commands:
tunctl -t vlan4080
brctl addif br4080 vlan4080
Important: Complete steps 1 to 3 on the Region Server and each of the
compute nodes.
4. Run the following command on one line to create a network on the Region
Server:
nova-manage network create --label=newnet --fixed_range_v4=<X.X.X.X/YY>
--num_networks=1 --network_size=256 --gateway=<NEWNET_GW>
--vlan=4080 --bridge=br4080 --bridge_interface=eth3
5. Configure the nodes to use the new gateway. Run the following commands on
the Region Server and each compute node:
echo "dhcp-option=tag:newnet,option:router,NEWNET_GW" >>
/etc/dnsmasq.d/nova.gateway
echo "domain=DNS_SUFFIX,X.X.X.X/YY" >> /etc/dnsmasq.d/nova.domain
6. To reserve an IP address, you have the following options:
Chapter 2. Installing 57
v Option 1: Reserve the IP address via the nova command on the region server
to reserve an IP address which cannot be used by SmartCloud Orchestrator:
nova fixed-ip-reserve <fixed_ip>.
v Option 2: Update the database directly if there are too many fixed IP
addresses that need to be reserved. If there are some IP addresses in the
X.X.X.X/YY range and you do not want them to be used by SmartCloud
Orchestrator, you can exclude them. For example, to exclude the IP addresses
10.10.10.0-10.10.10.20, run the following commands:
db2 => connect to openstac
Database Connection Information
Database server = DB2/LINUXX8664 10.1.2
SQL authorization ID = DB2INST1
Local database alias = OPENSTACdb2
db2 => select schemaname from syscat.schemata
SCHEMANAME
------------------------------------------------
CIR14447
GLE14447
NOA14447
NULLID
SCE14447
SQLJ
SYSCAT
SYSFUN
SYSIBM
SYSIBMADM
SYSIBMINTERNAL
SYSIBMTS
SYSPROC
SYSPUBLIC
SYSSTAT
SYSTOOLS
16 record(s) selected.
Find the user for nova, here it is NOA14447.
db2 => connect to openstac user $username using $password_for_db2
Database Connection Information
Database server = DB2/LINUXX8664 10.1.2
SQL authorization ID = NOA14447
Local database alias = OPENSTAC
Find the corresponding ID numbers for the reserved IPs.
db2 => select * from fixed_ips where ADDRESS=10.10.10.0
CREATED_AT UPDATED_AT DELETED_AT ID ADDRESS NETWORK_ID ALLOCATED LEASED RESERVED VIRTUAL_INTERFACE_ID
-------------------------- ----------- ----------- ---- ----------- ----------- --------- ------ -------- --------------------
2013-09-23-19.03.58.894240 - - 11 10.10.10.0 1 0 0 0 -
HOST INSTANCE_UUID DELETED
------- -------------- -------
- - 0
1 record(s) selected.
db2 => select * from fixed_ips where ADDRESS=10.10.10.20
CREATED_AT UPDATED_AT DELETED_AT ID ADDRESS NETWORK_ID ALLOCATED LEASED RESERVED VIRTUAL_INTERFACE_ID
-------------------------- ----------- ----------- ---- ----------- ----------- --------- ------ -------- --------------------
2013-09-23-19.03.58.951306 - - 32 10.10.10.20 1 0 0 0 -
HOST INSTANCE_UUID DELETED
------- -------------- -------
- - 0
1 record(s) selected.
58 IBM SmartCloud Orchestrator 2.3: User's Guide
Here we can see the ID numbers for the IP addresses 10.10.10.0-10.10.10.20
is 11-32. Update the database to reserve the IP addresses 10.10.10.0-
10.10.10.20 using the following command:
db2 => update fixed_ips set reserved=1 where id>10 and id<33
DB20000I The SQL command completed successfully.
7. Update DNS with the new network information. Run the following commands:
db2 => update NETWORKS set dns1=X.X.X.X, dns2=X.X.X.X
DB20000I The SQL command completed successfully.
where:
v The value X.X.X.X can be your DNS server or IP address of the Region
Server.
You might need to update dhcp_start for your network in mysql:
db2 => update networks set dhcp_start=X.X.X.X where uuid=XXXXXXXX
8. Optional but recommended. It is better to have the IP range well planned for
usage, for example, explicitly reserve the 10 IP addresses for the compute
nodes:
db2 => update fixed_ips set host=compute_name_1 where address=10.10.10.21
db2 => update fixed_ips set host=compute_name_2 where address=10.10.10.22
...
db2 => update fixed_ips set host=compute_name_10 where address=10.10.10.30
9. If there is an existing DHCP service running on this flat network, run the
following command on all compute nodes including on the Region Server:
ebtables -t nat -A POSTROUTING -o $flat_interface -p IPv4 --ip-protocol udp
--ip-destination-port 67 -j DROP
Where $flat_interface is the flat interface you are going to make use of.
What to do next
Proceed with Configuring DNS for the Workload Deployer IP groups on page
61.
Creating a network for a VMware or Power region
This topic describes how to create a network for a VMware or Power region.
About this task
To create a network for a VMware or Power region, you must run the following
command on the region server:
/install_image/installer/scripts/ ./config_network.sh -d $database_password -p $password
-t $region_type -r $vm_ip_range -m $vm_ip_netmask -g $vm_gateway -H $host
-U $username -N $network -P $port
where:
-d db2_password
Defines the password of the database.
-p password
Defines the password of the administrator of the VMware (or Power)
vCenter VMControl.
-t region_type
Specifies one of region types (vmware/power)
Chapter 2. Installing 59
-r vm_ip_range
Defines the IP addresses for provisioned virtual machines.
-m vm_ip_netmask
Defines the netmask of vm_ip_range.
-g vm_gateway
Defines the gateway IP address for vm_ip_range.
-H host
Defines the hostname or IP address of vCenter/VMControl.
-U username
Defines the user name of the administrator of vCenter/VMControl.
Note: SmartCloud Orchestratordoes not support Domain User Account for
vCenter.
-N network
Defines the network name defined in vCenter/VMControl.
-P port
Defines the port to connect to vCenter/VMControl (the default is: 443)
For example, if your vCenter is 10.10.0.5 with username Administrator and
password mypassword, you can create a new network for VMware region by
running the following command:
./config_network.sh -d passw0rd -p mypassword -t vmware -r 10.10.0.20-10.10.0.30
-m 255.255.255.0 -g 10.10.0.1 -H 10.10.0.5 -U Administrator -N VM Network -P 443
What to do next
(Optional) To reserve an IP address in the database, you have the following
options:
v Option 1: Reserve the IP address via the nova command on the region server to
reserve an IP address which cannot be used by SmartCloud Orchestrator: nova
fixed-ip-reserve <fixed_ip>.
v Option 2: Update the database directly if there are too many fixed IP addresses
that need to be reserved. If there are some IP addresses in the X.X.X.X/YY range
and you do not want them to be used by SmartCloud Orchestrator, you can
exclude them. For example, to exclude the IP addresses 10.10.10.0-10.10.10.20,
run the following commands:
db2 => connect to openstac
Database Connection Information
Database server = DB2/LINUXX8664 10.1.2
SQL authorization ID = DB2INST1
Local database alias = OPENSTACdb2
db2 => select schemaname from syscat.schemata
SCHEMANAME
------------------------------------------------
CIR14447
GLE14447
NOA14447
NULLID
SCE14447
SQLJ
SYSCAT
SYSFUN
60 IBM SmartCloud Orchestrator 2.3: User's Guide
SYSIBM
SYSIBMADM
SYSIBMINTERNAL
SYSIBMTS
SYSPROC
SYSPUBLIC
SYSSTAT
SYSTOOLS
16 record(s) selected.
Find the user for nova, here it is NOA14447.
db2 => connect to openstac user $username using $password_for_db2
Database Connection Information
Database server = DB2/LINUXX8664 10.1.2
SQL authorization ID = NOA14447
Local database alias = OPENSTAC
Find the corresponding ID numbers for the reserved IPs.
db2 => select * from fixed_ips where ADDRESS=10.10.10.0
CREATED_AT UPDATED_AT DELETED_AT ID ADDRESS NETWORK_ID ALLOCATED LEASED RESERVED VIRTUAL_INTERFACE_ID
-------------------------- ----------- ----------- ---- ----------- ----------- --------- ------ -------- --------------------
2013-09-23-19.03.58.894240 - - 11 10.10.10.0 1 0 0 0 -
HOST INSTANCE_UUID DELETED
------- -------------- -------
- - 0
1 record(s) selected.
db2 => select * from fixed_ips where ADDRESS=10.10.10.20
CREATED_AT UPDATED_AT DELETED_AT ID ADDRESS NETWORK_ID ALLOCATED LEASED RESERVED VIRTUAL_INTERFACE_ID
-------------------------- ----------- ----------- ---- ----------- ----------- --------- ------ -------- --------------------
2013-09-23-19.03.58.951306 - - 32 10.10.10.20 1 0 0 0 -
HOST INSTANCE_UUID DELETED
------- -------------- -------
- - 0
1 record(s) selected.
Here we can see the ID numbers for the IP addresses 10.10.10.0-10.10.10.20
is 11-32. Update the database to reserve the IP addresses 10.10.10.0-
10.10.10.20 using the following command:
db2 => update fixed_ips set reserved=1 where id>10 and id<33
DB20000I The SQL command completed successfully.
Proceed with what documented in Configuring DNS for the Workload Deployer
IP groups.
Configuring DNS for the Workload Deployer IP groups
Configure the Workload Deployer IP groups to be able to resolve host name.
About this task
The following configuration applies to:
v SmartCloud Orchestrator uses a built-in DNS (standalone environment).
v SmartCloud Orchestrator uses a built-in DNS but with the corporate DNS being
the parent DNS.
On central server 1, run:
/install_image/installer/scripts/delegate_region.sh <region name> <region ip> [vm_ip_range]
where
Chapter 2. Installing 61
v region-name is a required parameter. The region name of the new added
network.
v region ip is a required parameter. The ip address of the region server.
v vm_ip_range is an optional parameter, required for new added networks. The IP
range of the new added network. For example, 10.10.10.100-10.10.10.200.
For SmartCloud Orchestrator that uses the corporate DNS and no built-in DNS,
refer to Preparing the central server and the region server on page 17 for manual
work.
Deleting the existing networks
The commands can be used to disassociate the project from the network, delete an
existing network, or delete the virtual machines that belong to it.
Procedure
v To delete all virtual machines in the network through GUI or CLI, run:
nova delete xxxx
v To disassociate the project from the network, run:
nova-manage network modify x.x.x.x/yy --disassociate-project
v To delete a network, run:
nova-manage network delete x.x.x.x/yy
v If the network that you want to delete is not a network created in the out-of-box
installation, delete the related bridges and the dnsmasq service on the Region
Server and each of the compute nodes. Run the following commands:
ifconfig brxxxx down
brctl delbr brxxxx
killall dnsmasq
/etc/init.d/openstack-nova-network restart
Shutting down or starting Central Servers and Region Servers
This topic describes how to shut down or start Central Servers and Region Servers.
To shut down the Central Servers and the Region Servers, follow this order:
1. Shut down Central Server 1.
2. Shut down Central Server 2.
3. Shut down Central Server 3.
4. Shut down Central Server 4.
5. Shut down the Region Servers.
To start the Central Servers and the Region Servers, follow these steps:
1. Start Central Server 1.
2. Make sure that all services are started on Central Server 1, you can run this
command to check this:
# netstat -tnlp | grep 5000
if the output of the command is like the following, then you can proceed:
# netstat -tnlp | grep 5000
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN 6856/db2sysc 0
3. Start Central Server 2.
4. Start Central Server 3.
5. Start Central Server 4.
62 IBM SmartCloud Orchestrator 2.3: User's Guide
6. Start the Region Servers.
To reboot the Central Servers and the Region Servers, follow these steps:
1. Reboot Central Server 1.
2. Make sure that all services are started on Central Server 1, you can run this
command to check this:
# netstat -tnlp | grep 5000
if the output of the command is like the following, then you can go next:
# netstat -tnlp | grep 5000
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN 6856/db2sysc 0
3. Reboot Central Server 2.
4. Reboot Central Server 3.
5. Reboot Central Server 4.
6. Reboot the Region Servers.
Integrating SmartCloud Orchestrator with VMware vCenter
Integrate your SmartCloud Orchestrator environment with VMware vCenter to
effectively manage your cloud environment based on VMware ESX Systems.
Before you begin
Restriction: Metadata service is not supported in a VMware environment.
About this task
After OpenStack SmartCloud Extension has been deployed, you can use the CLI to
configure SmartCloud Orchestrator to connect to the existing vCenter.
Procedure
1. Make sure that the OpenStack services are running, including the SmartCloud
service.
2. Create a vCenter backend connection for SmartCloud:
a. Verify that the source file works in the OpenStack environment:
# cd /opt/ibm/openstack/iaas/smartcloud/bin
# source ~/keystonerc
b. Add an existing vCenter environment:
#/opt/ibm/openstack/iaas/smartcloud/bin/nova-cloud-create
[--os-region-name <region-name>] <os-hostname> <name>
<hostname> <username> <password> <type>[<port>]
where:
<os-hostname>
Fully qualified host name where the OpenStack SmartCloud driver
is running, normally the output of hostname --fqdn.
<name>
The cloud name. The cloud name must be unique across a region.
<hostname>
Host name or IP address of the vCenter or VMControl system.
<username>
User name of the administrator for the system.
Chapter 2. Installing 63
<password>
Password of the administrator for the system.
<type>
Region type. Either VMware or VMControl.
<port>
Optional. Port to connect to the system (defaults: type VMware 443
and VMControl 8422).
<region-name>
Optional. The OpenStack region name. Must be the first in the
command argument.
Example:
# /opt/ibm/openstack/iaas/smartcloud/bin/nova-cloud-create
rs-34-1.customer.ibm.com RegionVMW 172.16.133.254
Administrator password VMware 443
c. Verify that the vCenter backend connection for SmartCloud:
# /opt/ibm/openstack/iaas/smartcloud/bin/nova-cloud-show
{"username": "administrator"
"jmsPort": 61617
"name": "RegionVMW"
"hostname": "172.16.133.254"
"port": 443
"state":
{"id": "OK"
"label": "OK"}
"cloudType": "VMware"
"timeout": 600
"external_uri": "172.16.133.254:443"
"id": "rs-34-1:301"
"description": "OpenStack managed VMware"}
3. Match nova-network with VMware hypervisor networks queried from vCenter:
a. Check if the existing nova-network IP addresses are available for the
VMware deployment. If not, create a workable network. For example:
# nova-manage network create --fixed_range_v4=172.16.133.0/24 --label vm-network --bridge=br4090
# nova-manage network list
id IPv4 IPv6 start addres DNS1 DNS2 VlanID project uuid
1 172.16.133.0/24 None 172.16.133.10 172.16.34.200 172.16.34.205 None None
83d7f72a-3b03-48c5-a6fa-19be15daae18
Note: For more information about the OpenStack command-line interface,
see the OpenStack End User Guide.
b. Get the available networks list from vCenter:
# ./opt/ibm/openstack/iaas/smartcloud/bin/nova-netext-show [--os-region-name <region-name>[raw]
where:
<cloud name>
Name of the cloud. All clouds can be listed with nova-cloud-show.
[region-name]
Optional. The OpenStack region name. Must be the first in the
command argument.
[raw] Optional. Show the output in raw JSON form.
Example:
#/opt/ibm/openstack/iaas/smartcloud/bin/nova-netext-show RegionVMW
{"enableDhcpV6": false
64 IBM SmartCloud Orchestrator 2.3: User's Guide
"activeDirectoryPassword": null
"name": "VM Network"
"domainName": null
"computerNamePrefix": null
"networkName": "VM Network"
"cloudId": "rs-34-1:301"
"activeDirectory": null
"wins2": null
"hostnamePrefix": null
"enableDhcp": false
"wins1": null
"cloudType": "VMware"
"activeDirectoryUser": null
"osNetworkId": "83d7f72a-3b03-48c5-a6fa-19be15daae18"
"id": "2792e082-a1db-4033-81c5-740d0e8200b3"
"workgroup": null}
c. Match the target hypervisor network with nova network.
# ./nova-netext-match [--os-region-name <region-name>] <cloud name>
<network_name>
<nova_network_id> [domainName]
where:
<cloud name>
Name of the cloud. All clouds can be listed with nova-cloud-show.
<network name>
Name of the network extension. All network extensions are listed by
cloud with nova-netext-show.
<nova network id>
The network ID list in nova.
[domain name]
Optional. Domain name applied to virtual servers on this network.
[region-name]
Optional. The OpenStack region name. Must be the first in the
command argument.
# ./nova-netext-match RegionVMW "VM Network" 83d7f72a-3b03-48c5-a6fa-19be15daae18
{"networkExtension": {"enableDhcpV6": false, "activeDirectoryPassword": null, "name": "VM Network",
"domainName": null, "computerNamePrefix": null, "networkName": "VM Network", "cloudId":
"rs-34-1:301",
"activeDirectory": null, "wins2": null, "hostnamePrefix": null, "enableDhcp": false, "wins1": null,
"cloudType": "VMware", "activeDirectoryUser": null, "osNetworkId":
"83d7f72a-3b03-48c5-a6fa-19be15daae18",
"id": "2792e082-a1db-4033-81c5-740d0e8200b3", "workgroup": null}}
4. Verify the connectivity to vCenter. Verify the configuration. Check if the virtual
machine template has been synchronized as image in Glance by comparing the
list with the virtual machine templates showing in the vCenter:
> glance index
ID Name Disk Format Container FormatSize
------------------------------------ -------------------- ---------------------------------
af53c607-f9e9-4048-b6ee-55d8c62fef39 win2k8r2ee raw ovf 0
f0f676f4-98ef-445a-b685-966252b99141 takeover-248 raw ovf 0
45c8d691-fc1c-447b-8ae7-e7e5cc127d5b SCE Default Image raw ovf 0
Check if the virtual machine has been synchronized as server in nova by
comparing the list with the virtual machines showing in the vCenter:
> nova list
+--------------------------------------+-------------------+---------+----------+
| ID | Name | Status | Networks |
+--------------------------------------+-------------------+---------+----------+
| 8a2172a3-0a22-4403-97aa-23e0fc72ae94 | hilltest | ACTIVE | |
Chapter 2. Installing 65
| b398a87f-8db6-40c4-b6d4-fbcb9c34a5ae | q3 | ACTIVE | |
| f3ee86e1-8804-455c-8a4f-83ef98064bb8 | takeover-demo-248 | SHUTOFF | |
| d83940fb-0c94-45f0-8364-f6f1c5e7db60 | vCentGMN | ACTIVE | |
+--------------------------------------+-------------------+---------+----------+
Restriction: SCE Default Image is used to provide details for instances that
have no information about the images that created them. You cannot use the
image to deploy a virtual machine, but do not delete it.
5. Boot a server:
> nova boot --image af53c607-f9e9-4048-b6ee-55d8c62fef39 --flavor m1.tiny mytest
Note: The Virtual Machine template in vCenter must be installed with
VMware-tools. This is mandatory if you want to use this template to boot
servers from OpenStack.
Note: The virtual machine template must have the operating system
successfully installed.
Note: The flavor value must be bigger than the virtual machine template size
or use m1.tiny which is to match the template size.
6. Configure the Virtual Image Library for VMware (see Configuring Virtual
Image Library for VMware on page 305).
7. Additional CLIs:
v /opt/ibm/openstack/iaas/smartcloud/bin/nova-cloud-delete <cloud id>
where cloud id is the ID of the cloud to delete. Use nova-cloud-show to find
the ID.
v /opt/ibm/openstack/iaas/smartcloud/bin/nova-cloud-delete-byname <cloud name>
where cloud name is the name of the cloud to delete. Use nova-cloud-show to
find the name.
v nova-cloud-pingtest <hostname> <username> <password>
<type> [port]
where hostname is the name of the vCenter system, username is the username
of the system administrator, password is the administrator's password, type is
either VMware or VMControl, [port is the port to connect to the system
(defaults: type VMware 443).
v nova-netext-unset <cloud name> <network name> <nova network id>
where cloud name is the name of the cloud (all clouds can be listed with
nova-cloud-show), network name is the name of the network (all networks can
be listed with nova-netext-show).
Integrating SmartCloud Orchestrator with VMControl
Integrate your SmartCloud Orchestrator environment with IBM Systems Director
VMControl to effectively manage your cloud environment based on IBM Power
Systems
.
About this task
After OpenStack SmartCloud Extension has been deployed, you can use the CLI to
configure SmartCloud Orchestrator to connect to the existing VMControl.
66 IBM SmartCloud Orchestrator 2.3: User's Guide
Procedure
1. It is necessary to upgrade the Director/VMControl or Flex System Manager
(FSM) to the IBM Director 6.3.3.1, which ships with VMControl 2.4.3.1.
However, SmartCloud Orchestrator requires an additional VMControl APAR
that needs to be loaded on top of VMControl 2.4.3.1 This fix is bundled with
SmartCloud Orchestrator inside the VMControl-upgrade directory. The
vmc-update.2.4.3.1-201310251457-IC97186.zip file is for the standalone
Director/VMControl environment and the fsmfix_vmc-update.2.4.3.1-
201310251457-IC97186.zip is for the Flex System Manager (FSM). These files
must be copied over to the VMC/FSM server and be decompressed there.
From there, you can use the Director UI to install the updates or use the CLI as
follows:
smcli importupd -v -r <directory_of_decompressed_contents>
smcli lsupd *IC96480
(which should return something similar to the following
three lines:
confirm thatthose updates were imported to the Director
upgrade manager):
com.ibm.ensemble.local.mgmt.feature_2.4.3.1-201309300916- IC96480
com.ibm.vmcontrol.rf.power.feature_2.4.3.1-201309300916-
IC96480
com.ibm.vmcontrol.services.feature_2.4.3.1-201309300916-
IC96480
smcli installneeded (this drives the install of those updates into director )
Once finished, one must restart Director after this installation using the smstop
and smstart commands.
2. Make sure that the OpenStack services are running, including the SmartCloud
service.
3. Create a VMControl backend connection for SmartCloud.
a. Verify that the source file works in the OpenStack environment:
# cd /opt/ibm/openstack/iaas/smartcloud/bin
# source ~/keystonerc
b. Add an existing VMControl environment:
# ./nova-cloud-create [--os-region-name <region-name>] <openstack-hostname>
<cloud_name> <VMControl-hostname> <VMControl-username>
<VMControl-password> <type> [port]
where:
<region-name>
Optional. The OpenStack region name. If specified, this argument
must be the first argument in the command.
<openstack-hostname>
The name of the host where the OpenStack SmartCloud driver is
running. This value must be the same as the result returned by the
hostname command.
<cloud_name>
The cloud name. This name must be unique across a region.
<VMControl-hostname>
The host name or IP address of the VMControl system.
<VMControl-username>
The user name of the administrator of the VMControl system.
<VMControl-password>
The password of the administrator of the VMControl system.
Chapter 2. Installing 67
<type> The type of system. Specify VMControl.
[port] Optional. The port to connect to the VMControl system. The default
port for VMControl is 8422.
Example:
# ./nova-cloud-create sco-vmw-29-fb vmcontrol 172.16.22.6
root object00 VMControl
{ "cloud":{ "driver":"sco-vmw-29-fb", "name":"vmcontrol",
"description":"OpenStack managed VMControl",
"hostname":"172.16.22.6",
"username":"root", "password":"object00", "type":"VMControl",
"port":8422, "version":"2.4.3.x"} }
{"cloud": {"username": "root", "jmsPort": 61617, "name": "vmcontrol",
"hostname": "172.16.22.6", "port": 8422, "version": "2.4.3.x",
"timeout": 600, "cloudType": "VMControl", "id":
"sco-vmw-29-fb:301",
"description": "OpenStack managed VMControl"}}
{ "cloud":{ "cloudId":"sco-vmw-29-fb:301", "name":"vmcontrol",
"description":"OpenStack managed VMControl",
"hostname":"172.16.22.6",
"username":"root", "password":"object00",
"type":"VMControl", "port":8422} }
4. Match nova-network with Power hypervisor networks queried from
VMControl.
a. Check whether the existing nova-network IP addresses are available for the
Power LPAR deployment. If not, create a workable network. Here the
network 172.17.40.0/22 does not work for Power LPAR deployment.
# ./nova-manage network list
id IPv4 IPv6 start address DNS1
1 172.17.40.0/22 None 172.17.41.230 172.17.41.224
DNS2 VlanID project uuid
172.17.41.224 None None 215b4dfa-11f4-47d5-872d-4e0620057b16
# nova-manage network create --fixed_range_v4 172.16.22.0/24 --gateway 172.16.22.1
--dns1 172.17.41.224 --label vmcnet --fixed_cidr 172.16.22.224/28 --bridge br4090
# nova-manage network list
id IPv4 IPv6 start address DNS1
1 172.17.40.0/22 None 172.17.41.230 172.17.41.224
2 172.16.22.0/24 None 172.16.22.2 172.17.41.224
DNS2 VlanID project uuid
172.17.41.224 None None 215b4dfa-11f4-47d5-872d-e0620057b16
None None None 365a1ab0-94e2-40a5-8601-d98c3584536f
b. Get the available networks list from VMControl.
# ./nova-netext-show [--os-region-name <region-name>] <cloud_name> [raw]
where:
<region-name>
Optional. The OpenStack region name. If specified, this argument
must be the first argument in the command.
<cloud_name>
The cloud name. To show all cloud names, use the nova-cloud-show
command.
[raw] Show the output in raw JSON format.
Example:
# ./nova-netext-show vmcontrol
{"enableDhcpV6": false
"activeDirectoryPassword": null
"name": "Discovered/99/0/ETHERNET0 (VLAN 99
68 IBM SmartCloud Orchestrator 2.3: User's Guide
Not Bridged)"
"domainName": null
"computerNamePrefix": null
"networkName": "Discovered/99/0/ETHERNET0"
"cloudId": "sco-vmw-29-fb:301"
"activeDirectory": null
"wins2": null
"hostnamePrefix": null
"enableDhcp": false
"wins1": null
"cloudType": "VMControl"
"activeDirectoryUser": null
"osNetworkId": null
"id": "5c411f0d-ac77-4dce-807a-b849de6d928a"
"workgroup": null}
{"enableDhcpV6": false
"activeDirectoryPassword": null
"name": "Discovered/1/0/ETHERNET0 (VLAN 1
Bridged)"
"domainName": null
"computerNamePrefix": null
"networkName": "Discovered/1/0/ETHERNET0"
"cloudId": "sco-vmw-29-fb:301"
"activeDirectory": null
"wins2": null
"hostnamePrefix": null
"enableDhcp": false
"wins1": null
"cloudType": "VMControl"
"activeDirectoryUser": null
"osNetworkId": null
"id": "1c94bf17-6499-416a-8e4f-4391e4105fa6"
"workgroup": null}
c. Match the target hypervisor network with nova network.
# ./nova-netext-match [--os-region-name <region-name>] <cloud name>
<network_name> <nova_network_id> [domainName]
where:
<region-name>
Optional. The OpenStack region name. If specified, this argument
must be the first argument in the command.
<cloud_name>
The cloud name. To show all cloud names, use the nova-cloud-show
command.
<network_name>
The name of the network extension. To list all network extensions
by cloud, use the nova-netext-show command.
<nova_network_id>
The network ID list in nova.
[domainName]
Must match the domain name used for that network on the NIM
server if one is being used. NIM-based deployments can fail if the
domain name returned by a reverse DNS lookup on the NIM server
does not match this value.
Example:
# ./nova-netext-match vmcontrol "Discovered/1/0/ETHERNET0"
365a1ab0-94e2-40a5-8601-d98c3584536f mydomainname.com
{"networkExtension": {"enableDhcpV6": false,
"activeDirectoryPassword": null,
Chapter 2. Installing 69
"name": "Discovered/1/0/ETHERNET0 (VLAN 1, Bridged)",
"domainName": "mydomainname.com",
"computerNamePrefix": null, "networkName":
"Discovered/1/0/ETHERNET0", "cloudId": "sco-vmw-29-fb:301",
"activeDirectory": null, "wins2": null,
"hostnamePrefix": null, "enableDhcp": false, "wins1": null,
"cloudType": "VMControl", "activeDirectoryUser":
null, "osNetworkId": "365a1ab0-94e2-40a5-8601-d98c3584536f",
"id": "1c94bf17-6499-416a-8e4f-4391e4105fa6", "workgroup": null}}
Note: If there are multiple Power networks in the environment, make sure
to use the right network in OpenStack to match with the Power network.
5. Create an OpenStack flavor for the Power instance deployment.
Note: Many Power images have predefined limit properties that restrict the
ability to deploy a virtual machine with traditional OpenStack flavors as they
unnecessarily require a specific amount of cpu and memory. For example,
many IBM PureApp Hypervisor Edition images require exactly 1 vCPU and 3
GB of memory. It is strongly recommended to run the ./nova-remove-ovf-
limits <cloud-name> command after those images have been loaded into
VMControl to remove those limits so that traditional OpenStack flavors can be
used. However, one can still define your own custom flavors (for details, refer
toCreating new flavors in OpenStack on page 560).
# ./nova flavor-create [--ephemeral <ephemeral>] [--swap <swap>]
[--rxtx-factor <factor>] [--is-public <is-public>]
<name> <id> <ram> <disk> <vcpus>
where:
<ephemeral>
The ephemeral space size in GB. The default value is 0.
<swap>
The swap space size in MB. The default value is 0.
<factor>
The RX/TX factor. The default value is 1.
<is-public>
Make the flavor accessible to the public. The default value is true.
<name>
The name of the new flavor.
<id> A unique ID (integer or UUID) for the new flavor. If you specify auto, a
UUID is generated.
<ram> The memory size in MB.
<disk> The disk size in GB.
<vcpus>
The number of vCPUs.
Example:
# ./nova flavor-create --is-public True IPAS 6 4096 30 1
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 6 | IPAS | 4096 | 30 | 0 | | 1 | 1.0 | True | {} |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
6. To customize flavors for Power features, refer to Customizing flavors for
Power features on page 561.
Example:
70 IBM SmartCloud Orchestrator 2.3: User's Guide
# ./nova flavor-key IPAS set ibm-smartcloud:cpushu=0.3
./nova flavor-key IPAS set ibm-smartcloud:memmax=32768
./nova flavor-key IPAS set ibm-smartcloud:cpushmaxu=4
./nova flavor-key IPAS set ibm-smartcloud:cpushmax=4
./nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------
| 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | True
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True
| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True
| 6 | IPAS | 4096 | 30 | 0 | | 1 | 1.0 | True
| | | | | | | | |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------
+----------------------------------------------------------------------------+
| extra_specs |
+----------------------------------------------------------------------------+
| {} |
| {} |
| {} |
| {} |
| {} |
| {uibm-smartcloud:cpushu: u0.3, uibm-smartcloud:memmax: u32768, |
| uibm-smartcloud:cpushmaxu: u4, uibm-smartcloud:cpushmax: u4} |
+----------------------------------------------------------------------------+
For SCS deployment, you can use the extra_specs flavor to customize the
storage connection method. The default method is VSCSI. The NPIV method
requires hardware support.
Example:
# ./nova flavor-key IPAS set ibm-smartcloud:storageconnection=NPIV
For SCS deployment, you can use the extra_specs flavor to customize the
storage connection method. The default method is VSCSI. The NPIV method
requires hardware support and has a limitation (for details, refer to Product
limitations on page 1089).
7. Optional: When you add new hosts, clean up the hypervisor list. For more
information, see Must remove hosts that are not eligible for cloud on page
1118.
What to do next
You can now log into the SmartCloud Orchestrator interface to register images and
deploy VMs from those registered images.
Setting NTP servers
Use Network Time Protocol (NTP) servers to maintain a synchronized time and
date across your systems and virtual machines.
About this task
A configured NTP server that is accessible by your virtual machines is required to
successfully deploy a virtual application pattern or virtual system pattern. When
virtual application patterns or virtual system patterns are deployed, the NTP
server is used to establish the system time for your virtual machines. Without a
synchronized date and time, problems might occur resulting in incomplete
Chapter 2. Installing 71
deployments or failure to start virtual application instances or virtual system
instances. If an NTP server is not used, the system clocks for the SmartCloud
Orchestrator environment and the hypervisors must be synchronized manually.
Procedure
1. In Central Server 3, edit the /opt/ibm/rainmaker/purescale.app/private/
expanded/ibm/scp.ui-1.0.0/config/openstack.config file.
2. In the /config/openstack section, set the NTP servers as in the following
example:
"ntp_servers": [
"127.0.0.1",
"127.0.0.2",
"127.0.0.3",
"127.0.0.4"
]
Note: The list of the defined NTP servers is propagated to the provisioned
virtual machines and it is used to configure NTP on them.
3. Restart the Workload Deployer service by running the following command:
service iwd restart
Results
After completing these steps, you have defined an NTP server to maintain clock
synchronization across your environments.
Configuring Memcached cache size
SmartCloud Orchestrator uses Memcached with an in-memory storage and
expiration dates to manage the tokens in case the performance is impacted by large
numbers of tokens that are generated by multiple concurrent users, you could
increase the cache size according to your requirement.
Procedure
1. Login to Central Server 2, edit the /etc/sysconfig/memcached file and set the
CACHESIZE=4096 parameter. Then restart the service to take effect by running the
following command:
service memcached restart
2. Verify that the Memcached cache size is increased by running memcached-tool
127.0.0.1:11211 stats. If Memcached works properly, the values of
total_items, total_connections, and get_hits are increasing.
Configuring Virtual Image Library proxies
Use distributed components, called proxies, to offload the typical image
management operations that are performed by Virtual Image Library to remote
sites. Using proxies, you do not need to access remote data stores directly from the
main server. The proxies also provide a more efficient solution for managing
segregated networks and slow links.
About this task
By default, the installer configures Virtual Image Library to work with a remote
proxy that is installed on the Region Server so that it can manage the OpenStack
system.
72 IBM SmartCloud Orchestrator 2.3: User's Guide
If you want to add more proxies or modify the existing configuration, you must
edit the origami configuration file that stores the main configuration properties
which determine which proxy manages which domain. You can find the file on
both the Virtual Image Library server and any remote node where you installed
the proxy. Even if the structure is the same, the file that is related to the Virtual
Image Library server contains some additional configuration sections to identify
the knowledge base and all the deployed proxies that it must be aware of to
properly distribute the actions to particular nodes.
Procedure
1. The /etc/origami/origami.config file on the Virtual Image Library server,
contains the following proxies section:
"proxies": [
{
"url": "local://",
"capabilities": ["crawl", "cache", "portability"],
"connectivity": ["Central Server 2","localhost","127.0.0.1"],
"agent_id":"Central Server 2",
"enabled": true
},
{
"url": "http://<PROXYAGENT>:8123/origami",
"capabilities": ["crawl", "cache", "portability"],
"connectivity": ["<PROXYAGENT>"],
"agent_id": "<PROXYAGENT>",
"enabled": true
},
...
]
2. To define a new proxy, run the following commands:
cd /home/library
./configureProxy.sh --addProxyDef -h <PROXYAGENT_IP> -c <Hypervisor_Manager_IP>
where
v <PROXYAGENT_IP> is the IP address of the new proxy agent.
v <Hypervisor_Manager_IP> is the IP address of the hypervisor manager. If
your hypervisor manager is VMware, you must specify both the IP address
and port in the format <Hypervisor_Manager_IP>:<port> (the default port
value is 443).
As an alternative, if you already defined a Virtual Image Library proxy, you can
add a new hypervisor manager to be managed by the existing proxy by
running the following commands:
cd /home/library
./configureProxy.sh --addRepDef -h <PROXYAGENT_IP> -c <Hypervisor_Manager_IP>
where
v <PROXYAGENT_IP> is the IP address of the proxy agent that is already defined
in the origami.config file.
v <Hypervisor_Manager_IP> is the IP address of the new hypervisor manager. If
your hypervisor manager is VMware, you must specify both the IP address
and port in the format <Hypervisor_Manager_IP>:<port> (the default port
value is 443).
3. Restart the proxy service on the Virtual Image Library server by running the
following command:
service vilProxy restart
Chapter 2. Installing 73
4. If the Virtual Image Library proxy is not installed, follow the procedure that is
described in Installing the proxy component on page 301 to install the proxy
on a new machine.
5. In the proxy machine, configure the Virtual Image Library proxy by running
the following commands:
cd /home/library
./configureProxy.sh --addRepDef -c <Hypervisor_Manager_IP>
where <Hypervisor_Manager_IP> is the IP address of the hypervisor manager to
be managed by the proxy. If your hypervisor manager is VMware, you must
specify the both IP address and port in the format
<Hypervisor_Manager_IP>:<port> (the default port value is 443). The proxy
definition is modified in the /etc/origami/origami.config file.
6. Restart the Virtual Image Library proxy on the proxy machine by running the
following command:
service vilProxy restart
Results
You configured the Virtual Image Library proxy. For more information about
configuring Virtual Image Library proxies, see Configuring Virtual Image Library
server and remote proxy components on page 303.
Removing a Compute Node
Follow this procedure to remove a KVM compute node from SmartCloud
Orchestrator.
Procedure
1. List the services on all the compute nodes:
On the Region Server, run:. ~/openrc && nova service-list
+------------------+--------------+----------+---------+-------+----------------------------+
| Binary | Host | Zone | Status | State | Updated_at |
+------------------+--------------+----------+---------+-------+----------------------------+
| nova-cells | rs-135-3 | internal | enabled | up | 2013-10-09T06:47:41.699503 |
| nova-cert | rs-135-3 | internal | enabled | up | 2013-10-09T06:47:48.464156 |
| nova-compute | rs-5-blade-6 | nova | enabled | up | 2013-10-09T06:47:42.402192 |
| nova-conductor | rs-135-3 | internal | enabled | up | 2013-10-09T06:47:49.713611 |
| nova-network | rs-5-blade-6 | internal | enabled | up | 2013-10-09T02:47:32.317892 |
| nova-consoleauth | rs-135-3 | internal | enabled | up | 2013-10-09T06:47:49.928091 |
| nova-scheduler | rs-135-3 | internal | enabled | up | 2013-10-09T06:47:49.929776 |
+------------------+--------------+----------+---------+-------+----------------------------+
2. Disable the nova compute and nova network service on the compute node you
want to remove. On the Region Server, run: nova-manage service disable
--host=<host> --service=<services>.
For example, if you want to remove node rs-5-blade-6, run the following
commands:
nova-manage service disable --host=rs-5-blade-6 --service=nova-network
nova-manage service disable --host=rs-5-blade-6 --service=nova-compute
3. If you want to remove the compute node completely, you must manually
remove it from the database, create a file drop_node.sql with following
contents:
connect to openstac user <dbuser> using <dbpassword>
delete from compute_node_stats where compute_node_id in
(select id from compute_nodes
where hypervisor_hostname=rs-5-blade-6)
delete from compute_nodes where hypervisor_hostname=rs-5-blade-6
delete from services where host=rs-5-blade-6
74 IBM SmartCloud Orchestrator 2.3: User's Guide
Log on to central server(share db) / region server(non-shared db) with
user db2inst1 and run the sql script:
su - db2inst1
db2 -tf drop_node.sql
4. (Optional, this step is required before re-adding a removed compute back to the
Region Server) On the Region Server, remove the file /iaas/chef-repo-srv/
data/nodes/<compute_node_hostname>.
5. (Optional, this step is required before re-adding a removed compute back to the
Region Server) On the Compute Node, clean the OpenStack packages. Find the
packages needed to remove: rpm -qa | grep "*openstack*". Remove the
packages using the command: rpm -e <package name>
6. (Optional, this step is required before re-adding a removed compute back to the
Region Server) Restore the network configuration of the compute node.
Remove the bridge which created by the SmartCloud Orchestrator installer and
reassign the IP back to ethX interface.
What to do next
The availability zone will be removed from the OpenStack region after all the
compute nodes that used this availability zone are removed. You can run the
command nova availability-zone-list to find the compute nodes that use the
availability zone.
Removing a region
Use the steps that are described in this section to remove a region from the
SmartCloud Orchestrator environment.
Procedure
1. The SmartCloud Orchestrator admin must delete all instances on the region
from the cloud groups:
v Log on to the SmartCloud Orchestrator user interface and click Instances >
All Instances.
v Review each of the instances and delete the instances that belong to the
region that you want to remove.
2. Update the Virtual Image Library environment to ensure that all region-specific
data is removed:
v On the Virtual Image Library proxy machine, which is also referred to as the
Region Server, copy the images if required:
Run the /home/library/copyImages.sh script to copy the images to the
Virtual Image Library server or to another proxy connected to it:
copyImages.sh -destdomain <DESTDOMAIN> [-srcdomain <SRCDOMAIN>]
where
- -destdomain, -dest, -d <DESTDOMAIN> indicates the fully qualified
domain name of the destination Virtual Image Library proxy or server.
- -srcdomain, -src, -s <SRCDOMAIN> indicates the fully qualified domain
name of the source Virtual Image Library proxy or server. If this is not
specified, the local domain name is used.
v On the Virtual Image Library proxy machine, stop and disable the Virtual
Image Library proxy by running the following commands:
service vilProxy stop
chkconfig vilProxy off
Chapter 2. Installing 75
v On the Virtual Image Library server machine - Central Server 2:
Run
java -cp "/opt/p2pdiff/TransferClient/p2pDiffTransfer.jar:/opt/p2pdiff/TransferClient"
com.ibm.sid.RunCommand <ServerHostName> DeleteDatacenter <targetDatacenterName>
where:
- <ServerHostName> is the Virtual Image Library fully qualified server
host name.
- <targetDatacenterName> is the removed Virtual Image Library proxy
fully qualified host name. This is the region server fully qualified host
name.
This command might return the Status=false xxx not found message, if
no images were checked in or checked out from this region.
3. On Central Server 2, update the Keystone entries that relate to the region that
you want to remove, for example, RegionOne:
source /root/keystonerc
keystone endpoint-list |grep RegionOne | cut -d | -f2 | while read endpoint;
do keystone endpoint-delete $endpoint; done
For VMware or Power
, Curl, and a
file archiving utility (for manipulating .zip files). For example: Cygwin, a
compatibility layer, meets all of these requirements.
v You must follow the procedure described in Downloading and configuring the
command-line interface on page 909. All of the scripts are located in CLI
directories.
v You must have the admin role in SmartCloud Orchestrator.
You also might want to review general information about the REST API in the
article REST API reference on page 940. For this particular procedure, you need
to understand that invocation of the API is accomplished through HTTP requests.
Chapter 4. Administering 279
Tip: If you want to create your own scripts for retrieving audit data, consult the
reference article Auditing REST API on page 950 for the syntax to use in your
HTTP requests. You can browse this procedure and the sample scripts for an
understanding of how your code must integrate the fundamental tasks
(authenticating with the REST API, issuing the HTTP requests, and specifying a
.zip file for the returned data).
About this task
Table 1 lists the sample scripts that you can use to download the .zip file of audit
data and decompress it. The following procedure steps provide guidelines for
using the scripts.
Table 26. Overview of sample scripts
File name Functional description Location
create_basicauth_header.py This Python script is used by the following Curl script to create
an HTTP basic authentication header with your user key
information (your SmartCloud Orchestrator credentials).
...\deployer.cli-XXX\deployer.cli\lib\XXX\
deployer, where XXX is the version number of
the CLI
cscurl.sh This shell script performs the following tasks:
v Runs the create_basicauth_header.py script to create the
authentication header.
v Issues a Curl command to SmartCloud Orchestrator with the
authentication header to authenticate your credentials. The
Curl command targets the URL of the SmartCloud
Orchestrator component that provides the audit-related REST
API.
v Sends the HTTP request for downloading the audit data to the
REST API.
Note: You must specify the HTTP request as a parameter of
cscurl.sh.
...\deployer.cli-XXX\deployer.cli\lib\XXX\
deployer, where XXX is the version number of
the CLI
auditFetch.sh This sample script provides a very simple demonstration of how
you can automate the entire process, and thus adopt it as another
job that you run regularly in your IT organization.
...\deployer.cli-XXX\deployer.cli\samples,
where XXX is the version number of the CLI
Steps 1 - 5 are preparatory steps for using these scripts. Steps 6 - 7 describe how to
use cscurl.sh to download audit data in a .zip file, and then decompress that file.
Step 8 describes how to use auditFetch.sh. The auditFetch.sh script invokes both
of the other scripts to automate the download and decompress operations.
Consider it as a model for code that you can run with a job scheduler to regularly
download audit data.
Procedure
1. Place the scripts in an appropriate working directory.
2. Download your SmartCloud Orchestrator user keys from the product and save
them in the same directory that contains the scripts.
a. Open a browser window and go to https://Workload_Deployer_server/
resources/userKeys/.
b. Type your user name and password in the authentication fields.
c. Select the directory and provide a file name for storing your keys.
d. Save the keys as a .json file.
3. Optional: For added security in a production environment, you can use the
SmartCloud Orchestrator root certificate to authenticate the scripts to the REST
API. Follow these steps to download the certificate and save it in the same
directory that contains the scripts and your user keys:
a. Open a browser window and go to https://Workload_Deployer_server/
resources/rootcacertificate/.
280 IBM SmartCloud Orchestrator 2.3: User's Guide
b. Select the directory and provide a file name for storing the root certificate.
Note that the default file name is cert.pem.
c. Save the root certificate.
4. Optional (but necessary if you want to use the root certificate for
authentication): In the /etc/hosts file of your workstation, bind the IP address
of your SmartCloud Orchestrator to the name that is used in the root certificate,
IBMWorkloadDeployer.
5. Construct the URL for the download request that the cscurl.sh script sends to
the REST API; you must provide this URL as a parameter to run cscurl.sh in
the next step.
You can choose between two options for downloading your audit data. The
more basic option is to specify a maximum number of records to download.
Alternatively, you can specify both a maximum number of records and the time
frame in which the product logged those records. For either option, the URL
must include the location of the REST API code that downloads the data and
the resource name of the option that you choose. Use the following models for
your URL:
v To simply specify a maximum number of records in the request, construct a
URL for the events resource and use the size parameter:
https://Workload_Deployer:9444/audit/archiver/events?size=X
For the X variable, substitute the number of records that you want to
download. You can request up to 20,000 records. If you specify a greater
number, the product automatically resets your request to 20,000 records, and
ultimately writes that number of records to the .zip file.
v To add a time frame to your request, construct a URL for the filteredEvents
resource and specify the start and end times as Epoch timestamps. (Use the
time conversion tool of your choice to convert your desired date and times
into Epoch timestamps.)
https://Workload_Deployer:9444/audit/archiver/filteredEvents?size=X
&startTime=long_value&endTime=long_value
Note: If you did not perform Steps 3 - 4, replace the name
Workload_Deployer in the URL with the IP address of your SmartCloud
Orchestrator server.
6. Run cscurl.sh with parameters that specify the URL that you created in Step 5,
as well as the name of the .zip file in which you want the REST API to store
the audit data. For example:
./cscurl.sh username=user1 password=user1
keyfile=userKeys.user1.json -v --cacert root_cert.pem
-H "Accept:application/octet-stream"
"https://IBMWorkloadDeployer:9444/audit/archiver/events?size=X"
> ArchiveFetchTempFile
Note all of the variables that represent parameter values in the statement:
v user1 = the user name
v user1 = the user password
v userkeys.user1.json = the file that contains the user keys
v root_cert.pem = the name of the file that contains the SmartCloud Orchestrator
root certificate
v X = the number of records to be downloaded
v ArchiveFetchTempFile = the name of the .zip file to which the audit data is
written
Chapter 4. Administering 281
Also, be aware of the following usage notes for running cscurl.sh:
v To use the script to send a request for the filteredEvents resource (to
retrieve event records that the product logged within a specific time frame),
encapsulate the URL in single quotes rather than double quotes.
v Running cscurl.sh without parameters triggers display of its help message.
v To guard against data loss, you must specify a file for the audit data.
Otherwise, the script returns it as simple command-line output.
7. Decompress the archive file that is returned from the REST API. (In response to
the previous example of running the script, the REST API would return
ArchiveFetchTempFile.zip.) Consequently you now have four files, as depicted
in the following list.
v audit-events.csv - Contains your audit event records in CSV format.
v audit-events-signed-events-checksum - Contains the digital signature that
verifies both the integrity and authenticity of your audit data. Archive this
file along with your event records.
v audit-events-record-IDs
v audit-events-signed-record-IDs
Note: The last two files contain data that you must send back to the REST
API to delete the event records from the Workload Deployer machine (to free
storage resources). See the "What to do next" section of this article for more
information about deleting audit data.
At this point the retrieval process is complete. If you followed Steps 1 - 7, you
successfully used the individual scripts and the REST API to write your audit
data to a .zip file and download it. Step 8 describes auditFetch.sh , which
automates the entire process; the script provides an example of code that you
can run with a job scheduler to regularly download audit data.
8. To run auditFetch.sh, use the following statement as a model:
./auditFetch.sh username=auditor password=auditor
keyfile=userkeys.auditor.json IWD=IP address size=X > ArchiveFetchTempFile
Tip: If you performed Steps 3 - 4 in order to use the root certificate to
authenticate with the REST API, modify the script's invocation of cscurl.sh as
follows: Replace the -k option with the -v --cacert options. Remember to
specify the name of the file in which the SmartCloud Orchestrator root
certificate is stored on your workstation, as in: -v --cacert cert.pem. Then
when you type the statement to run auditFetch.sh, change the value of the IWD
parameter to the name IBMWorkloadDeployer.
Based on the values that you supply for the parameters, auditFetch.sh
performs these tasks to download your audit event records:
v Authenticates your credentials with SmartCloud Orchestrator.
v Constructs an HTTP request for X number of records and sends it to the
REST API. (If you do not specify a particular number of records with the
size parameter, the REST API returns a maximum number of 20,000 records.)
v Stores the records that are retrieved by the REST API in a .zip file with the
name that you specified. (If you do not specify a file name, the script uses
the default name of ArchiveFetchTempFile.zip.)
v Decompresses that archive file, which contains the following files:
audit-events.csv - Contains your audit event records in CSV format.
audit-events-signed-events-checksum - Contains the digital signature
that verifies both the integrity and authenticity of your audit data. Archive
this file along with your event records.
282 IBM SmartCloud Orchestrator 2.3: User's Guide
audit-events-record-IDs
audit-events-signed-record-IDs
Note: The last two files contain data that you must send back to the REST
API to delete the event records from the Workload Deployer machine (to free
storage resources). See the "What to do next" section of this article for more
information about deleting audit data.
Be aware of the following usage notes for running auditFetch.sh:
v Running this script without parameters triggers display of its help message.
v In some environments, such as Ubuntu, you might need to modify the
script's invocation of cscurl.sh; add the period and forward-slash characters
(./) as a prefix to the statement that invokes cscurl.sh.
What to do next
Because SmartCloud Orchestrator does not automatically delete audit data after
you download it, you must run the auditDelete.sh script to delete the data from
the Workload Deployer machine and free storage resources. You can use this script
along with your customization of auditFetch.sh as part of a regularly scheduled
job to download, archive, and then delete audit data. See the article Deleting
audit data to free storage on page 284 for information about auditDelete.sh.
Monitoring the status of audit data storage
In the SmartCloud Orchestrator user interface, you can view the usage levels of
storage resources that are dedicated to logging audit data. Use this information to
determine when to delete audit event records from the Workload Deployer
machine, in order to free up storage and maintain the regular audit data logging
process.
Before you begin
v You need to understand the following terms, which are specific to SmartCloud
Orchestrator auditing:
Event record refers to a record that contains audit data for a security or
administrative event. One record corresponds with each event.
Event log refers to SmartCloud Orchestrator storage that is dedicated to
archiving audit data.
v Also understand that when audit data storage reaches a pre-set capacity limit on
the Workload Deployer machine, SmartCloud Orchestrator suspends collection
of audit data until the storage resources free up. Therefore, it is recommended
that you delete audit data from the event log immediately after you download the
data and archive it.
v You must have the admin role to view the status of audit data storage in the
user interface.
Procedure
1. Go to Administration > Auditing.
2. Expand General Status. Note the read-only field Maximum event log size. The
value of 2500000 records is the maximum number of event records that can be
stored in the event log at any given time.
3. Check the Current event log utilization field. It displays the percentage of the
event log that is currently used to store event records. When that percentage
approaches 90%, you need to clean the event log. See the article Deleting audit
Chapter 4. Administering 283
data to free storage for more information about deleting event records from
the Workload Deployer machine.
Important: When the Current event log utilization value exceeds 90%, you see
display of the following text: Continue operation with event auditing temporarily
disabled. This message indicates that SmartCloud Orchestrator has suspended
collection of audit data until storage frees up. Normal operation of the rest of
the product, of course, continues.
Deleting audit data to free storage
To help safeguard your auditing processes, SmartCloud Orchestrator does not
automatically delete audit event records from the event log after you download
them. Instead, you must delete the records from the log in order to free storage on
the Workload Deployer machine. This article describes how to delete event records
with the auditDelete.sh script, which exploits the SmartCloud Orchestrator REST
API.
Before you begin
v Understand that when audit data storage reaches a pre-set capacity limit on the
machine where the Workload Deployer component has been installed,
SmartCloud Orchestrator suspends collection of audit data until the storage
resources free up. Therefore, it is recommended that you delete audit data from
the event log immediately after you download the data and archive it,
preferably in a routine job. If you choose not to adopt this best practice, always
remove the oldest record sets first when you clean the audit log.
v Also consider these other best practices for deleting audit data from the
Workload Deployer machine:
Designate one individual with admin role to download audit data and
subsequently delete it from the Workload Deployer machine.
Do not run download and delete operations concurrently.
v You need an environment that supports shell scripts, Python, Java, and Curl. For
example: Cygwin, a compatibility layer, meets all of these requirements.
v Downloading and configuring the command-line interface on page 909 (CLI).
The auditDelete.sh script is located in the deployer.cli samples library.
v Finally, you must have the admin role to delete audit event records.
About this task
When you run auditDelete.sh, you clean up specific record sets that you have
already downloaded from the Workload Deployer machine; you identify these
record sets with the parameters that you specify for the script.
Note: the auditDelete.sh script needs cscurl.sh and cscurl.sh requires
create_basicauth_header.py to run. Therefore, these files (cscurl.sh and
create_basicauth_header.py) must be in the same folder as the script. If you want
to use this sample script, you must manually copy the required files from the
library.
Procedure
1. Locate the auditDelete.sh script in the samples library of the SmartCloud
Orchestrator command-line interface (CLI). The directory path is
...\deployer.cli-XXX\deployer.cli\samples, where XXX is the version
number of the CLI. Copy the script to another directory if you wish.
284 IBM SmartCloud Orchestrator 2.3: User's Guide
2. Download your SmartCloud Orchestrator user keys from the Workload
Deployer machine and save them in the same directory that contains the
auditDelete.sh script.
a. Open a browser window and go to https://
your_workload_deployer_server/resources/userKeys/.
b. Type your user name and password in the authentication fields.
c. Select a directory and provide a file name for storing your keys.
d. Save the keys as a .json file.
3. To run the script, use the following statement as a model:
./auditDelete.sh username=auditor password=auditorpswd
keyfile=userkeys.auditor.json IWD=your_workload_deployer_server
map=record_IDs hash=signed_hash
Note all of the variables that represent parameter values in the statement:
v auditor = Your user name
v auditorpswd = Your user password
v userkeys.user1.json = The file that contains your user keys
v your_workload_deployer_server = IP address of the machine where the
Workload Deployer component has been installed.
v record_IDs and signed_hash - Both variables, which represent values for the
parameters map and hash, identify the record set to be deleted from the
Workload Deployer machine. These parameter values name two files that
were products of a previous download operation, and were included in your
audit-events.zip file. Define the parameters as follows:
For the map parameter, specify the name of the file that lists the IDs of the
records that you downloaded. It was included in your downloaded .zip
file as audit-events-record-IDs.
For the hash parameter, specify the name of the file that contains the
signed hash of the record IDs. It was included in your downloaded .zip
file as audit-events-signed-record-IDs.
However, you do not need to specify the map and hash parameters if all of
the following conditions are true:
You are deleting records that you just downloaded from the Workload
Deployer machine.
You have not changed the name of either audit-events-record-IDs or
audit-events-signed-record-IDs.
You have placed both files in the same directory as auditDelete.sh.
Results
You have now deleted the previously downloaded audit event records from the
Workload Deployer machine.
What to do next
Review the article Audit event record attributes and usage tips on page 272 for
an understanding of how you can best exploit SmartCloud Orchestrator event
records in your auditing analyses.
Chapter 4. Administering 285
286 IBM SmartCloud Orchestrator 2.3: User's Guide
Chapter 5. Managing virtual images
Virtual images provide the operating system and product binary files that are
required to create a virtual system instance.
SmartCloud Orchestrator supports virtual images that contains the scp-cloud-init
script and the Activation Engine. SmartCloud Orchestrator also supports virtual
images that run on VMware, if the images contain the Activation Engine and the
VMware tools are installed. Use the Image Construction and Composition Tool to
create images that are supported by SmartCloud Orchestrator. For more
information, see Working with IBM Image Construction and Composition Tool
on page 387.
To view a virtual image, you must be granted access to the virtual image or
assigned the admin role. For more information, see User roles in SmartCloud
Orchestrator on page 151.
Before working with a virtual image in SmartCloud Orchestrator, you must
perform one of the following tasks:
v Importing the virtual image by following the procedure described in Importing
a virtual image to the catalog on page 289.
v Registering the virtual image by following the procedure described in
Registering a virtual image on page 290. To register an image to SmartCloud
Orchestrator, the image must be available in your OpenStack environment. If
you are using a VMware hypervisor, the images are automatically discovered in
your OpenStack environment when the vCenter connection is established. If you
are using a KVM hypervisor, you must register the image to your OpenStack
environment by following the procedure described in Adding images to
OpenStack on page 294.
You can use the user interface, the command-line interface, the REST API, or the
IBM Image Construction and Composition Tool to manage your virtual images.
For more information, see:
v Managing virtual images with the user interface on page 288
v Virtual images command-line interface reference on page 893
v Virtual images REST API on page 1019
v Working with IBM Image Construction and Composition Tool on page 387
You can also perform advanced image management tasks by using the Virtual
Image Library user interface. For more information, see Working with Virtual
Image Library on page 295.
After working with the virtual images, you can manage the patterns associated
with them. For more information, see Working with virtual system patterns on
page 511.
Copyright IBM Corp. 2013, 2014 287
Managing virtual images with the user interface
You can work with virtual images, to provide the operating system and product
binary files that are required to create a virtual system instance, with the user
interface.
Before you begin
To view a virtual image, you must explicitly be granted access to the virtual image
or be assigned the admin role. See User roles in SmartCloud Orchestrator on
page 151, for more information about user roles.
About this task
Use the following steps to manage your virtual images.
Procedure
1. To display a list of all the virtual images that you are authorized to manage,
From the menu bar in the SmartCloud Orchestrator user interface, click Images
& Patterns > Virtual Images.
2. Click the <virtual_image_name> of a virtual image to select the virtual image
you want to view or modify. If this is the first time you are viewing a virtual
image, you must accept the license. With some images, multiple license options
are available. This allows you to account for operating system licenses that you
have already purchased.
Tip: Because patterns are associated with virtual images, you might have to
accept a license before you can clone a pattern associated with that image. If
you accept a license that you do not intend to use to clone the pattern, and you
change the cloned pattern to use another image, you are not charged for the
license usage. See Cloning an existing virtual system pattern on page 517 for
more information.
Results
After completing these steps, you can start performing all the virtual image
management tasks. To perform advanced image management tasks, you can launch
the Virtual Image Library user interface by clicking Images & Patterns > Virtual
Image Library in the menu bar.
For more information on how to manage the patterns associated with the virtual
images, see Working with virtual system patterns on page 511.
Related tasks:
Importing an image on page 321
Import a local virtual image into the reference repository to perform image
management operations on the imported image.
Related reference:
Virtual image fields on the user interface on page 292
This topic provides a reference for the fields associated with a virtual image.
288 IBM SmartCloud Orchestrator 2.3: User's Guide
Importing a virtual image to the catalog
Import virtual images to the catalog to use them in a pattern.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
Note: The images that are imported with catalogeditor role from a non-default
domain are not visible to other users that belong to the same project.
About this task
You can import OVA virtual images that you created. You can also download new
virtual images from IBM and then import them to SmartCloud Orchestrator.
For PowerVM Hypervisor Edition (HVE) images, you must import the related
OVA file to load the image metadata before you can register them. For information
about registering images, see Registering a virtual image on page 290.
To import a new virtual image to the SmartCloud Orchestrator catalog, perform
the following steps:
Procedure
1. From the menu bar, select Images & Patterns > Virtual Images.
2. Click the Add icon to import a new virtual image.
3. In the new window check the option Import an image.
4. Enter the image location in the OVA file location field. The image location can
be either an HTTP URL or you can transfer the image using Secure Copy
Protocol (SCP) with the following format: <hostname>:/path.
The images that are located in the /data/repos/scp directory on Central Server
1 can be accessed by specifying the HTTP URL in the following format:
http://central-server-1/scp/my_virtual_image.ova
where central-server-1 is the host name or the IP address of Central Server 1.
5. Optional: If the OVA file location is secured, enter the credentials to access it in
the User name and Password fields.
Results
The new virtual image is now available in the catalog.
Important: The virtual image is stored in the reference repository in the Virtual
Image Library. Before you can deploy the virtual image in a pattern, you must
copy the image to an OpenStack operational repository (KVM or VMware). Access
the Virtual Image Library user interface by clicking Images & Patterns > Virtual
Image Library, and follow the procedure described in Copying an image from the
reference repository on page 322.
If you are using a KVM hypervisor, you can only import single-disk images. In
SmartCloud Orchestrator you can add additional disks at deployment time. For
more information, see Add-ons in the catalog on page 255.
Chapter 5. Managing virtual images 289
What to do next
You can use the new virtual image to create patterns. See Working with virtual
system patterns on page 511 for more information about patterns.
Related reference:
Virtual image fields on the user interface on page 292
This topic provides a reference for the fields associated with a virtual image.
Registering a virtual image
You can register virtual images that are stored on external hypervisors of an
OpenStack region. The registration of images from external hypervisors allows a
more scalable and flexible way to manage images in the cloud.
Before you begin
You must be assigned the admin role to perform these steps.
Note: For PowerVM Hypervisor Edition (HVE) images, you must import the
related OVA file to load the image metadata before you can register them. For
information about importing images, see Importing a virtual image to the
catalog on page 289.
When you register an imported PowerVM image, use the Map to image field to
map the registered image to the imported image.
About this task
You can use the SmartCloud Orchestrator user interface to register images from
external hypervisors.
Procedure
1. From the menu bar, select Images & Patterns > Virtual Images.
2. Click the Add icon to start registering a new image.
3. A new window opens. Click Register an image from a region.
4. From the Regions list, select the region from which you want to register the
virtual images.
5. Click Refresh to display the list of unregistered images that are available for
the selected region.
Note: If an image name is highlighted in red, another image is already
registered with that name. To avoid errors in such cases, change the name of
the unregistered image. To change an image name, click the image name and
type a new name.
a. If you are using a PowerVM hypervisor, the images that you imported by
using VMControl are automatically available in your OpenStack
environment.
b. If you are using a KVM hypervisor, and a particular image does not appear
in the list of unregistered images when you click Refresh, add the image to
the OpenStack environment, as described in Adding images to OpenStack
on page 294.
6. Use the Filter field if you need to search for specific images.
7. Select one or more images from the list.
290 IBM SmartCloud Orchestrator 2.3: User's Guide
8. If an image from an OVA file is already imported into the Workload Deployer,
and an image that is already registered in an OpenStack region represents the
same image, you do not need to check the image out of the Virtual Image
Library to the target region. Instead, you can use the Map to image field to
logically link the Workload Deployer OVA image to the image from the region.
a. Click on the Map to image entry for the new image.
b. In the Map to image field, select the target image from the list of registered
images.
9. Click Register.
Results
You registered your virtual image from an OpenStack region.
Removing a virtual image from the catalog
You can remove a virtual image from the catalog.
Before you begin
You must be assigned the catalogeditor role and be granted all access to the virtual
image that you want to remove. You can also perform these steps if you are
assigned the admin role.
About this task
When you remove a virtual image, any patterns that refer to that virtual image are
no longer deployable. You must clone these patterns and link them to a new
virtual image before they can be deployed.
You can use the following steps to remove a virtual image from the catalog.
Procedure
1. From the left panel of the Virtual Images window, select the virtual image to
remove from SmartCloud Orchestrator.
2. Verify that the virtual image selected is not currently being used by any of the
virtual system instances managed by the SmartCloud Orchestrator. A virtual
image cannot be deleted if a virtual system instance that is referencing that
virtual image is currently running. To confirm that a virtual image is not being
used in the cloud, ensure that the In the cloud now field does not show any
virtual system instance. If no virtual system instances are being used in the
cloud, (none) is displayed.
3. Click the remove icon to remove the virtual image from the catalog. A window
is displayed requesting your confirmation that this virtual image can
permanently be removed.
4. Click OK to confirm that you want to remove the virtual image.
Results
After you have completed these steps, the virtual image has been removed from
the catalog.
Chapter 5. Managing virtual images 291
What to do next
Clone any patterns that referenced the virtual image that you removed. You must
link these patterns to a new virtual image before they can be deployed. For more
information about cloning a pattern, see Cloning an existing virtual system
pattern on page 517.
If you want to remove the virtual image from the infrastructure, follow this
procedure:
1. Remove the image from SmartCloud Orchestrator user interface. This step is
only removing the link to the image from the
SmartCloud Orchestrator user interface (in other words, you can not longer use
SmartCloud Orchestrator to deploy images based on that template).
2. For a VMware region: remove the image from the vCenter. This step
automatically removes the image from glance as well.
3. For a KVM region, remove the image from glance running the command
glance image-delete.
4. Remove the image metadata from glance.
Related reference:
Virtual image fields on the user interface
This topic provides a reference for the fields associated with a virtual image.
Virtual image fields on the user interface
This topic provides a reference for the fields associated with a virtual image.
Virtual Image fields
The following fields are used when working with a virtual image:
Description
This optional field is available so you can provide a text description for
your virtual image.
Created on
This automatically generated field specifies the date when this virtual
image was created.
Current status
The Current status field is automatically populated to display the state of
this virtual system instance.
Updated on
This automatically generated field specifies the date when this virtual
image was last updated.
License agreement
This field specifies if the license agreement to use this virtual image has
been accepted. If the license agreement has not been accepted, then the
virtual images are not displayed in the drop-down menu to be used in a
pattern.
Hypervisor type
This field is set when the virtual image is created and cannot be modified.
It specifies the type of hypervisor this virtual image requires.
Operating System
This field specifies the guest operating system for the virtual image.
292 IBM SmartCloud Orchestrator 2.3: User's Guide
Region
This field specifies the region where the virtual image is registered.
Version
The version field specifies the version of WebSphere Application Server
that is included on the virtual image. Though this required field can be set
to any value, it must contain a valid version of WebSphere Application
Server. It can be set when the virtual image is cloned in the catalog.
The version of the virtual image is propagated down to parts on pattern
using the virtual image. The version can be changed, on an individual part,
on the editing canvas. For more information, see Virtual system pattern
editing views and parts on page 522.
Image reference number
This field is set when the virtual image is created and cannot be modified.
It specifies the WebSphere Application Server build number for the virtual
image.
Product IDs
This field specifies the IBM product ID of the product or products included
in the virtual image.
Location
The Location is the place where virtual images are stored; registered
images are stored on the hypervisor; imported image are stored locally.
Contains Parts
This field lists the available parts for the virtual image. Parts that are not
available because advanced options are not enabled are marked as inactive.
Included in patterns
This field specifies a list of links to all the patterns that are constructed
using this virtual image. You can click any <pattern_name> to display the
details for that pattern.
In the cloud now
The field specifies a list of links to all the virtual system instances that
were created using patterns constructed with this virtual image. You can
click any <virtual_system_name> to display the details for that virtual
system instance.
Mapped images
This field lists the current image and any other images that are mapped to
the current image. For more information about image mapping, see
Registering a virtual image on page 290.
Access granted to
The creator of a virtual image is automatically granted all access to the
virtual image as the owner. If you want additional users to access this
virtual image, then you need to manually grant access to the projects to
which those users belong. For more information about object level
permissions, see User roles in SmartCloud Orchestrator on page 151.
Hardware
This section can be expanded to display additional details about the
hardware configuration of the virtual image.
v Virtual CPU count
This field specifies the number of processors the virtual image
represents.
v Virtual machine memory (MB)
Chapter 5. Managing virtual images 293
This field specifies the amount of memory, in megabytes, on the
hypervisor that this virtual machine is allocated. This value is specified
in the pattern that was deployed to create the virtual system instance.
v Network interfaces
This field is used to set the number of network interfaces require by this
virtual image during deployment. This function allows you to take
advantage of multiple network interfaces when applicable. This field
cannot be modified after the image has been extended.
v <volume names>
These fields specify the volume names and the sizes that make up the
virtual image. These fields cannot be modified after the image has been
extended.
Comments
This field can be used to include additional comments about a virtual
image.
Related tasks:
Populating the catalog on page 233
The SmartCloud Orchestrator catalog contains the application templates, plug-ins,
reusable components, virtual images, virtual system patterns, script packages, and
add-ons that are used to build the virtual environment.
Importing a virtual image to the catalog on page 289
Import virtual images to the catalog to use them in a pattern.
Removing a virtual image from the catalog on page 291
You can remove a virtual image from the catalog.
Related information:
Chapter 5, Managing virtual images, on page 287
Virtual images provide the operating system and product binary files that are
required to create a virtual system instance.
Adding images to OpenStack
Add images to your OpenStack environment to be able to register them in
SmartCloud Orchestrator.
About this task
If you are using a KVM hypervisor, before registering an image to SmartCloud
Orchestrator, you must add the image to your OpenStack environment.
Note: If you are using a KVM hypervisor, you can only add single-disk images. In
SmartCloud Orchestrator, you can add additional disks at deployment time. For
more information, see Add-ons in the catalog on page 255.
If you are using a VMware hypervisor, the images are automatically discovered in
your OpenStack environment when the vCenter connection is established
To add an image in OpenStack, perform the following steps on the Region Server
where OpenStack is installed:
Procedure
1. Set the environment by running the following command:
source /root/keystonerc
294 IBM SmartCloud Orchestrator 2.3: User's Guide
2. Run the following command:
glance image-create --name image_name --disk-format disk_format --container-format=bare
--is-public [True|False] < image_path
where
image_name
Specifies a name for the new image you are adding.
disk_format
Specifies one of the following disk formats:
raw An unstructured disk image format.
qcow2 A disk format supported by the QEMU emulator that can
expand dynamically and supports copy-on-write.
--container-format
Specifies the container format for the image. The acceptable formats
are: ami, ari, aki, bare, and ovf.
--is-public
Specifies if the image is accessible by other users. The value can be
true or false.
image_path
Specifies the full path of the image to be added.
For more information about the glance image-create command, see the
OpenStack documentation.
Results
The image is added to your OpenStack environment. You can register the image to
SmartCloud Orchestrator by following the procedure described in Registering a
virtual image on page 290.
Working with Virtual Image Library
Use Virtual Image Library to perform advance management tasks on the virtual
images in your SmartCloud Orchestrator environment.
Overview
The IBM Virtual Image Library component provides extended services for image
management.
After images are created, the lifecycle management of those images presents a
challenge. With a traditional approach, it is not always possible to identify the
contents of any particular image and any image can resemble a black box, the
contents of which are unknown. You might know that the image contains a
particular operating system, but you probably do not know at any point in time if,
for example, a monitoring agent is installed on the image, or what images do not
comply with security policies. As new software patches become available, you
might not know which images need to be updated. If your image management
process cannot adequately meet these challenges, the value of your images is
diminished.
In Virtual Image Library, the following types of operational image repositories are
supported:
Chapter 5. Managing virtual images 295
v VMware
v OpenStack
v VMControl
After you define the operational repository to Virtual Image Library and index the
images that it contains, all the information about the images is stored in the Virtual
Image Library database.
You can perform the following operations on the indexed images:
v Search images for specific software products
v Compare two images and determine the differences in files and products
v Find similar images
v Track image versions and provenance
In Virtual Image Library, you can use a local image store, called the reference
repository, to save copies of key images from any operational repository or to
replicate copies of images from the reference repository to any operational
repository.
You can also import images from the Virtual Image Library file system to the
reference repository to perform image management operations on the imported
images.
Note: Virtual Image Library might delegate tasks related to virtual disks to a
remote proxy. This means that if you have distributed environments or slow
networks, Virtual Image Library can use a remote proxy installed close to the
repository. The advantage of this configuration is that heavy operations at the
network level are made locally and only the information retrieved is sent to the
server.
Restriction: Check in, check out and indexing for Power images is not supported
in Virtual Image Library.
Virtual Image Library basics
Find out more about Virtual Image Library basics, primary users, key examples
and terms for this component. Review troubleshooting information and the log file
names and location for this component and also additional resources that help you
complete your Virtual Image Library tasks.
296 IBM SmartCloud Orchestrator 2.3: User's Guide
Process
The following diagram shows typical image management processes followed by Virtual
Image Library configuration librarians and operators.
Copy images to
reference repository
Copy images to
operational repositories
Import images
Index images
Perform image
management operations
(search, compare,
find similar images,
track image version
and provenance)
Add
operational repositories
Configuration Librarian
Virtual Image Library Operator
Legend
User roles
You must be assigned to the appropriate user role to use Virtual Image Library.
Table 27. User roles
Role Description Skills
Operator The operational role for day-to-day
activities such as indexing and
analytics. An operator can perform
tasks such as searching and
comparing images, finding similar
images, and listing products and
files.
Knowledge of the operational Virtual
Image Library environment
Configuration Librarian The role for maintaining the image
catalog. In addition to operator tasks,
the configuration librarian can
perform tasks such as adding
operational repositories, checking in
and out images, importing local
images, and deleting images from the
reference repository.
v Knowledge of the Virtual Image
Library environment
v Knowledge of the virtualization
technologies
Chapter 5. Managing virtual images 297
Table 27. User roles (continued)
Role Description Skills
Administrator A super user role to access all the
Virtual Image Library capabilities.
Knowledge of the Virtual Image
Library environment and
configuration
Key terms
deployed virtual machine
An instance of a virtual image deployed on a hypervisor manager.
hypervisor
A program or a portion of Licensed Internal Code that allows multiple instances of
operating systems to run simultaneously on the same hardware. Typically, it
represents the server that hosts the virtual servers. For ESX, for example, the
hypervisor is the VMware ESX server that hosts the virtual servers.
operational repository
A repository for virtual images and deployed virtual machines that is managed by
a hypervisor.
Open Virtualization Appliance (OVA)
A single file distribution of an OVF package. It is stored in TAR format.
Open Virtualization Format (OVF)
A platform-independent open standard for packaging and distributing virtual
appliances.
reference repository
The local image store used by the Virtual Image Library component to store the
virtual images.
virtual image
A virtual representation of a computer program and its related data, such as the
kernel, file systems, libraries, and programs of the managed system at a particular
time.
Troubleshooting
If you encounter a problem with the Virtual Image Library component, see
Troubleshooting on page 330.
Log files
For information about log files, see Log files on page 330.
298 IBM SmartCloud Orchestrator 2.3: User's Guide
Resources
To learn more about using the Virtual Image Library component and how this component is
integrated into the product you are using, see the official product documentation.
Installing and configuring
Follow these procedures to install, configure, uninstall, back up, or restore Virtual
Image Library.
Installing
Follow this procedure to install Virtual Image Library and any distributed proxy
components.
Before you begin
Virtual Image Library is automatically installed during the SmartCloud
Orchestrator installation. Follow this procedure only if you want to manually
install Virtual Image Library for specific reasons that are related to your
environment. Only one Virtual Image Library can be installed and connected to
your SmartCloud Orchestrator environment.
Note: Upgrading from a previous version of Virtual Image Library is not
supported in this release.
For the Virtual Image Library installation, be sure to meet the following
requirements:
v Hardware requirements
See the requirements that are listed in step 2 of the installation procedure
depending on the value you specify for the checkSize parameter.
v Software requirements
Red Hat Enterprise Linux versions 6.3 or 6.4
RPM packages that are listed in the rpmList_vil.txt file in the Virtual Image
Library server installation and rpmList_proxy.txt file for the proxy
installation. These files are in the Virtual Image Library installation package.
These packages are available in the Red Hat Enterprise Linux 6.3 or 6.4
installation image or in the Red Hat Network, and they are installed during
the installation procedure by using Yum.
Note: The following package MUST be available in a Yum repository but is
NOT included in the installation image:
libguestfs-winsupport-1.0-7.el6.x86_64.rpm
Make sure that this package is available in the Yum repository and that the
related public keys are correctly imported into the repository. For more
information about Yum, see the Red Hat Enterprise Linux documentation.
For a Virtual Image Library installation, be sure that there is no WebSphere
Application Server installed in the /opt/IBM/WebSphere/AppServer directory.
Chapter 5. Managing virtual images 299
About this task
The installation procedure automatically detects if Virtual Image Library is already
installed.
To install Virtual Image Library, complete the following steps:
Procedure
1. Unpack the Virtual Image Library installation package into a temporary
directory.
2. From the directory where you unpacked the installation package, run the
following script:
install_vil.sh -u vil_admin_name -p vil_admin_password
[-checkSize prodEnv|testEnv|customEnv] [-sso]
where
-u vil_admin_name
Specifies the Virtual Image Library administrator ID to be used during
the installation. This parameter is required.
-p vil_admin_password
Specifies the Virtual Image Library administrator password. This
parameter is required.
-checkSize prodEnv|testEnv|customEnv
Specifies the type of environment you are installing. This parameter is
optional. Use this parameter to define the hardware requirements that
are checked during the installation procedure. The valid values are:
prodEnv
The default value. For a production environment, the following
hardware requirements are checked:
v 2 CPU
v 8 GB RAM
v 10 GB free disk space in the /opt file system
v 40 GB in the /tmp file system
v 30 GB free disk space in the /home/library file system. The
actual disk space requirement depends on the size of the
virtual images that you want to store in the reference
repository.
testEnv
For a test environment, the following hardware requirements
are checked:
v 2 CPU
v 8GB RAM
v 5 GB free disk space in the /opt file system
v 10 GB free disk space in the /home/library file system
v 30 GB in the /tmp file system
customEnv
Specify the hardware requirements to be checked during the
installation procedure in the install_vil.config file. The
minimum hardware requirements that you can specify are:
v 1 CPU
300 IBM SmartCloud Orchestrator 2.3: User's Guide
v 4 GB RAM
v 3 GB free disk space in the /opt file system
v 5 GB free disk space in the /home/library file system
v 10 GB in the /tmp file system
If you specify any value less than the listed ones, the value is
ignored and the installation procedure checks the minimum
allowed value.
-sso You can start the Virtual Image Library user interface from the
SmartCloud Orchestrator user interface. This parameter is
optional.
3. You can check the installation results that are found in one of the following log
files in the /tmp directory: fresh_install_vil.log
If the installation procedure does not complete successfully, correct the problem
that is described in the error message and run the procedure again. The
procedure continues to run from the last successful step.
To restart the installation procedure from the first step after you manually
cleaned up a previous unsuccessful installation, you must delete the following
file in the /tmp directory: fresh_install_vil.step
Results
Virtual Image Library is now installed and started.
Note: No user lockout policy is set in the Virtual Image Library environment.
Because Virtual Image Library manages user security through WebSphere
Application Server, to improve your environment security, see the WebSphere
Application Server documentation for information about setting security policies.
Installing the proxy component:
Follow this procedure to install the Virtual Image Library distributed proxy
components.
Before you begin
The distributed proxy is a component of Virtual Image Library that is involved
with image management operations. You can optionally install distributed proxies
on remote nodes.
About this task
If you choose to install only the distributed proxy component without the Virtual
Image Library server, complete the following steps:
Procedure
1. Unpack the Virtual Image Library proxy installation package into a temporary
directory.
2. From the directory where you unpacked the installation package, run the
following script:
install_vil.sh -proxy -vilServer <hostnameFqdn>
[-checkSize prodEnv|testEnv|customEnv]
where
Chapter 5. Managing virtual images 301
-proxy Runs an installation of the distributed proxy component only on a
different machine than the Virtual Image Library server.
-vilServer
Specifies the fully qualified host name or the IP address of the Virtual
Image Library server. To be used only together with the -proxy option.
If you specify th fully qualified host name of the Virtual Image Library
server, the proxy must be able to resolve that host name. If it cannot,
add the IP address and host name to /etc/hosts before installing the
proxy.
-checkSize prodEnv|testEnv|customEnv
Specifies the type of environment you are installing. This parameter is
optional. Use this parameter to define the hardware requirements that
are checked during the installation procedure. The valid values are:
prodEnv
The default value. For a production environment, the following
hardware requirements are checked:
v 2 CPU
v 8 GB RAM
v 10 GB free disk space in the /opt file system
v 100 GB free disk space in the /home/library file system. The
actual disk space requirement depends on the size of the
virtual images that you want to store in the reference
repository.
testEnv
For a test environment, the following hardware requirements
are checked:
v 2 CPU
v 4 GB RAM
v 5 GB free disk space in the /opt file system
v 10 GB free disk space in the /home/library file system
customEnv
Specify the hardware requirements to be checked during the
installation procedure in the install_vil.config file. The
minimum hardware requirements that you can specify are:
v 1 CPU
v 4 GB RAM
v 3GB free disk space in the /opt file system
v 5 GB free disk space in the /home/library file system
If you specify any value less than the listed ones, the value is
ignored and the installation procedure checks the minimum
allowed value.
3. You can check the installation results that are found in one of the following log
files in the /tmp directory: fresh_install_proxy.log.
Results
The proxy component of Virtual Image Library is now installed.
302 IBM SmartCloud Orchestrator 2.3: User's Guide
Configuring
Follow these procedures to configure Virtual Image Library and the proxy
component.
Configuring Virtual Image Library server and remote proxy components:
Follow this procedure to configure Virtual Image Library and any remote proxy
components.
To perform image management operations against a hypervisor manager, you must
configure a proxy. The proxy with which you manage a hypervisor manager can be
on the Virtual Image Library server or on a remote node that you installed.
The origami configuration file is located in /etc/origami/origami.config. It
contains the main configuration properties that allow Virtual Image Library to
identify which proxy is managing which domain. You can find this file on both the
Virtual Image Library server and any remote proxy node. The structures of the
files are the same but the one related to the server contains some additional
configuration sections to identify the knowledge base as well as all the proxies that
are deployed. This is so that the Virtual Image Library server can distribute the
actions to the correct node when needed.
Note: Restart your proxy services after any configuration change by running:
service vilProxy restart.
Configuring a Virtual Image Library server to manage a VMware hypervisor
manager using a remote proxy
To define a new proxy, run the following commands on the Virtual Image Library
server:
cd /home/library
./configureProxy.sh --addProxyDef -h <PROXYAGENT_IP> -c <Hypervisor_Manager_IP>
where
v PROXYAGENT_IP is the IP address or host name fqdn of the proxy
v Hypervisor_Manager_IP is the same string shown by nova-cloud-show in the name
field, so, if you have an IP address there, you use the IP address, if you have a
hostname you must pass the hostname.
The new proxy definition is added in the /etc/origami/origami.config file.
Restart the proxy service on the Virtual Image Library server by running the
following command:
service vilProxy restart
Install the Virtual Image Library proxy on the machine delegated to manage the
hypervisor manager image operations by following the procedure described in
Installing the proxy component on page 301.
On the proxy machine, configure the Virtual Image Library proxy by running the
following commands:
cd /home/library
./configureProxy.sh --addRepDef -c <Hypervisor_Manager_IP>
Chapter 5. Managing virtual images 303
where Hypervisor_Manager_IP is the IP address of the hypervisor manager. If your
hypervisor manager is VMware, you must specify the IP address and port in the
format <Hypervisor_Manager_IP>:<port>. The default port value is 443.
The new proxy definition is added in the /etc/origami/origami.config file.
Restart the proxy service on the proxy machine by running the following
command:
service vilProxy restart
Results
Virtual Image Library has been configured.
Configuring a Virtual Image Library server to directly manage a VMware
hypervisor manager
To add the VMware hypervisor manager to the Virtual Image Library server proxy
configuration, run the following commands:
cd /home/library
./configureProxy.sh --addRepDef -c <Hypervisor_Manager_IP>:<Port>
where Hypervisor_Manager_IP is the IP address of the hypervisor manager. The
default port value is 443.
The new proxy definition is added in the /etc/origami/origami.config file.
Restart the proxy service on the Virtual Image Library server by running the
following command:
service vilProxy restart
Results
Virtual Image Library has been configured.
Configuring Virtual Image Library proxies with slow connectivity:
If you have Virtual Image Library proxies with slow connectivity, follow this
procedure to avoid timeout problems during check in and check out operations.
Procedure
1. Edit the /opt/p2pdiff/TransferClient/GlobalTracker.properties file on
Central Server 2 and set the following parameter:
sequentialTransfers=true
2. Restart the proxy service by running the following command:
service vilProxy restart
304 IBM SmartCloud Orchestrator 2.3: User's Guide
Configuring Virtual Image Library for VMware:
To complete the registration of a vCenter to OpenStack, you must configure the
Virtual Image Library proxies.
About this task
You must configure Virtual Image Library for VMware so that the program can
understand which proxy is going to manage the vCenter and where to redirect
indexing and check out requests that are related to VMware. To do this, perform
this procedure on both the Virtual Image Library server and the proxy that
manages vCenter. In this example, the proxy is installed on OpenStack.
Note:
v To improve performance, install a proxy on a virtual machine hosted on vCenter.
Perform these steps to manage a VMware vCenter that is already federated or
that will be federated to an OpenStack hypervisor.
v The Virtual Image Library proxy machine that manages the VMware vCenter
must be able to resolve all the ESX servers by their host names and by the
names shown in vCenter.
Procedure
1. On the Virtual Image Library server machine (Central Server 2), open the
/etc/origami/origami.config file.
2. In the origami.config file, there is an entry for proxies. There might be multiple
agent-id entries under the proxies entry. You must find the connectivity json
object (agent-id) which lists the host name that OpenStack is running on, that
is, Region Server, and the url entry value that contains the IP address that
OpenStack is running on. In the following example, the agent ID is
region-server which is the hostname of the machine OpenStack is running,
and the url value has the IP address of the OpenStack server which is 10.10.0.1:
{
"enabled": true,
"connectivity": [
"region-server",
"10.10.0.1",
],
"capabilities": [
"crawl",
"cache",
"portability"
],
"agent_id": "region-server",
"url": "http://10.10.0.1:8123/origami"
}
],
3. Add the vCenter_IP_address:Port running the following commands on the
Virtual Image Library Server:
cd /home/library
./configureProxy.sh --addRepDef -h <PROXYAGENT_IP> -c <Hypervisor_Manager_IP>:Port
where
v PROXYAGENT is the IP address or host name fqdn set in the proxies URL
related to OpenStack. In the example, it is 10.10.0.1 which is the IP address
that OpenStack is running on.
v <Hypervisor_Manager_IP>:Port is the vCenter IP address with the port. The
default port value is 443.
Chapter 5. Managing virtual images 305
To find the value of the vCenter IP address, on the OpenStack server, that is,
Region Server, go to /opt/ibm/openstack/iaas/smartcloud/bin and run the
following command:
./nova-cloud-show
Check the value of "external_uri": and then update the proxy configuration
adding this IP address as shown in the example at the bottom of this topic.
4. After the configuration change, restart the proxy service by running "service
vilProxy restart".
5. On the Region Server, configure the proxy to manage the vCenter by running
the command:
# cd /home/library
# ./configureProxy.sh --addRepDef -c <Hypervisor_Manager_IP>:port
where Hypervisor_Manager_IP is the vCenter IP address with the port. The
default port value is 443.
6. Restart the proxy service by running "service vilProxy restart".
Results
Virtual Image Library is now configured for VMware.
Example
Example for the server:
cd /home/library
./configureProxy.sh --addRepDef -h 10.10.0.1 -c 10.10.100.17:443
Note: In this example, "10.10.100.17" is the vCenter IP address retrieved with the
nova-cloud-show command. "10.10.0.1" is the proxy agent.
Example for the proxy:
cd /home/library
./configureProxy.sh --addRepDef -c 10.10.100.17:443
Uninstalling
Uninstall Virtual Image Library and the proxy component.
Uninstalling Virtual Image Library:
Follow this procedure to uninstall the Virtual Image Library component.
Before you begin
If you uninstall the Virtual Image Library component, you cannot use any
SmartCloud Orchestrator features until you reinstall the component.
About this task
To uninstall Virtual Image Library, run the script /var/library/uninstall/
uninstall_vil.sh.
Results
Virtual Image Library is now uninstalled.
306 IBM SmartCloud Orchestrator 2.3: User's Guide
Uninstalling the distributed proxy:
Follow this procedure to uninstall any distributed proxy components.
About this task
To remove the distributed proxy, run the script /var/proxy/uninstall/
uninstall_vil.sh -proxy -vilServer <hostnameFqdn> where
-proxy Runs an uninstallation of the distributed proxy component only on a
different machine than the Virtual Image Library server.
-vilServer
Specifies the fully qualified host name or the IP address of the Virtual
Image Library server. To be used only together with the -proxy option. If
you specify the fully qualified host name of the Virtual Image Library
server, the proxy must be able to resolve that host name.
Results
The proxy component is now uninstalled.
Best practices
Best practices for managing images in the Virtual Image Library reference
repository and for the remote proxy.
Managing reference images:
Best practices for managing images in the Virtual Image Library reference
repository.
If you add an image in the reference repository, either importing it from an OVA
file or checking it in from an operational repository, the image is physically stored
in the proxy that has managed the request. The reference repository is distributed
among all the connected proxies. As a consequence, if a proxy becomes unavailable
and an image is only available on it, this image becomes unusable for indexing or
for checking out until the proxy is back online.
The following scenarios provide some best practices you can use to manage
reference repository images:
Managing a dismissal of a proxy:
Follow this procedure to dismiss a proxy and avoid discontinuity in the service.
About this task
To remove or substitute a proxy, perform the following steps:
Procedure
1. On the proxy that is going to be dismissed, run the /home/library/
copyImages.sh script to copy the images to the Virtual Image Library server or
to another proxy connected to it.
2. To dismiss the proxy, run "service vilProxy stop".
3. On the proxy that substitutes the dismissed one:
Chapter 5. Managing virtual images 307
a. Update the "connectivity" section in the origami.config by adding the
repositories:
/home/library/configureProxy.sh -addRepDef -c <domain1>,<domain2>
b. Restart the vilProxy service.
4. On the VIL server
a. Modify the "proxies" section in the origami.config by disabling the stopped
proxy and adding the repositories listed in its "connectivity" section to
another proxy:
/home/library/configureProxy.sh -migrateProxy -s source_hostname -d destination_hostname -e false
b. Restart the vilProxy service
Manage a planned shutdown of a machine hosting a proxy:
Follow this procedure if you must temporarily stop a proxy or shut down the
machine where the proxy is installed avoiding discontinuity in the service.
To shut down the machine where the proxy is installed to avoid discontinuity in
the service, you can run the steps needed to dismiss a proxy. When the machine is
back online, restore the original origami.config files and restart the vilProxy service
on the Virtual Image Library server and on the relevant proxies.
Managing an unplanned outage of the machine where the proxy is installed:
Follow this procedure to reduce the risk that an unplanned outage of a machine
that hosts a proxy causes problems in using some images.
To shut down the machine where the proxy is installed to avoid discontinuity in
the service, you can run the steps needed to dismiss a proxy. When the machine is
back online, restore the original origami.config files and restart the vilProxy service
on the Virtual Image Library server and on the relevant proxies.
You can use one of the following approaches:
Consolidate all the images to a proxy dedicated to this backup role
v Install the proxy to act as backup.
v Modify the origami.config file of the Virtual Image Library server by
adding the new proxy:
/home/library/configureProxy.sh --addProxyDef -h <hostname>
v Do not add any repository definitions to this proxy.
v To periodically back up the content of each proxy, run the following
command for each of them:
/home/library/copyImages.sh -d <backup_proxy_hostname> -s <src_proxy_hostname>
Maintain a distributed approach
v For each proxy, identify another proxy on which to back up its
information.
v To periodically back up the content of proxies, run the following
commands for each identified couple:
/home/library/copyImages.sh -d <proxy1_hostname> -s <proxy2_hostname>
/home/library/copyImages.sh -d <proxy2_hostname> -s <proxy1_hostname>
308 IBM SmartCloud Orchestrator 2.3: User's Guide
Managing the outage:
If an unplanned outage occurs, you can at least work with all the images in the
reference repository checked in before the last backup.
Procedure
On the proxy that substitutes the unavailable one
1. Update the "connectivity" section in the origami.config by adding the
repositories:
/home/library/configureProxy.sh -addRepDef -c <domain1>,<domain2>
2. Restart the vilProxy service.
On the Virtual Image Library server
3. Modify the "proxies" section in the origami.config file by disabling the
unavailable proxy and adding the repositories listed in its "connectivity" section
to another proxy:
/home/library/configureProxy.sh -migrateProxy -s source_hostname -d destination_hostname -e false
4. Restart the vilProxy service.
What to do next
When the machine is back online, restore the original origami.config files and
restart the vilProxy service on the Virtual Image Library server and on the relevant
proxies.
Managing the remote proxy:
Best practices for managing the Virtual Image Library remote proxy.
With Virtual Image Library you can federate operational repositories to support
geographically distributed data centers. Using proxy components, you can
decentralize tasks related to virtual disks over distributed sites.
In the SmartCloud Orchestrator installation, Virtual Image Library is installed on
the Central Server 2 virtual machine. On the Region Server, you have the
OpenStack hypervisor manager and a proxy. Virtual Image Library is configured to
delegate OpenStack management to the proxy.
The following scenarios provide some best practices you can use to manage
operational repository images:
Configuring Virtual Image Library for a new repository:
You can configure Virtual Image Library for a new repository.
When you add a new operational image repository, you might want to delegate
tasks related to virtual disks to a remote proxy installed close to the repository. The
advantage of this configuration is that heavy operations at network level are made
locally and only the information retrieved is sent to the server. This reduces
network traffic and accelerates check in and check out operations.
In particular, if you are adding a VMware operational repository, either from the
Virtual Image Library user interface or through the OpenStackcommand
nova-cloud-create, you might want to create a virtual machine hosted by the
vCenter and install a proxy. The nested virtualization capabilities must be enabled
Chapter 5. Managing virtual images 309
on this virtual machine.
Changing the WebSphere account password:
You can change the WebSphere account password that is supplied during the
installation.
About this task
The Virtual Image Library server is registered as a service of the Linux machine. At
boot time, Virtual Image Library is started automatically. The user name and
password to manage the Virtual Image Library server are stored in the following
file:
/opt/IBM/WebSphere/AppServer/profiles/imageLibraryProfile/properties/
soap.client.props at the following key:
com.ibm.SOAP.loginUserid=wasadmin
com.ibm.SOAP.loginPassword={xor}Lz4sLChvLTs=
The password is stored in encrypted form.
To change the password, perform the following steps:
Procedure
1. Change the password from the WebSphere Application Server service console:
https://<VirtalImageLibraryHostname>:9043/ibm/console-> Users and Groups
-> Manage Users. Select the account defined at installation and change the
password.
2. Enter a new password in plain text as a value of the key
com.ibm.SOAP.loginPassword.
3. Run the WebSphere Application Server password encryption tools.
/opt/IBM/WebsSphere/AppServer/bin/PropFilePasswordEncoder.sh
/opt/IBM/WebSphere/AppServer/profiles/imageLibraryProfile/properties/soap.client.props
com.ibm.SOAP.loginPassword
Backing up and restoring the proxy:
Back up your Virtual Image Library proxy, especially when you apply a fix pack or
upgrade, so that you can restore the existing environment, if necessary.
Before you begin
After you have backed up the Virtual Image Library server, stop the server and
perform the following steps:
1. Ensure that you are the root user and navigate to the directory where the
media was extracted: /install_media/vil-proxy
2. Extract the script into a path, for example /root, from the package by running
the following command: > unzip -p il_proxy_install_package.zip
backupRestore_proxy.sh > /root/backupRestore_proxy.sh
3. Move the script to the machines where the proxy is installed, for example, into
the directory /root/.
4. Assign execution permission by running the following command: > chmod 750
/root/backupRestore_proxy.sh
5. Run the command without parameters for usage: > /root/
backupRestore_proxy.sh
310 IBM SmartCloud Orchestrator 2.3: User's Guide
About this task
To back up the proxy, run the following command: backupRestore_proxy.sh
-backup -dir <backup_directory> where<backup_directory> is the local directory to
store the backup. For example, > /root/backupRestore_proxy.sh -backup -dir
/root/backup. The backup is stored as /root/backup/
proxy_backup_<timestamp>.tgz. Copy this file to a secure remote machine.
To roll back the Virtual Image Library proxy, perform the following steps:
Procedure
Note: You must restore the proxy before you roll back the server.
1. Copy the backup .tgz file to the proxy machines.
2. To restore the proxy, run the following command: backupRestore_proxy.sh
-restore -file <backup_file> where <backup_file> is the .tgz absolute file path
on local obtained by the backup command. For example, >
/root/backupRestore_proxy.sh -restore -file /root/backup/
proxy_backup_1373616171.tgz.
Getting started
Learn how to get started with Virtual Image Library.
To start and stop Virtual Image Library, you can use the following commands:
/home/library/il.sh start
/home/library/il.sh stop
The Virtual Image Library interface is a web-based user interface and can be
accessed with a web browser by entering https://vil_hostname:9443/
ImageLibraryUI/ where vil_hostname is the fully qualified domain name of the
Virtual Image Library server.
You can also access the Virtual Image Library interface from the SmartCloud
Orchestrator user interface by clicking Images & Patterns > Virtual Image Library
in the menu bar.
Before you use the Virtual Image Library interface, ensure that you meet the
requirements that are listed in Accessing SmartCloud Orchestrator user interfaces
on page 135.
Ensure that the correct image library roles are assigned to the user ID that you are
using depending on the Virtual Image Library tasks that you want to perform. For
information about Virtual Image Library roles, see User roles and requirements
on page 312.
Before performing management operations on virtual images and deployed virtual
machines, define the operational repositories to the Virtual Image Library
environment. For more information about defining operational repositories, see
Adding an operational repository on page 314.
Chapter 5. Managing virtual images 311
User roles and requirements
For image management tasks in the Virtual Image Library, ensure that you have
the required knowledge and access rights for your role.
Table 28. User roles
Role Description Skills
Operator The operational role for day-to-day
activities such as indexing and
analytics. An operator can perform
tasks such as searching and
comparing images, finding similar
images, and listing products and
files.
Knowledge of the operational Virtual
Image Library environment
Configuration Librarian The role for maintaining the image
catalog. In addition to operator tasks,
the configuration librarian can
perform tasks such as adding
operational repositories, checking in
and out images, importing local
images, and deleting images from the
reference repository.
v Knowledge of the Virtual Image
Library environment
v Knowledge of the virtualization
technologies
Administrator A super user role to access all the
Virtual Image Library capabilities.
Knowledge of the Virtual Image
Library environment and
configuration
Note: User names with non-ASCII characters are not supported in the Virtual
Image Library environment.
If you installed SmartCloud Orchestrator, Virtual Image Library is automatically
configured to use OpenLDAP to manage users and roles.
If you manually installed Virtual Image Library and you did not specify to use an
LDAP server during the installation procedure, to configure Virtual Image Library
to use an LDAP server to manage users and roles, complete the following steps.
1. Specify the LDAP server properties in the external LDAP configuration section
in the install_vil.config file. This file is contained in the Virtual Image
Library installation package.
The parameters in the external LDAP configuration section in the
install_vil.config file contains the default values to configure Virtual Image
Library to use the default OpenLDAP server that is installed in the SmartCloud
Orchestrator environment.
Note: Before you change the install_vil.config file, back up this file to save
the default values that you need if you want to configure Virtual Image Library
to use the default OpenLDAP server again.
If you are using this LDAP server, you must specify the value of the following
parameters:
LDAPHostName
Specify the host name of the LDAP server.
LDAPPrimaryAdminId
Specify a user that is already defined on the LDAP server and that you
use as Virtual Image Library administrator.
312 IBM SmartCloud Orchestrator 2.3: User's Guide
LDAPServerId
Specify the same value that you specified for the LDAPPrimaryAdminId
parameter.
LDAPPassword
Specify the password of the user you specified for the
LDAPPrimaryAdminId parameter.
If you want to use an LDAP server other than OpenLDAP, you must specify
the value of the other parameters according to your LDAP server configuration.
For information about the value of these parameters, see your LDAP
administrator.
2. Run the following commands:
cd /opt/IBM/WebSphere/AppServer/profiles/imageLibraryProfile/bin
./wsadmin.sh -user vil_admin_name -password vil_admin_password
-f ChangeSecurityProperties.jacl install_vil_config_file
where
v vil_admin_name and vil_admin_password are the credentials of the Virtual
Image Library administrator you specified during the installation procedure.
v install_vil_config_file is the full path to the install_vil.config file
where you specified the LDAP server properties.
3. If the wsadmin.sh command completes successfully, restart Virtual Image
Library by issuing the following commands:
/home/library/il.sh stop vil_admin_name vil_admin_password
/home/library/il.sh start vil_admin_name vil_admin_password
where vil_admin_name and vil_admin_password are the credentials of the
Virtual Image Library administrator you specified during the installation
procedure.
4. Assign the Virtual Image Library Administrator role to the user you specified
in the LDAPPrimaryAdminId parameter by following the procedure that is
described in Assigning a role to a user. After assigning the Administrator
role, you can use the credentials of this user to start and stop Virtual Image
Library and to log on to the user interface.
Assigning a role to a user:
Assign roles to a user, or to a group of users, to allow them to perform image
management tasks.
About this task
To assign a role to a user, or to a group of users, complete the following steps:
Procedure
1. Log on to the WebSphere Integrated Solutions Console with a web browser by
entering https://vil_hostname:9043/ibm/console, where vil_hostname is the
fully qualified domain name of the Virtual Image Library server. To log on,
specify the credentials of a Virtual Image Library administrator.
2. In the left pane, click Applications > Application Types > WebSphere
enterprise applications.
3. In the Enterprise Applications pane, click ImageManager.
4. In the Detail Properties section, click Security role to user/group mapping.
Chapter 5. Managing virtual images 313
5. In the role table, select one of the Virtual Image Library roles and click Map
Users.
6. Search for the users or the groups that you want to map and move them from
the Available to the Selected list. Click OK to confirm your changes.
7. In the Security role to user/group mapping, click OK.
8. Click Save to save the changes to the master configuration.
For more information about managing users and roles from the WebSphere
Integrated Solutions Console, see the WebSphere Application Server
documentation.
Adding an operational repository
Add an operational repository to Virtual Image Library to work with the virtual
images and the deployed virtual machines contained in the repository.
Before you begin
To add an operational repository, you must have the Configuration Librarian or
the Administrator role. See User roles and requirements on page 312 for more
information about Virtual Image Library roles.
If a firewall is installed between the Virtual Image Library server and the
hypervisor manager containing the repository you want to add, ensure that the
Virtual Image Library server is correctly authenticated to the firewall.
About this task
To add an operational repository, perform the following steps.
Note: When you create a cloud in OpenStack using the command
nova-cloud-create, the cloud and all the related resources are automatically added
to the Virtual Image Library Operational Repositories tree.
The list of the virtual images related to an operational repository contained in the
cloud group is synchronized with the SmartCloud Orchestrator image catalog
related to the cloud group.
Procedure
1. In the Images tab, click . The Add Operational Repositories dialog is
displayed.
2. Optionally, specify a name and a description for the hypervisor manager.
3. In the Hypervisor Manager Type list, select one of the following types:
v VMware Virtual Center
v OpenStack
v VMControl
4. Specify the parameters needed to connect to the hypervisor manager containing
the repository.
If you selected VMware Virtual Center or VMControl as hypervisor manager
type, specify:
v The host name or the IP address of the VMware vCenter server or
VMControl
314 IBM SmartCloud Orchestrator 2.3: User's Guide
v A user that is part of the Administrators group on the VMware vCenter
server or VMControl
v The user password
Note: User names containing non-ASCII characters are not supported in the
Virtual Image Library environment.
If you selected OpenStack as hypervisor manager type, specify:
v The Keystone server host name or IP address
v An OpenStack administrator
v The administrator password
Note: You can register domain users by entering <user_name>.<domain_name>
into the user name field of the domain registration panel. For example, for a
user called ibm_user in the ibm.com domain, enter ibm_user.ibm.com as the user
name.
5. Click OK.
You can track the status of the task you submitted in the task pane displayed in
the lower part of the window. In addition to the overall process task, the
following tasks are submitted:
v Discovering of all the virtual images and deployed virtual machines
v Basic indexing of all the virtual images
Note: To perform image management operations, including the automatic
indexing that starts when you add an operational repository, the host name or
IP address of the VMware vCenter server, VMControl, or of the Glance service
must be specified in the proxy configuration files.
Results
The operational repositories belonging to the hypervisor manager that you
specified are now displayed in the Operational Repositories tree.
When adding an operational repository, the virtual images contained in the
repository are automatically basic indexed but the deployed virtual machines are
not automatically indexed.
By default, the information related to the Virtual Image Library resources is
refreshed every two minutes. This information includes updates about add, modify,
and remove operations related to all the resources managed by the hypervisor
manager you specified.
You can change the refresh interval by specifying a new value for the
DomainPollingInterval parameter (in milliseconds) in the installedApps/
cell_name/ImageManager.ear/ImageManagerWeb.war/WEB-INF/web.xml file. Restart
Virtual Image Library to make effective your change by issuing the following
commands:
/home/library/il.sh stop
/home/library/il.sh start
Note: When an image is deleted on the repository, you still see the deleted image
in the Virtual Image Library views until the information related to the image is
refreshed. If you try to perform any operation on the deleted image, an error
message is displayed.
Chapter 5. Managing virtual images 315
Note: If you select Operational Repositories in the resource tree, the number of
the registered hypervisor managers is displayed in the Repositories field. If you
select an hypervisor manager or a location in the resource tree, the number of the
related operational repositories is displayed in the Repositories field.
Changing server access credentials:
If you change the credentials (user name or password) to access the hypervisor
manager, you must also update this information in the Virtual Image Library
database.
About this task
To change the hypervisor manager access credentials in the Virtual Image Library
database, perform the following steps:
Procedure
1. Select the hypervisor manager in the Operational Repositories tree.
2. Click Actions > Change Credentials. The Change Server Credentials dialog is
displayed.
3. Enter the values for the current and new password, and, optionally, for the
current and new user to access the hypervisor manager.
4. Click OK.
Results
The access credentials are updated with the new values you specified.
Note: If you change the user ID to access the hypervisor manager, ensure that the
new user ID can access the same images as the previous user ID. Because the
repository is not added again, even if the new user ID can access more images
than the previous user, the information related to those additional images is not
available in the Virtual Image Library environment. Also, if the new user ID can
access fewer images than the previous user, you get an error when trying to
perform any operation on an image that is no longer accessible.
Removing an operational repository:
Remove an operational repository if you no longer need to manage the related
virtual images or deployed virtual machines.
Before you begin
To remove an operational repository, you must have the following requirements:
v Configuration Librarian or the Administrator role. See User roles and
requirements on page 312 for more information about Virtual Image Library
roles.
v owner access to the related hypervisor manager. See Managing the resource
access control list on page 319 for more information about resource access
permissions.
About this task
To remove an operational repository from the Virtual Image Library resource tree,
perform the following steps:
316 IBM SmartCloud Orchestrator 2.3: User's Guide
Procedure
1. Select the hypervisor manager in the Operational Repositories tree.
2. Click on the toolbar.
Note: In Virtual Image Library, you cannot remove an operational repository
related to a cloud created in OpenStack.
3. Click OK.
Results
The hypervisor manager and all the repositories it contains are removed from the
resource tree. All information about the images contained in the repositories you
are removing is deleted from the Virtual Image Library database.
Indexing an image
Analyze the content of the virtual images and the deployed virtual machines
contained in an operational repository to store the related information in the
Virtual Image Library database.
About this task
The basic indexing operation collects and stores information about the operating
system and the software products running on the virtual image or on the deployed
virtual machine.
In addition to what the basic indexing operation does, the full indexing operation
analyzes every file and directory in the virtual image or machine and stores the
related information in the image library database.
An image is automatically full indexed when it is imported or copied to the
reference repository.
When you add an operational repository, the virtual images contained in the
repository are automatically basic indexed.
To index a virtual image or a deployed virtual machine, perform the following
steps:
Note: Indexing of Openstack VMs is supported on VMware Regions only. Images
and VMs from VMControl regions cannot be indexed.
Procedure
1. In the Images tab, navigate to the operational repository containing the virtual
image or machine to index.
2. In the repository view, click the Virtual Images or the Deployed VMs tab.
3. Select the virtual image or machine that you want to index.
Alternatively, click the name of the virtual image or machine. The related view
is displayed in a tab. From this view you can perform the same action.
Note: Before indexing a deployed virtual machine, ensure that the virtual
machine is powered off.
Chapter 5. Managing virtual images 317
4. Click Actions > Start Full Indexing or Actions > Start Basic Indexing. You
must index the virtual images and machines that you want to compare and the
virtual images and machines for which you want to find similar images or
machines.
You can track the status of the task you submitted in the task pane displayed in
the lower part of the window.
Results
The information related to the virtual image or machine is now stored in the
Virtual Image Library database.
Enabling the Keystone user registry
You can enable the Keystone user registry in Virtual Image Library.
To enable the Keystone user registry, run the following command:
/home/library/enableKeystoneRegistry.sh -u <vilAdminName> -p <vilAdminPassword> -e <true|false>
-k <protocol:keystoneURL:port> -ku <admin_user> -kp <admin_password> -kt <admin_tenant>
where
-u <vilAdminName>
Specifies the Virtual Image Library administrator ID to be used during the
installation.
-p <vilAdminPassword>
Specifies the Virtual Image Library administrator password.
-e <true|false>
True to enable registry. False to disable registry.
-k <protocol:keystoneURL:port>
Specifies the Keystone service base URL.
-ku <admin_user>
Specifies the Keystone administrative user.
-kp <admin_password>
Specifies the password for Keystone administrative user.
-kt <admin_tenant>
Specifies the Keystone administrative tenant password.
Then from the Virtual Image Library user interface, run the action Synchronize
User and Group List twice. The first time the task goes into a cancelled state at
20% as the application is restarted. The second time, it completes successfully.
Managing Virtual Image Library
Learn how to perform tasks to manage your virtual images and deployed virtual
machines in Virtual Image Library.
318 IBM SmartCloud Orchestrator 2.3: User's Guide
Managing the resource access control list
Allow access to an image or any other Virtual Image Library resource only to users
or to groups of users that actually need to perform operations on the specific
resource.
About this task
In Virtual Image Library, an access control list is associated to each resource so
users or group of users can perform operations on the resource.
To modify the access control list related to a Virtual Image Library resource,
perform the following steps:
Procedure
1. In the Images tab, click a resource in the All Resources tree.
2. In the Summary tab related to the selected resource, you can see the resource
access control list in the Access granted to section. The type of granted access
is specified on the right of each user or group in the list and it can be one of
the following:
user The user or any user in the group can perform any action allowed by
the associated role on the resource.
owner The user or any user in the group can modify the resource access
control list in addition to perform any action allowed by the associated
role on the resource.
For additional information about user roles, see User roles and requirements
on page 312.
When an operational repository is added to Virtual Image Library, the owner
access to the repository and to all the related resources is granted to the user
who added the repository. The user access to the repository and to all the
related resources is granted to the Everyone group.
Note: If you upgraded Virtual Image Library from the previous version, the
owner access to all the repositories that were added before upgrading and to
all the related resources is granted to the Everyone group.
3. To modify the access type for a user or a group, click the access type on the
right of the user or group name. If the access type is user, it is changed to
owner, and vice versa.
Note: When you modify the access type to the selected resource for a user or a
group, the change is applied to all the nested resources in the resources tree.
For example, if you modify the access type to a repository, the same change is
applied to all the virtual images and the deployed virtual machines contained
in the repository.
4. To add a user or a group to the access control list, type the user or group name
in the Search field and select it in the displayed list.
The list contains all the users and groups available in the Virtual Image Library
environment and is periodically refreshed. If you want to refresh the list
immediately, click Actions > Synchronize User and Group List on the resource
tree toolbar in the Images tab.
Note: If you recently assigned a Virtual Image Library role to a group, the
group name might be displayed twice in the list of the available users and
Chapter 5. Managing virtual images 319
groups. To correct the list, click Actions > Synchronize User and Group List
on the resource tree toolbar in the Images tab.
The user or group is added to the access control list with user access.
Note: When you add a user or a group to the access control list of the selected
resource, the user or group is also added to the access control list of all the
nested resources and of all the resources from the parent resource to the related
root resource. In the reference repository the access control list is only related to
virtual images. For example, if you add a user to the access control list of a
repository, the user is added also to the access control list of the following
resources:
v All the virtual images and the deployed virtual machines contained in the
repository
v The parent location
v The related hypervisor manager
5. To remove a user or a group from the access control list, click remove on the
right of the user or group name. You cannot remove all the users or groups
from the access control list.
Note: When you remove a user or a group from the access control list of the
selected resource, the user or group is also removed from the access control list
of all the nested resources in the resources tree. For example if you remove a
user from the access control list of a repository, the user is also removed from
the access control list of all the virtual images and the deployed virtual
machines contained in the repository.
Results
The resource access control list has been modified.
Copying an image to the reference repository
Check in a virtual image or a deployed virtual machine from an operational
repository to the reference repository to locally store a copy of your image or
machine or to replicate it to another operational repository.
About this task
To copy a virtual image or a deployed virtual machine from an operational
repository to the reference repository, perform the following steps:
Procedure
1. In the Images tab, navigate to the operational repository that contains the
virtual image or machine to copy.
2. In the repository view, click Virtual Images or Deployed VMs.
3. Select the virtual image or machine that you want to copy.
Alternatively, click the name of the virtual image or machine. The related view
is displayed in a tab. From this view you can perform the same action.
Note: If you select a deployed virtual machine in a VMware or VMControl
repository, ensure that the virtual machine is powered off before checking in
the image.
320 IBM SmartCloud Orchestrator 2.3: User's Guide
4. Click . The Check in Virtual Image or the Check in Deployed VM dialog
is displayed.
5. Enter a name to identify the image in the reference repository. You can also
enter an image description and comments.
6. Specify the version chain to which the image will be connected. You can start a
new version chain or connect the image to an existing chain. By default the
image is connected to a specific version chain depending on the image
relationship, if it exists, with the other images already stored in the reference
repository. For more information about the version chain, see Tracking image
version and provenance on page 323.
7. Click OK.
You can track the status of the task you submitted in the task pane displayed in
the lower part of the window. In addition to the checking-in task, a task to full
index the image is also submitted.
Results
The image is now in the reference repository and it is full indexed. The image is
also added to the specified version chain and a version number is assigned to it.
Importing an image
Import a local virtual image into the reference repository to perform image
management operations on the imported image.
Before you begin
If you are running a version of Virtual Image Library prior to version 2.1, before
importing an OVA image, ensure that you correctly set the WebSphere Application
Server class loader policy, as described in Configuring WebSphere Application
Server on page 337. In versions 2.1 and higher, this configuration is set by default.
About this task
To import a local virtual image, perform the following steps:
Procedure
1. In the Images tab, navigate to the Reference Repository.
2. In the reference repository view, click Virtual Images.
3. Click Actions > Import Image in the action toolbar. The Import Image to the
Reference Repository dialog is displayed.
4. Select the file name of the virtual image you want to import. The following
types of image file are supported:
v .raw
v .vmdk
v .ova (only contains disk files of one of the previously listed supported types)
By default, the virtual image files must be stored in the /home/library/imlib/
import directory in the Virtual Image Library server. You can change this value
by setting the import.directory parameter in the /etc/imageLibrary/
library.properties file in the Virtual Image Library server.
Note: To import a vmdk virtual image, the following files must be stored in the
import directory:
Chapter 5. Managing virtual images 321
v virtual_image_filename.vmdk
v virtual_image_filename-flat.vmdk
where virtual_image_filename is the name of the virtual image file that you want
to import.
5. Enter a name to identify the image in the reference repository. You can also
enter an image description and comments.
6. Click OK.
You can track the status of the task you submitted in the task pane displayed in
the lower part of the window. In addition to the importing task, a task to full
index the image is also submitted.
Results
The virtual image is now in the reference repository and is full indexed. The image
is also added to a version chain that has the same name as the image and a
version number is assigned to it.
Copying an image from the reference repository
Copy a virtual image from the reference repository to an operational repository to
manage the image in different repositories or in different virtualization
technologies.
Before you begin
To modify the default check out time in Virtual Image Library, see Modifying the
default check out settings on page 337.
Note: A user in a non-default domain cannot copy an imported image from the
reference repository to an operational repository. Because images imported by
users in a non-default domain are not visible to users in the default domain, you
must guarantee the access to the image to a user in the default domain before you
can copy it from the reference repository.
About this task
Note: If you move a Linux image from KVM to VMware or vice versa, the final
image might have problems starting, if, in /etc/fstab, it is using:
v /dev/sda1 for VMware
v /dev/vda1 for KVM
For Linux images that are internally using a disk name in /etc/fstab, moving
these images from KVM to VMware or vice versa, the disk name changes from
/dev/vda1 to /dev/sda1 and vice versa. To avoid complications, modify the images
before migrating them or modify the fstab file after migration.
To copy a virtual image from the reference repository to an operational repository,
perform the following steps:
Procedure
1. In the reference repository view, click the Virtual Images tab and select the
image you want to copy. Make sure that the image indexing is completed by
checking the Indexing State column, before proceeding to the next step.
2. Click . The Check out Virtual Image dialog is displayed.
322 IBM SmartCloud Orchestrator 2.3: User's Guide
3. Specify a name for the image in the target operational repository.
4. Select the hypervisor manager, the location, and the operational repository
where you want to copy the image. You can also enter an image description
and comments. Select the target image format for OpenStack images. Your
options are RAW, VHD ,VMDK, VDI, QCOW2, ISO, AKI, ARI, and AMI. For
VMware, the only target image format is VMDK.
5. Click OK.
You can track the status of the task you submitted in the task pane displayed in
the lower part of the window.
Results
The virtual image is now copied to the operational repository you specified.
In the version chain, a new branch is created for the virtual image that was copied
and a version number is assigned to the image to identify it with this branch.
Removing an image from the reference repository
Remove a virtual image from the reference repository.
About this task
If you delete an image, it is removed from both Virtual Image Library and on the
disk, freeing up disk space. You can also enable secure delete, which means that
before removing the image from the disk, the file is filled by empty spaces.
Note: An image in the reference repository is stored on the filesystem of one or
more of the connected proxies. If a proxy is unavailable when the image is
removed, the remove task completes successfully but the disk space on the
unavailable proxy file system is not freed until the proxy is started.
To remove a virtual image from the reference repository, add a property to
following file: /opt/p2pdiff/TransferClient/GlobalTracker.properties. The
property to add is:
secureDelete=true
Results
The virtual image is now removed from the reference repository.
Tracking image version and provenance
Check how the virtual image or deployed virtual machine was created and its
relationship with the other images and machines in the repository.
About this task
To track the versions and the provenance of a virtual image or machine, perform
the following steps:
Procedure
1. In the Images tab, navigate to the repository containing the virtual image or
machine to track.
2. In the repository view, click Virtual Images or Deployed VMs.
Chapter 5. Managing virtual images 323
3. Click the image or machine that you want to track. The image or machine view
is displayed in the related tab.
4. Click Version.
Results
If you selected an image in the reference repository, you see the Version Chain
pane and the Family Tree pane. If you selected a virtual image or machine in an
operational repository, you see only the Family Tree pane.
In the Version Chain pane, you see a graphical representation of the relationship
among the different versions of the image depending on the criteria used when the
image is checked in or imported into the reference repository.
The version numbers that are assigned to the virtual images in the reference
repository are of the form 1.x where x is a number that increases every time a
virtual image is added to the version chain. When a virtual image is checked out
from the reference repository, a branch is created and a version of the form 1.x.y is
assigned to the checked-out virtual image, where 1.x is the version number of the
virtual image in the reference repository, and y is a number representing the
branch that is increased by 1 for each new branch.
For example, the first time that the image with version number 1.8 is checked out
from the reference repository, version number 1.8.1 is assigned to the checked-out
image. The second time that the image with version number 1.8 is checked out
from the reference repository, version number 1.8.2 is assigned to the checked-out
image.
When a checked-out image is used to create a deployed virtual machine, a version
number of the form 1.x.y.z is assigned to the deployed virtual machine, where 1.x.y
is the version number of the checked-out image, and z uniquely identifies the
deployed virtual machine.
For example, the first time that the checked-out image with version number 1.8.2 is
used to deploy a virtual machine, the version number 1.8.2.1 is assigned to the
deployed virtual machine. In this way you can track both the virtual images and
the deployed virtual machines back to the specific image in the reference
repository that was used to create them.
You can decide the version chain to which the image is assigned during the
check-in operation. For more information about checking in an image, see
Copying an image to the reference repository on page 320.
You can also modify the version chains by moving the images to different version
chains, as described in Moving an image to a different version chain on page
325.
In the Version Chain pane, you can edit the version chain name, description, and
comments by clicking .
In the Family Tree pane, you see a graphical representation of the relationship
between the selected virtual images or machines and the other images or machines.
Relationships are established when an image is copied to create a new image,
checked in or checked out from the reference repository, and when the image is
used to deploy a virtual machine.
324 IBM SmartCloud Orchestrator 2.3: User's Guide
In the tree, the following icons are shown:
represents a virtual image in the reference repository
represents a virtual image in an operational repository
represents a deployed virtual machine
represents a virtual image or a deployed virtual machine that has been
deleted
If you click a virtual image or machine icon in the tree, the related image or
machine view is opened in a new tab and the related summary information is
displayed.
Moving an image to a different version chain:
Move a virtual image and all related child images to a new or different existing
version chain to better track the version history of your images depending on your
specific image management needs.
About this task
To move a virtual image to a different version chain, perform the following steps.
Note: You cannot move a virtual image to a different version chain while the
image is being indexed.
Procedure
1. Follow the procedure described in Tracking image version and provenance
on page 323 to display the Version Chain pane.
2. Click . The Move Reference Image dialog is displayed.
3. Specify if you want to start a new version chain by using the selected image as
the starting point or if you want to connect the selected image to a different
version chain.
4. Depending on your choice in the previous step, specify a name for the new
version chain or select an existing version chain in the list.
5. Click OK.
Results
The selected virtual image and all the related child images are moved to the
specified version chain. You can edit the version chain name, description, and
comments by clicking in the Version Chain pane.
Chapter 5. Managing virtual images 325
Searching for images
Search for a virtual image or a deployed virtual machine by specifying attributes
such as operating system or installed software.
About this task
To search for a virtual image or a deployed virtual machine, perform the following
steps.
Note: Searching for images by software products cannot be performed on SUSE
Linux images because Virtual Image Library cannot correctly detect the list of the
software installed on SUSE Linux images.
Procedure
1. In the Images tab, select an item in the resource tree as the scope of the search
operation. If you want to search in the entire resource tree, select All
Resources.
2. Click . A new Search tab opens.
3. Specify if you want to search only for virtual images, only for deployed virtual
machines, or for both of them. You can specify search criteria such as name,
description, guest OS, software products installed on the image or machine, or
the last modified time. Search fields takes regular expressions as input.
Note: To search for virtual images or machines using the installed software
products or patches as search criteria, the images or machines must be basic
indexed. For more information about indexing, see Indexing an image on
page 317.
4. Click Search.
Results
The search result is displayed in the Image Search Results pane. In this pane you
can select a virtual image or a deployed virtual machine in the related tab and
perform management actions on the image or machine that you selected.
Note: If you upgraded Virtual Image Library from version 1.2 and you specified
by software products as search criteria, the search result might not be correct if the
selected products had already been added to the Virtual Image Library 1.2
database.
Comparing images
Compare two virtual images or deployed virtual machines to find any differences
in files and products that they have installed.
About this task
To compare two virtual images or deployed virtual machines, perform the
following steps.
Note: Comparing images by products cannot be performed on SUSE Linux images
because Virtual Image Library cannot correctly detect the list of the software
installed on SUSE Linux images.
326 IBM SmartCloud Orchestrator 2.3: User's Guide
Procedure
1. In the Images tab, navigate to the repository containing the virtual image or
machine to compare.
2. In the repository view, click Virtual Images or Deployed VMs.
3. Select the first virtual image or machine to compare and click . The name
of the virtual image or machine is displayed in an information message in the
upper part of the window.
Note: You can compare only virtual images or machines that are indexed. If the
images or machines are basic indexed, you can compare them by software
products. If the images or machines are full indexed, you can compare them
also by files. For more information about indexing, see Indexing an image on
page 317.
4. Select the second virtual image or machine to compare by following the steps
from 1 to 3. The comparison tab opens.
5. In the comparison tab, select Products or Files and click Compare to see the
comparison result by products or files.
Results
In the comparison tab, you can view the list of differences in files, if the images are
full indexed, and products between the two selected virtual images or deployed
virtual machines.
Finding similar images
Find the percentage of similarity of a virtual image or a deployed virtual machine,
in terms of installed software and files, compared to the other images and
machines in your registered repositories.
About this task
To find similar virtual images or deployed virtual machines, perform the following
steps.
Note: Finding similar images by products cannot be performed on SUSE Linux
images because Virtual Image Library cannot correctly detect the list of the
software installed on SUSE Linux images.
Procedure
1. In the Images tab, navigate to the repository containing the virtual image or
machine for which you want to find similar images or machines.
2. In the repository view, click Virtual Images or Deployed VMs.
3. Select the virtual image or machine for which you want to find similar images
or machines.
Alternatively, click the name of the virtual image or machine. The related view
is displayed in a tab. From this view you can perform the same action.
Note: Only virtual images and machines that are indexed can be searched for
similarity. If the virtual images or machines are basic indexed, you can search
only images and machines similar for software products. If the virtual images
or machines are full indexed, you can also search images and machines similar
for files. For more information about indexing, see Indexing an image on
page 317.
Chapter 5. Managing virtual images 327
4. Click . A new Similar tab is displayed.
5. Specify if you want to show the similar images or machines by products or by
files and click Show Similar.
Results
All the indexed virtual images and deployed virtual machines are listed ordered by
percentage of similarity.
Synchronizing repositories
When the resources shown in Virtual Image Library on federated domains are
misaligned, missing virtual images, out of sync, or deployed virtual machines, run
Synchronize Repositories from the Virtual Image Library user interface.
Using the plug-in for vSphere Client
Integrate Virtual Image Library functions in your VMware vSphere Client by using
the related plug-in.
Before you begin
To install the plug-in for vSphere Client, ensure you have the Configuration
Librarian or the Administrator role. For more information about Virtual Image
Library roles, see User roles and requirements on page 312.
About this task
After a VMware vCenter has been added to your Virtual Image Library
environment, you can install the plug-in for the vSphere Client to perform Virtual
Image Library tasks from the vSphere Client user interface.
To install the plug-in for vSphere Client, perform the following steps:
Procedure
1. In the Virtual Image Library user interface, select the VMware hypervisor
manager in the Operational Repositories tree.
2. Click Actions > Install vSphere Client Plug-in. You can track the status of the
task you submitted in the task pane displayed in the lower part of the window.
Results
The plug-in for vSphere Client is installed.
Note: Ensure that Virtual Image Library, VMware vCenter Server, and vSphere
Client are able to correctly communicate among themselves. If the machine where
VMware vCenter Server is running has more than one NIC, ensure that VMware
vCenter Server uses the same NIC to communicate with both the vSphere Client
and Virtual Image Library. In addition to this, ensure that the machine where
vSphere Client is running is able to resolve the Virtual Image Library server host
name.
What to do next
You can run the following tasks from the vSphere Client user interface:
328 IBM SmartCloud Orchestrator 2.3: User's Guide
Launching the Virtual Image Library user interface
In the Home page, double-click the IBM Virtual Image Library icon in the
Solutions and Application section, to launch the Virtual Image Library user
interface inside the vSphere Client.
Copying a virtual machine or a template to the Virtual Image Library reference
repository
In the Inventory tree, right-click a virtual machine or a template and click
IBM Virtual Image Library > Copy to Reference Repository in the menu.
The virtual machine or template is copied to the reference repository as a
virtual image with the same name. You can track the status of the task you
submitted in the task pane displayed in the lower part of the window.
Indexing a virtual machine or a template
In the Inventory tree, right-click a virtual machine or a template and click
IBM Virtual Image Library > Start Basic Indexing or IBM Virtual Image
Library > Start Full Indexing in the menu. You can track the status of the
task you submitted in the task pane displayed in the lower part of the
window.
Note: Before indexing a virtual machine, ensure that it is powered off.
For more information about indexing, see Indexing an image on page
317.
Viewing the virtual machine or template details
In the Inventory tree, select a virtual machine or a template, and then click
the IBM Virtual Image Library Details tab to see the related deployed
virtual machine or virtual image view in Virtual Image Library.
Viewing the Virtual Image Library reference repository
In the Inventory tree, select a host, a datacenter, or a folder, and then click
the IBM Virtual Image Library Reference Repository tab to see the
reference repository view in Virtual Image Library. From this view, you can
also perform all the actions related to the reference repository.
Note: To launch the Virtual Image Library user interface and perform any Virtual
Image Library task, the credentials you used to log in to the vSphere Client must
be valid credentials in the Virtual Image Library environment. In addition to this,
you must have the required Virtual Image Library role to perform the specific task.
Note: vSphere Client uses the Internet Explorer browser to launch the Virtual
Image Library user interface. Ensure that you installed a supported version of
Internet Explorer as described in Accessing SmartCloud Orchestrator user
interfaces on page 135.
To uninstall the plug-in for vSphere Client, perform the following steps:
1. In the Virtual Image Library user interface, select the VMware hypervisor
manager in the Operational Repositories tree.
2. Click Actions > Uninstall vSphere Client Plug-in. You can track the status of
the task you submitted in the task pane displayed in the lower part of the
window.
3. When the uninstall task is completed, restart vSphere Client.
Chapter 5. Managing virtual images 329
Troubleshooting
Get troubleshooting guidance and information about known problems and
limitations.
If you encounter a problem with the Virtual Image Library component, perform
the following steps:
1. Ensure that the WebSphere application server is running. Check if there are any
errors in the /opt/IBM/WebSphere/AppServer/profiles/imageLibraryProfile/
logs/imageLibraryServer/SystemOut.log log file.
2. Ensure that HBase is correctly working by checking if there are any errors in
the log files in the /opt/hbase/logs directory.
3. Try to stop and restart the Virtual Image Library-related processes by running
the following commands:
/home/library/il.sh stop
/home/library/il.sh start
4. Review the other log files listed in Log files.
5. Review the known problems and limitations listed in Known problems and
limitations on page 333.
If you cannot find the cause of the problem, look for help on the IBM Support
website (http://www.ibm.com/support).
Log files
Review the following log files to recover from problems that you might encounter
when working with the Virtual Image Library component.
Note: To change the default values for log roll back, see the WebSphere
Application Server documentation at http://pic.dhe.ibm.com/infocenter/wasinfo/
v8r0/index.jsp.
v /opt/IBM/WebSphere/AppServer/profiles/imageLibraryProfile/logs/
imageLibraryServer/SystemOut.log
This is the main Virtual Image Library log file. Check this file for any
information about the product status and for any occurring error. To change the
logging options of the SystemOut.log file, perform the following steps:
1. Log on to the WebSphere Integrated Solutions Console with a web browser
by entering https://vil_hostname:9043/ibm/console, where vil_hostname is
the fully qualified domain name of the Virtual Image Library server. To log
on, specify the credentials of a Virtual Image Library administrator.
2. In the left pane, click Troubleshooting > Logs and trace.
3. In the Logging and tracing pane, click imageLibraryServer.
4. In the General Properties section, click JVM Logs.
5. In the General Properties section, specify the settings for the log file rotation
and the number of historical log files you want to store.
6. Click OK.
7. Click Save to save the changes to the master configuration.
8. To apply the changes, restart Virtual Image Library by issuing the following
commands:
/home/library/il.sh stop vil_admin_name vil_admin_password
/home/library/il.sh start vil_admin_name vil_admin_password
330 IBM SmartCloud Orchestrator 2.3: User's Guide
where vil_admin_name and vil_admin_password are the credentials of the
Virtual Image Library administrator you specified during the installation
procedure.
For more information about setting the logging options from the WebSphere
Integrated Solutions Console, see the WebSphere Application Server
documentation.
v /home/library/rbagent.log
/home/library/rbagent.trc
These are the log files for the rbagent component. Check these files in addition
to the SystemOut.log file for problems about operations related to the compare
images. To change the logging options of the rbagent.log and rbagent.trc files,
specify the following parameters in the /etc/imageLibrary/library.properties
file:
rbagent.logfilesize
Specifies the size (in MB) of each log file. The default value is 2.
rbagent.logfilenumber
Specifies the number of the rbagent.log files and the number of the
rbagent.trc files that are stored at run time. The default value is 3.
To apply the changes, restart Virtual Image Library by issuing the following
commands:
/home/library/il.sh stop vil_admin_name vil_admin_password
/home/library/il.sh start vil_admin_name vil_admin_password
where vil_admin_name and vil_admin_password are the credentials of the Virtual
Image Library administrator you specified during the installation procedure.
v /opt/hbase/logs
This is the log file of the HBase database used by Virtual Image Library to store
information about resources.
v /opt/origami/logs/origami.log
This is the log file for the origami component. For problems with image
management operations on the reference repository, check the log file on the
Virtual Image Library server. For problems related to image management to or
from an operational repository, for example, check in, check out, or indexing,
check the log file on the proxy that manages that hypervisor manager.
v On the Virtual Image Library server: /opt/p2pdiff/TransferClient/
globaltracker.out
If there is a check in, check out, or import to the reference repository, the error
depends on the p2pdiff.
v On the remote proxy: /opt/p2pdiff/TransferClient/agent.out
If there is a check in, check out, or import to the reference repository, the error
depends on the p2pdiff.
Chapter 5. Managing virtual images 331
Changing the time zone
If you are in the need of changing the time zone on the system where Virtual
Image Library runs, follow this procedure.
Procedure
1. Stop the Virtual Image Library service:
# service vil stop
2. Check the current time zone:
# date
You see something like this:
mar nov 13 14:53:56 CET 2012
where CET stands for Central European Time.
3. To change the time zone, check to see which time zones are available by
running the following command on the command-line interface:
# ls /usr/share/zoneinfo/
You see something like this:
[root@server ~]# ls /usr/share/zoneinfo/
Africa Asia Canada Cuba EST Factory GMT0 Hongkong Iran
Japan Mexico Navajo Poland PRC ROK Universal W-SU
America Atlantic CET EET EST5EDT GB GMT-0 HST iso3166.tab
Kwajalein Mideast NZ Portugal PST8PDT Singapore US zone.tab
Antarctica Australia Chile Egypt Etc GB-Eire GMT+0 Iceland Israel
Libya MST NZ-CHAT posix right Turkey UTC Zulu
Arctic Brazil CST6CDT Eire Europe GMT Greenwich Indian Jamaica
MET MST7MDT Pacific posixrules ROC UCT WET
4. Delete the current time zone:
rm /etc/localtime
5. Create a symbolic link to the new time zone file:
# ln s /usr/share/zoneinfo/America/New_York/etc/localtime
Synchronize the system clock to a Network Time Protocol (NTP) server. NTP is
a standard way of synchronizing computer clocks across a network. Using NTP
you can keep your servers clock synchronized with accurate atomic clocks
located around the world. Computer clocks tend to slowly become inaccurate,
so synchronize them regularly with NTP servers.
6. Synchronize to the NTP server:
# ntpdate <ntp server ip see ntp.conf>
7. Save your current time to your hardware clock:
# hwclock --systohc
or:
#hwclock --systohc utc
8. Start the Virtual Image Library service:
# service vil stop
332 IBM SmartCloud Orchestrator 2.3: User's Guide
Known problems and limitations
Review the following known problems and limitations you can encounter when
using the Virtual Image Library component.
Limitations:
Review the following list of limitations of the Virtual Image Library component.
v Only one Virtual Image Library can be installed and connected to your
SmartCloud Orchestrator environment.
v A Linux dpkg item in an image is not recorded as installed software for the
image in Virtual Image Library, because the dpkg format is not supported by the
indexing procedure.
v When an ESXi hypervisor is disconnected from the vCenter, all the virtual
images managed by the server become unavailable. You cannot index
unavailable images. To index the images, set the image status to available by
reconnecting the ESX hypervisor.
v If an ESXi hypervisor is disconnected from the vCenter, the changes you make
to the virtual images or to the deployed virtual machines on the ESXi hypervisor
might not be detected by Virtual Image Library when the ESXi hypervisor is
reconnected to the vCenter.
v Virtual Image Library cannot perform analytic operations and compatibility
checks on SUSE Linux images if the related devices are referenced by ID in the
/etc/fstab file. To correctly manage a SUSE Linux image, the related devices
must be referenced by device name or UUID. Compatibility checks are not
available anymore.
v Virtual Image Library cannot index Linux images containing an empty
/etc/HOSTNAME file, because of the Red Hat bug described at
https://bugzilla.redhat.com/show_bug.cgi?id=823821.
v In the Configure Options window, the changes you make to the layout of the
tables displayed in the user interface are reset to the default value when you
restart the browser.
v If you are using a browser in languages other than English, the Filter function in
the tables displayed in the user interface might not work correctly if you are
filtering for translated terms. Use the corresponding English term to correctly
filter the table items.
v Image conversion during check out is not supported.
v During OVA import, Virtual Image Library REST API waits for the operation to
complete. If you check the log files, you might see warnings about the thread
hanging. You can disregard these warnings because Virtual Image Library
resolves them automatically.
v Virtual Image Library does not support encrypted disk images.
v On VMware virtual machines, non-administrator users cannot partition the view
of deployed virtual machines when logging into the Virtual Image Library UI.
v For VMware images, Virtual Image Library is not able to specify if an image is
associated to a VMware cluster.
v If you are using a non-IBM OpenStack, because the virtual images are not
indexed, the following limitations apply in the Virtual Images tab of the
repository view:
The indexing state is listed as Not Indexed.
The virtual image architecture is listed as Unknown.
The OS version is empty.
Chapter 5. Managing virtual images 333
Cannot check in a deployed virtual machine:
A deployed virtual machine cannot be checked into the reference repository.
Symptoms
The following error is displayed:
COPIML830E Check in operation is not supported for the image image_name because
the image status is running. Only available images can be checked in.
Causes
The problem occurs because the virtual machine that you want to check in is still
running.
Resolving the problem
Power off the virtual machine before checking it into the reference repository.
Cannot connect to the HBase database:
Virtual Image Library cannot retrieve information from the HBase database.
Symptoms
If you open a Virtual Image Library user interface, the user interface hangs after
you log in.
The following errors are displayed in the SystemOut.log log file:
COPIML604E An error occurred while trying to load the object with type <object_type>
and universally unique identifier <object_UUID>.
...
Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException:
Trying to contact region server <server_name> for region <object_type>...
...
but failed after 10 attempts.
Exceptions:
java.net.ConnectException: Connection refused
...
COPIML605E An error occurred while trying to load all objects with type <object_type>.
Causes
The problem might occur because HBase is not working or HBase was stopped
and restarted.
Resolving the problem
Restart Virtual Image Library by running the following commands:
/home/library/il.sh stop
/home/library/il.sh start
NoClassDefFoundError exception:
After installing Virtual Image Library, the user interface cannot start and the
NoClassDefFoundError exception is displayed.
Symptoms
The following errors are displayed in the SystemOut.log log file:
SRVE0283E: Exception caught while initializing context: {0}
java.lang.ExceptionInInitializerError
...
Caused by: org.apache.hadoop.hbase.TableNotFoundException: domain
334 IBM SmartCloud Orchestrator 2.3: User's Guide
Causes
The problem might occur because the HBase tables were not created during the
Virtual Image Library installation procedure. To verify that tables were created:
/opt/hbase/bin/hbase shell and in the HBase shell type list.
Resolving the problem
Create the HBase tables by performing the following steps:
1. Check that the HBase service is running by running the following command:
ps -ef | grep hbase
If it is not running, start the HBase service by running the following command:
service hbase start
2. From the directory where you unpacked the Virtual Image Library installation
package, run the following command:
./create_il_tables.sh
3. Restart Virtual Image Library by running the following commands:
/home/library/il.sh stop
/home/library/il.sh start
rbagent component does not start:
When starting Virtual Image Library, the rbagent component does not start
successfully.
Symptoms
The following error is displayed in the /home/library/rbagent.log file:
A <INF> Packages not found at path local://root/home/library/rbagent.pak
Detecting network interfaces
Error raised by init in repository.rbc, line 182 [:0]
No such file or directory (Error during Local Repository initialization)
Causes
The problem may occur because the /tmp/tpmfiTemporaryRepository directory
does not exist.
Resolving the problem
Create the tpmfiTemporaryRepository subdirectory in the /tmp directory and try to
stop and restart the Virtual Image Library-related processes by running the
following commands:
/home/library/il.sh stop
/home/library/il.sh start
Error 404 - Too many open files:
Error 404 (Too many open files) is displayed in your browser.
Symptoms
The following error is displayed in your browser:
Error 404: javax.servlet.ServletException: java.io.FileNotFoundException:
/opt/IBM/Websphere/AppServer/profiles/ImageLibraryProfile/installed-Apps/
image-libraryNode01Cell/ImageManager.ear/ImageLibraryUIWeb.war/login.html
(Too many open files)
The following error is displayed in the SystemOut.log log file:
Chapter 5. Managing virtual images 335
00000031 webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError
SRVE0293E: [Servlet Error]-[Static File wrapper]:
com.ibm.wsspi.webcontainer.ClosedConnectionException:
OutputStream encountered error during write
If you try to run the il.sh command, the following error is displayed:
/home/library/il.sh: line 198: echo: write error: No space left on device
Stopping WebSphere Application Server server: imageLibraryServer
tee: /home/library/il_stop.log: No space left on device
Causes
The problem occurs because there is no enough space available on the file system
in the machine where Virtual Image Library is running.
Resolving the problem
Free some space on the file system and restart Virtual Image Library by running
the following commands:
/home/library/il.sh stop
/home/library/il.sh start
Cannot create HBase tables:
The creation of HBase table of Virtual Image Library does not complete.
Symptoms
The creation of HBase table does not complete.
Resolving the problem
The workaround is:
1. Log in to the PXE Server.
2. Do:
cd /tmp
service hbase start
3. Check that there is a class called HBaseTableCreator in /tmp
./create_il_tables.sh.
4. To verify that tables are created:
/opt/hbase/bin/hbase shell
and in the HBase shell type list.
Disk space lower than the safe threshold value:
The threshold value of 250M of available space on the filesystem for the HBASE
database has been reached. Cannot work with Virtual Image Library anymore.
Symptoms
The HBASE service is stopped. Each request fails with the message: COPIML010E
Disk space is lower than the safe threshold value. Check your file system
and add disk space before proceeding.
Resolving the problem
Run the "df -m /opt/hbase" command. Add enough space to the related file
system and restart the Virtual Image Library service.
336 IBM SmartCloud Orchestrator 2.3: User's Guide
Configuring WebSphere Application Server:
If you want to import OVA files into the Virtual Image Library reference repository,
configure the WebSphere Application Server class loader policy.
About this task
If the image import from an OVA file fails immediately, check the configuration of
the WebSphere Application Server class loader policy. To configure the WebSphere
Application Server class loader policy, complete the following steps:
Procedure
1. Log on to the WebSphere Integrated Solutions Console with a web browser by
entering https://vil_hostname:9043/ibm/console, where vil_hostname is the
fully qualified domain name of the Virtual Image Library server. To log on,
specify the credentials of the Virtual Image Library administrator you specified
during the installation procedure (wasadmin/passw0rd by default in the
SmartCloud Orchestrator installation).
2. In the left pane, click Applications > Application Types > WebSphere
enterprise applications.
3. In the Enterprise Applications pane, click ImageManager.
4. In the Modules section, click Manage Modules.
5. In the module table, click ImageLibrary.
6. In the Class loader order list, select Classes loaded with local class loader first
(parent last).
7. Click OK to confirm your changes.
8. Click Save to save the changes to the master configuration.
9. Restart Virtual Image Library by issuing the following commands:
/home/library/il.sh stop
/home/library/il.sh start
Results
You can now import OVA files into the reference repository. For more information
about importing images, see Importing an image on page 321.
Modifying the default check out settings:
You can modify the default check out settings of Virtual Image Library.
About this task
The default check out time in Virtual Image Library is two minutes. You might
want to modify this time to extend it, for example if you want to install a tool that
takes longer than two minutes. To modify the default check out time, perform the
following steps:
Procedure
1. Edit the /etc/imageLibrary/library.properties on the Virtual Image Library
server.
2. Add the following line, for example if you want to increase the default time of
two minutes to five minutes:
Seconds.between.start.and.stop.vmware.image=300
Chapter 5. Managing virtual images 337
where 300 is the amount of seconds you want the check out time to be.
3. Restart Virtual Image Library.
Image checkout fails:
Image check out fails in Virtual Image Library.
Symptoms
Image check out fails with an error similar to: COPIML842E The check-out
operation failed while trying to create a virtual image. ERROR:
com.vmware.vim25.FileAlreadyExists. Cannot complete the operation because
the file or folder [Shared_ESXi] OVA for vApp/disk1.vmdk already exists
Causes
VMware initially creates a folder on the datastore, to host the image files, and then
returns an ID to the caller, identifying the created VM. If something goes wrong
with this step, for example missing disk space, the folder has already been created,
but the VM creation fails and no ID is assigned to that resource because it does not
exist yet.
Resolving the problem
On the vSphere client, browse the datastore and remove the existing empty folder,
so that the next time a VM with the same name is created, the operation does not
fail. The error message returned by Virtual Image Library contains the path in the
datastore to identify which existing folder must be removed.
Domain status is out of sync:
Domain status appears as out of sync.
Symptoms
In the Summary tab of the domain view in the Virtual Image Library user
interface, the domain status appears as out of sync and is not updated the next
time the domain updater runs.
Causes
An error occurs when the domain updater runs.
Resolving the problem
Determine what is wrong with the domain being discovered and why the update
fails to detect changes, for example, there might be a problem with one of the
images, the user credentials, or network connectivity. You must correct the problem
so that this problem does not occur again.
After you have determined the problem, manually run a resynchronization by
clicking Synchronize Repositories in the Virtual Image Library user interface.
338 IBM SmartCloud Orchestrator 2.3: User's Guide
New region, new repository, or new image does not appear:
New region, new repository, or new image does not appear and you receive an
error in systemout.log.
Symptoms
A new region does not appear, or, in an update, a new repository or new image
does not appear. In the systemout.log file, you see the following error:
[10/5/13 12:02:15:127 EDT] 00000035 HConnectionMa I
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation abort
This client just lost its session with ZooKeeper, trying to reconnect.
Causes
There is an issue with HBase and Virtual Image Library cannot store new data.
Resolving the problem
To solve this issue, ensure that HBase is running by entering the following
commands. The - list command returns the list of available HBase tables.
v - hbase shell
v - list
v - quit
If you receive no errors or warning messages, you can run a manual
synchronization from the Virtual Image Library UI. Select the operational
repository that was not updated and click Action > Synchronize Repository.
Virtual Image Library fails with message java.lang.NoClassDefFoundError:
Virtual Image Library fails with message java.lang.NoClassDefFoundError.
Symptoms
Virtual Image Library fails with message java.lang.NoClassDefFoundError.
Causes
This error might occur if the HBase service is not available when Virtual Image
Library starts.
Resolving the problem
You can attempt to fix the problem by running the following command:
"/home/library/recover_hbase.sh fix"
After HBase is active, Virtual Image Library recovers the connection automatically.
After moving a Linux image, you have problems starting the image:
If you move a Linux image from KVM to VMware or vice versa, the final image
might have problems starting.
Symptoms
Moving a Linux image from KVM to VMware or vice versa, the final image has
problems starting if, in /etc/fstab, it is using:
v /dev/sda1 for VMware
v /dev/vda1 for KVM
Chapter 5. Managing virtual images 339
Causes
This problem is related to any Linux images that are internally using a disk name
in /etc/fstab. Moving these images from KVM to VMware or vice versa, the disk
name changes from /dev/vda1 to /dev/sda1 and vice versa.
Resolving the problem
Modify the images before migrating them or modify the fstab file after migration.
REST API reference
Get information about using the Representational State Transfer (REST) application
programming interface (API) for Virtual Image Library.
The REST API provides you with the ability to access the image library services
from external applications.
REST is an architecture used to create stateless web services that are typically
accessed using the HTTP protocol. Software developed using this architecture is
considered to be RESTful. There are only four HTTP methods that you use to
interact with the API: GET, POST, PUT, and DELETE. Any client program that can
transmit network messages using HTTP can use the API, regardless of
programming language. Image Library REST APIs are accessed using the HTTPS
protocol.
A concept central to RESTful web services is resources. A RESTful resource is any
object or action that can be addressable using a Uniform Resource Identifier (URI).
URLs, as used on the Web, are a type of URI, where the page or web service
identified by the URL is the resource.
The table below describes the basic function of the HTTP methods used in the
REST API:
HTTP Method Description
GET Return information about the resource in the
body of the HTTP response.
PUT Update the resource if it already exists based
on information passed in the body of the
HTTP request. An HTTP response code of
404 is returned if the resource does not exist.
POST Create a new instance of a resource based on
information passed in the body of the HTTP
request.
DELETE Remove the resource.
340 IBM SmartCloud Orchestrator 2.3: User's Guide
ImageManager API reference
Get information about using the ImageManager application programming interface
(API) for Virtual Image Library.
Administration REST API:
Return the number of available resources
GET /admin/resourceCount
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/admin/resourceCount
Response content-type
application/json
Response example
{
"numberOfDeployedVirtualMachines":37,
"numberOfOperationalVirtualImages":19,
"numberOfOperationalRepositories":1,
"numberOfReferenceAndOperationalVirtualImages":3
}
Return the supported virtualization types
Returns all the supported virtualization types defined in the /etc/imageLibrary/
library.properties file
GET /admin/VirtualizationTypes
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/admin/
VirtualizationTypes
Response content-type
application/json
Response example
[{"type":"OpenStack","name":"OpenStack"},
{"type":"VMware","name":"VMware Virtual Center"}]
Return information about the environment
GET /admin/environment
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/admin/environment
Response content-type
application/json
Response example
{"image.library.release":"1",
"image.library.version":"2",
"os.name":"Linux",
"image.library.build":"327",
"os.architecture":"x86",
"user.name":"wasadmin",
"os.version":"2.6.32-131.0.15.el6.x86_64"}
Chapter 5. Managing virtual images 341
Return the list of virtual disk images in the import directory
Returns only the virtual disk images of the supported types. See Importing an
image on page 321 for more information about supported types of image file.
GET /admin/VirtualDiskNames
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/admin/
VirtualDiskNames
Response content-type
application/json
Response example
{"import.directory":"/home/library/imlib/import",
"virtual.disk.names":
["RHEL_ICON_Build275_Rev4023.ova",
"test2.vmdk",
"fedora14-32bit-1g.raw",
"deb-1g.raw"]}
Set configuration properties
PUT /admin/ConfigurationProperty
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/admin/
ConfigurationProperty
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"name" : "propertyName",
"value" : "propertyValue"
}
Success code
204
Disconnect emulated disks
Disconnects the emulated disks in the /tmp directory and removes the
emulated-.tpm directories.
POST /admin/VMware/DisconnectEmulatedDisks
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/admin/VMware/
DisconnectEmulatedDisks
Request content-type
application/json
Success code
204
342 IBM SmartCloud Orchestrator 2.3: User's Guide
Analytics REST API:
Compare the files contained in two images
GET /analytics?function=compareImageFiles&imageA=<imageA_UUID>&imageB=<imageB_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=compareImageFiles&imageA=<imageA_UUID>
&imageB=<imageB_UUID>
Request parameters
imageA that is the UUID of the first image to compare
imageB that is the UUID of the second image to compare
Response content-type
application/json
Response example
{
"removed":
[{"file":"\/.dbus\/"},...,{"file":"\/var\/yp\/nicknames"}],
"added":
[{"file":"\/"},...,{"file":"\/var\/yp"}],
"modified":
[{"file":"\/bin\/arch"},...,{"file":"\/var\/run\/utmp"}]
}
Compare the products installed in two images
GET /analytics?function=compareImageProducts&imageA=<imageA_UUID>
&imageB=<imageB_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=compareImageProducts&imageA=<imageA_UUID>
&imageB=<imageB_UUID>
Request parameters
imageA The UUID of the first image to compare
imageB The UUID of the second image to compare
Response content-type
application/json
Response example
{
"removed":
[{"architecture":"x86_64","product":"busybox"},
...,
{"architecture":"x86_64","product":"pulseaudio-gdm-hooks"}],
"added":
[{"architecture":"","product":"activate-ntp-client"},
...,
{"architecture":"","product":"activation-engine-libxml2-python"}],
"modified":
[{"architecture":"noarch","product":"kbd-misc"},
...,
{"architecture":"x86_64","product":"newt-python"}}]
}
Chapter 5. Managing virtual images 343
Compare the properties for two images
GET /analytics?function=compareImageProperties&imageA=<imageA_UUID>
&imageB=<imageB_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=compareImageProperties&imageA=29bfd583-b014-43f9-
9300-a4c4018f32b9&imageB=92541f8e-4752-4ca3-ba42-6af3c7cbde94
Request parameters
imageA that is the UUID of the first image to compare
imageB that is the UUID of the second image to compare
Response content-type
application/json
Response example
{"modified":
[{"newValue":"1906257920","item":"totaldiskspace","oldValue":"7739864"},
{"newValue":"713150464","item":"useddiskspace","oldValue":"2987620"},
{"newValue":"1193107456","item":"availablediskspace","oldValue":"4752244"}]}
Return the properties of an image
GET /analytics?function=describeImageProperties&imageUUID=<image_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=describeImageProperties&imageUUID=29bfd583-b014-
43f9-9300-a4c4018f32b9
Request parameters
imageUUID
Response content-type
application/json
Response example
{"analyticsimageuuid":"https:\/\/2.zoppoz.workers.dev:443\/http\/origami.research.ibm.com\/images\
/86e238fc-d1d7-4e53-b759-0de06738737a",
"availablediskspace":"4752244",
"architecture":"x86_64",
"osversion":"6.1",
"totaldiskspace":"7739864",
"imageuuid":"29bfd583-b014-43f9-9300-a4c4018f32b9",
"osdistribution":"rhel",
"useddiskspace":"2987620",
"ostype":"linux"}
Find images
GET /analytics?function=findImages[&name=<image_name>][&description=<description>]
[&imageType=template|instance][virtualizationType=VMware|HSLT]
[lastModifiedStart=<start_time>][lastModifiedEnd=<end_time>]
[&analytics-query=<analytics_query>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=findImages&imageType=template&name=redhat
&analytics-query=(ostype:linux)AND((software:abrt)AND(software:bash))
Request parameters
name
344 IBM SmartCloud Orchestrator 2.3: User's Guide
description
imageType that is template or instance
virtualizationType that is VMware or HSLT
lastModifiedStart
lastModifiedEnd
analytics-query that is a query related to the following attributes:
software
Specifies the software installed on the image. You can specify more
than one software attribute by using the AND operator.
ostype Specify the image OS type.
Response content-type
application/json
Response example
A JSON array containing a UUID for each image that matches the search criteria:
["c4a727c1-9fcc-4188-8f0a-9d168983a85c",
"15cb1e8c-26c3-471c-9401-4ec9a638c75f",
"50fb2a7a-2ab9-4c92-b04f-46f47c2ccd17"]
Find images with detailed information
GET /analytics?function=findImagesVerbose[&name=<image_name>]
[&description=<description>][&imageType=template|instance]
[virtualizationType=VMware|HSLT]
[lastModifiedStart=<start_time>][lastModifiedEnd=<end_time>]
[&analytics-query=<analytics_query>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=findImagesVerbose&imageType=template&name=redhat
&analytics-query=(ostype:linux)AND((software:abrt)AND(software:bash))
Request parameters
name
description
imageType that is template or instance
virtualizationType that is VMware or HSLT
lastModifiedStart
lastModifiedEnd
analytics-query that is a query related to the following attributes:
software
Specifies the software installed on the image. You can specify more
than one software attribute by using the AND operator.
ostype Specify the image OS type.
Response content-type
application/json
Response example
Chapter 5. Managing virtual images 345
A JSON array containing the following object for each image that matches the
search criteria:
{
locationName: "Test Environment v41"
usage: "persistentInstance"
indexingState: "notIndexed"
indexedOn: 12345567
os: "LINUX"
hardware: {
virtualSystemType: "vmx-07"
devices: [
{
mappingBehavior: 0
caption: "CPU"
elementName: "CPU"
consumerVisibility: 0
resourceType: 3
automaticAllocation: true
automaticDeallocation: true
reservation: 0
allocationUnits: "hertz"
instanceID: 1
virtualQuantity: 2
weight: 2000
limit: -1
description: "2"
}
{
mappingBehavior: 0
caption: "Memory"
elementName: "Memory"
consumerVisibility: 0
resourceType: 4
automaticAllocation: true
automaticDeallocation: true
reservation: 0
allocationUnits: "bytes"
instanceID: 2
virtualQuantity: 4294967296
weight: 40960
limit: -1
description: "4096.0 MB"
}
{
mappingBehavior: 0
caption: "Hard disk 1"
elementName: "Hard disk 1"
consumerVisibility: 0
resourceType: 17
parent: 1000
automaticAllocation: true
automaticDeallocation: true
repositoryIDs: [
"datastore-189"
]
allocationUnits: "bytes"
instanceID: 2000
virtualQuantity: 85899345920
hostResource: [
"[test4] att-redhat-itds.torolab.ibm.com/att-redhat-itds.torolab.ibm.com.vmdk"
]
description: "80.0 GB"
addressOnParent: 0
}
{
mappingBehavior: 0
346 IBM SmartCloud Orchestrator 2.3: User's Guide
caption: "Network adapter 1"
elementName: "Network adapter 1"
consumerVisibility: 0
resourceType: 10
parent: 100
automaticAllocation: true
resourceSubType: "E1000"
automaticDeallocation: true
instanceID: 4000
address: "00:50:56:98:00:10"
description: "VM Network"
addressOnParent: 7
connection: [
"VM Network"
]
}
]
}
name: "att-redhat-itds.torolab.ibm.com"
domainName: "tiv-vsphere41"
locationUUID: "d4b02df3-d34f-4b0b-9853-4cd38e035e7e"
state: "available"
virtualizationType: "VMware"
architecture: "INTEL_X86_64"
osVersion: "Red Hat Enterprise Linux 5 (64-bit)"
imageID: "vm-323"
updated: 1315477636803
uuid: "560c826c-c059-4d55-8743-a8f89e592fc8"
"ownerList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
description: null
domainUUID: "dc4c3466-3b8c-40a7-8097-45bbc7139c7f"
imagePortabilityStatus:"partial"
"imagePortabilityChecker":
[{"checkerName":"DHCP","checkerStatus":"notPassed"},
{"checkerName":"HostnameFileLinux",
"checkerStatus":"notPassed"}]
}
List all the image properties
GET /analytics?function=listAllImageProperties
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=listAllImageProperties
Response content-type
application/json
Response example
[analyticsimageuuid, imageuuid, ostype, osdistribution, osversion, architecture,
totaldiskspace, useddiskspace, availablediskspace]
List the products installed on an image
GET /analytics?function=listImageProducts&imageUUID=<image_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=listImageProducts&imageUUID=92541f8e-4752-4ca3-
ba42-6af3c7cbde94
Chapter 5. Managing virtual images 347
Request parameters
imageUUID
Response content-type
application/json
Response example
A JSON array containing the following object for each product installed on the
specified image:
{"architecture":"x86_64",
"howDiscovered":"s7\/RpmPackagesScanner",
"vendor":"Red Hat, Inc.",
"version":"1.1.16",
"product":"abrt"}
List the products in the Virtual Image Library knowledge base
GET /analytics?function=listKnownProducts
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=listKnownProducts
Response content-type
application/json
Response example
A JSON array containing the following object for each product in the Virtual Image
Library knowledge base:
{"architecture":"x86_64",
"howDiscovered":"s7\/RpmPackagesScanner",
"vendor":"Red Hat, Inc.",
"version":"1.1.16",
"product":"abrt"}
List the files contained in an image
GET /analytics?function=listImageFiles&imageUUID=<image_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
analytics?function=listImageFiles&imageUUID=92541f8e-4752-4ca3-ba42-
6af3c7cbde94
Request parameters
imageUUID
Response content-type
application/json
Response example
A JSON array containing the following object for each file installed on the specified
image:
{"statInfo":"stat1","fileName":"path","digestValue":"stat2"}
348 IBM SmartCloud Orchestrator 2.3: User's Guide
Find similar images
Returns the images similar to the specified image with the similarity percentage
returned in the similarityMetric parameter.
GET /analytics?function=listSimilarImages&imageUUID=<image_UUID>
&comparisonType=[files|products]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary//
analytics?function=listImageProducts&imageUUID=92541f8e-4752-4ca3-
ba42-6af3c7cbde94&comparisonType=products
Request parameters
imageUUID
comparisonType that is files or products
Response content-type
application/json
Response example
A JSON array containing the following object for each image similar to the
specified image:
{"imagePortabilityStatus":"partial",
"provenanceVersionChainUUID":"36274f5e-71f4-46ed-a3cb-242d9a8e7236",
"repositoryUUID":"b18a149b-71d8-4b59-878e-1550dfa21cc5",
"name":"RHEL61-Test","state":"available",
"virtualizationType":"VMware",
"architecture":"INTEL_X86_64",
"osVersion":"Red Hat Enterprise Linux 6 (64-bit)",
"version":null,
"locationName":"CCS",
"usage":"image",
"indexingState":"partiallyIndexed",
"accessList":
[{"numberOfGroups":0,
"isUser":false,
"groupUUIDList":[],
"uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83",
"name":"Everyone",
"roles":[]},
{"numberOfGroups":0,
"isUser":true,
"groupUUIDList":[],
"uuid":"353dc07c-87fc-458e-bc03-44f097bf3a93",
"name":"wasadmin",
"roles":[]}],
"userVersionChainUUIDs":[],
"os":"LINUX",
"imagePortabilityChecker":
[{"checkerName":"NetworksFileLinux","checkerStatus":"passed"},
{"checkerName":"FstabFileEntryLinux","checkerStatus":"notPassed"}
,{"checkerName":"Disk_Device","checkerStatus":"passed"},
{"checkerName":"LVM_Disk","checkerStatus":"passed"},
{"checkerName":"SShServerConfigured","checkerStatus":"passed"},
{"checkerName":"Ifcfgeth0FileLinux","checkerStatus":"notPassed"},
{"checkerName":"RCLocalLinux","checkerStatus":"notPassed"},
{"checkerName":"Multiple_Disk","checkerStatus":"passed"},
{"checkerName":"HostsFileLinux","checkerStatus":"notPassed"},
{"checkerName":"SShServerInstalled","checkerStatus":"passed"},
{"checkerName":"WriteNetRulesFileLinux","checkerStatus":"notPassed"}],
"hardware":
{"virtualSystemType":"vmx-07",
Chapter 5. Managing virtual images 349
"devices":
[{"mappingBehavior":0,"caption":"CPU","elementName":"CPU","consumerVisibility":0,
"resourceType":3,"automaticAllocation":true,"automaticDeallocation":true,
"reservation":0,"allocationUnits":"hertz","instanceID":1,"virtualQuantity":1,
"weight":1000,"limit":-1,"description":"1"},
{"mappingBehavior":0,"caption":"Memory","elementName":"Memory",
"consumerVisibility":0,"resourceType":4,"automaticAllocation":true,
"automaticDeallocation":true,"reservation":0,"allocationUnits":"bytes",
"instanceID":2,"virtualQuantity":2147483648,"weight":20480,"limit":-1,
"description":"2048.0 MB"},
{"mappingBehavior":0,"caption":"Hard disk 1","elementName":"Hard disk 1",
"consumerVisibility":0,"resourceType":17,"parent":200,"automaticAllocation":true,
"automaticDeallocation":true,"repositoryIDs":["datastore-11"],
"allocationUnits":"bytes","instanceID":3000,"virtualQuantity":2147483648,
"hostResource":["[dsrtl-VMwareCCS-01-001] RHEL61-Test\/RHEL61-Test.vmdk"],
"description":"2.0 GB","addressOnParent":0},
{"mappingBehavior":0,"caption":"Network adapter 1",
"elementName":"Network adapter 1","consumerVisibility":0,"resourceType":10,
"parent":100,"automaticAllocation":true,"resourceSubType":"Vmxnet",
"automaticDeallocation":true,"instanceID":4000,"address":"00:50:56:9c:0e:6c",
"description":"Internal10GBVLAN10","addressOnParent":7,
"connection":["Internal10GBVLAN10"]}]},
"domainName":"nc058108",
"locationUUID":"83ab1a70-793d-47c8-8927-239468db7dca",
"indexedOn":1337875521267,
"ownerList":
[{"numberOfGroups":0,"isUser":false,
"groupUUIDList":[],"uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83",
"name":"Everyone","roles":[]}],
"similarityMetric":0.4,
"folderPath":"\/Datacenters\/CCS\/vm\/Administration\/Development-VLAN10",
"repositoryName":"dsrtl-VMwareCCS-01-001",
"imageID":"vm-419","updated":1337875521259,
"uuid":"92541f8e-4752-4ca3-ba42-6af3c7cbde94",
"description":null,
"domainUUID":"337a8c39-6bbf-40b9-9d0c-2fad52080740"}
Connector REST API:
Virtual Image Library uses a connector to communicate with an operational
repository. There is a connector for each of the following types of supported
operational repository:
v VMware
v HSLT
The base URL of the connector REST API is:
https://<vil_hostname>:9443/ImageLibraryConnector/<operational_repository_type>/
Note: This is the base URL. You must add the additional parameters shown in this
topic to the URL.
The following examples are related to the VMware connector.
List locations
GET /connector/json?function=listLocations&hostName=<HostName>
&userName=<UserName>&password=<Password>
Example URL
https://localhost:9443/ImageLibraryConnector/VMware/connector/
json?function=listLocations&hostName=rm-vm1&userName=administrator
&password=passw0rd
Request parameters
350 IBM SmartCloud Orchestrator 2.3: User's Guide
hostName
The host name of the hypervisor manager that you registered to
Virtual Image Library.
userName
The user name to access the hypervisor manager.
password
The password to access the hypervisor manager.
Response content-type
application/json
Response example
A JSON array containing the location native IDs:
["datacenter-2"]
List repositories
GET /connector/json?function=listRepositories&hostName=<HostName>
&userName=<UserName>&password=<Password>
Example URL
https://localhost:9443/ImageLibraryConnector/VMware/connector/
json?function=listRepositories&hostName=rm-vm1
&userName=administrator&password=passw0rd
Request parameters
hostName
The host name of the hypervisor manager that you registered to
Virtual Image Library.
userName
The user name to access the hypervisor manager.
password
The password to access the hypervisor manager.
Response content-type
application/json
Response example
A JSON array containing the repository IDs:
["datastore-10"]
List images
GET /connector/json?function=listImages&hostName=<HostName>
&userName=<UserName>&password=<Password>
Example URL
https://localhost:9443/ImageLibraryConnector/VMware/connector/
json?function=listImages&hostName=rm-vm1&userName=administrator
&password=passw0rd
Request parameters
hostName
The host name of the hypervisor manager that you registered to
Virtual Image Library.
Chapter 5. Managing virtual images 351
userName
The user name to access the hypervisor manager.
password
The password to access the hypervisor manager.
Response content-type
application/json
Response example
A JSON object containing the image IDs and the hypervisor manager time to mark
the timestamp of the last synchronization:
{
"imageIDs":["vm-12","vm-14","vm-22","vm-23","vm-24","vm-25","vm-41","vm-51"],
"serverTime":1310075108778
}
List image changes
GET /connector/json?function=listImageChanges&hostName=<HostName>
&userName=<UserName>&password=<Password>&serverTime=<ServerTime>
Example URL
https://localhost:9443/ImageLibraryConnector/VMware/connector/
json?function=listImageChanges&hostName=rm-vm1
&userName=administrator&password=passw0rd
&serverTime=1310075108778
Request parameters
hostName
The host name of the hypervisor manager that you registered to
Virtual Image Library.
userName
The user name to access the hypervisor manager.
password
The password to access the hypervisor manager.
serverTime
The time from which the image changes are returned.
Response content-type
application/json
Response example
A JSON object containing the image changes and the hypervisor manager time to
mark the timestamp of the last synchronization:
{
"added":["vm-12","vm-14","vm-24","vm-25","vm-46","vm-47","vm-48","vm-49","vm-53",
"vm-51","vm-52","vm-21","vm-22","vm-23","vm-41","vm-50"],
"removed":["vm-46","vm-47","vm-48","vm-49","vm-53","vm-52","vm-21","vm-50"],
"modified":["vm-24","vm-12","vm-21","vm-22","vm-41","vm-23"],
"serverTime":1310075981763
}
Describe a location
GET /location/<locationID>/json?function=describeLocation&hostName=<HostName>
&userName=<UserName>&password=<Password>
352 IBM SmartCloud Orchestrator 2.3: User's Guide
Example URL
https://localhost:9443/ImageLibraryConnector/VMware/location/
datacenter-2/json?function=describeLocation&hostName=rm-vm1
&userName=administrator&password=passw0rd
Request parameters
locationID
The location ID on the hypervisor manager.
hostName
The host name of the hypervisor manager that you registered to
Virtual Image Library.
userName
The user name to access the hypervisor manager.
password
The password to access the hypervisor manager.
Response content-type
application/json
Response example
A JSON object containing the location information:
{
"id":"datacenter-2",
"created":1306346556553,
"name":"ImageLibrary",
"creator":"Administrator"
"version":"2.1"
}
Describe a repository
GET /repository/<repositoryID>/json?function=describeRepository
&hostName=<HostName>&userName=<UserName>&password=<Password>
Example URL
https://localhost:9443/ImageLibraryConnector/VMware/repository/
datastore-10/json?function=describeRepository&hostName=rm-vm1
&userName=administrator&password=passw0rd
Request parameters
repositoryID
The repository ID on the hypervisor manager.
hostName
The host name of the hypervisor manager that you registered to
Virtual Image Library.
userName
The user name to access the hypervisor manager.
password
The password to access the hypervisor manager.
Response content-type
application/json
Response example
Chapter 5. Managing virtual images 353
A JSON object containing the repository information:
{
"id":"datastore-10",
"freeSpace":39819673600,
"name":"datastore1",
"capacity":158645354496,
"locationID":"datacenter-2",
"type":"VMware - VMFS"
}
Describe an image
GET /image/<imageID>/json?function=describeImage
&hostName=<HostName>&userName=<UserName>&password=<Password>
Example URL
https://localhost:9443/ImageLibraryConnector/VMware/image/vm-25/
json?function=describeImage&hostName=rm-vm1
&userName=administrator&password=passw0rd
Request parameters
imageID
The image ID on the hypervisor manager.
hostName
The host name of the hypervisor manager that you registered to
Virtual Image Library.
userName
The user name to access the hypervisor manager.
password
The password to access the hypervisor manager.
Response content-type
application/json
Response example
A JSON object containing the image information:
{
"os":"LINUX",
"osVersion":"Other 2.6x Linux (32-bit)",
"methodOfCreation":"cloned",
"state":"available",
"locationID":"datacenter-2",
"architecture":"INTEL_X86_32",
"parentInstanceID":"vm-24",
"creator":"Administrator",
"imageID":"vm-25",
"created":1307052201557,
"repositoryIDs":["datastore-10"],
"description":null,
"name":"bonzai-v2",
"usage":"persistentInstance",
"configurationPath":"[datastore1] bonzai-v2\/bonzai-v2.vmx"
"hardware":
{
"virtualSystemType":"vmx-07",
"devices":[
{
"limit":-1,
"elementName":"CPU",
"weight":1000,
354 IBM SmartCloud Orchestrator 2.3: User's Guide
"mappingBehavior":0,
"consumerVisibility":0,
"instanceID":1,
"automaticAllocation":true,
"caption":"CPU",
"virtualQuantity":1,
"resourceType":3,
"automaticDeallocation":true,
"description":"1",
"reservation":0,
"allocationUnits":"hertz"
},
{
"limit":-1,
"elementName":"Memory",
"weight":10240,
"mappingBehavior":0,
"consumerVisibility":0,
"instanceID":2,
"automaticAllocation":true,
"caption":"Memory",
"virtualQuantity":1073741824,
"resourceType":4,
"automaticDeallocation":true,
"description":"1024.0 MB",
"reservation":0,
"allocationUnits":"bytes"
},
{
"elementName":"Hard disk 1",
"mappingBehavior":0,
"consumerVisibility":0,
"instanceID":3000,
"automaticAllocation":true,
"parent":200,
"caption":"Hard disk 1",
"format":"VMDK",
"addressOnParent":0,
"virtualQuantity":268435456,
"resourceType":17,
"automaticDeallocation":true,
"repositoryIDs":["datastore-10"],
"description":"0.25 GB",
"hostResource":["[datastore1] bonzai-v2\/bonzai-v2.vmdk"],
"allocationUnits":"bytes"
},
{
"resourceSubType":"PCNet32",
"elementName":"Network adapter 1",
"connection":["VM Network"],
"mappingBehavior":0,
"consumerVisibility":0,
"instanceID":4000,
"automaticAllocation":true,
"parent":100,
"caption":"Network adapter 1",
"addressOnParent":7,
"resourceType":10,
"automaticDeallocation":true,
"address":"00:50:56:98:00:05",
"description":"VM Network",
"networkIDs":["network-11"]
},
{
"elementName":"Video card",
"mappingBehavior":0,
"consumerVisibility":0,
Chapter 5. Managing virtual images 355
"instanceID":500,
"automaticAllocation":true,
"parent":100,
"caption":"Video card",
"addressOnParent":0,
"virtualQuantity":4194304,
"resourceType":24,
"automaticDeallocation":true,
"description":"4.0 MB",
"allocationUnits":"bytes"
},
{
"elementName":"CD\/DVD Drive 1",
"mappingBehavior":0,
"consumerVisibility":0,
"instanceID":3002,
"automaticAllocation":true,
"parent":201,
"caption":"CD\/DVD Drive 1",
"addressOnParent":0,
"resourceType":15,
"automaticDeallocation":true,
"description":"ISO [datastore1] ISO\/bonzai_3_2.iso",
"repositoryIDs":["datastore-10"],
"hostResource":["[datastore1] ISO\/bonzai_3_2.iso"]
},
{
"automaticDeallocation":true,
"elementName":"Floppy drive 1",
"mappingBehavior":0,
"consumerVisibility":0,
"description":"Remote",
"instanceID":8000,
"parent":400,
"automaticAllocation":false,
"caption":"Floppy drive 1",
"addressOnParent":0,
"resourceType":14
},
{
"automaticDeallocation":true,
"elementName":"IDE 0",
"mappingBehavior":0,
"consumerVisibility":0,
"description":"IDE 0",
"instanceID":200,
"automaticAllocation":true,
"caption":"IDE 0",
"resourceType":5
},
{
"automaticDeallocation":true,
"elementName":"IDE 1",
"mappingBehavior":0,
"consumerVisibility":0,
"description":"IDE 1",
"instanceID":201,
"automaticAllocation":true,
"caption":"IDE 1",
"resourceType":5
},
{
"automaticDeallocation":true,
"elementName":"PS2 controller 0",
"mappingBehavior":0,
"consumerVisibility":0,
"otherResourceType":"PS2 Controller",
356 IBM SmartCloud Orchestrator 2.3: User's Guide
"description":"PS2 controller 0",
"instanceID":300,
"automaticAllocation":true,
"caption":"PS2 controller 0",
"resourceType":1
},
{
"automaticDeallocation":true,
"elementName":"PCI controller 0",
"mappingBehavior":0,
"consumerVisibility":0,
"otherResourceType":"PCI Controller",
"description":"PCI controller 0",
"instanceID":100,
"automaticAllocation":true,
"caption":"PCI controller 0",
"resourceType":1
},
{
"automaticDeallocation":true,
"elementName":"SIO controller 0",
"mappingBehavior":0,
"consumerVisibility":0,
"otherResourceType":"SIO Controller",
"description":"SIO controller 0",
"instanceID":400,
"automaticAllocation":true,
"caption":"SIO controller 0",
"resourceType":1
},
{
"automaticDeallocation":true,
"resourceSubType":"Keyboard",
"elementName":"Keyboard",
"mappingBehavior":0,
"consumerVisibility":0,
"description":"Keyboard",
"instanceID":600,
"parent":300,
"automaticAllocation":true,
"caption":"Keyboard",
"addressOnParent":0,
"resourceType":13
},
{
"automaticDeallocation":true,
"elementName":"Pointing device",
"mappingBehavior":0,
"consumerVisibility":0,
"description":"Pointing device; Device",
"instanceID":700,
"parent":300,
"automaticAllocation":true,
"caption":"Pointing device",
"addressOnParent":1,
"resourceType":13
},
{
"automaticDeallocation":true,
"elementName":"VMCI device",
"mappingBehavior":0,
"consumerVisibility":0,
"otherResourceType":"VMCI",
"description":"Device on the virtual machine PCI bus that provides
support for the virtual machine communication interface",
"instanceID":12000,
"parent":100,
Chapter 5. Managing virtual images 357
"automaticAllocation":true,
"caption":"VMCI device",
"addressOnParent":17,
"resourceType":1
}]
},
}
Domain REST API:
Return details of a domain
GET /domain?function=describeDomain&domainUUID=<domain_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
domain?function=describeDomain&domainUUID=3bed15d1-ead9-4a46-
ad02-7c815bbf51e0
Request parameters
domainUUID
Response content-type
application/json
Response example
{
"numberOfDeployedVirtualMachines":37,
"state":"available",
"numberOfVirtualImages":16,
"lastUpdated":1320880238893,
"username":"administrator",
"numberOfRepositories":1,
"type":"VMware",
"uuid":"3bed15d1-ead9-4a46-ad02-7c815bbf51e0",
"name":"rm-vm1",
"exploiter":"IWD",
"ownerList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"description":"some description",
"url":"https:\/\/2.zoppoz.workers.dev:443\/https\/localhost:9443\/ImageLibraryConnector\/VMware\/"
}
List all the domains in Virtual Image Library
GET /domain?function=listDomains
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
domain?function=listDomains
Response content-type
application/json
Response example
A JSON array containing a domain uuid for each domain:
["3bed15d1-ead9-4a46-ad02-7c815bbf51e0"]
List all the domains in Virtual Image Library with detailed information
GET /domain?function=listDomainsVerbose
358 IBM SmartCloud Orchestrator 2.3: User's Guide
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
domain?function=listDomainsVerbose
Response content-type
application/json
Response example
A JSON array containing the following object for each domain:
{
"numberOfDeployedVirtualMachines":37,
"state":"available",
"numberOfVirtualImages":16,
"lastUpdated":1320880238893,
"username":"administrator",
"numberOfRepositories":1,
"type":"VMware",
"uuid":"3bed15d1-ead9-4a46-ad02-7c815bbf51e0",
"name":"rm-vm1",
"exploiter":"IWD",
"ownerList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"description":"some description",
"url":"https:\/\/2.zoppoz.workers.dev:443\/https\/localhost:9443\/ImageLibraryConnector\/VMware\/"
}
Register a domain in Virtual Image Library
The operation is asynchronous and it returns the uuid of the domain registration
task.
POST /domain/registerDomain
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/registerDomain
Request parameters
A JSON object in the HTTP body:
{
"type" : "VMware or HSLT",
"description" : "some description",
"hostName" : "host name for the hypervisor manager",
"userName" : "user name to log in to the hypervisor manager",
"password" : "password to log in to the hypervisor manager",
"exploiter" : "exploiter name (optional)"
}
Response content-type
application/json
Response example
{"task_uuid" : "d760fb14-4c48-4470-a579-51b93b6b58c7"}
Remove a domain
Removes a domain and all the related objects. If a domain was registered by an
exploiter, the exploiter name must be specified to remove the domain. It returns
the uuid of the domain deletion task.
DELETE /domain?domainUUID=<domain_uuid>[&exploiter=<exploiter_name>]
Chapter 5. Managing virtual images 359
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
domain?domainUUID=<domain_uuid>
Request parameters
domainUUID
Response content-type
application/json
Response example
{"task_uuid" : "d760fb14-4c48-4470-a579-51b93b6b49b6"}
Change the credentials to access the hypervisor manager
POST /domain/changeCredentials
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/domain/
changeCredentials
Request parameters
A JSON object in the HTTP body:
{
"domainUUID" : "domain uuid",
"newUserName" : "new user name for the hypervisor manager (optional)",
"newPassword" : "new password for the hypervisor manager"
}
Success code
204
Resynchronize a domain
Triggers resynchronization of Virtual Image Library domain with physical domain.
PUT /domain?function=resynchDomain&domainUUID=<domain_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
domain?function=resynchDomain&domainUUID=3bed15d1-ead9-4a46-
ad02-7c815bbf51e0
Request parameters
domainUUID
Response content-type
application/json
Response example
{"task_uuid" : "d760fb14-4c48-4470-a579-51b93b6b58c7"}
360 IBM SmartCloud Orchestrator 2.3: User's Guide
Image log REST API:
List all the image logs
GET /imageLog?function=listImageLogs[&domainUUID=<domain_uuid>]
[&locationUUID=<location_uuid>][&action=add|remove|modify]
[&eventTime=<event_time>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
imageLog?function=listImageLogs
Request parameters
domainUUID
locationUUID
action that is the event related to the image
eventTime
Response content-type
application/json
Response example
A JSON array containing a UUID for each image log:
["d348d475-83de-4c61-a8ad-c7ee92e620e8","c0aaa327-0495-4e47-97de-c51bb121dccf",
"1f2275b3-fc51-4a4a-a926-0a03fe04bb08","440ad139-965f-4444-989c-eeb0e3863eea"]
List all the image logs with detailed information
GET /imageLog?function=listImageLogsVerbose[&domainUUID=<domain_uuid>]
[&locationUUID=<location_uuid>][&action=add|remove|modify]
[&eventTime=<event_time>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
imageLog?function=listImageLogsVerbose
Request parameters
domainUUID
locationUUID
action that is the event related to the image
eventTime
Response content-type
application/json
Response example
A JSON array containing the following object for each image log:
{
"locationUUID":"579d9190-afb4-47cc-a54d-ec02c82489bb",
"ownerList":[],
"accessList":[],
"action":"REMOVE",
"imageID":"vm-446",
"imageUUID":"2d6dd813-8dcb-4f22-8d0b-d0d48b031695",
"eventTime":1330786071442,
"user":"wasadmin",
"uuid":"d348d475-83de-4c61-a8ad-c7ee92e620e8",
Chapter 5. Managing virtual images 361
"domainName":"nc058108.romelab.it.ibm.com",
"domainUUID":"038d8819-d6ae-46fe-ab6a-649598a14bf7",
"imageTypeChecks":[]
}
Delete image logs
It deletes the specified image log or all the image logs older than the specified
time.
DELETE /imageLog?imageLogUUID=<imagelog_uuid>
DELETE /imageLog?eventTime=<event_time>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
imageLog?imageLogUUID=<imagelog_uuid>
https://localhost:9443/ImageLibrary/ImageLibrary/
imageLog?eventTime=<event_time>
Request parameters
imageLogUUID
eventTime
Success code
204
Location REST API:
Return details of a location
GET /location?function=describeLocation&locationUUID=<location_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
location?function=describeLocation&locationUUID=3de593a5-92d5-4ed3-
94de-9a4abe7b14b6
Request parameters
locationUUID
Response content-type
application/json
Response example
{
"numberOfDeployedVirtualMachines":37,
"numberOfVirtualImages":16,
"numberOfRepositories":1,
"created":1306346556553,
"uuid":"3de593a5-92d5-4ed3-94de-9a4abe7b14b6",
"name":"ImageLibrary",
"creator":"Administrator",
"ownerList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"domainName":"rm-vm1",
"domainUUID":"3bed15d1-ead9-4a46-ad02-7c815bbf51e0"
}
362 IBM SmartCloud Orchestrator 2.3: User's Guide
List all the locations in Virtual Image Library
If you specify the domainUUID parameter, all the locations related to that domain
are returned.
GET /location?function=listLocations[&domainUUID=<domain_uuid>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
location?function=listLocations
Request parameters
domainUUID
Response content-type
application/json
Response example
A JSON array containing a location UUID for each location:
["4dd0921c-ba65-4f42-9ab2-4ba70d50ba32","ee9f1c3e-a66c-4100-ae83-41778bf91e67"]
List all the locations in Virtual Image Library with detailed information
If you specify the domainUUID parameter, all the locations related to that domain
are returned.
GET /location?function=listLocationsVerbose[&domainUUID=<domain_uuid>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
location?function=listLocationsVerbose
Response content-type
application/json
Response example
A JSON array containing the following object for each location:
{
"numberOfDeployedVirtualMachines":37,
"numberOfVirtualImages":16,
"numberOfRepositories":1,
"created":1306346556553,
"uuid":"3de593a5-92d5-4ed3-94de-9a4abe7b14b6",
"name":"ImageLibrary",
"creator":"Administrator",
"ownerList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"domainName":"rm-vm1",
"domainUUID":"3bed15d1-ead9-4a46-ad02-7c815bbf51e0"
}
Chapter 5. Managing virtual images 363
Operational repository REST API:
Return details of an operational repository
GET /instanceRepository?function=describeRepository&repositoryUUID=<repository_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
instanceRepository?function=describeRepository
&repositoryUUID=c9eadef4-6b35-484e-9e5b-0b26a3517f7b
Request parameters
repositoryUUID
Response content-type
application/json
Response example
{
"locationName":"ImageLibrary"
"numberOfVirtualImages":16
"name":"datastore1"
"domainName":"rm-vm1"
"url":"https:\/\/2.zoppoz.workers.dev:443\/https\/localhost:9443\/ImageLibraryConnector\/VMware\/"
"locationUUID":"3de593a5-92d5-4ed3-94de-9a4abe7b14b6"
"numberOfDeployedVirtualMachines":35
"referenceRepository":"false"
"type":"VMware - VMFS"
"uuid":"c9eadef4-6b35-484e-9e5b-0b26a3517f7b"
"ownerList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"description":"datastore1"
"comment":null
"domainUUID":"3bed15d1-ead9-4a46-ad02-7c815bbf51e0"
}
List all the repositories in Virtual Image Library
If you specify the domainUUID or the locationUUID parameter, all the repositories
related to the specified object are returned.
GET /instanceRepository?function=listRepositories[&domainUUID=<domain_uuid>]
[&locationUUID=<location_uuid>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
instanceRepository?function=listRepositories
Request parameters
domainUUID
locationUUID
Response content-type
application/json
Response example
A JSON array containing a UUID for each operational repository:
["c9eadef4-6b35-484e-9e5b-0b26a3517f7b"]
364 IBM SmartCloud Orchestrator 2.3: User's Guide
List all the repositories in Virtual Image Library with detailed information
If you specify the domainUUID or the locationUUID parameter, all the repositories
related to the specified object are returned.
GET /instanceRepository?function=listRepositoriesVerbose[&domainUUID=<domain_uuid>
][&locationUUID=<location_uuid>]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
instanceRepository?function=listRepositoriesVerbose
Response content-type
application/json
Optional parameters
domainUUID
locationUUID
Response example
A JSON array containing the following object for each location:
{
"locationName":"ImageLibrary"
"numberOfVirtualImages":16
"name":"datastore1"
"domainName":"rm-vm1"
"url":"https:\/\/2.zoppoz.workers.dev:443\/https\/localhost:9443\/ImageLibraryConnector\/VMware\/"
"locationUUID":"3de593a5-92d5-4ed3-94de-9a4abe7b14b6"
"numberOfDeployedVirtualMachines":35
"referenceRepository":"false"
"type":"VMware - VMFS"
"uuid":"c9eadef4-6b35-484e-9e5b-0b26a3517f7b"
"ownerList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"description":"datastore1"
"comment":null
"domainUUID":"3bed15d1-ead9-4a46-ad02-7c815bbf51e0"
}
Operational images REST API:
Check in an image from an operational repository to the reference repository
Returns the UUID of the related check-in task.
POST /repositoryImage/checkin
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/repositoryImage/
checkin
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"name" : "an image name",
"description" : "an optional description",
Chapter 5. Managing virtual images 365
"comment" : "optional comments",
"versionChainUUID" : "UUID of a version chain, none to join an existing
version chain, or a name to create a new version chain
with the specified name",
"sourceImageUUID" : "UUID of the image to be checked in"
}
Response content-type
application/json
Response example
{"task_uuid" : "d760fb14-4c48-4470-a579-51b93b64976b"}
Return details of an image in the operational repository
GET /repositoryImage?function=describeImage&imageUUID=<image_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
repositoryImage?function=describeImage&imageUUID=560c826c-c059-4d55-
8743-a8f89e592fc8
Request parameters
imageUUID
Response content-type
application/json
Response example
{
usage: "persistentInstance"
indexingState: "notIndexed"
indexedOn: 12345678
os: "LINUX"
created: 1315477636803
hardware: {
virtualSystemType: "vmx-07"
devices: [
{
mappingBehavior: 0
caption: "CPU"
elementName: "CPU"
consumerVisibility: 0
resourceType: 3
automaticAllocation: true
automaticDeallocation: true
reservation: 0
allocationUnits: "hertz"
instanceID: 1
virtualQuantity: 2
weight: 2000
limit: -1
description: "2"
}
{
mappingBehavior: 0
caption: "Memory"
elementName: "Memory"
consumerVisibility: 0
resourceType: 4
automaticAllocation: true
automaticDeallocation: true
reservation: 0
allocationUnits: "bytes"
instanceID: 2
366 IBM SmartCloud Orchestrator 2.3: User's Guide
virtualQuantity: 4294967296
weight: 40960
limit: -1
description: "4096.0 MB"
}
{
mappingBehavior: 0
caption: "Hard disk 1"
elementName: "Hard disk 1"
consumerVisibility: 0
resourceType: 17
parent: 1000
automaticAllocation: true
automaticDeallocation: true
repositoryIDs: [
"datastore-189"
]
allocationUnits: "bytes"
instanceID: 2000
virtualQuantity: 85899345920
hostResource: [
"[test4] redhat-itds.torolab.ibm.com/redhat-itds.torolab.ibm.com.vmdk"
]
description: "80.0 GB"
addressOnParent: 0
}
{
mappingBehavior: 0
caption: "Network adapter 1"
elementName: "Network adapter 1"
consumerVisibility: 0
resourceType: 10
parent: 100
automaticAllocation: true
resourceSubType: "E1000"
automaticDeallocation: true
instanceID: 4000
address: "00:50:56:98:00:10"
description: "VM Network"
addressOnParent: 7
connection: [
"VM Network"
]
}
{
mappingBehavior: 0
instanceID: 1000
caption: "SCSI controller 0"
elementName: "SCSI controller 0"
resourceType: 6
consumerVisibility: 0
parent: 100
automaticAllocation: true
resourceSubType: "lsilogic"
description: "LSI Logic Parallel"
automaticDeallocation: true
addressOnParent: 3
}
{
mappingBehavior: 0
caption: "Video card"
elementName: "Video card"
consumerVisibility: 0
resourceType: 24
parent: 100
automaticAllocation: true
automaticDeallocation: true
Chapter 5. Managing virtual images 367
allocationUnits: "bytes"
instanceID: 500
virtualQuantity: 4194304
description: "4.0 MB"
addressOnParent: 0
}
{
mappingBehavior: 0
instanceID: 3000
caption: "CD/DVD Drive 1"
elementName: "CD/DVD Drive 1"
resourceType: 15
consumerVisibility: 0
parent: 200
automaticAllocation: false
description: "Remote device"
automaticDeallocation: true
addressOnParent: 0
}
{
mappingBehavior: 0
instanceID: 200
caption: "IDE 0"
elementName: "IDE 0"
resourceType: 5
consumerVisibility: 0
automaticAllocation: true
description: "IDE 0"
automaticDeallocation: true
}
{
mappingBehavior: 0
instanceID: 201
caption: "IDE 1"
elementName: "IDE 1"
resourceType: 5
consumerVisibility: 0
automaticAllocation: true
description: "IDE 1"
automaticDeallocation: true
}
{
mappingBehavior: 0
instanceID: 300
caption: "PS2 controller 1"
elementName: "PS2 controller 1"
otherResourceType: "PS2 Controller"
resourceType: 1
consumerVisibility: 0
automaticAllocation: true
description: "PS2 controller 1"
automaticDeallocation: true
}
{
mappingBehavior: 0
instanceID: 100
caption: "PCI controller 1"
elementName: "PCI controller 1"
otherResourceType: "PCI Controller"
resourceType: 1
consumerVisibility: 0
automaticAllocation: true
description: "PCI controller 1"
automaticDeallocation: true
}
{
mappingBehavior: 0
368 IBM SmartCloud Orchestrator 2.3: User's Guide
instanceID: 400
caption: "SIO controller 1"
elementName: "SIO controller 1"
otherResourceType: "SIO Controller"
resourceType: 1
consumerVisibility: 0
automaticAllocation: true
description: "SIO controller 1"
automaticDeallocation: true
}
{
mappingBehavior: 0
instanceID: 600
caption: "Keyboard"
elementName: "Keyboard"
resourceType: 13
consumerVisibility: 0
parent: 300
automaticAllocation: true
resourceSubType: "Keyboard"
description: "Keyboard"
automaticDeallocation: true
addressOnParent: 0
}
{
mappingBehavior: 0
instanceID: 700
caption: "Pointing device"
elementName: "Pointing device"
resourceType: 13
consumerVisibility: 0
parent: 300
automaticAllocation: true
description: "Pointing device; Device"
automaticDeallocation: true
addressOnParent: 1
}
{
mappingBehavior: 0
instanceID: 12000
caption: "VMCI device"
elementName: "VMCI device"
otherResourceType: "VMCI"
resourceType: 1
consumerVisibility: 0
parent: 100
automaticAllocation: true
description: "Device on the virtual machine PCI bus that provides support
for the virtual machine communication interface"
automaticDeallocation: true
addressOnParent: 17
}
]
}
name: "redhat-itds.torolab.ibm.com"
creator: null
domainName: "tiv-vsphere41"
locationUUID: "d4b02df3-d34f-4b0b-9853-4cd38e035e7e"
state: "available"
architecture: "INTEL_X86_64"
osVersion: "Red Hat Enterprise Linux 5 (64-bit)"
imageID: "vm-323"
disks: [
{
size: 0
path: "[test4] redhat-itds.torolab.ibm.com/redhat-itds.torolab.ibm.com.vmdk"
format: "VMDK"
Chapter 5. Managing virtual images 369
instanceRepository: "3f445808-d3b8-4d16-822a-54705ff9e13d"
}
]
methodOfCreation: "unknown"
uuid: "560c826c-c059-4d55-8743-a8f89e592fc8"
updated: 1315477636803
description: null
diskFreeSpace: "1000"
comment: null
domainUUID: "dc4c3466-3b8c-40a7-8097-45bbc7139c7f"
version: "1.1"
"ownerList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
provenanceVersionChainUUID: "ab4c3466-3b8c-40a7-8097-45bbc12384737"
userVersionChainUUIDs: [ "ab4c3466-3b8c-40a7-8097-45bbc12384737" ]
imagePortabilityStatus:"partial"
"imagePortabilityChecker":
[{"checkerName":"DHCP","checkerStatus":"notPassed"},
{"checkerName":"HostnameFileLinux","checkerStatus":"notPassed"}]
}
Index an image
POST /repositoryImage/index
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/repositoryImage/
index
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"imageUUID" : "UUID of image",
"indexType" : "partial or full"
}
Response content-type
application/json
Response example
{"task_uuid":"e4ac3fcf-f3b4-4cc0-8414-a3096595230a"}
List all the operational images in Virtual Image Library
If you specify the optional request parameters, only the operational images related
to the specified objects are returned.
GET /repositoryImage?function=listImages[&domainUUID=<domain_uuid>]
[&locationUUID=<location_uuid>][&repositoryUUID=<repository_uuid>]
[&parentUUID=<parent_uuid>][&imageType=template|instance]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
repositoryImage?function=listImages
Request parameters
domainUUID
locationUUID
370 IBM SmartCloud Orchestrator 2.3: User's Guide
repositoryUUID
parentUUID
imageType that is template or instance
Response content-type
application/json
Response example
A JSON array containing a UUID for each image in the operational repository:
["c4a727c1-9fcc-4188-8f0a-9d168983a85c",
"15cb1e8c-26c3-471c-9401-4ec9a638c75f"
,"50fb2a7a-2ab9-4c92-b04f-46f47c2ccd17"]
List all the operational images in Virtual Image Library with detailed
information
If you specify the optional request parameters, only the operational images related
to the specified objects are returned.
GET /repositoryImage?function=listImagesVerbose[&domainUUID=<domain_uuid>]
[&locationUUID=<location_uuid>][&repositoryUUID=<repository_uuid>]
[&parentUUID=<parent_uuid>][&imageType=template|instance]
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
repositoryImages?function=listImagesVerbose
Request parameters
domainUUID
locationUUID
repositoryUUID
parentUUID
imageType that is template or instance
Response content-type
application/json
Response example
A JSON array containing the following object for each image in the operational
repository:
{
locationName: "Test Environment v41"
usage: "persistentInstance"
indexingState: "notIndexed"
indexedOn: 12345567
os: "LINUX"
hardware: {
virtualSystemType: "vmx-07"
devices: [
{
mappingBehavior: 0
caption: "CPU"
elementName: "CPU"
consumerVisibility: 0
resourceType: 3
automaticAllocation: true
automaticDeallocation: true
Chapter 5. Managing virtual images 371
reservation: 0
allocationUnits: "hertz"
instanceID: 1
virtualQuantity: 2
weight: 2000
limit: -1
description: "2"
}
{
mappingBehavior: 0
caption: "Memory"
elementName: "Memory"
consumerVisibility: 0
resourceType: 4
automaticAllocation: true
automaticDeallocation: true
reservation: 0
allocationUnits: "bytes"
instanceID: 2
virtualQuantity: 4294967296
weight: 40960
limit: -1
description: "4096.0 MB"
}
{
mappingBehavior: 0
caption: "Hard disk 1"
elementName: "Hard disk 1"
consumerVisibility: 0
resourceType: 17
parent: 1000
automaticAllocation: true
automaticDeallocation: true
repositoryIDs: [
"datastore-189"
]
allocationUnits: "bytes"
instanceID: 2000
virtualQuantity: 85899345920
hostResource: [
"[test4] redhat-itds.torolab.ibm.com/redhat-itds.torolab.ibm.com.vmdk"
]
description: "80.0 GB"
addressOnParent: 0
}
{
mappingBehavior: 0
caption: "Network adapter 1"
elementName: "Network adapter 1"
consumerVisibility: 0
resourceType: 10
parent: 100
automaticAllocation: true
resourceSubType: "E1000"
automaticDeallocation: true
instanceID: 4000
address: "00:50:56:98:00:10"
description: "VM Network"
addressOnParent: 7
connection: [
"VM Network"
]
}
]
}
name: "redhat-itds.torolab.ibm.com"
domainName: "tiv-vsphere41"
372 IBM SmartCloud Orchestrator 2.3: User's Guide
locationUUID: "d4b02df3-d34f-4b0b-9853-4cd38e035e7e"
state: "available"
virtualizationType: "VMware"
architecture: "INTEL_X86_64"
osVersion: "Red Hat Enterprise Linux 5 (64-bit)"
imageID: "vm-323"
updated: 1315477636803
uuid: "560c826c-c059-4d55-8743-a8f89e592fc8"
"ownerList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
description: null
domainUUID: "dc4c3466-3b8c-40a7-8097-45bbc7139c7f"
imagePortabilityStatus:"partial"
"imagePortabilityChecker":
[{"checkerName":"DHCP","checkerStatus":"notPassed"},
{"checkerName":"HostnameFileLinux","checkerStatus":"notPassed"}]
}
Reference repository REST API:
Return details about the reference repository
GET /referenceRepository?function=describeRepository
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
referenceRepository?function=describeRepository
Response content-type
application/json
Response example
{
"locationName":null,
"accessList":[],
"numberOfVirtualImages":1,
"name":"reference",
"domainName":null,
"url":"https:\/\/2.zoppoz.workers.dev:443\/http\/9.168.58.110:8081",
"locationUUID":null,
"ownerList":
[
{"numberOfGroups":0,
"isUser":false,
"groupUUIDList":[],
"uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83",
"name":"Everyone",
"roles":[]
}
],
"referenceRepository":"true",
"type":"TPMFI",
"uuid":"f12055cf-d3ec-4328-a0e9-ae97d3ac9463",
"description":"",
"comment":"",
"domainUUID":null
}
Chapter 5. Managing virtual images 373
Import an image into the reference repository
Returns the UUID of the related import task.
POST /referenceRepository/importImage
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/referenceRepository/
importImage
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"name" : "an image name",
"description" : "an optional description",
"comment" : "optional comments",
"versionChainUUID" : "UUID of a version chain, none to join an existing
version chain, or a name to create a new version chain
with the specified name",
"disk" : "the full path to the image file"
}
Response content-type
application/json
Response example
{"task_uuid" : "d760fb14-4c48-4470-a579-51b87b253b61"}
Check out an image from the reference repository to an operational repository
Returns the UUID of the related check-out task.
POST /referenceImage/checkout
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/referenceImage/
checkout
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"referenceImageUUID" : "UUID of the image",
"name" : "an image name",
"description" : "an optional description",
"comment" : "optional comments",
"instanceRepositoryUUID" : "UUID of the repository"
}
Response content-type
application/json
Response example
{"task_uuid" : "d760fb14-4c48-4470-a579-51b87a2c3b62"}
Delete an image from the reference repository
DELETE /referenceImage?referenceImageUUID=<image_uuid>
374 IBM SmartCloud Orchestrator 2.3: User's Guide
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
referenceImage?referenceImageUUID=15cb1e8c-26c3-471c-9401-4ec9a638c75f
Request content-type
application/json
Request parameters
referenceImageUUID
Success code
204
Return details of an image in the reference repository
GET /referenceImage?function=describeImage&referenceImageUUID=<image_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
referenceImage?function=describeImage&referenceImageUUID=15cb1e8c-
26c3-471c-9401-4ec9a638c75f
Request parameters
referenceImageUUID
Response content-type
application/json
Response example
{
"imagePortabilityStatus":"partial",
"provenanceVersionChainUUID":"b7d97d63-6f53-4b7b-ba43-6b2ff2bfd320",
"name":"Rhel61-IDE-PARTIAL",
"state":"available",
"virtualizationType":"VMware",
"architecture":"INTEL_X86_64",
"osVersion":"Red Hat Enterprise Linux 6 (64-bit)",
"methodOfCreation":"created",
"version":"1.1",
"isReferenceImage":true,
"diskFreeSpace":"1000",
"comment":"",
"locationName":null,
"usage":"image",
"indexingState":"fullyIndexed",
"accessList":
[{"numberOfGroups":0,"isUser":false,"groupUUIDList":[],
"uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83","name":"Everyone","roles":[]}],
"userVersionChainUUIDs":["63609155-72f6-4f8c-9e46-15c19de876cb"],
"os":"LINUX",
"imagePortabilityChecker":
[{"checkerName":"NetworksFileLinux","checkerStatus":"notPassed"},
{"checkerName":"FstabFileEntryLinux","checkerStatus":"notPassed"},
{"checkerName":"Disk_Device","checkerStatus":"passed"},
{"checkerName":"SShServerConfigured","checkerStatus":"notPassed"},
{"checkerName":"LVM_Disk","checkerStatus":"passed"},
{"checkerName":"RCLocalLinux","checkerStatus":"notPassed"},
{"checkerName":"Ifcfgeth0FileLinux","checkerStatus":"notPassed"},
{"checkerName":"Multiple_Disk","checkerStatus":"passed"},
{"checkerName":"HostsFileLinux","checkerStatus":"notPassed"},
{"checkerName":"WriteNetRulesFileLinux","checkerStatus":"notPassed"},
{"checkerName":"SShServerInstalled","checkerStatus":"passed"}],
"created":1336756108114,
"hardware":
{
"virtualSystemType":"vmx-08",
Chapter 5. Managing virtual images 375
"devices":
[
{"mappingBehavior":0,"caption":"CPU","elementName":"CPU","consumerVisibility":0,
"resourceType":3,"automaticAllocation":true,"automaticDeallocation":true,
"reservation":0,"allocationUnits":"hertz","instanceID":1,"virtualQuantity":1,
"weight":1000,"limit":-1,"description":"1"},
{"mappingBehavior":0,"caption":"Memory","elementName":"Memory",
"consumerVisibility":0,"resourceType":4,"automaticAllocation":true,
"automaticDeallocation":true,"reservation":0,"allocationUnits":"bytes",
"instanceID":2,"virtualQuantity":2147483648,"weight":20480,"limit":-1,
"description":"2048.0 MB"},
{"mappingBehavior":0,"caption":"Hard disk 1","elementName":"Hard disk 1",
"consumerVisibility":0,"resourceType":17,"parent":200,"automaticAllocation":true,
"automaticDeallocation":true,"repositoryIDs":["datastore-11"],
"allocationUnits":"bytes","instanceID":3000,"virtualQuantity":8589934592,
"hostResource":
["[dsrtl-VMwareCCS-01-001] Rhel61-IDE-PARTIAL\/Rhel61-IDE-PARTIAL.vmdk"],
"description":"8.0 GB","addressOnParent":0},
{"mappingBehavior":0,"caption":"Network adapter 1",
"elementName":"Network adapter 1","consumerVisibility":0,"resourceType":10,
"parent":100,"automaticAllocation":true,"resourceSubType":"E1000",
"automaticDeallocation":true,"instanceID":4000,"address":"00:50:56:9c:44:92",
"description":"Internal10GBVLAN10","addressOnParent":7,
"connection":["Internal10GBVLAN10"]},
{"mappingBehavior":0,"caption":"Video card","elementName":"Video card",
"consumerVisibility":0,"resourceType":24,"parent":100,"automaticAllocation":true,
"automaticDeallocation":true,"allocationUnits":"bytes","instanceID":500,
"virtualQuantity":8388608,"description":"8.0 MB","addressOnParent":0},
{"mappingBehavior":0,"caption":"CD\/DVD drive 1","elementName":"CD\/DVD drive 1",
"consumerVisibility":0,"resourceType":15,"parent":201,"automaticAllocation":true,
"automaticDeallocation":true,"repositoryIDs":["datastore-11"],"instanceID":3002,
"hostResource":
["[dsrtl-VMwareCCS-01-001] iso\/RHEL6.1-20110510.1-Server-x86_64-DVD1.iso"],
"description":
"ISO [dsrtl-VMwareCCS-01-001] iso\/RHEL6.1-20110510.1-Server-x86_64-DVD1.iso",
"addressOnParent":0},
{"mappingBehavior":0,"instanceID":8000,"caption":"Floppy drive 1",
"elementName":"Floppy drive 1","resourceType":14,"consumerVisibility":0,
"parent":400,"automaticAllocation":false,"description":"Remote",
"automaticDeallocation":true,"addressOnParent":0},
{"mappingBehavior":0,"instanceID":100,"caption":"PCI controller 0",
"elementName":"PCI controller 0","otherResourceType":"PCI Controller",
"resourceType":1,"consumerVisibility":0,"automaticAllocation":true,
"description":"PCI controller 0","automaticDeallocation":true},
{"mappingBehavior":0,"instanceID":200,"caption":"IDE 0","elementName":"IDE 0",
"resourceType":5,"consumerVisibility":0,"automaticAllocation":true,
"description":"IDE 0","automaticDeallocation":true},
{"mappingBehavior":0,"instanceID":201,"caption":"IDE 1","elementName":"IDE 1",
"resourceType":5,"consumerVisibility":0,"automaticAllocation":true,
"description":"IDE 1","automaticDeallocation":true},
{"mappingBehavior":0,"instanceID":300,"caption":"PS2 controller 0",
"elementName":"PS2 controller 0","otherResourceType":"PS2 Controller",
"resourceType":1,"consumerVisibility":0,"automaticAllocation":true,
"description":"PS2 controller 0","automaticDeallocation":true},
{"mappingBehavior":0,"instanceID":400,"caption":"SIO controller 0",
"elementName":"SIO controller 0","otherResourceType":"SIO Controller",
"resourceType":1,"consumerVisibility":0,"automaticAllocation":true,
"description":"SIO controller 0","automaticDeallocation":true},
{"mappingBehavior":0,"instanceID":600,"caption":"Keyboard",
"elementName":"Keyboard","resourceType":13,"consumerVisibility":0,
"parent":300,"automaticAllocation":true,"resourceSubType":"Keyboard",
"description":"Keyboard","automaticDeallocation":true,"addressOnParent":0},
{"mappingBehavior":0,"instanceID":700,"caption":"Pointing device",
"elementName":"Pointing device","resourceType":13,"consumerVisibility":0,
"parent":300,"automaticAllocation":true,
"description":"Pointing device; Device","automaticDeallocation":true,
"addressOnParent":1},
376 IBM SmartCloud Orchestrator 2.3: User's Guide
{"mappingBehavior":0,"instanceID":12000,"caption":"VMCI device",
"elementName":"VMCI device","otherResourceType":"VMCI","resourceType":1,
"consumerVisibility":0,"parent":100,"automaticAllocation":true,
"description":"Device on the virtual machine PCI bus that provides support for
the virtual machine communication interface","automaticDeallocation":true,
"addressOnParent":17}
]
},
"creator":"root",
"domainName":null,
"indexedOn":1337010983404,
"locationUUID":null,
"ownerList":
[{"numberOfGroups":0,"isUser":true,"groupUUIDList":[],
"uuid":"353dc07c-87fc-458e-bc03-44f097bf3a93","name":"wasadmin","roles":[]}],
"folderPath":null,
"imageID":"Rhel61-IDE-PARTIAL",
"disks":
[{"size":8589934592,"repositoryName":"reference",
"repositoryUUID":"f12055cf-d3ec-4328-a0e9-ae97d3ac9463",
"path":"21b7fb28-9879-434e-ab79-ee1a026031d3-Rhel61-IDE-PARTIAL.vmdk.sgd",
"format":null,"virtIO":false}],
"updated":1336756108114,
"uuid":"29bfd583-b014-43f9-9300-a4c4018f32b9","imageSize":8589934592,
"description":"",
"domainUUID":null
}
Index an image
POST /referenceImage/index
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/referenceImage/index
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"referenceImageUUID" : "UUID of image",
"indexType" : "partial or full"
}
Response content-type
application/json
Response example
{"task_uuid":"e4ac3fcf-f3b4-4cc0-8414-a3096595230a"}
List all the images in the reference repository
GET /referenceImage?function=listImages
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
referenceImage?function=listImages
Response content-type
application/json
Response example
A JSON array containing a UUID for each image in the reference repository:
Chapter 5. Managing virtual images 377
["c4a727c1-9fcc-4188-8f0a-9d168983a85c",
"15cb1e8c-26c3-471c-9401-4ec9a638c75f",
"50fb2a7a-2ab9-4c92-b04f-46f47c2ccd17"]
List all the images in the reference repository with detailed information
GET /referenceImage?function=listImagesVerbose
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
referenceImage?function=listImagesVerbose
Response content-type
application/json
Response example
A JSON array containing the following object for each image in the reference
repository:
{
"imagePortabilityStatus":"partial",
"provenanceVersionChainUUID":"b7d97d63-6f53-4b7b-ba43-6b2ff2bfd320",
"repositoryUUID":"f12055cf-d3ec-4328-a0e9-ae97d3ac9463",
"name":"Rhel61-IDE-PARTIAL",
"state":"available",
"virtualizationType":"VMware",
"architecture":"INTEL_X86_64",
"osVersion":"Red Hat Enterprise Linux 6 (64-bit)",
"version":"1.1",
"isReferenceImage":true,
"locationName":null,
"usage":"image",
"indexingState":"fullyIndexed",
"accessList":
[{"numberOfGroups":0,"isUser":false,"groupUUIDList":[],
"uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83","name":"Everyone","roles":[]}],
"userVersionChainUUIDs":["63609155-72f6-4f8c-9e46-15c19de876cb"],
"os":"LINUX",
"imagePortabilityChecker":
[{"checkerName":"NetworksFileLinux","checkerStatus":"notPassed"},
{"checkerName":"FstabFileEntryLinux","checkerStatus":"notPassed"},
{"checkerName":"Disk_Device","checkerStatus":"passed"},
{"checkerName":"SShServerConfigured","checkerStatus":"notPassed"},
{"checkerName":"LVM_Disk","checkerStatus":"passed"},
{"checkerName":"RCLocalLinux","checkerStatus":"notPassed"},
{"checkerName":"Ifcfgeth0FileLinux","checkerStatus":"notPassed"},
{"checkerName":"Multiple_Disk","checkerStatus":"passed"},
{"checkerName":"HostsFileLinux","checkerStatus":"notPassed"},
{"checkerName":"WriteNetRulesFileLinux","checkerStatus":"notPassed"},
{"checkerName":"SShServerInstalled","checkerStatus":"passed"}],
"hardware":
{
"virtualSystemType":"vmx-08",
"devices":
[
{"mappingBehavior":0,"caption":"CPU","elementName":"CPU","consumerVisibility":0,
"resourceType":3,"automaticAllocation":true,"automaticDeallocation":true,
"reservation":0,"allocationUnits":"hertz","instanceID":1,"virtualQuantity":1,
"weight":1000,"limit":-1,"description":"1"},
{"mappingBehavior":0,"caption":"Memory","elementName":"Memory",
"consumerVisibility":0,"resourceType":4,"automaticAllocation":true,
"automaticDeallocation":true,"reservation":0,"allocationUnits":"bytes",
"instanceID":2,"virtualQuantity":2147483648,"weight":20480,"limit":-1,
"description":"2048.0 MB"},
{"mappingBehavior":0,"caption":"Hard disk 1","elementName":"Hard disk 1"
,"consumerVisibility":0,"resourceType":17,"parent":200,"automaticAllocation":true,
378 IBM SmartCloud Orchestrator 2.3: User's Guide
"automaticDeallocation":true,"repositoryIDs":["datastore-11"],
"allocationUnits":"bytes","instanceID":3000,"virtualQuantity":8589934592,
"hostResource":
["[dsrtl-VMwareCCS-01-001] Rhel61-IDE-PARTIAL\/Rhel61-IDE-PARTIAL.vmdk"],
"description":"8.0 GB","addressOnParent":0},
{"mappingBehavior":0,"caption":"Network adapter 1",
"elementName":"Network adapter 1","consumerVisibility":0,"resourceType":10,
"parent":100,"automaticAllocation":true,"resourceSubType":"E1000",
"automaticDeallocation":true,"instanceID":4000,"address":"00:50:56:9c:44:92",
"description":"Internal10GBVLAN10","addressOnParent":7,
"connection":["Internal10GBVLAN10"]}
]
},
"domainName":null,
"locationUUID":null,
"indexedOn":1337010983404,
"ownerList":
[{"numberOfGroups":0,"isUser":true,"groupUUIDList":[]
,"uuid":"353dc07c-87fc-458e-bc03-44f097bf3a93","name":"wasadmin","roles":[]}],
"folderPath":null,
"repositoryName":"reference",
"imageID":"Rhel61-IDE-PARTIAL",
"updated":1336756108114,
"uuid":"29bfd583-b014-43f9-9300-a4c4018f32b9",
"description":"",
"domainUUID":null
}
]
Task REST API:
List all the tasks
GET /task?function=listAllTasks
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
task?function=listAllTasks
Response content-type
application/json
Response example
A JSON array containing the following object for each tasks:
{
"task_uuid" : "b60b7983-50cf-4c95-96ce-fb041c7109f3",
"name" : "taskName_index",
"details" : {"imageName":"test"},
"ownerList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"accessList":
[{"name":"Everyone","uuid":"ed881bac-6397-3de3-bc0a-285c9f50bb83"},
"groupUUIDList":[],"isUser":false}],
"status" : "InProgress",
"percentComplete" : "50",
"timeCreated" : "1312565894424",
"timeStarted" : "1312565904378",
"timeCompleted" : "1312565955128"
}
Remove a task
You cannot remove a task that is in progress.
DELETE /task?task_uuid=<task_uuid>
Chapter 5. Managing virtual images 379
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
task?task_uuid=b60b7983-50cf-4c95-96ce-fb041c7109f3
Request parameters
task_uuid
Success code
204
Get the task status
GET /task?function=getTaskStatus&task_uuid=<task_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
task?function=getTaskStatus&task_uuid=b60b7983-50cf-4c95-96ce-
fb041c7109f3
Request parameters
task_uuid
Response content-type
application/json
Response example
A JSON object containing one of the following statuses:
v Queued
v Completed
v Failed
v InProgress
{ "status" : "InProgress"}
Get the percentage of a task completion
GET /task?function=getTaskPercentComplete&task_uuid=<task_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
task?function=getTaskPercentComplete&task_uuid=b60b7983-50cf-4c95-
96ce-fb041c7109f3
Request parameters
task_uuid
Response content-type
application/json
Response example
{ "percentComplete" : 50}
Get the error message of a failed task
GET /task?function=getTaskError&task_uuid=<task_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
task?function=getTaskError&task_uuid=b60b7983-50cf-4c95-96ce-
fb041c7109f3
380 IBM SmartCloud Orchestrator 2.3: User's Guide
Request parameters
task_uuid
Response content-type
application/json
Response example
{
"ERROR_CODE" : "COPIML108EcannotConnectToDomain",
"ERROR_MESSAGE":"Cannot connect to the domain host name 9.123.141.177
using user name admin."
"ERROR_CAUSE":"null"
}
Users REST API:
Triggers resynchronization of Virtual Image Library users and groups with
WebSphere users and groups.
POST /userAndGroup?function=synchronize
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
userAndGroup?function=synchronize
Request parameters
None
Response content-type
application/json
Response example
{"task_uuid" : "d760fb14-4c48-4470-a579-51b93b6b58c7"}
Version chain REST API:
List all the version chains
GET /versionChain?function=listUserVersionChains
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
versionChain?function=listUserVersionChains
Response content-type
application/json
Response example
A JSON array containing the following object for each version chain:
{
"name" : "vm-test-01",
"uuid" : "dc4c3466-3b8c-40a7-8097-45bbc7139c7f"
}
Return information about a version chain
GET /versionChain?function=describeVersionChain&versionChainUUID=<versionchain_uuid>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
versionChain?function=describeVersionChain
&versionChainUUID=dc4c3466-3b8c-40a7-8097-45bbc7139c7f
Chapter 5. Managing virtual images 381
Request parameters
versionChainUUID
Response content-type
application/json
Response example
A JSON object tree of all the objects that are in the version chain. The types of
output are:
v Provenance output
{
name: "string",
description: "string"
comment: "string",
firstLinkUUID: "string",
version chain:
{
imageName: "string",
imageUUID: "string",
imageParentUUID: "string",
imageVersion: "string",
imageType: "string",
imageDeleted: boolean,
imageRoot: boolean,
children:
[
{
imageName: "string",
imageUUID: "string",
imageParentUUID: "string",
imageVersion: "string",
imageType: "string",
imageDeleted: boolean,
imageRoot: boolean,
children: [{...}, ...]
},
..., ...
]
}
}
v Version chain output
{
name: "string",
description: "string"
comment: "string",
firstLinkUUID: "string",
version chain:
[{
imageName: "string",
imageUUID: "string",
imageParentUUID: "string",
imageVersion: "string",
imageType: "string",
imageDeleted: boolean,
imageRoot: boolean,
children:
[
{
imageName: "string",
imageUUID: "string",
imageParentUUID: "string",
imageVersion: "string",
imageType: "string",
382 IBM SmartCloud Orchestrator 2.3: User's Guide
imageDeleted: boolean,
imageRoot: boolean,
children: [{...}, ...]
},
..., ...
]
} , ..., ...]
}
Return all the descendants of an image in a version chain
GET /versionChain?function=describeDescendantLinks
&versionChainUUID=<versionchain_uuid>&linkUUID=<image_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
versionChain?function=describeDescendantLinks
&versionChainUUID=dc4c3466-3b8c-40a7-8097-45bbc7139c7f
&linkUUID=c4a727c1-9fcc-4188-8f0a-9d168983a85c
Request parameters
versionChainUUID
linkUUID
Response content-type
application/json
Response example
A JSON object tree of all the objects that are descendants of the specified image:
{
name: "string",
description: "string"
comment: "string",
version chain:
{
imageName: "string",
imageUUID: "string",
imageParentUUID: "string",
imageVersion: "string",
imageType: "string",
imageDeleted: boolean,
imageRoot: boolean,
children:
[
{
imageName: "string",
imageUUID: "string",
imageParentUUID: "string",
imageVersion: "string",
imageType: "string",
imageDeleted: boolean,
imageRoot: boolean,
children: [{...}, ...]
},
..., ...
]
}
}
Chapter 5. Managing virtual images 383
Return all the ancestors of an image in a version chain
GET /versionChain?function=describeAncestralLinks
&versionChainUUID=<versionchain_uuid>&linkUUID=<image_UUID>
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/
versionChain?function=describeAncestralLinks
&versionChainUUID=dc4c3466-3b8c-40a7-8097-45bbc7139c7f
&linkUUID=c4a727c1-9fcc-4188-8f0a-9d168983a85c
Request parameters
versionChainUUID
linkUUID
Response content-type
application/json
Response example
A JSON object tree of all the objects that are ancestors of the specified image.
Move an image to a different version chain
Moves an image and all the descendent images to the specified version chain.
POST /versionChain/moveLinksToVersionChain
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/versionChain/
moveLinksToVersionChain
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"versionChainUUID" : "the version chain UUID",
"linkUUID" : "the image UUID"
}
Success code
204
Move an image to a new version chain
Creates a new version chain and moves the specified image and all the descendent
images to the new version chain.
POST /versionChain/createNewVersionChainAndMoveLinks
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/versionChain/
createNewVersionChainAndMoveLinks
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
384 IBM SmartCloud Orchestrator 2.3: User's Guide
{
"linkUUID" : "the image UUID",
"name" : "the name of the new version chain"
}
Response content-type
application/json
Response example
{
"versionChaindUUID" : "dc4c3466-3b8c-40a7-8097-45bbc7139c7f",
"name" : "My Version Chain"
}
Edit the properties of a version chain
PUT /versionChain/editVersionChain
Example URL
https://localhost:9443/ImageLibrary/ImageLibrary/versionChain/
editVersionChain
Request content-type
application/json
Request parameters
A JSON object in the HTTP body:
{
"versionChainUUID" : "the version chain UUID",
"name" : "a new name for the version chain",
"description" : "a new description for the version chain",
"comment" : "a new comment for the version chain"
}
Success code
204
IaaS API reference
Get information about using the Infrastructure as a Service (IaaS) application
programming interface (API) for Virtual Image Library.
Virtual Image Library is registered as a new service with the SmartCloud
Orchestrator GateWay (GW) with the following characteristics:
type vil
name vil-image-service
After you get the public URL for vil-image-service from the SmartCloud
Orchestrator GW, you can invoke the Glance APIs and the extensions.
Glance API:
The following versions of Glance API are supported:
Glance API version 1.x
Version 1 Glance APIs are available at http://docs.openstack.org/
developer/glance/glanceapi.html.
Glance API version 2.x
For version 2 Glance APIs, see the section Compute at
http://api.openstack.org/api-ref.html. Implemented APIs are the ones
listed that begin with v2/images.
Chapter 5. Managing virtual images 385
OVF metadata REST API:
In Virtual Image Library, you can add files to an image, providing customization.
Using Glance, you can already add metadata as key, value pairs, but Virtual Image
Library extends this capability so you can add files that contain more information.
You can associate any file to the image, typically adding license files, translation
bundles, and multi-part files to be used during deployment. These files are
provided and returned as a compressed file and stored in Glance as an ISO image.
These images are not available to the user for deployment.
Create an ISO image in OpenStack
This API creates an ISO image in OpenStack and connects it to the specified image
by custom property. Created ISO images are not visible as valid images by Virtual
Image Library after they are created. If you run the list of available images, new
images are not displayed.
POST <VIL Service URL>/<version>/image/{id}/postOvfMetadata
where:
<VIL Service URL> is the public URL registered in the Gateway for the Virtual
Image Library image service
<version> is the PAI version that can be, for example "v1", "v1.0", "v1.1", "v2",
"v2.0". This API performs in same way for any version
{id} is the image ID in OpenStack
POST body is the compressed file that contains the metadata to be attached to the
image
Example URL
http://9.115.77.65:9973/f9c63dd430ae4f7bb3be26bd1765730f/public/ImageLibrary/ImageService/
v1/images/7de6d6e2-ea03-4500-a854-1aa4e1b74a08/postOvfMetadata
Request content-type
application/octet-stream
Request parameters
Image ID in the URL and the compressed file that contains additional
metadata files as request body
Response example
{
"name": "IBM OS Image for Fedora_Fedora-16-ec2-20111101-i386-sda-2GB.qcow2",
"container_format": "bare",
"disk_format": "qcow2",
"checksum": "f55a04393d28980602f72f481e233cc0",
"id": "7de6d6e2-ea03-4500-a854-1aa4e1b74a08",
"size": 402259968
}
To retrieve attached information
GET <VIL Service URL>/<version>/image/{id}/ovfMetadata
where:
<VIL Service URL> is the public URL registered in the Gateway for the Virtual
Image Library image service
386 IBM SmartCloud Orchestrator 2.3: User's Guide
<version> is the PAI version that can be, for example "v1", "v1.0", "v1.1", "v2",
"v2.0". This API performs in same way for any version
{id} is the image ID in OpenStack
Example URL
http://9.115.77.65:9973/f9c63dd430ae4f7bb3be26bd1765730f/public/ImageLibrary/ImageService/
v1/images/7de6d6e2-ea03-4500-a854-1aa4e1b74a08/ovfMetadata
Request parameters
Image ID in the URL
Response example
Compressed file that contains the required metadata
Return the OVF contained by the metadata
GET <VIL Service URL>/<version>/image/{id}/ovf
where:
<VIL Service URL> is the public URL registered in the Gateway for the Virtual
Image Library image service
<version> is the PAI version that can be, for example "v1", "v1.0", "v1.1", "v2",
"v2.0". This API performs in same way for any version
{id} is the image ID in OpenStack
Example URL
http://9.115.77.65:9973/f9c63dd430ae4f7bb3be26bd1765730f/public/ImageLibrary/ImageService/
v1/images/7de6d6e2-ea03-4500-a854-1aa4e1b74a08/ovfMetadata
Request parameters
Image ID in the URL
Response example
XML file that contains the OVF envelope that describes the image, if
contained by compressed file that is provided with postOvfMetadata.
Working with IBM Image Construction and Composition Tool
Use the Image Construction and Composition Tool to build virtual images for
deployment into cloud environments. Experts build particular software bundles for
reuse by others. This simplifies the complexity of image creation and reduces
errors. You can reuse and manage images and software in a cloud environment
and build and share images that are self-descriptive, customizable, and
manageable.
Creating virtual images with the Image Construction and
Composition Tool versus traditional methods
Using traditional approaches, image creation is a long and error-prone procedure
that lacks standardization and does not promote a high degree of reuse. However,
many of the operations and software content should be standardized and reusable.
A successful approach to image creation needs to ensure that while providing the
capability for reuse and standardization, images also need to be customized. This
approach has an additional challenge, that of combining reuse and standardization
while allowing for a high degree of customization and deployment into specific
environments.
Chapter 5. Managing virtual images 387
The following table compares the image creation process using a traditional
approach versus using Image Construction and Composition Tool.
Table 29. Creating an image using Image Construction and Composition Tool
Image creation
approach Process
Traditional image
creation process
Creating an image using a traditional approach is complex and
requires specialized knowledge:
1. Create a virtual machine.
2. Install and configure software on the virtual machine. This
process requires significant specialized knowledge of the
particular software.
3. Test the virtual machine and software.
4. Develop configuration scripts and edit the image metadata as
required. Requires knowledge of virtualization technology.
5. Save the disk image.
6. Test the image configuration.
Image Construction
and Composition Tool
image creation
process
Creating an image using the Image Construction and Composition
Tool involves the following steps, none of which requires specialist
knowledge:
1. Choose a base image.
2. Add a predefined software bundle.
3. The software bundle is automatically installed and configured.
4. Test the image.
5. Save the image.
Model-driven image creation
Use the Image Construction and Composition Tool to build a model of an image
by combining models of a base operating system and software bundles. Each
building block contains a semantic and functional model that describes the
contents of the components, for example, the products installed, supported
operating system, prerequisites, and requirements. Each building block also
contains the installation and configuration operations and their parameters. This
metadata makes it possible to complete validation on the model. The validation
can check, for example, if all of the prerequisites are selected and installed, if the
base image is compatible with all of the software bundles, and if the installation
order is correct. Validation is completed before installing the software physically on
a virtual machine, where the process would take longer to complete.
Automated installation process
After you create the image model, the software installation and image building
process is fully automated. It does not require any user skills or input, no matter
what the cloud environment or operating system.
Image lifecycle management
The Image Construction and Composition Tool enhances the efficiency of image
lifecycle management. Images that you create are self-describing. At a glance, you
can see the contents of the image. The images are also customizable and
manageable. You can export images to another system and other users can import
images that you create. Images created with the Image Construction and
388 IBM SmartCloud Orchestrator 2.3: User's Guide
Composition Tool have a high degree of interoperability with other IBM products
and software.
Image creation and activation
You can create images of your operating system and software content. The tool
supports multiple individuals or organizations. Content is added based on
expertise and that expertise is captured in the tool, facilitating reuse and
propagation. Image builders can use the encapsulated content created by experts to
build images without requiring in-depth knowledge of the operating system or
software installation themselves. Specialists build particular software bundles and
these bundles are then available for images builders to access when they are
creating images.
The primary users of the Image Construction and Composition Tool are:
v Operating system specialists who use the tool to specify and create base
operating system images for organizational use
v Software specialists who use the tool to specify and create software bundles
encapsulating software content
v Image builders who use the tool to build images for deployment by selecting the
operating system and software
v Cloud administrators who want to provide users of their cloud with virtual
machines with preinstalled software
Installing, upgrading, and uninstalling Image Construction and
Composition Tool
Install, upgrade, or uninstall the Image Construction and Composition Tool.
You can install the Image Construction and Composition Tool on any computer
that can connect to the virtual machines created by IBM SmartCloud Orchestrator
and all of its nodes. In the installation and upgrade, the file permissions set is 640
general files and 750 executable files.
Make sure that the following ports are open on the machine on which the Image
Construction and Composition Tool is installed:
v 22
v 80
v 443
v 445, if you are building Windows images
Note: After you have installed the Image Construction and Composition Tool, the
default ID is admin and the password is Passw0rd.
For information about how to create new images, see Creating new images or
using existing images on page 488.
Chapter 5. Managing virtual images 389
Installing IBM Image Construction and Composition Tool on
Linux
Review the requirements and install Image Construction and Composition Tool
using either a normal or silent installation.
Prerequisites
To install Image Construction and Composition Tool, ensure that the following
system requirements are met:
Hardware requirements (physical or virtual)
v Minimum requirements: 1 CPU and 1 GB of memory
v Suggested requirements: 2 CPUs and 2 GB of memory
v 60 GB of disk space, depending on your cloud providers
Additional requirements
v Ensure that additional disk space is reserved for the growth of the /drouter
directory. This directory is used by Image Construction and Composition Tool.
100 GB is recommended. If the partition is full, you can extend it using the
capabilities provided by the operating system.
v Ports 80 (default HTTP) and 443 must not be in use or reserved by other
applications.
Operating system where the Image Construction and Composition Tool can be
installed:
v SLES 11 SP1 and SP2, 32-bit and 64-bit
v RHEL 6.0, 6.1, 6.2, and 6.3, 32-bit and 64-bit. Minimal installations of Red Hat
Enterprise Linux are not supported.
For information about guest operating systems, see Supported operating systems
on page 16.
Before you begin
Before installing, you must install the 32-bit versions of the system libraries for
RHEL 6.0/6.1/6.2/6.3 x86_64 (64-bit), which are available from the OS DVD. These
libraries are not installed by default.
To install the libraries proceed as follows:
1. Access the installation media.
2. Select open a terminal window as a root.
3. Run:
[root@localhost]# mkdir /mnt/cdrom
[root@localhost]# mount -o ro /dev/cdrom /mnt/cdrom
4. Create the text file server.repo in the /etc/yum.repos.d directory.
Note: To use gedit, run:
[root@localhost]# gedit /etc/yum.repos.d/server.repo
Add the following text to the file:
390 IBM SmartCloud Orchestrator 2.3: User's Guide
[server]
name=server
baseurl=file:///mnt/cdrom/Workstation
enabled=1
where baseurl depends on the mounting point and the RHEL distribution. In
the example, the mounting point is cdrom and the RHEL distribution is
Workstation but could be server.
It is recommended to use yum instead of, for example, an RPM tool, because
another tool does not satisfy the library dependencies.
5. Run:
[root@localhost]# yum clean all
6. To import the related public keys, run:
[root@localhost]# rpm --import /mnt/cdrom/*GPG*
7. To install the required libraries, run:
[root@localhost]# yum install gtk2.i686
[root@localhost]# yum install libXtst.i686
During the installation you might receive prompts similar to:
Total download size: 15 M
Installed size: 47 M
Is this ok [y/N]: y
Answer with y.
Note: The package name extension (.i686) might change in the command
depending on the hardware platform that you use. On the x86/x86_64
platform, the package name extension on 32-bit is i686, while on 64-bit is
x86_64.
Installation steps
Note: Do not install the Image Construction and Composition Tool on any IBM
SmartCloud Orchestrator version 2.1 Linux machine where the Workload Deployer
component is already installed.
To install Image Construction and Composition Tool on Linux:
1. Insert the DVD and extract the tar file or access the Image Construction and
Composition Tool from the IBM SmartCloud Orchestrator user interface.
2. Run sh ./install. IBM Installation Manager is installed if it is not already
installed. When IBM Installation Manager is installed, it installs IBM Image
Construction and Composition Tool.
3. On the Packages page, verify that IBM Image Construction and Composition
Tool is selected and the version is correct. Click Next.
4. Accept the license agreement, and click Next.
5. Select the Shared Resources directory and click Next.
6. Accept the default installation location, or provide a location where you want
to install Image Construction and Composition Tool and click Next. The
installation location can contain English characters only.
7. Accept the default values for the language panel. Click Next.
8. On the Feature panel, ensure that IBM Image Construction and Composition
Tool is selected. Click Next.
Chapter 5. Managing virtual images 391
9. Provide a user name and password for the Image Construction and
Composition Tool instance you are installing. The password must be 8-12
characters and contain at least one number, one lowercase letter, and one
uppercase letter. These restrictions are not automatically enforced during
installation. The default password is passw0rd. Click Next.
10. Click Install.
Image Construction and Composition Tool is installed and the user interface is
available from the following web address:
https://<IP_address>/icn/ui/
Use the credentials that you provided during installation to log in to Image
Construction and Composition Tool.
Silent installation steps
To install IBM Installation Manager and Image Construction and Composition Tool
silently on Linux:
1. Go to the directory where the compressed file .tar is saved and extract the
compressed file. From the .tar file, extract the compressed file
ICCT_Install_<version>.zip.
2. Open the file install.xml in a text editor and remove the following lines:
<repository location=icon/>
<offering id=com.ibm.cloud.icon/>
3. In the compressed file that contains the Image Construction and Composition
Tool binary files, open the response file named icon/
icon_silent_install_response_file.xml. Edit the file so that the repository
location points to the icon directory in the directory where the compressed file
is extracted. This directory must contain the file repository.config. For
example:
<repository location=/path/to/icon_im_repository/icon/>
If you want to change the installation directory from the default location,
update the parameter installLocation to point to the location that you want
by updating the following line in the file:
<profile id="Image Construction and Composition Tools"
installLocation="/opt/IBM/icon"/>
The installation location can contain English characters only.
4. Generate the encrypted password for the response file by running:
<UNCOMPRESSED_DIR>/tools/imcl encryptString <password>
where UNCOMPRESSED_DIR is the directory where theImage Construction
and Composition Tool package has been uncompressed.
The password must be 8-12 characters and contain at least one number, one
lowercase letter, and one uppercase letter. These restrictions are not
automatically enforced during installation. The default password is passw0rd.
For information about providing command-line arguments and encrypting
passwords, see the IBM Installation Manager information center.
5. Set the user name and password by updating the following line in the file:
<data key=user.username,com.ibm.cloud.icon value=admin/>
<data key=user.password,com.ibm.cloud.icon value=fufgZbY47EfxLYarBAIxeQ==/>
<data key=user.confirmPassword,com.ibm.cloud.icon value=fufgZbY47EfxLYarBAIxeQ==/>
392 IBM SmartCloud Orchestrator 2.3: User's Guide
6. If installing Image Construction and Composition Tool on a computer where
IBM Installation Manager is installed, run the following command to install
Image Construction and Composition Tool:
<IM_INSTALL_DIR>/eclipse/tools/imcl input <response_file>
-log <log_file> -acceptLicense
where <IM_INSTALL_DIR> is the Installation Manager home directory. The
default directory is /opt/IBM/InstallationManager.
7. If installing Image Construction and Composition Tool on a computer where
Installation Manager is not installed, run the following command to install both
Installation Manager and Image Construction and Composition Tool:
./install --launcher.ini silent-install.ini -input <response_file>
-log <log_file> -acceptLicense
The install command is in the directory where the Image Construction and
Composition Tool binary files were extracted.
Image Construction and Composition Tool is installed and is accessible from
https://<IP_address>/icn/ui/. You can log in to this instance by using the
credentials that were used in the response file.
Upgrading the Image Construction and Composition Tool
Upgrade the Image Construction and Composition Tool using the standard
upgrade procedure or using the silent upgrade procedure.
Upgrading from a previous version:
You can upgrade from a previous version of IBM Image Construction and
Composition Tool. You can also install a fix pack on top of an existing installation.
Before you begin
You can upgrade Image Construction and Composition Tool directly from the latest
version of the product that you are using it with, or you can get the compressed
upgrade file from IBM Fix Central.
Note: When you upgrade from Image Construction and Composition Tool, you
must change your existing password. The password must be 8-20 characters and
contain at least one number, one lowercase letter, and one uppercase letter. This is
necessary only if the existing password does not respect these requirements.
Procedure
1. Download and extract the compressed file to the computer where you want to
upgrade or install the Image Construction and Composition Tool fix pack. The
format of the compressed file is ICCT_Install_<version>.zip.
2. Start IBM Installation Manager by running <IM_INSTALL_DIR>/eclipse/IBMIM.
The default value for <IM_INSTALL_DIR> is /opt/IBM/InstallationManager.
3. Add the new repository by clicking File > Preferences in Installation Manager.
The location of the new repository is <extract_dir>/icon/, where
<extract_dir> is the directory where you extracted the compressed file. Ensure
that the <extract_dir> is not the same directory that you used in previous
installations. Ensure that the Search service repositories during installation
and updates option is unchecked
4. From the Installation Manager start page, select Update. Go through the panels
to upgrade or install the fix pack.
Chapter 5. Managing virtual images 393
Results
Image Construction and Composition Tool is upgraded to the latest version.
Upgrading silently from a previous version:
You can upgrade silently from a previous version of IBM Image Construction and
Composition Tool. You can also install a fix pack on top of an existing installation.
Before you begin
Note: When you upgrade from Image Construction and Composition Tool, you
must change your existing password. The password must be 8-20 characters and
contain at least one number, one lowercase letter, and one uppercase letter.
If you want to upgrade from IBM Image Construction and Composition Tool
V1.2.0.x, do not use the instructions in this topic to complete the upgrade process.
Instead, you must uninstall Image Construction and Composition Tool while
keeping their contents of the /drouter directory, and then install the latest release
of the Image Construction and Composition Tool by using the existing /drouter
directory. For more information, see:
v Installing IBM Image Construction and Composition Tool on Linux on page
390
v Uninstalling the product on page 395
You can upgrade Image Construction and Composition Tool directly from the latest
version of the product that you are using it with, or you can get the compressed
upgrade file from IBM Fix Central.
If Installation Manager is not installed on your system, complete the following
steps before attempting to upgrade:
1. Edit the file install.xml to remove the following two lines:
<repository location=icon/>
<offering id=com.ibm.cloud.icon/>
2. Install the Installation Manager agent, by running the following command:
./installc acceptLicense
Procedure
1. Download and extract the compressed file to the computer where you want to
upgrade or install the Image Construction and Composition Tool fix pack. The
format of the compressed file is ICCT_IM_Repository_<version>.zip.
2. Important: If you are upgrading from Image Construction and Composition
Tool V1.1, you must delete or move the files from the directory
<ICCT_INSTALL_DIR>/license. The default value for <ICCT_INSTALL_DIR> is
/opt/IBM/icon.
For any other upgrade paths, do not delete or move these files, or you will get
an error message.
3. Modify the following line in <extract_dir>/
icon_silent_install_response_file.xml to point to <extract_dir>:
<repository location=/path/to/icon_im_repository/icon/>
4. Run the following command:
<IM_INSTALL_DIR>/eclipse/IBMIM --launcher.ini <IBM_INSTALL_DIR>/eclipse/silent-install.ini
-input <extract_dir>/icon_silent_install_response_file.xml -acceptLicense
394 IBM SmartCloud Orchestrator 2.3: User's Guide
Results
Image Construction and Composition Tool is upgraded to the latest version.
Uninstalling the product
You can uninstall a fix pack or uninstall the IBM Image Construction and
Composition Tool completely.
Uninstalling a fix pack:
About this task
You can uninstall a fix pack to roll back to a previous maintenance level. To
uninstall a fix pack:
Procedure
1. Start Installation Manager.
2. Click Roll back.
3. Select the maintenance level to be rolled back.
4. Go through the rollback panels to uninstall the fix pack.
Results
The fix pack is rolled back to the maintenance level that you selected.
Uninstalling the Image Construction and Composition Tool:
About this task
To uninstall the Image Construction and Composition Tool:
Procedure
1. Export any bundles or images created with the current Image Construction and
Composition Tool version. For information about exporting, see your cloud
provider documentation.
2. Stop the Image Construction and Composition Tool by running the following
command from the directory that you specified during the installation:
stop.sh
3. Start the uninstallation wizard by running the following command:
/opt/IBM/InstallationManager/eclipse/IBMIM
Note: If you installed silently, the /opt/IBM/InstallationManager/eclipse/
IBMIM directory does not exist. In this case, to uninstall, use the command:
<install_images>/tools/imcl uninstall com.ibm.cloud.icon
4. After completing the wizard, remove image and bundle repositories by running
the following command:
rm -rf /drouter/*
Chapter 5. Managing virtual images 395
Uninstalling the Image Construction and Composition Tool silently:
About this task
To uninstall the Image Construction and Composition Tool silently:
Procedure
1. Export any bundles or images created with the current Image Construction and
Composition Tool version.
2. Stop the Image Construction and Composition Tool by running the following
command from the directory that you specified during the installation:
stop.sh
3. Uninstall the Image Construction and Composition Tool by running the
following command:
/opt/IBM/InstallationManager/eclipse/tools/imcl uninstall com.ibm.cloud.icon
Note: If you installed silently, the /opt/IBM/InstallationManager/eclipse/
IBMIM directory does not exist. In this case, to uninstall, use the command:
<install_images>/tools/imcl uninstall com.ibm.cloud.icon
4. Uninstall IBM Installation Manager by running the following command:
/var/ibm/InstallationManager/uninstall/uninstallc
5. Remove image and bundle repositories by running the following command:
rm -rf /drouter/*
Getting started
Understand system requirements, how to configure and start the Image
Construction and Composition Tool, and how to configure the tool to begin
building virtual images.
The basics
To get started, you can familiarize yourself with the basics of Image Construction
and Composition Tool.
When you access the Image Construction and Composition Tool for the first time,
you are prompted to create a cloud provider definition. All actions performed are
based on a cloud provider.
The Welcome page contains links to each of the main Image Construction and
Composition Tool pages that provide access to the key functions of the tool. The
main pages are briefly described in the following table.
396 IBM SmartCloud Orchestrator 2.3: User's Guide
Table 30. Main Image Construction and Composition Tool pages
Page You can:
Images
v Import virtual images from your cloud provider
v Create virtual images
v Extend virtual images
v Capture virtual images
v Delete virtual images
v Search for virtual images
v Share software bundles by either importing them from or
exporting them to a remote system
v Create software bundles
v Extend software bundles
v Publish software bundles
v Delete software bundles
v Search for software bundles
Administer
v Configure cloud provider
v Change password
v Download log files
Universal identifiers
When you create virtual images, bundles, and other assets, you enter a unique
universal identifier (ID) for the asset.
The Image Construction and Composition Tool creates a universal identifier for
you. The universal ID identifies an Image Construction and Composition Tool asset
across different repositories.
The universal ID uses an Open Service Gateway Interface (OSGI) notation, with a
reverse domain name and a version in the format major.minor.macro and an
optional qualifier, for example, com.ibm.images.was_1.0.0 for a WebSphere
Application Server base virtual image. In this example, the version is not the
WebSphere Application Server version, it represents the virtual image version. In
general, you can use any dotted notation to create a universal ID, for example
icct.image.base.rhel56_1.0.0.
Based on universal ID, bundles can be looked up independently from the
repository in which they are stored. If there are different bundle repositories, the
virtual image builder or Image Construction and Composition Tool can assume
that if two assets have the same universal ID, they are identical and the tool can
use either. The universal ID is required and provides a unique way of referencing
an Image Construction and Composition Tool asset across several repositories.
Universal IDs combined with version
If you enter a universal ID with a version, you can enter the same universal ID
value for multiple assets if you enter a different value in the version field.
These values provide uniqueness to assets across repositories, allowing resources to
be identified. For the universal ID value, you can use alphanumeric characters, an
underscore, a dash, or a period. A period is not allowed as the first character. For
version, the format is: <major>.<minor>.<micro>.<qualifier> where major, minor, and
Chapter 5. Managing virtual images 397
micro are all numeric and required, while qualifier is optional and can contain the
same type of characters as the universal ID.
Related tasks:
Creating software bundles on page 412
You can create software bundles for software installations on your virtual image.
To create software bundles, you must have expert knowledge of the software to
include. The software bundle can be accessed by other users who can then add it
to the virtual images that they create.
Extending software bundles on page 417
You can extend a software bundle to create a new software bundle.
System requirements
Ensure that your system meets the virtualization and browser requirements for
using IBM Image Construction and Composition Tool.
Windows targets
For Windows targets supported by the Image Construction and Composition Tool,
see Prerequisites for KVM or VMware images on page 494.
Operating system targets
For target operating systems supported by the Image Construction and
Composition Tool, see Supported operating systems on page 16.
Browser requirements
The following browsers are supported:
v Mozilla Firefox V10 or V11
v Microsoft Internet Explorer V7, V8, or V9 (in V8 compatibility mode)
Ensure that the following requirements are met:
v JavaScript is enabled in the browser.
v The minimum recommended screen resolution is 1024 by 768.
Changing your user password
You can change your Image Construction and Composition Tool user password
using these steps.
Before you begin
Note: When you upgrade from Image Construction and Composition Tool V1.2.0.0
to V1.2.0.1 or later, you must change your existing password.
Procedure
1. Click Administer > Change password.
2. Enter your new password in the New password field and verify it. Password
requirements are:
v Alphanumeric characters only.
v Minimum of 8 and maximum of 20 characters.
v At least one uppercase character.
v At least one lowercase character.
v At least one number.
398 IBM SmartCloud Orchestrator 2.3: User's Guide
3. Click OK.
Managing the Image Construction and Composition Tool server
You might need to start or stop the Image Construction and Composition Tool
server.
To start or stop the Image Construction and Composition Tool server, run the
following commands from the directory that you specified during the installation.
Start the server
start.sh
Stop the server
stop.sh
Managing the firewall
When extending an image, if you enable the firewall on the virtual machine after
synchronize and before capture, ensure that the ports that are required for SSH
communication are open for inbound and outbound traffic. Access is required for
the Image Construction and Composition Tool to complete the image building
process.
For information about opening ports, see your operating system documentation.
Redhat Linux
cat /etc/sysconfig/iptables | grep 22
cat /etc/sysconfig/ip6tables | grep 22
SUSE Linux
cat /etc/sysconfig/SuSEfirewall2 | grep 22
AIX
lsfilt v 4
Lists all of the ipv4 ports. Check if port 22 is in the list.
lsfilt -v 6
Lists all of the ipv6 ports. Check if port 22 is in the list.
Configuring cloud providers
You can configure a cloud provider for Image Construction and Composition Tool.
The first time you open Image Construction and Composition Tool, you see the
Create a new cloud provider wizard. If the wizard does not open automatically, to
configure the cloud provider, click Administer > Manage cloud providers and
then .
Important: You cannot edit your cloud provider configuration after it is created.
Chapter 5. Managing virtual images 399
Configuring the OpenStack cloud provider:
Configure OpenStack as your cloud provider.
Procedure
1. On the Create a new cloud provider Welcome page, click Next.
2. On the General page, enter the name, description, and enter OpenStack as the
cloud provider type. Click Next.
3. On the Credentials page, enter the following information:
v User name: Enter a Keystone user name. Make sure that the user has an
administrative role.
v Password: Enter a password for the Keystone user.
v Connection type: Select Indirect through the IBM IaaS Gateway.
Note: If you select Direct to OpenStack, the image created does not have
the associated metadata and the image created cannot be correctly managed
by IBM SmartCloud Orchestrator.
v IBM IaaS Gateway server: The server can be either the host name or IP
address.
Click Next.
4. In the Cloud details page, select the tenant and region. The tenant list includes
only tenants that your user can access and manage. The region list include any
region for the selected tenant. Click Next.
5. Click Done.
Working with virtual images
You can build virtual images.
The virtual images created by the Image Construction and Composition Tool
contain all the information required for specific deployment platforms to create
specific deployed VM instances.
The virtual images that you create will include the Open Virtualization Format
(OVF) file and other metadata to support Workload Deployer patterns, including
being able to provide configuration parameters during the pattern deployment
process. The tool creates Open Virtualization Archive (OVA) formatted virtual
images, ready for import and use in Workload Deployer. The OVA includes OVF
extensions to be used in the Workload Deployer pattern editor.
In many organizations, virtual image creation is logically divided into two roles,
although one person can perform both roles if they have the knowledge:
Operating system specialist
Creates the base operating system virtual images following company and
cloud specifications.
Virtual image builders
Uses these base virtual images and adds software content, such as
middleware and applications. Virtual image builders can reuse resources
such as software bundles that were created by other experts. Some
software bundles, for example DB2
Transaction Gateway.
Existing IMS TM on page 656.
v User Registry
Existing User Registry (IBM Tivoli Directory Server) on page 633
Existing User Registry (Microsoft Active Directory) on page 636
User Registry (Tivoli Directory Server) on page 640
v Other components
Generic target
Debug on page 702
Policies
You can optionally apply policies to a virtual application to configure specific
behavior in the deployed virtual application instance. Two virtual applications
584 IBM SmartCloud Orchestrator 2.3: User's Guide
might include identical components, but require different policies to achieve
different service level agreements. For example, if you want a web application to
be highly available, you can add a scaling policy to the web application component
and specify requirements such as a processor usage threshold to trigger scaling of
the web application. At deployment time, the topology of the virtual application is
configured to dynamically scale the web application. Multiple WebSphere
Application Server instances are deployed initially for the web application and
instances are added and removed automatically based on the service levels that are
defined in the policy.
Policies can be applied only to particular types of components. For more
information, see the following links:
v Scaling policy
v Routing policy
v Java virtual machine (JVM) policy
v Log policy
Managing pattern types
A virtual application pattern type is a collection of plug-ins that identify components,
links and policies, along with configuration files, packaged in a .tgz file. The
virtual application patterns are used to build a virtual application that includes
these components, links and policies.
About this task
The following pattern type is shipped with SmartCloud Orchestrator:
v IBM Foundation Pattern. It provides shared services for deployed virtual
applications such as monitoring and load balancing.
Note: The Foundation Pattern is a prerequisite to using all other pattern types.
Other pattern types are purchasable at the IBM PureSystems Centre.
Note: The following pattern types are supported by the current version of
SmartCloud Orchestrator:
foundation 2.0.1.1
dbaas 1.1.0.7
webApp 1.0 1.0.1.0
webApp 2.0 2.0.1.0
application 1.0.1.0
If you created virtual applications that contain these pattern types, ensure to
download the supported version of the pattern types to continue to use your
virtual applications in SmartCloud Orchestrator.
To use the command-line interface, see the information provided in Pattern type
command-line interface on page 870.
Use the following steps to work with pattern types:
Procedure
1. View the pattern types.
2. View the system plug-ins in the pattern types.
3. Import a pattern type.
Chapter 6. Managing and deploying virtual patterns 585
4. Accept the pattern license agreement. You must accept the license agreement
for each pattern type that you want to use. You can accept the license by
following these steps:
a. Click Configuration > Pattern Types. The Pattern Types palette displays
and the pattern types are listed.
b. Select a pattern_type. The pattern details display on the right.
c. In the License Agreement field, click Accept. The dialogue window
displays for the pattern type.
d. After reading the license agreement, click Accept. The license agreement
details changes to Accepted.
e. Click Enable to change the pattern type status to Available.
Important: By default, there is not a license agreement to accept for the
Foundation Pattern type. But, the Foundation Pattern must be made
available before the other pattern types can be made available and used.
For detailed information about accepting the license agreement for specific
pattern types, see the related pattern type documentation.
5. Upgrade a pattern type.
6. Remove a pattern type.
Results
You are ready to start creating or extending virtual applications with pattern types.
Viewing pattern types
The system includes a set of pattern types that you can use to create
solution-specific virtual applications.
Before you begin
The IBM Foundation Pattern type is shipped with SmartCloud Orchestrator. Other
pattern types are purchasable at the IBM PureSystems Centre.
By default, there is not a license agreement to accept for the foundation pattern
type. However, the foundation pattern type must be enabled before the other
pattern types can be enabled. The foundation pattern type is a prerequisite to
using all other pattern types.
About this task
You can view information about the pattern type in the user interface by following
these steps:
Procedure
1. Click Configuration > Pattern Types. The Pattern Types palette displays and
the pattern types are listed.
2. Select a pattern_type. The pattern details display on the right.
3. View the details of the pattern type, including:
Description
Specifies the description of the pattern type.
License agreement
Specifies if the license agreement is accepted.
586 IBM SmartCloud Orchestrator 2.3: User's Guide
Status Specifies the status of the pattern type: Disabled or Available. To
enable the pattern type, select Enable. After you enable the pattern
type, the status is changed to Available. You can either enable the
current pattern type of no dependencies exist, or enable all of the
pre-requirements, such as accepting licenses and updating statuses.
Required
Specifies any prerequisite patterns that are required.
Plug-ins
Specifies the plug-ins that are associated with this pattern type. Click
show me all plug-ins in this pattern type to view plug-ins associated
with the pattern type. Plug-ins required for configuration are also
listed.
Dependency
Lists pattern type dependencies.
Viewing the plug-ins in the pattern types
You can view the system plug-ins that are associated with the pattern types.
Procedure
1. Click Configuration > Pattern Types. The Pattern Types palette displays and
the pattern types are listed.
2. Select a pattern_type. The pattern details display on the right.
3. Click show me all plug-ins in this pattern type and the System Plug-ins
palette displays with a list of plug-ins.
Results
You have viewed the plug-ins that are associated with the pattern type.
Related tasks:
Importing pattern types
You can import a new pattern type to SmartCloud Orchestrator.
Importing pattern types
You can import a new pattern type to SmartCloud Orchestrator.
Before you begin
You must be assigned the admin role to perform these steps.
Avoid trouble: To upload a file that is larger than 2 GB, you must either upload it
from a remote system or use the command line. To upload a file from a local
system, the size of the file must be smaller than 2 GB.
About this task
Complete the following procedure to upload and import a new pattern type from a
local system.
Procedure
1. Click Configuration > Pattern Types. The Pattern Types palette is displayed.
2. Click the New icon. The Install a pattern type window is displayed.
3. Select the Local tab, and click Browse to select the .tgz file to import as a
pattern type. Your system proceeds to upload the .tgz file.
Chapter 6. Managing and deploying virtual patterns 587
Results
You have imported a new pattern type.
What to do next
Now you must accept the license agreement of the pattern type, configure plug-ins
in this pattern type, and enable the pattern type if you want to use it.
Related reference:
Pattern type command-line interface on page 870
You can administer pattern types using the SmartCloud Orchestrator
command-line interface.
Removing a pattern type
You can remove a pattern type from the SmartCloud Orchestrator.
Before you begin
You might not be able to delete a pattern type if one or more of the following is
true:
v The pattern type is in use, for example, the pattern type is associated with
deployed a application.
v The pattern type is a prerequisite of another pattern type, such as the IBM
Foundation Pattern.
v One or more plug-ins of this pattern type is in use, for example, the plug-ins are
associated with a deployed application.
About this task
Procedure
1. Click Configuration > Pattern Types. The Pattern Types palette displays.
2. Select the pattern type to delete.
3. Click the Delete this pattern type icon. The Do you really want to delete this
pattern type window displays.
4. Click OK to delete the pattern type.
Results
You have removed a pattern type.
Upgrading pattern types
Periodic updates are available for pattern types.
Before you begin
The pattern type updates are available at IBM Fix Central.
About this task
Pattern types are packaged in a .tgz file, whether the delivery is in release, update
or fix pack. For example, a web application pattern update looks like the
following: webapp-x.x.x.x.tgz (release), webapp-x.x.x.x.tgz (update on Fix Central)
or webapp-x.x.x.x.tgz (update through a fix pack on Fix Central), where x.x.x.x is
the release level.
588 IBM SmartCloud Orchestrator 2.3: User's Guide
If you download an update from Fix Central, and import the file into SmartCloud
Orchestrator, the administrator must accept the license agreement and make the
version.release (VR) available. If you download a fix pack that includes updated
pattern type and import the file into SmartCloud Orchestrator, the new pattern
type license is already accepted and the pattern type is automatically available to
the user.
The following guide explains how various users are impacted by pattern type
updates:
v The user is exposed to pattern types at VR when they create a workload.
v The administrator can import and delete pattern types at
version.release.minor.fixpack (VRMF).
v The administrator manages plug-ins in pattern types at VR. The administrator
does not need to know which VRMF contains the latest of plug-ins that are used
in the VR.
v New workloads are based on the latest plug-ins within that VR; locked
applications and existing deployments are not affected.
v For an update, the administrator must accept the license agreement and make
the VR available.
v Users see a new pattern type when creating a workload (pattern type at VR).
After you download the fixes from Fix Central, you can import the new pattern
type by performing the following steps:
Procedure
1. Click Configuration > Pattern Types. The Pattern Types palette displays.
2. Click the New icon. The Install a new pattern type window displays.
3. Click Browse to select the .tgz file to import as a pattern type. Your system
proceeds to upload the .tgz file.
Results
You have imported an updated .tgz file as an upgraded pattern type.
Related tasks:
Upgrading a deployed pattern type
You can upgrade a pattern type that is associated with a virtual application
instance through the SmartCloud Orchestrator user interface.
Upgrading a deployed pattern type
You can upgrade a pattern type that is associated with a virtual application
instance through the SmartCloud Orchestrator user interface.
Before you begin
The pattern type license must be enabled before you can upgrade. Click
Configuration > Pattern Types > pattern_type > Enable.
About this task
Perform the following steps:
Chapter 6. Managing and deploying virtual patterns 589
Procedure
1. View the virtual application instances. Click Instances > Virtual Application
Instances.
2. Select the virtual_application_instance for which you want to upgrade the
pattern type. Click the Upgrade icon. A dialogue box displays where you can
confirm that you want to upgrade the pattern type to the latest version. Click
OK. A message displays across the menu that the pattern type is upgrading.
When the upgrade is complete, the Status field arrow turns green.
Pattern type packaging reference
The pattern types are a collection of plug-ins. The plug-ins contain the
components, policies and links of the virtual application pattern. This topic
explains the packaging of the plug-ins that create the virtual application pattern
type.
Virtual application pattern types are shipped with SmartCloud Orchestrator or they
are purchasable at the IBM PureSystems Centre.
The associated plug-in files that are associated with a pattern type are as follows:
v {ptype}.tgz file
v plugins/set of {plugin}.tgz files
v files/set of {name} files
The {ptype}.tgz file is required and must contain the patterntype.json file. The
{ptype}.tgz file might also contain the license and localized messages. For
example, the patterntype.json file for the IBM Web Application Pattern (not
released with the product) is as follows:
{
"name":"NAME",
"shortname":"webapp",
"version":"2.0.0.0",
"description":"DESCRIPTION",
"prereqs":{
"foundation":"*"
},
"license":{
"pid":"5725D57",
"type":"PVU"
}
}
A pattern type defines a logical collection of plug-ins, but not the members. The
members (plug-ins) define their associations with pattern types in the config.json
file. Therefore, pattern types are dynamic collections and can be extended by third
parties. For example, the config.json file for the DB2 plug-in (not released with
the product) is as follows:
{
"name":"db2",
"version":"2.0.0.0",
"files":[
"db2/db2_wse_en-9.7.0.3a-linuxx64-20110330.tgz",
"optim/dsadm223_iwd_20110420_1600_win.zip",
"optim/dsdev221_iwd_20110421_1200_win.zip",
"optim/com.ibm.optim.database.administrator.pek_2.2.jar",
"optim/com.ibm.optim.development.studio.pek_2.2.jar"
],
"patterntypes":{
"primary":{
"dbaas":"1.0"
590 IBM SmartCloud Orchestrator 2.3: User's Guide
},
"secondary":[
{
"webapp":"2.0"
}
]
},
"packages":{
"DB2":[
{
"persistent":true,
"requires":{
"arch":"x86_64"
},
"parts":[
{
"part":"parts/db2-9.7.0.3.tgz",
"parms":{
"installDir":"/opt/ibm/db2/V9.7"
}
},
{
"part":"parts/db2.scripts.tgz"
}
]
}
]
}
}
Managing virtual applications
A virtual application is defined by a virtual application pattern. It is a complete set
of platform resources that fulfill a business need, including web applications,
databases, user registries, messaging services and transaction processes. The
pattern used to create the virtual application is a collection of plug-ins that provide
these resources and services in the form of components, links and policies.
Before you begin
To manage virtual applications, you must have the catalogeditor role or the admin
role. You must also accept the license agreements for the pattern types in your
environment before you can use the pattern type to create and extend virtual
applications.
Note: The base image for virtual applications must be downloaded from Passport
Advantage. Its name is IBM OS Image for Red Hat Linux Systems. We recommend
always to get the latest available version.
About this task
The plug-in component, links and policies are selected when you create or extend
your virtual application in the Virtual Application Builder. You can find
information about plug-in components, links, and policies at Virtual application
pattern components on page 583. You can start with a virtual application template
of an application. The virtual application is deployed to the cloud and becomes a
virtual application instance.
Chapter 6. Managing and deploying virtual patterns 591
Creating virtual application patterns
Create virtual application patterns to model virtual applications that you can
deploy to the cloud.
Before you begin
You must be assigned the catalogeditor role or the admin role.
Note: The base image for virtual applications must be downloaded from Passport
Advantage. Its name is IBM OS Image for Red Hat Linux Systems. We recommend
always to get the latest available version.
About this task
When you create a virtual application, you first select a pattern type. The pattern
type abstracts the infrastructure and middleware layers for a particular type of
workload, such as a web application. You can then create a virtual application
pattern by using the components associated with the selected pattern type.
Use the Virtual Application Builder to define, create, and deploy your virtual
applications. For example, rather than installing, configuring, and creating a
connection to a specific instance of a database, you can specify the need for a
database and provide the associated database schema in your virtual application
pattern. The database instance and the connection in the cloud is then created for
you by the workload pattern.
Procedure
1. Click Images & Patterns > Virtual Application Patterns. The Virtual
Application Patterns palette displays.
2. Click the Add icon on the toolbar.
3. To build your virtual application pattern:
a. Select a pattern type from the drop-down menu.
b. Select a virtual application template.
c. Click Start Building. You have created a new virtual application associated
with a pattern type. The Virtual Application Builder opens in a new
window where you can add components and policies.
4. On the Virtual Application properties pane, specify the following information:
Name The name of the virtual application pattern.
Description
(Optional) The description of the virtual application pattern.
Type Leave Application selected to create a virtual application pattern or
select Template to create a virtual application template that is used as
the basis for creating other virtual application patterns.
Lock option for plugin usage
Specify how this virtual application pattern is affected by upgrades to
the pattern type or to IBM Foundation Pattern.
Unlock plugins
If the pattern type is upgraded use the latest versions of pattern
type plug-ins. If IBM Foundation Pattern is upgraded, use the
latest version.
592 IBM SmartCloud Orchestrator 2.3: User's Guide
Lock all plugins
Do not change the version of plug-ins or the version of the IBM
Foundation Pattern associated with this virtual application
pattern when an upgrade occurs.
Lock all plugins except Foundation plugins
If the pattern type is upgraded, do not change the version of
the plug-ins associated with this virtual application pattern. If
IBM Foundation Pattern is upgraded, use the latest version.
Note: You can view a list of which plug-ins are locked if you select
Lock all plugins or Lock all plugins except Foundation plugins. Click
the Source tab in Virtual Application Builder. The application model
source is displayed. Search for the element plugins to view the list.
5. If you selected a blank template, the canvas is empty and you can start
building the virtual application. If you selected a template, customize the
virtual application:
v Drag the components that you want to add to the virtual application pattern
onto the canvas.
v Use reusable components that you created. For more information, see
Working with reusable application components on page 598. A reusable
component is a saved configuration that can be reused to build applications.
Components that are reusable display a triangle. Click the triangle to get a
list of reusable components. Then drag the reusable component to the Virtual
Application Builder canvas. This creates a new component that has the same
configuration as the reusable component. You can also add a reusable
component in Virtual Application Builder. Select a component in the canvas,
configure its properties and then click Add to my palette. The reusable
component displays in the left pane.
v To add policies to the virtual application pattern, click Add policy for
application and select a policy or select a component part on the canvas and
click the Add a Component Policy icon to add a component-specific policy.
v To remove parts, click the Remove Component icon in the component part.
v To edit the connections between the parts, hover over one of the objects until
the blue circle turns orange. Select the circle with the left mouse button, drag
a connection to the second object until the object is highlighted, and release
the mouse button.
6. Click Save.
Results
The virtual application pattern is created.
Editing virtual application patterns
You can edit a virtual application pattern to add or remove application
components, links and policies.
Before you begin
You must be granted access to the pattern or assigned the admin role.
About this task
Use the Virtual Application Builder to edit your virtual application pattern. You
can add, edit or remove components, links and policies.
Chapter 6. Managing and deploying virtual patterns 593
Procedure
1. Click Images & Patterns > Virtual Application Patterns. The Virtual
Application Patterns palette displays.
2. Select a virtual application pattern and click the Open icon.
3. Edit the virtual application pattern, as required:
v Drag the components that you want to add to the virtual application pattern
onto the canvas.
v Use reusable components that you created. For more information, see
Working with reusable application components on page 598. A reusable
component is a saved configuration that can be reused to build applications.
Components that are reusable display a triangle. Click the triangle to get a
list of reusable components. Then drag the reusable component to the Virtual
Application Builder canvas. This creates a new component that has the same
configuration as the reusable component. You can also add a reusable
component in Virtual Application Builder. Select a component in the canvas,
configure its properties and then click Add to my palette. The reusable
component displays in the left pane.
v To add policies to the virtual application pattern, click Add policy for
application and select a policy or select a component part on the canvas and
click the Add a Component Policy icon to add a component-specific policy.
v To remove parts, click the Remove Component icon in the component part.
v To edit the connections between the parts, hover over one of the objects until
the blue circle turns orange. Select the circle with the left mouse button, drag
a connection to the second object until the object is highlighted, and release
the mouse button.
4. Click Save.
What to do next
Deploy the virtual application.
Cloning virtual application patterns
Use the console to clone an existing virtual application pattern.
Before you begin
You must be granted access to the pattern and be assigned the catalogeditor role
or the admin role.
Procedure
1. Click Images & Patterns > Virtual Application Patterns.
2. Select a virtual application pattern and click the Clone icon on the toolbar.
3. Specify the name for the copy of the virtual application pattern and click OK.
What to do next
Edit the cloned virtual application pattern as necessary.
594 IBM SmartCloud Orchestrator 2.3: User's Guide
Deleting virtual application patterns
You can delete virtual application patterns that you no longer need to deploy.
Before you begin
You must be granted access to the application pattern or assigned the admin role.
Procedure
1. Click Images & Patterns > Virtual Application Patterns.
2. Select a virtual application pattern. The virtual application pattern details
display in the right pane.
3. Click the Delete icon on the toolbar.
4. Click Confirm to confirm that you want to delete the pattern.
Results
You deleted a virtual application pattern.
Creating virtual application layers
You can use the Virtual Application Builder in SmartCloud Orchestrator to create
virtual application layers, which provides a way for you to control the complexity
and reuse virtual applications.
About this task
By default, a virtual application consists of one layer when you first create it.
When you use application layering, you can modify an existing virtual application
by adding separate layers. For example, you can use one virtual application that
defines the basic components of one deployment environment to create a different
virtual application for other deployment environments by associating the quality of
service (QoS) layer with different QoS goals.
One virtual application can contain multiple layers. A layer can contain component
types of the virtual application, or the layer can reference another virtual
application, which is called a reference layer.
Because there is no predefined set of layers or binding between a component type
and a particular layer, you can create layers according to your business goals.
However, one component type in a virtual application can be placed in only one
layer, but you can move parts between the layers.
You use the Virtual Application Builder do add or delete a layer, edit a layer,
disable or enable a layer, move virtual application parts between layers, or import
a virtual application as a reference layer.
Follow these steps to create an application layer:
Procedure
1. Click Images & Patterns > Virtual Application Patterns. The Virtual
Application Pattern palette displays.
2. Select the virtual application for which you want to create a layer.
Chapter 6. Managing and deploying virtual patterns 595
3. Click the Open icon to edit the pattern layer. The Virtual Application Builder
displays. The Layers palette displays on the bottom left of the Virtual
Application Builder. The topographical view of the virtual application pattern
displays on the canvas.
4. Expand Layers to view the layers of the virtual application. Click the layer to
view the topographical view on the canvas.
5. Click the Create a new layer icon. The new layer is added to the Layers
palette.
You can also add a layer by importing an existing application called a reference
layer.
6. Click Save.
Results
You have created a layer for your virtual application.
What to do next
Edit the layer.
Editing virtual application layers
You can use the Virtual Application Builder in SmartCloud Orchestrator to edit
virtual application pattern layers.
About this task
By default, a virtual application includes one layer when you first create it. When
you use application layering, you can modify an existing virtual application by
adding separate layers. For example, you can use one virtual application that
defines the basic components of one deployment environment to create a different
virtual application for other deployment environments by associating the quality of
service (QoS) layer with different QoS goals.
One virtual application can contain multiple layers. A layer can contain component
types of the virtual application, or the layer can reference another application,
which is then called a reference layer.
Because there is no predefined set of layers or binding between a component type
and a particular layer, you can create layers according to your business goals.
However, one component type in a virtual application can be placed in only one
layer, but you can move parts between the layers.
In the Virtual Application Builder, you can add or delete a layer, edit a layer,
disable or enable a layer, move virtual application parts between layers, or import
a virtual application as a reference layer.
To edit a virtual pattern application layer:
Procedure
1. Click Images & Patterns > Virtual Application Patterns. The Virtual
Application Pattern palette displays.
2. Select the virtual application pattern for which you want to edit a layer.
3. Click the Edit icon. The Virtual Application Builder opens.
596 IBM SmartCloud Orchestrator 2.3: User's Guide
4. Expand Layers to view the layers of the virtual application pattern. Click the
layer to view the topographical view on the canvas and to start editing.
5. Edit the layer. You can edit the layer in the following ways:
v Rename the layer. Click the name to modify.
v Add or remove virtual application components.
v Add or remove virtual application components connections.
v Add or remove policies.
v Move components between layers. Use the move to: icon to switch the layer
group of each virtual application pattern part. When you select a virtual
application pattern part and click the move to: icon, a list of layers displays.
Select a layer to move the virtual application pattern part from the previous
layer.
6. Click Save.
Results
You have edited an existing virtual application pattern layer.
What to do next
Deploy the virtual application pattern.
Related tasks:
Deploying virtual application patterns on page 736
After you create a virtual application, you can provision and deploy it on the
infrastructure cloud. Each deployment of a virtual application represents a running
virtual application instance on the cloud infrastructure. You can deploy a given
virtual application multiple times. When you deploy your virtual application you
can also configure Secure Shell (SSH) key-based access.
Deleting virtual application pattern layers
You can use the Virtual Application Builder in SmartCloud Orchestrator to delete
virtual application pattern layers.
About this task
In the Virtual Application Builder, you can add or delete a layer, edit a layer,
disable or enable a layer, move virtual application parts between layers, or import
a virtual application as a reference layer.
Procedure
1. Click Images & Patterns > Virtual Application Patterns. The Virtual
Application Patterns palette displays.
2. Select the virtual application pattern for which you want to remove a layer.
3. Click the Edit icon. The Virtual Application Builder opens. The Layers palette
displays on the lower left of the Virtual Application Builder. The topographical
view of the virtual application pattern displays on the canvas.
4. Expand Layers to view the layers of the virtual application pattern.
5. Select the layer that you want to delete and click the Delete the selected layer
icon. The topographical view displays on the canvas to show that the layer is
deleted.
Chapter 6. Managing and deploying virtual patterns 597
Results
You deleted a virtual application pattern layer.
Importing virtual application pattern layers
You can use the Virtual Application Builder in SmartCloud Orchestrator to import
an application as a reference layer.
About this task
In the Virtual Application Builder, you can add or delete a layer, edit a layer,
disable or enable a layer, move virtual application patterns parts between layers, or
import a virtual application pattern as a reference layer.
Use reference layers to reuse existing applications. Contents in the reference layer
are read-only. Changes made from the referenced application are reflected in the
application referencing it.
To import a new layer as a reference:
Procedure
1. Click Images & Patterns > Virtual Application Patterns. The Virtual
Application Patterns palette displays.
2. Select the virtual application pattern for which you want to import a layer.
3. Click the Edit icon. The Virtual Application Builder opens. The Layers palette
displays on the lower left of the Virtual Application Patterns palette. The
topographical view of the virtual application pattern displays on the canvas.
4. Expand Layers to view the layers of the virtual application pattern.
5. Click the Import a virtual application icon. The Import Virtual Application
dialog box displays.
6. Select a virtual application that you want to reference as a layer and click Add.
The new application layer is now listed under the Layers palette. If you select
this layer, the topographical view displays on the canvas.
Results
You have imported a virtual application as a reference layer.
What to do next
After you import the reference layer, virtual application pattern components in
other layers can connect to the reference layer.
Working with reusable application components
You can create a reusable virtual application component and associate the
component with an available pattern type. The reusable components are saved in
the SmartCloud Orchestrator catalog.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
598 IBM SmartCloud Orchestrator 2.3: User's Guide
About this task
To create a reusable application component in the user interface, follow these steps:
Procedure
1. Click Components > Reusable Components. The Reusable Components palette
displays.
2. From the left panel of the Reusable Components palette, click the New icon to
create a reusable component. The Create dialogue window displays.
3. Select the pattern type from the drop down menu.
4. Select a component type from the drop down menu. The components available
depend on which pattern type that you choose. The components that are
included in that pattern type are available for selection.
5. Click Next.
6. Complete the configuration settings for the component. The type of information
requested for components is different for each type of component created,
including, name, server host name, IP address, user name and password, and
server port number. You can edit the components as follows: Select the reusable
component in the Reusable Components palette and click the Edit icon in the
upper right.
For a list of settings for each component type, see Virtual application pattern
components on page 583.
7. Click Done.
Results
You have created and added a reusable component to the catalog. The component
is now listed in the left hand panel of the Reusable Components palette.
What to do next
Use the component to create an application or edit the component.
If you want to delete the reusable component, select the component in the
Reusable Components palette and click the Delete icon in the upper right.
Related information:
Virtual application pattern components on page 583
A virtual application pattern contains components that represent middleware
services that are required by the virtual appliance instance.
Working with virtual application templates
The virtual application template is a predefined set of components and configuration
used to simplify and standardize the creation of virtual application patterns.
Before you begin
You must be assigned the catalogeditor role or the admin role to work with virtual
application templates.
About this task
When you design a virtual application template, you can configure it with default
values or leave some values unconfigured. Application builders can use the virtual
application template to create new virtual application patterns. virtual application
Chapter 6. Managing and deploying virtual patterns 599
templates also provide a more flexible deployment option. When you deploy from
a virtual application template, you can specify property values that are not
configured or edit values that are not locked.
To access the virtual application templates, click Components > Virtual
Application Templates.
Creating a virtual application template:
You can create a new virtual application template that is used to create a virtual
application. The template can be saved in the SmartCloud Orchestrator catalog.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
You can also use an existing virtual application template that was shipped with the
product or you can create a virtual application template from an existing virtual
application.
To create a virtual application template from an existing virtual application, click
Images & Patterns > Virtual Application Patterns and select a virtual application
in the list. Click the New icon to create a virtual application template. Click the
Edit icon to start the Virtual Application Builder.
Procedure
1. Click Components > Virtual Application Templates. The Virtual Application
Templates palette displays.
2. Click the New icon on the toolbar.
3. To create your virtual application template:
a. Select a pattern type from the drop-down menu.
b. Select a virtual application template.
c. Click Start Building. You have created a new virtual application template
associated with a pattern type. The Virtual Application Builder opens in a
new window where you can add components and policies.
4. On the Virtual Application properties pane, specify the following information:
Name The name of the virtual application pattern.
Description
(Optional) The description of the virtual application pattern.
Type Leave Application selected to create a virtual application pattern or
select Template to create a virtual application template that is used as
the basis for creating other virtual application patterns.
Lock option for plugin usage
Specify how this virtual application pattern is affected by upgrades to
the pattern type or to IBM Foundation Pattern.
Unlock plugins
If the pattern type is upgraded use the latest versions of pattern
type plug-ins. If IBM Foundation Pattern is upgraded, use the
latest version.
600 IBM SmartCloud Orchestrator 2.3: User's Guide
Lock all plugins
Do not change the version of plug-ins or the version of the IBM
Foundation Pattern associated with this virtual application
pattern when an upgrade occurs.
Lock all plugins except Foundation plugins
If the pattern type is upgraded, do not change the version of
the plug-ins associated with this virtual application pattern. If
IBM Foundation Pattern is upgraded, use the latest version.
Note: You can view a list of which plug-ins are locked if you select
Lock all plugins or Lock all plugins except Foundation plugins. Click
the Source tab in Virtual Application Builder. The application model
source is displayed. Search for the element plugins to view the list.
5. Design your virtual application template with the components, links, and
policies that you want to include.
6. Click Save.
What to do next
The new application template is now available in the catalog and can be used to
create a virtual application pattern.
Creating virtual applications from templates:
You can use an existing virtual application template to create a virtual application.
These templates are either templates you have already created or is a template that
was shipped with the product.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
About this task
You can deploy a virtual application directly from a template or use it as a starting
point to build a virtual application pattern.
If you do not want to use an existing virtual application template, you can create a
new virtual application template.
Procedure
1. Click Components > Virtual Application Templates. The Virtual Application
Templates palette displays.
2. Select the pattern type associated with the template or search for the template
in the left pane.
3. Select an existing template.
4. Click Open on the toolbar to edit the template.
5. Edit the virtual application pattern component parts:
a. Click the virtual application pattern listed in the left navigation.
Chapter 6. Managing and deploying virtual patterns 601
b. Click the Open icon in the Virtual Application Pattern pane. The Virtual
Application Builder displays with the list of virtual application components
that you can drag to the canvas to customize your virtual application
pattern.
c. Select a virtual application component and drag the component onto the
canvas to build your virtual application.
d. To add a policy, click Add policy for application icon.
e. To create the connection between the parts, hover over one of the objects
until the blue circle turns orange. Select the circle with the left mouse
button, drag a connection to the second object until the object is
highlighted, and release the mouse button.
6. Click Save.
Cloning a virtual application template:
You can clone a virtual application template to create a copy that you can edit and
customize. The template is added to the catalog.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
Procedure
1. Click Components > Virtual Application Templates. The Virtual Application
Templates palette displays.
2. Select a virtual application template and click the Clone icon on the toolbar.
3. Click OK to confirm that you want to clone the virtual application template.
4. Click Open to name and edit the template.
5. On the Virtual Application properties pane, specify the following information:
Name The name of the virtual application pattern.
Description
(Optional) The description of the virtual application pattern.
Type Leave Application selected to create a virtual application pattern or
select Template to create a virtual application template that is used as
the basis for creating other virtual application patterns.
Lock option for plugin usage
Specify how this virtual application pattern is affected by upgrades to
the pattern type or to IBM Foundation Pattern.
Unlock plugins
If the pattern type is upgraded use the latest versions of pattern
type plug-ins. If IBM Foundation Pattern is upgraded, use the
latest version.
Lock all plugins
Do not change the version of plug-ins or the version of the IBM
Foundation Pattern associated with this virtual application
pattern when an upgrade occurs.
Lock all plugins except Foundation plugins
If the pattern type is upgraded, do not change the version of
602 IBM SmartCloud Orchestrator 2.3: User's Guide
the plug-ins associated with this virtual application pattern. If
IBM Foundation Pattern is upgraded, use the latest version.
Note: You can view a list of which plug-ins are locked if you select
Lock all plugins or Lock all plugins except Foundation plugins. Click
the Source tab in Virtual Application Builder. The application model
source is displayed. Search for the element plugins to view the list.
6. Click Save.
Editing virtual application templates:
You can edit a virtual application template and use it to create a virtual application
pattern. The template can be saved in the catalog. The virtual application template
is necessary to build your virtual application pattern that is eventually deployed as
a virtual application instance.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
Procedure
1. Click Components > Virtual Application Templates. The Virtual Application
Templates palette displays.
2. Select a virtual application template. The template details display to the right.
3. Click the Open icon on the toolbar to edit the template. The Virtual Application
Builder opens.
Importing a virtual application template:
You can import a virtual application template to the SmartCloud Orchestrator
catalog. The virtual application template is necessary to build your virtual
application pattern that is eventually deployed as a virtual application instance.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
About this task
To import a virtual application template with the user interface:
Procedure
1. Click Components > Virtual Application Templates. The Virtual Application
Templates palette displays.
2. Click the Import icon. The Import Application dialogue window opens.
3. Select an application compressed file to import. Click Browse to find the
application file. Your system proceeds to upload the compressed application
file.
Results
You have imported an application template.
Chapter 6. Managing and deploying virtual patterns 603
Exporting a virtual application template:
You can export a virtual application template from the SmartCloud Orchestrator
catalog. The virtual application template is necessary to build your virtual
application pattern that is eventually deployed as a virtual application instance.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
About this task
To export a virtual application template with the user interface:
Procedure
1. Click Components > Virtual Application Templates. The Virtual Application
Templates palette displays.
2. Select an existing template from the left panel of the Virtual Application
Templates palette.
3. Click the Export icon.
Results
You have exported a virtual application template.
Removing a virtual application template:
You can remove a virtual application template from the SmartCloud Orchestrator
catalog when it is no longer needed.
Before you begin
You must be assigned the catalogeditor role and be granted all access to the
application template to remove. You can also perform these steps if you are
assigned the admin role.
About this task
To remove a virtual application template with the user interface:
Procedure
1. Click Components > Virtual Application Templates. The Virtual Application
Templates palette displays.
2. From the Virtual Application Templates palette, select a
virtual_application_template to remove from the catalog.
3. Click the Delete icon to remove the virtual application template from the
catalog. A window displays requesting your confirmation that this application
template can permanently be removed.
4. Click OK to confirm that you want to remove the virtual application template.
604 IBM SmartCloud Orchestrator 2.3: User's Guide
Results
The virtual application template has been removed from the catalog.
Related tasks:
Creating a virtual application template on page 600
You can create a new virtual application template that is used to create a virtual
application. The template can be saved in the SmartCloud Orchestrator catalog.
Working with virtual application pattern plug-ins
Plug-ins provide the constituent parts of a virtual application, as well as the
underlying implementation that makes the application deployable in the cloud.
Pattern types, the containers of solution-specific and topology-specific resources
that are required for different types of virtual applications, are collections of
plug-ins.
About this task
Plug-ins contribute components, links and policies that appear in the Virtual
Application Builder. They are grouped into pattern types. When a virtual
application builder creates a virtual application pattern, the first step is choosing
the pattern type. This choice determines the options and the user experience in the
Virtual Application Builder. In the Virtual Application Builder, virtual application
builders can select from the components, links and policies that the plug-ins in the
pattern type expose. The plug-in that contributes a component or link completely
determines its semantics and operation. Components, links and policies are the
most user-visible capabilities a plug-in can contribute, but there are other
capabilities that a plug-in developer must include. Plug-ins are responsible for the
implementation of components and links when a virtual application is deployed,
and maintenance through the entire lifecycle of the virtual application. A plug-in
must contribute proper lifecycle scripts to manage the virtual application through
its various lifecycle events.
A pattern type is a collection of plug-ins that are designed for a specific type of
virtual application pattern and used as the foundation of a virtual application. For
example, a web application uses the IBM Web Application Pattern (not released
with the product), and a database uses the IBM Database Application Patterns (not
released with the product). When a user selects a pattern type in the Virtual
Application Builder, the design experience is determined by the associated
plug-ins. Pattern types are purchasable at the IBM PureSystems Centre.
You can work with plug-ins as follows:
v Use an existing plug-in to create or extend a virtual application.
v Developing plug-ins to create or extend a virtual application.
Related tasks:
Managing pattern types on page 585
A virtual application pattern type is a collection of plug-ins that identify components,
links and policies, along with configuration files, packaged in a .tgz file. The
virtual application patterns are used to build a virtual application that includes
these components, links and policies.
Related reference:
Plug-in development guide on page 676
If you are developing custom plug-ins, this topic provides more details about
various aspects of plug-ins in the order encountered during a typical development
Chapter 6. Managing and deploying virtual patterns 605
effort.
Managing system plug-ins
SmartCloud Orchestrator includes a set of preinstalled system plug-ins. These
plug-ins contain the necessary code for component parts when building virtual
application patterns. The plug-in controls the end-to-end processing and
implementation of the component parts that you use to build the virtual
application pattern. Plug-ins also contribute components, links, and policies that
you can choose to customize your virtual application pattern.
Before you begin
To manage a plug-in, you must be assigned the admin role.
Important: A plug-in is disabled if any of its attributes (configuration parameters)
are not specified.
About this task
You can use either the user interface, the command-line interface, or the REST API
to manage your plug-ins.
To learn more about using the command-line interface see command-line interface.
After setting up system plug-ins, you can build a virtual application pattern with
component parts or edit an existing virtual application pattern. After enablement
by the administrator, you can select the specified version and list all the plug-ins
with the IBM version level, release, modification and fix level (v.r.m.f) structure
format.
Plug-ins shipped with pattern types:
Several preinstalled system plug-ins are available with the Foundation pattern type
shipped with SmartCloud Orchestrator pattern types. You can use these plug-ins to
extend the function of virtual applications.
In the SmartCloud Orchestrator user interface, click Configuration > System
Plug-ins and select the Foundation pattern type to see a list of the related plug-ins.
In the Virtual Application Builder, components are grouped into categories.
Related information:
Virtual application pattern components on page 583
A virtual application pattern contains components that represent middleware
services that are required by the virtual appliance instance.
606 IBM SmartCloud Orchestrator 2.3: User's Guide
Adding system plug-ins to the catalog:
You can add a plug-in to the catalog. Plug-ins define components, links, and
policies for virtual application patterns.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
Attention: Plug-ins are disabled when configurations are not completed.
Procedure
1. Open the SmartCloud Orchestrator user interface.
2. Click Configuration > System Plug-ins.
3. Select the Add icon to upload the plug-in .tgz file. A dialogue box displays
where you can browse for a plug-in .tgz file to import.
Important: If the .tgz file is more than 2 GB, use the command-line interface
to upload the plug-in file to your system.
Deleting plug-ins from the catalog:
You can remove a plug-in from the catalog when a it is no longer needed.
Before you begin
You must be assigned the catalogeditor role or the admin role to perform these
steps.
Procedure
1. Open the SmartCloud Orchestrator user interface.
2. Click Configuration > System Plug-ins.
3. Select the Delete icon to delete the plug-in file. A window displays requesting
confirmation that you want to remove the plug-in.
4. Click OK to confirm that you want to remove the plug-in.
Virtual application pattern components
A virtual application pattern contains components that represent middleware
services that are required by the virtual appliance instance.
You can connect components in a virtual application pattern to indicate
dependencies and optionally apply a policy to configure middleware services
during deployment to configure specific behavior or define a quality of service
level. Components, links, and policies can have required and optional attributes.
Components, links, and policies are defined by plug-ins. When you create a virtual
application pattern, the available components, links, policies, and configuration
options are determined by the plug-ins that are included with the selected pattern
type.
Chapter 6. Managing and deploying virtual patterns 607
Components
The following components are available with the virtual application patterns
provided with SmartCloud Orchestrator or purchasable at the IBM PureSystems
Centre.
Important: Components that require disk add-ons are not supported in
SmartCloud Orchestrator.
v Application
Additional archive file
Enterprise application
Existing Web Service Provider Endpoint on page 615
Policy Set on page 617
Web application, such as IBM WebSphere Application Server
v Database
Data Studio web console
Database, such as IBM DB2
Existing database (DB2) on page 626
Existing database (Informix)
Existing database (Oracle)
Existing IMS database on page 631
v Messaging
Existing Messaging Service (WebSphere MQ) on page 643
Existing Queue (WebSphere MQ) on page 647
Existing Topic (WebSphere MQ) on page 645
v OSGi
External OSGi bundle repository
OSGi application
v Transaction Processing
CICS Transaction Gateway.
Existing IMS TM on page 656.
v User Registry
Existing User Registry (IBM Tivoli Directory Server) on page 633
Existing User Registry (Microsoft Active Directory) on page 636
User Registry (Tivoli Directory Server) on page 640
v Other components
Generic target
Debug on page 702
Policies
You can optionally apply policies to a virtual application to configure specific
behavior in the deployed virtual application instance. Two virtual applications
might include identical components, but require different policies to achieve
different service level agreements. For example, if you want a web application to
be highly available, you can add a scaling policy to the web application component
and specify requirements such as a processor usage threshold to trigger scaling of
the web application. At deployment time, the topology of the virtual application is
608 IBM SmartCloud Orchestrator 2.3: User's Guide
configured to dynamically scale the web application. Multiple WebSphere
Application Server instances are deployed initially for the web application and
instances are added and removed automatically based on the service levels that are
defined in the policy.
Policies can be applied only to particular types of components. For more
information, see the following links:
v Scaling policy
v Routing policy
v Java virtual machine (JVM) policy
v Log policy
Application components:
There are several application components to choose from when building a virtual
application pattern.
About this task
v Additional archive file
v Enterprise application component on page 610
v Existing Web Service Provider Endpoint on page 615
v Policy Set on page 617
v Web application component on page 618
Additional archive file:
The additional archive file component is for your primary archive.
Before you begin
The following is a required attribute for a additional archive file:
v Additional archive file: Specifies the external archive file that contains
additional files needed by the web archive (WAR) or enterprise archive (EAR)
file.
v Extraction path: Specifies the extraction path for the additional archive file. This
path must not be an existing path.
Table 32. Incoming connectable components
Component name Description Connection properties
Web application (WebSphere
Application Server)
A web application cloud
component represents an
execution service for Java
Platform, Enterprise Edition
(Java EE) web archive (WAR
files).
v Provider policy set binding
v Service name
v Binding file
v Key store
v Trust store (encryption)
v Trust store (digital
signature)
Chapter 6. Managing and deploying virtual patterns 609
Table 32. Incoming connectable components (continued)
Component name Description Connection properties
Enterprise application
(WebSphere Application
Server)
An enterprise application
(WebSphere Application
Server) cloud component
represents an execution
service for Java EE enterprise
archive (EAR files).
v Provider policy set binding
v Service name
v Binding file
v Key store
v Trust store (encryption)
v Trust store (digital
signature)
About this task
You can view, edit or add this virtual application component in the user interface
as follows:
Procedure
1. Click Images & Patterns > Virtual Application Patterns.
2. Select a virtual_application_pattern.
3. Click Edit the virtual application icon located in the upper right corner of the
Virtual Application Builder palette.
4. To edit an existing archive file component, select the Additional archive file
component part on the Virtual Application Builder canvas. The properties panel
displays.
For more details on the properties panel settings, view the help by selecting the
help icon on the properties panel.
5. To add a new archive file component to a virtual application pattern, click the
Additional archive file component listed under the Application Component
and drag the icon to the Virtual Application Builder canvas. The properties
panel for the component displays to the right of the Virtual Application Builder
palette. For more details on the properties panel settings, view the help by
selecting the help icon on the properties panel.
6. You can also view the additional archive file component properties by viewing
the plug-in information. Click Configuration > System plug-ins. Select
file/x.x.x.x from the System Plug-ins palette where x.x.x.x corresponds to the
version numbers. The component plug-in configuration information displays on
the canvas.
Results
You have edited a current component, edited an existing component, or added one.
Enterprise application component:
The enterprise application (WebSphere Application Server) component represents
an execution service for Java Platform, Enterprise Edition (Java EE) enterprise
application (EAR) files.
Before you begin
Attention: You cannot use an enterprise application that includes Container
Managed Persistence V 2.0 beans. This type of application requires deploy tools
that are not included in this products WebSphere Application Server binary files .
610 IBM SmartCloud Orchestrator 2.3: User's Guide
The following are attributes for an enterprise application:
v EAR file: Specifies the enterprise archive (.ear) file to be uploaded. This
attribute is required.
v Total transaction lifetime timeout: Specifies the default maximum time, in
seconds, allowed for a transaction that is started on this server before the
transaction service initiates timeout completion. Any transaction that does not
begin completion processing before this timeout occurs is rolled back. The
default is 120 seconds.
v Asynchronous response timeout: Specifies the amount of time, in seconds, that
the server waits for responses to WS-AT protocol messages. The default is 120
seconds.
v Client inactivity timeout: Specifies the maximum duration, in seconds, between
transactional requests from a remote client. Any period of client inactivity that
exceeds this timeout results in the transaction being rolled back in this
application server. The default is 60 seconds.
v Maximum transaction timeout: Specifies, in seconds, the maximum transaction
timeout for transactions that run in this server. This value is greater than, or
equal to, the value specified for the total transaction timeout. The default is 300
seconds.
v Iterim fixes URL: Specifies the location or URL of the selected interim fixes. This
URL is used by the WebSphere Application Server virtual machine to download
interim fixes for update.
Policies
Table 33. Policy components for enterprise applications
Policy name Description
Scaling policy (web or enterprise
application)
Scaling is a run time capability to
automatically scale your application
platform as the load changes. A scaling
policy component defines this capability and
the conditions under which scaling activities
are performed for your application.
Routing policy (web, enterprise, or OSGi
enterprise bundle archive (EBA) application)
Routing policy for a web application,
enterprise application, or an OSGi EBA
application.
Log policy (web or enterprise application) A policy to specify configuration for log
record files.
JVM policy (web or enterprise application) A policy to control features of the
underlying Java Virtual Machine (JVM).
Table 34. Incoming connectable components
Component name Description
Enterprise application (WebSphere
Application Server)
An enterprise application, such as a
WebSphere Application Server application,
cloud component represents an execution
service for Java EE enterprise applications
(EAR) files.
Web application (WebSphere Application
Server)
A web application cloud component
represents an execution service for Java EE
web applications (WAR) files.
Chapter 6. Managing and deploying virtual patterns 611
Table 34. Incoming connectable components (continued)
Component name Description
System updates System updates for download and update
on the virtual machine.
Table 35. Outgoing connectable components
Component name Description Connection
Existing Topic (WebSphere
MQ)
An existing topic represents a
message destination on an
external IBM WebSphere MQ
messaging service through
which messages are
published and subscribed.
v Java Naming and
Directory Interface (JNDI)
name
v Resource environment
references
v Message destination
references
Additional archive file An additional archive file
component for your primary
archive.
Existing messaging service
(WebSphere MQ)
A messaging service
represents a connection to an
external messaging system
such as WebSphere MQ.
v JNDI name of the Java
Message Service (JMS)
connection factory
v Resource references of the
JMS connection factory
v Client ID
Policy set A component used to define
quality of service policies.
Existing database (Oracle) An existing Oracle database
component represents a
connection to an existing
Oracle database instance
running remotely outside of
the cloud. The configuration
properties allow a connection
to be made to the remote
Oracle database.
Generic target A component used to open
the firewall for outbound
TCP connections from a web
or enterprise application to a
specified host and port.
Database (DB2) A database (DB2) component
that represents a
pattern-deployed database
service.
v JNDI name of the data
source
v Resource references of the
data source
v Non-transactional data
source
v Minimum connections
v Maximum connections
v Connection timeout
612 IBM SmartCloud Orchestrator 2.3: User's Guide
Table 35. Outgoing connectable components (continued)
Component name Description Connection
Existing database (DB2) An existing DB2 database
component represents a
connection to a remote DB2
database instance running
remotely outside of the
cloud. The configuration
properties allow a connection
to be made to the remote
DB2 database.
Existing database (Informix
) An existing Informix
database component
represents a connection to a
remote Informix database
instance running remotely
outside of the cloud. The
configuration properties
allow a connection to be
made to the remote Informix
database.
Existing CICS Transaction
Gateway (CTG)
An existing CTG component
represents a connection to an
existing CTG instance
running remotely outside of
the cloud. The configuration
properties allow a connection
to be made to the CTG.
Existing IMS
Application
Developer for WebSphere.
Before you begin
The following are the attributes for a JVM policy:
v Minimum heap size: Specifies the minimum heap size of the JVM specified size
in megabytes (MB).
v Maximum heap size: Specifies the maximum heap size of the JVM specified size
in megabytes (MB).
v Enable debug: Specifies if the JVM is in debug mode.
v Debug port: Specifies the port that the JVM listens on for remote connections.
v Client (IP or IP/netmask): The IP address of the host that is being used to
debug.
v Client: Specifies an optional address of the debug client. This setting is used to
restrict source access to the debug port. Value is an IP address, for example,
1.2.3.4; or IP/netmask, for example, 1.2.0.0/255.255.0.0, which matches anything
in the 1.2. network.
v Enable verbose garbage collection: Specifies if the JVM has garbage collection
enabled.
v Generic JVM arguments:
v Bit level: Specifies if the bit level is set to 32 bit or 64 bit.
Connections
Table 61. Outgoing connectable components
Component name Description
Web application (WebSphere Application
Server)
A web application cloud component
represents an execution service for Java EE
web applications (WAR files).
Enterprise application (WebSphere
Application Server)
An enterprise application (WebSphere
Application Server) cloud component
represents an execution service for Java EE
enterprise applications (EAR files).
664 IBM SmartCloud Orchestrator 2.3: User's Guide
Table 61. Outgoing connectable components (continued)
Component name Description
OSGi application (WebSphere Application
Server)
OSGi application on WebSphere Application
Server.
About this task
When you enable debugging, the JVM is started in the debug mode and is
listening on the specified port. A debugger on any client machine can attach to the
JVM by default. You can specify a client IP address or IP/netmask to restrict access
to the JVM. A client IP address, such as 10.2.3.5, allows a specific client machine to
debug. An IP/netmask, such as 10.2.3.5/255.255.0.0, allows any machine on the
10.2 network to attach to the JVM.
You can view, edit, or add a JVM policy in the user interface as follows:
Procedure
1. Click Images & Patterns > Virtual Application Patterns.
2. Select a virtual_application_pattern.
3. Click Edit the virtual application icon located in the upper right corner of the
Virtual Application Builder palette.
4. To edit an existing JVM policy, select the JVM Policy part on the Virtual
Application Builder canvas. The properties panel displays.
For more details on the properties panel settings, view the help by selecting the
help icon on the properties panel.
5. To add a new JVM policy to a virtual application pattern, you can:
v Click the Add policy for application icon located in the application
component part on the canvas. JVM Policy from the list of policies. The JVM
policy displays as a part in your application component part.
or
v Click the Add policy for application icon on the upper left side of the
canvas. Select the JVM Policy from the list of policies. The JVM policy
displays on the Virtual Application Builder canvas. You can connect the
policy to an application component part by hovering over the blue circle on
the application component part. When the blue circle turns yellow, draw a
connection between the application component and the policy.
Results
You have edited a current component, edited an existing policy, or added one.
What to do next
For more detailed information about using Rational Application Developer for
WebSphere, see Debugging applications in the WebSphere Application Server
Information Center.
You can optionally use the IBM Monitoring and Diagnostic Tools for Java - Health
Center (Health Center) to assess the current status of a running Java application.
Health Center continuous monitoring provides information that helps you to
identify and resolve problems with applications.
Chapter 6. Managing and deploying virtual patterns 665
In SmartCloud Orchestrator, you can configure the IBM Monitoring and Diagnostic
Tools for Java - Health Center using the following attributes in the JVM policy:
v Enable Health Center: Specifies to start the JVM with Health Center enabled.
Health Center is not enabled by default.
v Health Center port: Specifies the port for which the Health Center agent listens
for remote connections.
v Health Center Client: Specifies the IP address of the Health Center client. This is
an optional setting.
Technical information regarding the IBM Monitoring and Diagnostic Tools for Java
- Health Center is available at the following URL:
https://www.ibm.com/developerworks/java/jdk/tools/healthcenter/
Developing plug-ins
Plug-ins define the components, links, and policies that you use in the Virtual
Application Builder to create virtual application patterns, or extend existing virtual
application patterns. This guide describes how to develop your own custom
plug-ins. Custom plug-ins add behavior and function that users can exploit to
enhance and customize the operation of their virtual applications.
Before you begin
Download the Plug-in Development Kit (PDK). You can also download the PDK
from the SmartCloud Orchestrator user interface Welcome page.
About this task
Use the following steps to develop your own custom plug-ins. The plug-in can be
developed in the Eclipse tool or the integrated development environment (IDE) of
your choice.
Procedure
1. Define and package plug-in artifacts.
a. Define the config.json file.
The config.json file is the only required file in a plug-in. The name,
version, and patterntypes elements are all required. The name element
specifies the name of the plug-in, and the version element defines the
version number of the plug-in. The patterntypes element specifies the
pattern types with which the plug-in is associated. The following example is
a WebSphere Application Server Community Edition plug-in that extends
the IBM Web Application Pattern type (not released with the product):
{
"name" : "wasce",
"version" : "1.0.0.1",
"patterntypes":{
"secondary":[{ "*":"*"}]
},
"packages" : {
"WASCE" : [ {
"requires" : {
"arch" : "x86_64",
"memory" : 512,
"disk" : 300
},
"parts":[ {
"part" : "parts/wasce.tgz",
666 IBM SmartCloud Orchestrator 2.3: User's Guide
"parms" : {
"installDir" : "/opt/wasce"
}
} ],
"WASCE_SCRIPTS":[ {
"parts":[ {
"part":"parts/wasce.scripts.tgz"
} ]
} ]
} ]
}
}
This example defines most of the following common elements:
v patterntype element:
The value is specified as webapp.
This means that the capabilities contributed by this plug-in are available
when you create patterns from the Web Application Pattern (not released
with the product). No primary element and a secondary element of *:*
means it shows up in the Virtual Application Builder for all pattern types.
v requires element:
This element contains other elements that specify resource requirements
of the plug-in.
os
Specifies the operating system that the plug-in requires.
arch
Specifies the virtual machine architecture that the plug-in requires. In
the previous config.json sample code, the specified architecture is 64 -
bit, X86.
cpu
Specifies the minimum processing capacity that is required for each
package defined by your plug-in. The requires element specifies the
required attributes of the package, all parts and node-parts in it. For
cpu it represents the total required resources of each type for all parts
and node-parts in the package.
memory
Specifies the minimum memory requirement for each package defined
by your plug-in. The requires element specifies the required attributes
of the package, all parts and node-parts in it. For memory it represents
the total required resources of each type for all parts and node-parts in
the package.
disk
Specifies the minimum disk requirement for each package defined by
your plug-in. The requires element specifies the required attributes of
the package, all parts and node-parts in it. For disk it represents the
total required resources of each type for all parts and node-parts in the
package.
Note: During the provisioning process, SmartCloud Orchestrator adds up
the minimum CPU, memory, and disk values for each package, and
provisions a virtual machine that meets the specified requirements.
v packages element:
Defines the file packages with both the part and nodepart elements. The
example plug-in provides two packages: WASCE and WASCE_SCRIPTS.
Chapter 6. Managing and deploying virtual patterns 667
The WASCE package contains the parts/wasce.tgz part file. This archive
contains the wasce image - all the files that compose wasce. The binary
files are required to install WebSphere Application Server Community
Edition, and package it directly in the plug-in.
There are other options for specifying the required binary files. You can
define a file attribute and have administrators upload the required binary
files after loading the plug-in in SmartCloud Orchestrator. You can also
link to a remote server that stores the required artifacts. The
WASCE_SCRIPTS package provides the life cycle scripts to install the
WASCE image to the desired location, to install the enterprise archive
(EAR) or web archive (WAR) file, and to start the server.
2. Define configurable application model components.
The web and enterprise application archive components are displayed in the
Virtual Application Builder. Each component is specified in the metadata.json
file that is located in the plugin/appmodel directory of the plug-in archive and
plugin development project. The following example illustrates the JSON to
define the web archive component:
[{
"id" : "WARCE",
"label" : "Web Application (WebSphere Application Server Community Edition)",
"description" : "A web application cloud component represents an execution service
for Java EE Web applications (WAR files).",
"type" : "component",
"thumbnail" : "appmodel/images/WASCE.png",
"image" : "appmodel/images/WASCE.png",
"category" : "application",
"attributes" : [
{
"id" : "archive",
"label" : "WAR File",
"description" : "Specifies the web application (*.war) to be uploaded.",
"type" : "file",
"required" : true,
"extensions" : [ "war" ]
}
]
}]
There is a similar stanza for the enterprise archive component for its
downloadable archive.
The first type field of the listing is important. The value options for this field
are component, link or policy, and this defines the type in the application
model. The id of the component is WARCE. This can be any value as long as it is
unique.
The category refers to the tab under which this component is shown on the
palette in the Virtual Application Builder. The attributes array defines
properties for the component that you are defining. You can see and are able to
specify values for these properties when using this component in the Virtual
Application Builder. Attribute types include file, string (shown here), number,
boolean, array, and range.
3. Define a template to convert the visual model into a physical model.
Plug-ins must provide the knowledge and logic for how to implement, or
realize, the deployment of the defined components. In the case of the next
example, the meaning of how to deploy an enterprise or web application
component must be specified. To do this, a single transform is provided that
translates the application model derived from what users build in the Virtual
Application Builder into a concrete topology.
668 IBM SmartCloud Orchestrator 2.3: User's Guide
The following example displays a Velocity template that represents a
transformation of the component into a JSON object that represents a fragment
of the overall topology document. Each component and link must have a
transform. In our plug-in, the WARCE and EARCE components share the same
transform template.
{
"vm-templates":[
{
"name" : "${prefix}-wasce",
"packages" : [ "WASCE", "WASCE_SCRIPTS" ],
"roles" : [
{
"plugin" : "$provider.PluginScope",
"name" : "WASCE",
"type" : "WASCE",
"quorum" : 1,
"external-uri" : [{"ENDPOINT":"http://{SERVER}:8080"}],
"parms":{
"ARCHIVE" : "$provider.generateArtifactPath( $applicationUrl,
${attributes.archive} )"
},
"requires" : { "memory":512, "disk":300 }
}
],
"scaling" : { "min":1, "max":1 }
}
]
}
The topology fragment is a JSON object that contains a vm-templates element,
which is an array of vm-templates. A vm-template is a virtual machine
template, and defines the parts, nodeparts, and attributes of a virtual machine
to be deployed. For this example, only a single vm-template that contains four
important elements is needed:
v name: Specifies a unique name for a deployed virtual machine.
v packages: Specifies a list of parts and nodeparts that are installed on each
deployed virtual machine. The WASCE entry indicates the use of the WASCE
virtual image. The WASCE_SCRIPTS entry specifies the WASCE life cycle
scripts.
v roles: Specifies parts in a plug-in that invoke lifecycle scripts for roles. You
can have one or more roles in your plug-in, but in the sample plug-in there
is a single WASCE role. When all roles on a node go to the RUNNING state, the
node changes to the green RUNNING state.
4. Define lifecycle scripts to install, configure, and start software.
In this step, you define the lifecycle scripts for the plug-in. This process
includes writing scripts to install, configure, and start the plug-in components.
You can view the complete scripts in the downloadable archives. The following
information includes the key artifacts:
v install.py script
The install.py script copies the WASCE image from the download location
to the desired installDir folder. It also sets the installDir value in the
environment for subsequent scripts. All parts and nodeparts installed by the
SmartCloud Orchestrator agent run as root. The chown R virtuser:virtuser
command changes file ownership of the installed contents to the desired user
and group. Finally, the install.py script makes the scripts in the WebSphere
Application Server Community Edition bin directory executable. The
following sample code is the contents of the install.py script:
Chapter 6. Managing and deploying virtual patterns 669
installDir = maestro.parms[installDir]
maestro.trace_call(logger, [mkdir, installDir])
if not WASCE in maestro.node[parts]:
maestro.node[parts][WASCE] = {}
maestro.node[parts][WASCE][installDir] = installDir
# copy files to installDir to install WASCE
this_file = inspect.currentframe().f_code.co_filename
this_dir = os.path.dirname(this_file)
rc = maestro.trace_call(logger, cp -r %s/files/* %s % (this_dir, installDir), shell=True)
maestro.check_status(rc, wasce cp install error)
rc = maestro.trace_call(logger, [chown, -R, virtuser:virtuser, installDir])
maestro.check_status(rc, wasce chown install error)
# make shell scripts executable
rc = maestro.trace_call(logger, chmod +x %s/bin/*.sh % installDir, shell=True)
maestro.check_status(rc, wasce chmod install error)
This example shows how the script makes use of the maestro module
provided within the plug-in framework. The module provides several helper
methods that are useful during installation and elsewhere.
v wasce.scripts part and install.py script
The wasce.scripts part also contains a install.py script. This script installs
the WebSphere Application Server Community Edition life cycle scripts. The
following is an example of the install.py script in wasce.scripts:
# Prepare (chmod +x, dos2unix) and copy scripts to the agent scriptdir
maestro.install_scripts(scripts)
v configure.py script
The configure.py script in the wasce.scripts part installs the user-provided
application to WebSphere Application Server Community Edition. The script
takes advantage of the hot deploy capability of WebSphere Application
Server Community Edition and copies the application binary files to a
monitored directory. The following example includes the contents of the
configure.py script:
installDir = maestro.node[parts][WASCE][installDir]
ARCHIVE = maestro.parms[ARCHIVE]
archiveBaseName = ARCHIVE.rsplit(/)[-1]
# Use hot deploy
deployDir = os.path.join(installDir, deploy)
if os.path.exists(deployDir) == False:
# Make directories
os.makedirs(deployDir)
deployFile = os.path.join(deployDir, archiveBaseName)
# Download WASCE archive file
maestro.download(ARCHIVE, deployFile)
v start.py
The start.py script in the wasce.scripts part is responsible for starting the
WebSphere Application Server Community Edition process. After starting the
process, the script updates the state of the role to RUNNING. When the
deployment is in the RUNNING state, you can access the deployed application
environment. The following example shows the use of the geronimo.sh start
command to start WebSphere Application Server Community Edition, as well
as the gsh.sh command to wait on startup:
wait_file = os.path.join(maestro.node[scriptdir], WASCE, wait-for-server.txt)
installDir = maestro.node[parts][WASCE][installDir]
670 IBM SmartCloud Orchestrator 2.3: User's Guide
rc = maestro.trace_call(logger, [su, -l, virtuser, installDir + /bin/geronimo.sh,
start])
maestro.check_status(rc, WASCE start error)
logger.info(wait for WASCE server to start)
rc = maestro.trace_call(logger, [su, -l, virtuser, installDir + /bin/gsh.sh,
source, wait_file])
maestro.check_status(rc, wait for WASCE server to start error)
maestro.role_status = RUNNING
logger.info(set WASCE role status to RUNNING)
logger.debug(Setup and start iptables)
maestro.firewall.open_tcpin(dport=1099)
maestro.firewall.open_tcpin(dport=8080)
maestro.firewall.open_tcpin(dport=8443)
There are other scripts and artifacts that make up the plug-in, but the above
provides an explanation of the most significant scripts.
What to do next
Add your custom plug-in to SmartCloud Orchestrator where the plug-in can be
used to create or extend a virtual application.
Plug-in Development Kit:
The Plug-in Development Kit (PDK) is designed to help you build plug-ins for
SmartCloud Orchestrator. The custom plug-ins can be added to the SmartCloud
Orchestrator catalog where they are used to add components, links, and policies to
virtual applications.
Attention: Download the PDK to get started.
The PDK is a zip package that includes a plug-in and pattern type build
environment, samples, and a tool to create a plug-in starter project
v docs
Contains documentation for the PDK
docs/index.html Contains a list of links to the documentation in the docs
directory.
docs/PDKSampleUsersGuide.pdf
The PDK Samples User Guide. The Samples are also located in the
information center.
docs/javadoc
This directory contains Javadoc for SmartCloud Orchestrator interfaces that
the plug-ins can invoke from the Java code.
docs/pydoc
This directory contains documentation for the maestro module used in
lifecycle Python scripts for nodeparts and parts.
v iwd-pdk-workspace
The root directory of your plugin development workspace.
Each plug-in and pattern types has its own project directory in this root
directory. These directories can be used directly from the command line or
imported into Eclipse as plug-ins.
Chapter 6. Managing and deploying virtual patterns 671
v pdk-debug-{version}.tgz
This file is the debug plug-in that can be installed into the SmartCloud
Orchestrator instance and used to develop and debug the plug-ins.
The debug includes features to deploy and debug a topology document, which
is a JSON object, and debug plug-in installation and lifecycle scripts on
deployed nodes. For more information, see the topic, Debug.
v pdk-unlock-{version}.tgz
The unlock plug-in enables you to delete a plug-in in use by a deployed
application, replace it with an updated version, and activate the modified
plug-in on deployed virtual machines in the application. For more information,
see the topic, Unlock.
plugin.depends tool
The plugin.depends tool is provided in the
IBMWorkloadPluginDevKit_<version>.zip file. This plug-in development tool is a
standard OSGi plug-in project. The tool includes SmartCloud Orchestrator plug-in
libraries for development, build tools for plug-in and pattern types, and an Ant
build library, including:
v The lib folder that includes all of the Java archive (JAR) files that are required
for plug-in development.
v The lib-build folder that includes all of the libraries that are required for the
plug-in build script.
v The build/build.plugins.xml file that is the base internal build script file for
single plug-in building. The build script file of each plug-in imports this build
script file first and adds more actions, if necessary.
v The build/build.patterntypes.xml file which is a generic pattern type building
script. The build script file of each pattern type imports this build script file first
and adds more actions, if necessary.
v The create.plugin.project.xml file which is an Ant script used to create
projects for the plug-ins in your workspace.
You can use the create.plugin.project.xml file of plugin.depends to create
projects for your plug-ins. This file creates a template or a Java plug-in project.
There are two required parameters: project-name and plugin-name. Using these
two parameters creates a template project. The third parameter, java.classname,
is optional. If a valid class name is given, a Java plug-in project is created. The
class name can be a simple name like MyPlugin or a package-qualified name, like
com.acme.iwd.plugin.MyPlugin.
Important: Do not add the extension,.java to the end of the Java plug-in
project, because the extension is assumed.
v The plugin-project-template that is used by the create.plugin.project.xml
Ant script to create plug-in projects.
Samples
A Samples package is included with the PDK. See the topic, Samples: Plug-in
Development, for more information.
Development plug-ins
Several plug-ins to assist with plug-in development are included in the PDK. For
more information, see Plug-ins for development on page 702.
672 IBM SmartCloud Orchestrator 2.3: User's Guide
Related tasks:
Developing plug-ins on page 666
Plug-ins define the components, links, and policies that you use in the Virtual
Application Builder to create virtual application patterns, or extend existing virtual
application patterns. This guide describes how to develop your own custom
plug-ins. Custom plug-ins add behavior and function that users can exploit to
enhance and customize the operation of their virtual applications.
Working with virtual application pattern plug-ins on page 605
Plug-ins provide the constituent parts of a virtual application, as well as the
underlying implementation that makes the application deployable in the cloud.
Pattern types, the containers of solution-specific and topology-specific resources
that are required for different types of virtual applications, are collections of
plug-ins.
Sample: Setting up the plug-in development environment on page 725
Set up the environment for the plug-in Samples.
Related reference:
Plug-in development guide on page 676
If you are developing custom plug-ins, this topic provides more details about
various aspects of plug-ins in the order encountered during a typical development
effort.
Samples on page 723
Use these samples to help you learn how to develop custom plug-ins. The plug-ins
that you develop can be added to the SmartCloud Orchestrator catalog and used
as components, links and policies for virtual applications.
Installing the Plug-in Development Kit:
To get started using the Plug-in Development Kit, first download and install the
kit.
Before you begin
You can download the PDK from this IBM website or download the PDK from the
SmartCloud Orchestrator user interface Welcome page.
Attention: You must enable the PDK license before you can use the PDK. A
dialogue box displays during download to assist you with the license acceptance
process.
About this task
Use the following steps to download and install the PDK:
Procedure
1. Download the PDK from IBM Plug-in Development Kit or download the PDK
from the SmartCloud Orchestrator user interface Welcome page.
2. Extract the .zip file into a directory. From the command line, change to that
directory and run Ant from the command line in that directory.
Important: You must accept the PDK license presented in a dialogue box to
continue and unpack the contents of the PDK.
The following files are extracted into the file directory:
v docs
Chapter 6. Managing and deploying virtual patterns 673
Contains documentation for the PDK
docs/index.html Contains a list of links to the documentation in the docs
directory.
docs/PDKSampleUsersGuide.pdf
The PDK Samples User Guide. The Samples are also located in the
information center.
docs/javadoc
This directory contains Javadoc for SmartCloud Orchestrator interfaces
that the plug-ins can invoke from the Java code.
docs/pydoc
This directory contains documentation for the maestro module used in
lifecycle Python scripts for nodeparts and parts.
v iwd-pdk-workspace
The root directory of your plugin development workspace.
Each plug-in and pattern types has its own project directory in this root
directory. These directories can be used directly from the command line or
imported into Eclipse as plug-ins.
v pdk-debug-{version}.tgz
This file is the debug plug-in that can be installed into the SmartCloud
Orchestrator instance and used to develop and debug the plug-ins.
The debug includes features to deploy and debug a topology document,
which is a JSON object, and debug plug-in installation and lifecycle scripts
on deployed nodes. For more information, see the topic, Debug.
v pdk-unlock-{version}.tgz
The unlock plug-in enables you to delete a plug-in in use by a deployed
application, replace it with an updated version, and activate the modified
plug-in on deployed virtual machines in the application. For more
information, see the topic, Unlock.
Results
The PDK is downloaded and installed. Now you must complete the task of
Setting up the plug-in development environment on page 675.
Related tasks:
Installing the Plug-in Development Kit on page 673
To get started using the Plug-in Development Kit, first download and install the
kit.
Setting up the plug-in development environment on page 675
Set up the environment to develop custom plug-ins that are used in SmartCloud
Orchestrator
Developing plug-ins on page 666
Plug-ins define the components, links, and policies that you use in the Virtual
Application Builder to create virtual application patterns, or extend existing virtual
application patterns. This guide describes how to develop your own custom
plug-ins. Custom plug-ins add behavior and function that users can exploit to
enhance and customize the operation of their virtual applications.
Working with virtual application pattern plug-ins on page 605
Plug-ins provide the constituent parts of a virtual application, as well as the
underlying implementation that makes the application deployable in the cloud.
Pattern types, the containers of solution-specific and topology-specific resources
that are required for different types of virtual applications, are collections of
674 IBM SmartCloud Orchestrator 2.3: User's Guide
plug-ins.
Related reference:
Plug-in development guide on page 676
If you are developing custom plug-ins, this topic provides more details about
various aspects of plug-ins in the order encountered during a typical development
effort.
Plug-in Development Kit on page 671
The Plug-in Development Kit (PDK) is designed to help you build plug-ins for
SmartCloud Orchestrator. The custom plug-ins can be added to the SmartCloud
Orchestrator catalog where they are used to add components, links, and policies to
virtual applications.
Samples on page 723
Use these samples to help you learn how to develop custom plug-ins. The plug-ins
that you develop can be added to the SmartCloud Orchestrator catalog and used
as components, links and policies for virtual applications.
Setting up the plug-in development environment:
Set up the environment to develop custom plug-ins that are used in SmartCloud
Orchestrator
Before you begin
The following products are required before setting up the environment:
v Eclipse V3.6.2, 32-bit. The Java Platform, Enterprise Edition (Java EE) version is
recommended.
Eclipse is not required, but if you use it, use this version.
If you use Eclipse, you can use the Ant that comes with it. Do not install Ant
separately. Ant is located in the Eclipse installation directory at
eclipse/plugins/org.apache.ant_1.*.