v3.3.1

Release Date 4/15/2018

Important

If upgrading from versions earlier than 3.2.0 please follow the 3.2.0+ upgrade instructions below the release notes.

Important

Appliance Elasticsearch communication in 3.3.1 switches from transport protocol 9300 port to http 9200

3.3.1 New Features

  • Azure Scale Sets support added
  • Azure: Network Security Group selection no longer required
  • Bluecat: Network filter option added to Integration settings
  • Cypher: TFvars added for Terraform. Allows variable files stored in cypher to be used with Terraform Templates.
  • Global Search: Apps & Library Items categories added
  • Infoblox: Host and Zone Record Sync added
  • Infoblox: Manual Host and Zone record creation, deletion and reservations added
  • Infrastructure- Hosts: Typing DELETE now required when removing infrastructure
  • Instances: Mute Checks option added on shutdown
  • Instance Details: Last Deployment Name and Version added
  • KeyPairs: Validation and conversion service added
  • Library: Morpheus Node Types for CentOS 7.3 for Nutanix and ESXi added
  • Load Balancers: F5 Pool Creation Validation, VIP Creation Validation, VIP Creation SSL Profile and Remove Policies Options added
  • Morpheus Appliance: Major Speed and resource utilization improvements. Please note Appliance Elasticsearch communication in 3.3.1 switches from transport protocol 9300 port to http 9200
  • Networks- IP Pools: Used and Total IPs progress bar added
  • Networks- IP Pools: IP Pool Detail Pages added
  • Networks - Services: IPAM Service Detail Pages added with Host Record Grids and List views.
  • Networks - IP Pools: Created date and created by user tracking added to IP assignments.
  • Networks: Domain Detail Pages added
  • Networks - Services: DNS Services Zone Record sync added
  • Oracle Cloud: Ability to provision by OCID added
  • Oracle Cloud: Multiple Compartment support and default Compartment selection added
  • Oracle Cloud: Provisioning improvements
  • Oracle Cloud: Reconfigure added
  • Plans: Cores Per Socket specification added to VMware type plans
  • Provisioning - Automation: Scale Thresholds section added. Scale Thresholds can be pre-defined and selected when scaling Instances.
  • Reports: Costs added to Virtual Machine Inventory Summary report
  • Reports: Provision Times added to exported Virtual Machine Inventory Summary reports
  • Templates: TFvars selection added
  • VCD: Custom Library Nodes added
  • VCD: Virtual Image upload added
  • Virtual Images: Minimum Ram Requirement field added. Limits which plans will be available for selection at provision time.

3.3.1 Fixes

  • Fix for Windows domain join guest user and password not being set
  • Fix for Error when setting custom group access on subtenant role
  • Fix for Favicon resetting to default on whitelabeling
  • Analytics Group and Cloud filter fix
  • Fix for API: groups list timing out in high usage environments
  • Fix for Nutanix Cloudbase-Init metadata
  • Fix for editing and saving Bluecat Integration creating duplicate networks
  • Fix for Baremetal: Convert to Managed - creating docker check
  • Fix for synced service plans remaining after some cloud deletions
  • Fix for KeyPairs 403 error when invalid KeyPair exists
  • Fix for Azure Managed Disk error when no Azure Storage Accounts exists
  • Fix for NetScaler: unable to add load balancer when using SSL
  • Fix for VMware and Nutanix duplicate VM records
  • Fix for VMware parent host record sync
  • Fix for error creating an App with Existing Instance
  • Fix for edit option shown in sub-tenant groups cloud tab on clouds owned by master tenant
  • Auto cleanup of Azure Deployment records added

Important

If upgrading from versions earlier than 3.2.0 please follow the 3.2.0+ upgrade instructions below

3.2.0+ Upgrades

Overview

Upgrading from previous versions of Morpheus to 3.2.0 or later requires upgrading ElasticSerach to 5.4.1 or 5.x. We do not support ElasticSearch 6.x at this time. This upgrade requires an export and import of Morpheus ElasticSearch data if you want to retain logs, backup history, statistics, and check history of your instances. If you do not need to retain that data you can skip the ElasticSearch migration. Upgrading to 3.2.0 will create a blank ElasticSearch node with no data. Your Morpheus layout configuration will determine how to migrate your ElasticSearch data: all-in-one or distributed high availability.

Morpheus All-In-One

This deployment configuration is the default mode for Morpheus and contains a single ElasticSearch instance on the appliance. The migration steps are as follows:

  1. Login to your appliance as a user that has sudo privileges and can switch to the root user sudo su -. You can run the following commands under sudo, but you will need to pass the PATH to the Morpheus embedded directory. Export the Morpheus embedded path to your environment by executing: export PATH=/opt/morpheus/sbin:/opt/morpheus/sbin:/opt/morpheus/embedded/sbin:/opt/morpheus/embedded/bin:$PATH
  2. Verify that you are using the Morpheus embedded gem by executing the command: which gem. You should see the path /opt/morpheus/embedded/bin/gem
  3. Install the elastic-util gem by executing: gem install elastic-util if you don’t want the documentation then execute gem install elastic-util --no-ri --no-rdoc
  4. Stop the Morpheus application by executing morpheus-ctl stop morpheus-ui, this will stop creating new documents in ElasticSearch.
  5. Create a backup of the ElasticSearch indices by executing: elastic-util backup http://localhost:9200 /root/es_backup, you can change the location of the backup to any file location. You can also pass the --force argument to overwrite the existing location if you are repeating the backup.
  6. Upgrade Morpheus as usual by executing the package upgrade command dpkg -i morpheus-appliance_3.2.0-1_amd64.deb or rpm -U morpheus-appliance-3.2.0-1.el7.x86_64.rpm, and run morpheus-ctl reconfigure to complete the upgrade process.
  7. You can start Morpheus at this point to bring up the Morpheus application by executing: morpheus-ctl start morpheus-ui.

