v3.3.2

Release Date 5/24/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.2 New Features

  • Agent: Support for Ubuntu 18.04 LTS added
  • Alibaba: Docker Host support added
  • Alibaba: Virtual Image upload added
  • API: Virtual Image Upload via url added
  • API: Identity Source added
  • API: Instance config and volume details added
  • Apps: New default Blueprint logos
  • Auditing: Now support the ability to export the audit log from user interactions to a SIEM tool
  • Auditing: AuditLogService added to morpheus-ui logs
  • Azure: Scale Set threshold validation added
  • Bluecat: New method added for instant dns record deployments
  • Blueprints: Templates have been renamed to Blueprints
  • Blueprints: Default Blueprint type option added to Administration - Provisioning
  • Blueprints: ARM: Support for “concat” and “copies” added
  • Blueprints: Terraform: AWS support added
  • Blueprints: Terraform: Support for variable instance names added
  • Blueprints: Terraform: Oracle Cloud support added
  • Blueprints: Terraform failures surface on the app details page
  • Blueprints: Terraform: Variables now surface in App wizard
  • Global Search: Quick results added to header search
  • Infoblox: Support for custom extended attributes added
  • Instance Wizard: Code reworked for optimizations
  • Infrastructure: Updated delete dialog text
  • Keys & Certs: Services section added
  • Keys & Certs: Venafi service added
  • Keys & Certs: EC type public key support added
  • Keys & Certs: Upload keypair option added
  • Kubernetes: Ports no longer need to be defined on custom library items
  • Kubernetes: Added icon for Kubernetes instance type
  • KVM: Caching virtual machines now include metadata on network and storage volumes attached to a KVM VM
  • KVM: Re-factored LVM implementation of KVM to allocate a volume per disk instead of nested QCOW2 files
  • KVM: VM Inventory added
  • Network Services: phpIPAM integration added
  • Plans & Pricing: Max disk limit added to plans
  • Reports: Tenant filtering added to Usage Reports
  • Reports: Cost Reports added with Application, Cloud, Group, Instance and Tenant Cost Reports
  • Reports: Usage Reports: Tenant Usage Report Added
  • Roles: Trust Services permission added. Controls Infra > Keys & Certs > Services access and Admin > Integrations > Add (trust options)
  • ServiceNow: Kingston certification added for Morpheus SNOW Plugin
  • Users: Password confirmation fields added for Linux and Windows users
  • vCloud Director: Custom Plans support added
  • vCloud Director: Docker Host support added
  • vCloud Director: Reconfigure added
  • VMware: Instance Notes sync added

3.3.2 Fixes

  • Fix for tenant delete that fails if an app with custom tiers is used to create an app
  • Fix for Alibaba Cloud sync delay
  • Fix for Alibaba release EIP not respected when deleting VM
  • Fix for Alibaba network being recreated on sync
  • Fix for Alibaba instance validation not completing
  • Fix for Alibaba instance name validation
  • Fix for Xen snapshots not being cleaned up
  • Fix to show existing VM’s in Alibaba inventory
  • Fix for deleting SCVMM cloud
  • Fix for style issue with load balancer advanced options
  • Fix for Veeam Templates/Jobs not populating
  • Fix for Oracle Cloud VM. VM will restart after it is resized
  • Fix for VMware storage containers where adding a controller would clear the volume type
  • Fix for extra backup that’s created on an Azure Scale Set instance
  • Fix for Azure Scale Set instance data issues
  • Fix for MacStadium creating a duplicate VM after cloud sync
  • Fix for Alibaba cloud not cleaning security groups when deleted
  • Fix for Oracle Cloud users not being created for non-cloudinit images
  • Fix for Service Now incident level update
  • Fix for KVM multidisk provision
  • Fix for Bluemix Platform not cleaning up service library items
  • Fix for Alibaba not using available EIP
  • Fix for missing price component
  • Fix for Kubernetes host cert issue
  • Fix for Windows Cloudbase-init userdata and DNS client settings missing
  • Fix for wrong Ethernet adapter type being set on uploaded Windows images
  • Fix for Alibaba backups not getting deleted when instance is deleted
  • Fix for KVM provision not respecting host selection
  • Fix for Cloud Foundry user permissions
  • Fix for manual KVM host deletion error
  • Fix for permissions on default storage path
  • Fix for Openstack cloud service plans assigned to subtenants
  • Fix for default instance deployment
  • Fix for Alibaba ‘preserve volume’ not working on delete
  • Fix for system instance type: macOS
  • Fix for expired backup archived not deleting on S3
  • Fix for unintended firewall evaluation when using shared resource in an app
  • Fix for KVM App/Template issues
  • Fix for Last Deployment: Never Deployment phrasing
  • Fix for CentOS 7.2 Answer File in boot configurator for PXE

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.