Migrating engines that you installed with IBM UrbanCode Deploy

To migrate the Heat engine that is required for the IBM® UrbanCode® Deploy blueprint designer from Red Hat Enterprise Linux™ (RHEL) version 6 to RHEL 7, stop the related Heat services, migrate the databases, install the new version, and restart the services

  • You must have installed a Heat engine that was provided with IBM UrbanCode Deploy version 6.2.1.0 or earlier.
  • You must have root access to the RHEL 6 system that hosts the Heat engine.
  • You must use the default user name and password for the Heat engine's MySQL database. If the database user name is not root or the root user's MySQL password is not passw0rd, you must update the values for the DBUSER and DBPASSWD parameters in the /extracted_location/ibm-ucd-patterns-install/engine_install/resources/tools/fromJuno2Kilo-prep.sh file, where extracted_location is where you extracted the engine installation media.
  • You must have access to the Heat engine and Keystone service by using the command line interface.
  • You must have access to a server that runs RHEL 7 and can host the new engine. Configure the target system with the prerequisites that are listed in Installing an engine in interactive mode.
  • If you connect to an OpenStack cloud, then you must upgrade the cloud to the Kilo version.

In IBM UrbanCode Deploy version 6.2.1.1, the default Heat engine was changed from a Juno version that must be installed on RHEL 6 to a Kilo engine that must be installed on RHEL 7. To upgrade the engine, you must migrate your engine to a new server. If you installed the default OpenStack Identity Service (Keystone), you must also migrate it.

These steps are for engines that you installed with the IBM UrbanCode Deploy installer. If you extended an existing engine as described in Extending an existing OpenStack engine, use the instructions in Upgrading engines that you extended. These steps include instructions to also migrate a default OpenStack Identity Service (Keystone) to the new server.

If you do not want to migrate the engine, but you need access to the updated Heat types, extend your existing engine. See Extending an existing OpenStack engine.

To upgrade an engine to a version before 6.2.1.1 to version 6.2.1.1 or later, see Installing an engine in interactive mode.

  1. Optional: On the system that hosts the OpenStack Juno engine, remove all of the environments that have the status of CREATE_FAILED:
    1. Run the following command to identify the environments:
      heat stack-list | grep CREATE_FAILED
    2. Delete each environment by running the following command:
      heat stack-delete stackID
      Use the ID of the environment for stackID.
  2. To reduce the size of the database for the Keystone service, remove expired security tokens.
    Run the following command to remove the expired tokens:
    keystone-manage token_flush
  3. Stop the Heat services by running the following commands:
    service openstack-heat-engine stop
    service openstack-heat-api stop
    service openstack-heat-api-cfn stop
    service openstack-heat-api-cloudwatch stop
  4. Stop the Keystone service by running the following command:
    service openstack-keystone stop
  5. Copy the fromJuno2Kilo-prep.sh file from the installation media of IBM UrbanCode Deploy version 6.2.1.1 or later to the system that hosts the OpenStack Juno engine.
    The file is in the /extracted_location/ibm-ucd-patterns-install/engine_install/resources/tools folder, where extracted_location is the location to which you extracted the installation media.
  6. To package the database backups and configuration files that the new system requires, on the system that hosts the OpenStack Juno engine, run the following command:
    /transfer_location/fromJuno2Kilo-prep.sh
    where transfer_location is the folder that you transferred the file to.
    Backup files for the Heat engine and Keystone service and necessary configuration files are stored in the ./migration.toolkit.number.tar.gz file, where number represents the time of package creation.
  7. Transfer the ./migration.toolkit.number.tar.gz to the RHEL 7 computer and extract it.
    The extracted files are in the /transfer_location/migration.toolkit.number folder, where number represents the time of package creation.
  8. On the RHEL 7 computer, install a new engine and Keystone service and start their services.
  9. Verify that the engine installed correctly.
    1. Change directory to the /root/ folder.
    2. To verify that the engine is running, run the following commands:
      source clientrc
      heat resource-type-list
      heat stack-list
      If the Heat engine is running, the resource types and stacks that the engine contains are displayed.
  10. Review the contents of the heat.conf, keystone.conf, and my.cnf files that are in the /transfer_location/engine.info.number/conf, and add any custom values that they contain to the following files:
    • /etc/heat/heat.conf
    • /etc/keystone/keystone.conf
    • /etc/my.cnf
  11. Migrate the databases for the Heat engine and Keystone service by running the following command:
    /extracted_location/migration.toolkit.number/fromJuno2Kilo.sh host_name
    where extracted_location is the location to which you extracted the /migration.toolkit.number.tar.gz folder and host_name is the fully qualified host name or IP address of the RHEL 7 system.
  12. Configure the new Heat engine and Keystone service.
    After you migrate the databases for the Heat engine and Keystone service, you must create the OpenStack project, users, and roles that are used in the databases. You must also configure new OpenStack identity endpoints for the new Keystone service. To complete these setup and configuration scripts, run the add-keystonev3-after-migration.sh script that is provided with the engine installation media.
    Run the following command:
    /extracted_location/ibm-ucd-patterns-install/engine_install/resources/tools/add-keystonev3-after-migration.sh
    In this command, extracted_location is the location to which you extracted the installation media.
  13. Stop and start the engine.
  14. In the system settings in the blueprint designer, update the new URLs for the Keystone service and Heat engine, and then test the connections.
  15. On the Environments page, confirm that your environments are listed.
  16. To confirm that the Heat engine functions correctly, create a blueprint and provision it.