Note

Make sure that Morpheus is fully started before moving on to the next step.

Once the application has started, a new ElasticSearch node is created with default data, to import your data from the backup execute: morpheus-ctl elastic-util restore http://localhost:9200 /root/es_backup, substitute the path you used during the backup if different from above.

Note

The restore may take several hours depending on the amount of data to restore. You can run this while running Morpheus.

Morpheus Distributed High Availability

This deployment configuration assumes that you manage an ElasticSearch cluster externally from Morpheus. The steps for upgrading ElasticSearch from 1.x to 5.x are located on the ElasticSearch website. Run the following from a “master” appliance, it has the required Ruby installed in the Morpheus full stack directory. Ensure that the appliance can reach at least one ElasticSearch node over port 9200 (http). Also, make sure thre is enough disk space to hold the exported data on the appliance.

  1. Login to the master appliance as a user that has sudo privileges and can switch to the root user sudo su -. You can run the following commands under sudo, but you will need to pass the PATH to the Morpheus embedded directory.

  2. Export the Morpheus embedded path to your environment by executing: export PATH=/opt/morpheus/sbin:/opt/morpheus/sbin:/opt/morpheus/embedded/sbin:/opt/morpheus/embedded/bin:$PATH

  3. Verify that you are using the Morpheus embedded gem by executing the command: which gem. You should see the path /opt/morpheus/embedded/bin/gem

  4. Install the elastic-util gem by executing: gem install elastic-util if you don’t want the documentation then execute gem install elastic-util --no-ri --no-rdoc

  5. Stop all the Morpheus application instances by executing morpheus-ctl stop morpheus-ui on each appliance node, this will stop creating new documents in ElasticSearch.

  6. Create a backup of the ElasticSearch indices by executing: elastic-util backup http://xxx.xxx.xxx.xxx:9200 /root/es_backup, you can change the location of the backup to any file location. You can also pass the --force argument to overwrite the existing location if you are repeating the backup.

    Note

    The next steps are done on the ElasticSearch node(s).

  7. Stop ElasticSearch on each node.

  8. Backup the ElasticSearch config directory for each node, normally located at /etc/elasticsearch/.

  9. Since the index data between 1.x and 5.x is incompatible, delete the data from the data directory normally located at /var/lib/elasticsearch. To prepare for future upgrades make sure that you delete the cluster name directory as well, ie morpheus.

  10. Upgrade ElasticSearch, use the method that best fits your situation ie pkg, tar, or zip.

  11. Remove unsupported configuration from the existing ElasticSearch configuration

    • index.number_of_shards
    • index.number_of_replicas
    • discovery.zen.ping.multicast
  12. Replace or update the package installed configuration with your existing configuration if it was overwritten.

    • Set network.host or network.bind_ip and network.publish_ip accordingly to your network configuration.
  13. Start ElasticSearch on each node and form a new cluster.

  14. Verify you have a good cluster by executing: curl http://xxx.xxx.xxx.xxx:9200/_cluster/health?pretty, check for the number of nodes and that you have a green status.

    Note

    The next steps are done on the Morpheus “master” node.

  15. Upgrade Morpheus as usual by executing the package upgrade command dpkg -i morpheus-appliance_3.2.0-1_amd64.deb or rpm -U morpheus-appliance-3.2.0-1.el7.x86_64.rpm, and run morpheus-ctl reconfigure to complete the upgrade process.

  16. You can start Morpheus on the master node only at this point to bring up the Morpheus application by executing: morpheus-ctl start morpheus-ui.

    Note

    Make sure that Morpheus is fully started before moving on to the next step.

  17. Once the application has started, a new ElasticSearch node is created with default data, to import your data from the backup execute: morpheus-ctl elastic-util restore http://xxx.xxx.xxx.xxx:9200 /root/es_backup, substitute the path you used during the backup if different from above.

    Note

    The restore may take several hours depending on the amount of data to restore. You can run this while running Morpheus.

  18. Move to the next Morpheus appliance and upgrade it by executing the package upgrade command dpkg -i morpheus-appliance_3.2.0-1_amd64.deb or rpm -U morpheus-appliance-3.2.0-1.el7.x86_64.rpm, and run morpheus-ctl reconfigure to complete the upgrade process.

  19. Start Morpheus by executing: morpheus-ctl start morpheus-ui.

  20. Upgrade the rest of the Morpheus appliances in your environment.