Project: ManageIQ (Provisioning / Automation & Configuration)
File: CHANGELOG.md

All notable changes to this project will be documented in this file. The format is based on Don't dynamically write systemd unit files Add static systemd unit files for workers Move the provider generator systemd files to ./systemd Move build/systemd\_units/ -> systemd/ due to BUILD file conflict Avoid seeding ansible content in production Fix ansible\_runner content seeding database\_connectivity? should handle not-running database Prefer rollup records with tags to grouping in chargeback Remove disabling of hash alignment cop Fix MiqEnvironment.local\ip\address to not prefer loopback Fix notification missing substituted values, log deprecation if other places do this Fix key collision with Thread :current\_request Add Kasparov Beta1 Gemfile.lock settings.yml support string settings values introduce User.lower\_userid to remove some arel across a few repos Rails 6.0 VmScan transitions from before\scan -> start\scan Hide deprecated and duplicate attributes Use systemd-notify for worker heartbeating Add display names for FileDepot models Run MiqServer.status_update in server process Fix EmbeddedAnsible manager validation Remove unused assignments Cleanup a useless next unless in worker monitor EmbeddedAnsible Ensure newline for auth_key in MachineCredential Tenant changes changes miq product features on all servers Auto-restart systemd workers results in duplicates Call ResetFailedUnit when cleaning up failed services Ensure that options Ensure newline for :ssh\key\data Add check for invalid roles in server\role\names= Prefer ManageIQ::Password over legacy MiqPassword constant Remove NTP from core Use inotify to wait for ansible-runner pid file creation Filtered the auth key in api.log Delegate queue\name for refresh to parent manager instead of queuename arrays Update the Ansible::Runner wait_for timeout Remove MiqWorker supports\_container? method, as most workers now support podified Fixed embedded ansible edit credentials MiqSmartProxyWorker not running in Podified Widget generate\report\result fixed when owner has no group Don't allow kafka exceptions to cause EmsEvent.add_queue to fail Remove the miq-uuid reference Avoid failing workers by bumping the memory limits for them Fix the evm\application\spec for updated tabelize Use Host#uid\ems to link host records to ems\events Use the passed service account for worker deployments Remove the extra env var for systemd configuration Add memory and cpu limits on deployments Double the initial delay and timeout for worker container liveness probes Add additional python3 module path for Centos8 support Move the systemd env var check into the systemd_worker? method Fix issue where the square brackets are being created as directories in docker Remove the miq_workers table from the reindex list Fixed Settings hierarchy on Global region Ensure ems workers are killed by their server/orchestrator pod Create env vars to override the full worker image ref MiqExpression#contains improvement Don't rely on the default value for ImagePullPolicy Conditionally add the messaging environment vars to worker containers Explicitly disable systemd support in podified env Add missing compliance events for container project and physical

Bump the worker liveness check timeout to avoid false failures Improve formatting for rate columns in chargeback reports Set imagePullPolicy Fix VM retirement initiated from the global region Fixed a typo in the report title Don't create data directory outside the source tree in containers Add ems uid and ems type to event payload Move API OpenID-Connect support to Apache configuration Implemented account lockout policy backend Fix sql injection brakeman warning in the aggregation mixin query Fix brakeman warning about possible command injection MiqReport: add skip_references attribute back Don't run worker pods as root Handle user create race condition Use CONTAINER IMAGE TAG for worker deployment tag Fixed cockpit process starting Add an owner reference to the orchestrator pod for all created objects Fix messaging_client exception if no ENV and no yaml are present Fix a bug when running Rbac on VimPerformanceDaily Fix improperly addressed rubocop warning Only show catalog types for supported EMSs Fix storage profile ems foreign key Add additional privilege escalation methods Add kafka connection info to worker containers Add kafka as an option for prototype.queue_type Consolidate existing server setting CLI tools Remove the journald logger to resolve segfaults Don't queue things that need to run on the same worker container Embedded ansible provider should allow creation in maintenance zone Schedule a daily count of managed VMs and print result to audit log. Added new section in product features to handle common UI features Add permissions for ConfigurationProfiles Add VM SmartState Analysis policies to default policy set Add API ConfiguredSystems product features Move API OIDC/OAuth2 support from API to ManageIQ core Update master codename to Kasparov Re-worded "Ansible Automation Inside" to "Embedded Ansible" for standardisation Fix ivanchuk container image Make monolithic image work when built with buildah Make systemd the default for worker management Delay load manageiq-api-client until needed Delay load kubeclient and it's exception. [(#19860)]https://github.com/ManageIQ/manageiq/pull/19859) Productize pods without product name Add the provided image pull secret to deployed worker containers Replace yum commands with dnf in the Dockerfile Move report formatter and charting to core Bump version of rake to >=12.3.3 for CVE-2020-8130 Use the server's zone to determine a node selector when running in pods Use a single query to get count of active VMs and Hosts Job method "queue signal" to take a "queue name" Bump "secure headers" gem to a more recent version Monitor multiple servers when running in pods Map server to zone in pods Remove Vmdb::Settings "last loaded" and simplify server settings reload Commit the data directory rather than creating it when the server starts Remove the unsafe "cattr accessor" for "my guid cache" Upgrade to config gem for ruby 2.7 support Split up MetricsCapture into provider subclasses Add a queue_name to MiqProvisionRequest to allow to be run on specialized workers Add a native_viewer VM console option for RHV/Ovirt Differentiate deployment names by server Always use file based heartbeat Switch from git source to rubygems.manageiq.org Added a tool to visualize Jobs in graphviz Updated rubyzip gem to version 2 Updated linux_admin gem to version 2 Added sync gem Streamline Cap and U capture Development environment performance improvement by removing the seeding of the database on startup Drop support for forking workers, use spawn by default Improved metrics_capture support , , Added support for configuring SAML and OIDC authentication settings enabling automated configuration from the appliance_console CLI Added the ability for the orchestrator to run on either OpenShift or Kubernetes by using only objects supported by both. Added MiqWorkerType model replacing the worker type constant Use table currencies if they exist in ChargebackRateDetailCurrency Add AuthenticationMixin to Vm Add support to automate external auth config for ldap Cap&U collector tests Cap&U Extract logic to determine queue items Cu schedule collector by ems Enable workers as containers Optionally symlink a plugin's spec/manageiq Return MiqTask id from MiqWidget.queuegeneratecontent Update the orchestrator for new database secret format Update puma to latest. Be less conservative. Update to config gem 2.0.0 Add a base Job#queue_signal method drop first_in => interval from scheduler Reduce the number of gems for AWS SDK usage Update sys-filesystem gem to 1.3.1 require specific aws gems Allow plugins to bring their own miq_reports Generate perfomance reports in specific date range Don't require modifying the source to purge vms Remove zanata-related stuff from manageiq Enumerable#reverse_each is faster than Enumerable#reverse.each Prefer block version of File.open to ensure file handle gets automatically closed Revert "Prefer block version of

to ensure file handle gets automatically closed" Add a verifycredentialstask method CloudNetwork NetworkPort and SecurityGroup belong to a ResourceGroup Convert unsafe SQL to pure active record methods (rails 5.2) Pluggable ScanItems Rbac no references array Reload stale source_tenant after destroying self (rails 5.2) Removing groups changes users current group Update defaultvaluefor rails 5.2/6 support Add check for nil group to systemcontextrequester Add copying tag as optional choice Make direct_vms a relation Fix smartproxy worker heartbeat thread Fix polymorphic issues with MiqReport + Rbac Add a connection timeout for remote region connections Remove storage references to multiple emses Only register queue workers using drb for dequeue Fix nondescript "unknown unknowns" for timestamps Autoload Rails Models unless called from safe_load Fixed Cockpit, Web console access Avoid starting every metrics collector worker for every EMS type simply because the role is enabled. Look up worker by guid not pid because pid is unreliable in a container deployment Fix currency list on new symbol, UZS Raise an exception if an invalid path is passed to autoload Removed no longer supported oVirt V3 api calls Fixed starting of metrics collector workers, even when the role was not active Ensure dashboard names are only unique within a group Fixed missing display of available disk space under Utilization Fix user lookups by email when provisioning Adding task error status to log management Base monolithic container image on pods ui worker Fix key_pair class lookup Remove the check for a "current" snapshot Adding Volume Type (CloudVolumeType) to RBAC Revert "Remove unused Service::RetirementManagement.retireserviceresources method" Passes result_format when automate workspace is not expected Fixed sorting in TenantQuotas report Save the updated widget timestamp Utility function to update PxeMenu list Output constant must match the constantized class name Generate retire requests from the base class name SystemService: don't use gettext in model constants replicateserversettings is parsing serverid incorrect Cleanup after Ansible runner. Service display has been renamed to visible. fix schedule_settings Adding Volume Snapshot (CloudVolumeSnapshot) to RBAC Set default OrchestrationTemplateRunner timeout to 100 minutes. Drop load balancer from the custom buttons tree in automate Users without groups should use admin retirement Removed advanced config option to switch between "puma" and "thin" Remove unnecessary log message. Set result_format to ignore for all custom buttons. Set default playbook service timeout to 100 minutes Remove value2tag Make description unique for tenant groups in MiqGroup Schedule compliance purging Do not calculate backlog when subscription not active Fixed 'TypeError' in ApplicationCable::Connection#connect Fix Embedded Ansible Plays in the Job UI (v2/rebased with master) Workflow cloud_tenant fix Do not attempt to calculate backlog unless subscription status is "replicating" Update the button order on copy Remove the VMwareWebService gem from the core Gemfile Use a single query to get count of active VMs and Hosts Updated rubyzip gem to version 2 Updated linux_admin gem to version 2 Fixed missing display of available disk space under Utilization Adding Volume Snapshot (CloudVolumeSnapshot) to RBAC Adding Volume Type (CloudVolumeType) to RBAC Generate retire requests from the base class name Adding task error status to log management Fixed Cockpit, Web console access Cleanup after Ansible runner. Fix key_pair class lookup A flaw triggered remote code execution through NFS schedule backup Add Settings attribute for displaying the ops/database screen Add VmOrTemplate.removeallsnapshots_queue Allow error messages in ServiceTemplate.validate_order Add export/import of schedules to rake task Add distributedvirtuallans to persister Pluggable ScanItems Adding ability to update additional authentication settings Update translations for ivanchuk Service retirement request should be per region. Fixed MiqSearch.seed when search name was changed and corrected typo miq_search.yml Schedule compliance purging Remove unnecessary log

Add check for nil group to systemcontextrequester Drop load balancer from the custom buttons tree in automate Use find_by to skip exceptions in Export of schedules Fix inverse_of for DistributedVirtualSwitch Update translations for ivanchuk Fix an exception calling compliancepurgetimer Remove deprecated VMWare Hosts Allow MiqSchedule to accept nil and skip scheduling Add SSH support for Embedded Ansible repositories Add support to Embedded Ansible for ssh user@host:path urls Allow moveintofolder to optionally take string arg for automate engine exposure Add product feature for VMRC consoles in the SUI Pull roles from ansible galaxy before running a playbook Update to PG10 package name/path for Docker image Don't create the embedded ansible default project Use escalate privilege setting in ansible services and automate methods Adds cloud credentials to AnsibleRunner (for EmbeddedAnsible) Adding tenant stuff to service template copy Make embedded ansible verbosity and execution_ttl work Pass credentials from ansible playbook automate methods to runner Include resourceactions and picture in servicetemplate copy Pass credentials to ansible runner from services Add credential handling to Ansible::Runner Log only unique servers id used to process miq_request Unify the HTML5 canvas-based remote consoles under a single endpoint Introduce Request and Task for firmware update Add missing quota tags Add scope to list providers from ancestor tenants Add scope to list service templates from ancestor tenants Seed plugin ansible content Update a service's lifecycle_state. Use `ansible-runner` in EmbeddedAnsible Classification.yml don't use parent_id=0 Classification parent Use rails deprecation behavior but log in production Allow use of systemd for worker management Make MiqProductFeature seeding pluggable Add currency to service template. Use new replication gem Add logging to standard output for report generator tool Add option to schedule automation requests via workflow Add support for exporting and importing generic object definitions Add a tool to assist in reconnecting vms Add zone to service provisioning. Add report interval date and report generation to Chargeback reports Speed up Service access Add Volume Resizing capability to SupportsFeatureMixin Added ability to destroy all users dashboards Added MiqWidgetSet.copy_dashboard Loosen the Postgres version initializer check Add volume multiattachment capability Add custombutton and custombuttonset copy to servicetemplate copy Use currencies from money gem in Chargeback Add an inventory_collection for the EMS Add method to copy service templates Explicitly specify the primary key for the metrics tables Allow user to select Network Port for provisioning Targeted refresh for Embedded ansible provider Update host switch association Add uriattributes as virtualattribute to CustomButton Override add resource to no-op in service orchestration subclass Add a 'name' parameter to backup restore and make volumeid optional Mark rbactenantmanage_quotas as MY TENANT FEATURE Detach actioncable from the WebsocketServer and run it with the UI Add support for exporting and importing reports Rename WebSocketWorker to RemoteConsoleWorker Set service's lifecyclestate based on miqrequest_task's state. Do not attempt to calculate backlog unless subscription status is "replicating" Update the button order on copy Successive automation task runs shouldn't change the original params Fix: make chargeback generation for service to be region aware and do not generate for retired service Run ansible-runner with PYTHONPATH set to access additional modules Allow users to specify a proxy for git repositories

ServiceAnsiblePlaybook#execute for the embedded_ansible role Fixed seeding failure if yaml file containing report was renamed Refactor Overview Utilization menu text Fix Embedded Ansible Respository refresh When copying ServiceTemplate copy only directcustombuttons Validate bools with inclusion Adding data integrity constrains for some associations to User model Updated MiqShortcuts for MySettings Start At Login dropdown honor storagefilecollectiontimeutc setting Rename Configuration feature to Main Configuration Fix for incorrect key sent back for dynamic non sorted items Check that reconfigure is supported before we try it Fix Key Pairs from refresh being returned with provider AuthPrivateKeys Check emsref before uidems when saving VMs Don't start another refresh worker while another is stopping Add region checking for all user schedules Fix saving network manager in belongsto filter use like (vs ilike) for service query Fix: started_on and state attributes for task linked to chargeback for service dynamic DatePicker value isn't being set correctly Delegate vmsandtemplates and miqtemplates to parentmanager Fix graph refresh overwriting smartstate OS info CustomButtonSet - make sure children follow button_order Only run preprocesstargetsmanager_refresh when doing graph refresh and add specs Fixed: started_on column is empty in task which power-on VM Dup should just dup and not save... Redo presence check after possible reset of user to nil Don't rely on false return from callbacks to halt execution Fix: When user changing display timezone than some widgets show no data Fixed: Timezone set-up in MySettings was not honored when displaying date fields in the report Fix save_inventory error if lan can't be found Give dialogs/models/archive logs unique names Fix names of chargeback rate columns Re-raise the LoadError if it is not for the file we are trying to load Do not report an error in websocket_log when closing a VNC connection Clarify the 'towhat' inclusion validation message on policy creation. Change Stacked Area chart for Area chart for the Virtual Machine CPU States Add display name for Azure Floating IP Fixing subservice task creation for service bundles RHV requires disconnect_storage before ems Don't reset retirement_requester after end of retirement Send 'which prince' failures to /dev/null Ensure a users own tasks are the only ones returned when the users role has View/My Tasks fix endpoint url uniqueness validation and disable it for cloud providers set read_only value to true Don't seed tenant product features for tenant from remote region Fix RBAC call for templates and vms Remove deprecated Optimize Planning - shortcuts and user roles Add Auth KeyPair Ownership feature Don't load BinaryBlobParts when determining if MiqReportResult is blank Fix: do not raise error if schedule for widget exists but not linked Don't create retirement tasks for things that are already retired Allow modification of "Create new Picture" product feature on a role. set vm name on reconnect Correctly recurse over nested field associations Add a tool to purge archived storages Create retire subtasks for multiple services Add migration analytics reports Group AND expressions properly to account for nesting assign value to a variable and return at the end. Doesn't count with selection of belongsto filter if any object doesn't exist in the filter sentence Add srcvmordesthostrefreshtarget. Allow ssh auth for RHV Add conversion_host option to the SupportsFeatureMixin module Modify the enable ConversionHost::Configurations#enable method to handle arguments more robustly Tag associated resource for conversion hosts Add the resource name to the task action for conversion hosts Default to resource name for conversion hosts Conversion host base class fix_auth now handles recursive settings Retirement - remove auto_approve flag on request creation. Fix Container belongsto filter in Rbac::Filterer Fix: convert string representation of sizes to numbers when generating SQL for expression Use admin user in get_user for service show if user's deleted Fix address validation for ConversionHost model Service template picture

ServiceTemplate#picture= with models Add source to retire request to parse in parseprovcategory in engine Allow textarea boxes to dynamically set validator type and rule Deprecate invalid custom attribute names Add ConversionHost validations Alter ansible_playbook method so that some arguments are optional Tenancy for central admin updating infra conversion job polling timers Rbac virtual attributes Preserve group and user when importing reports default merged_uri should return the parameter not the attribute ProcessTasksMixinin.invoketasksremote should not send AuditEvent(:success) if invocation failed Don't print the release codename in production mode fix: swap makes vms out of disk space report false positive v2v Throttling Fix the dynamic service task naming generation for subclasses Add OrchestrationTemplateRunner to queue up orchestration stack deployment Fix for inability to see dialog details passed to catalog after upgrade from 5.9.4 to 5.9.6 update inframigrationjob when polling to prevent timing out Add empty IP address check to preflight check Include /etc/manageiq/postgresql.conf.d/ directory to log collection Restore an event for the main app logs' disk usage V2V - Collect virt-v2v PID from conversion host in kill_virtv2v Add retired to service active states Let stack_parameters support symbol hash keys, for now Escape characters in SSH URI for virt-v2v Don't retire load balancers Add check for existence of user for system_context Use the new schemamigrationsran table to track remote schema migrations Add --port to evm:dba rake tasks Add support for magic check in EvmDatabaseOps Dynamic product features according to tenants ADD rbactenantmanage_quotas to tenant product features Add Conversion Host features Use MiqQueue for enabling/disabling a conversion_host Add template methods needed for provision report Add a validation for conversion hosts Include resource_action type and ID in linked components error message Conversion script for mapped tags/classification from remote regions to global Add tenant filtering for templates in provisioning and summary pages Add `virtualhasone` for `transformation_mapping` for API accessibility Order custom buttons by array of ids Openstack Swift DB Backups Script to copy reports access from group to role For database dumps don't modify the directory name Add extmanagementsystem method to conversion host Clean up mapped tenants after a CloudManager is destroyed Conversion Host - Try hostname for SSH and fix MiqSshUtil args Add resource ems_ref and ip addresses to virt-v2v options hash Add an alias for InventoryRefresh -> ManagerRefresh Add physical chassis details builder Add accessors for physical chassis tree Add product feature for displaying custom button events Add CustomButtonEvent association to GenericObject. Product features for servicey things Send link with the textbindings in notifications when linkto is set InventoryCollection's Builder exception message Add best fit logic for transformations moving vms to openstack Core fixes for infra graph refresh Add Cloud Volume Type features Save Canister Model Service retirement values from dialog Inform Rails that SecurityGroup now belongs to Router/Subnet Populate timestamp of CustomButtonEvent. Add requester to raiseretirementevent log message Refresh containers service catalog entities Add possibility to group by date only in chargeback Add search filter to ESX 6.7 Advanced_settings assoc for google refresh Logging to Inventory collector/parser Added key pairs cloud networks and networks to reporting and expresions Changes to CustomButtonEvent. Add support for exporting and importing customization templates Expose emsclusterid on VMs for use in V2V OpenStack support Add log messages to Chargeback Updating example oVirt cloud-init template Add a relationship between Tenant and VolumeTypes Partial row updates in parallel Added Audit logging to new user creation Adding summary for number of resources racks and health states to Provider Create a physical infrastructure user group Create generic task notifications Add a model for ConversionHosts Add Openstack to list of valid prefixes for tag mapping Add CustomButton event emiter remote

Add delete notifications for Networks Subnets Don't queue EmsRefresh if using streaming refresh Add new rename_queue method to VM operations Missing definitions for targeted refresh for containers rake evm:db:restore:remote mods for S3 Add an association for Datacenters Vmdb::Plugins::AssetPath - add nodemodules developmentgem? Move the roles dir to content/ansible_runner Cleanup Ansible::Runner Add Danish krone (DKK) currency to chargeback rates ServiceAnsibleTower to provision both job and workflow Support for DB Restore from Object Stores Added ability to create default dashboard for group Seed Ansible Roles for Vmdb Plugins Allow mapping event types to groups using regexes Add codename in log file and stdout Add Vmdb::Plugins#versions Prefix the method name with the class name for validation errors Do not fallback-compile missing assets Add support for exporting and importing provision dialogs Add rake task to import custom buttons Add permission to groups of users access the eventstreamsview ConfigurationWorkflow to exist only in AutomationManager space put S3 refresh in a separate worker Save Physical Disks Model DB Backups to AWS S3 Notify users of killing workers when exceed memory Remove hacked relations Ansible runner async method Ansible runner add missing yard docs Add a state machine for long ansible operations Ansible runner allow to run roles without playbook Add validations for the ansible-runner params Connecting physical switch to computer systems Replace customattributes by emscustom_attributes InventoryCollection definitions for vmware infra locale:potojson: add support for including catalogs from javascript plugins Service AnsibleTower and EmbeddedAnsible UI parity Add support to show Group Level of an event in the timeline page. Add rake task to export custom buttons Use ansible-runner instead of ansible-playbook Add relationship between Adding PhysicalStorage into PhysicalChassis Add Cloud Volume Type model Add hostguestdevices association and inv_collection Add a method to queue an Ansible::Runner.run Adding miq_feature to chassis LED operation Provider generator: Persister update InventoryCollection Builder improvements Add a new event group level Add the ability to rename a VM Add display name for PhysicalSwitch model Add factory :ansibletowerworkflow_job. Adding title and cve's to openscapruleresult creation Add an ansibletowerlog to vmdb loggers Add a method to remove a disk from a VM Return with HTML table instead of PDF in the saved report async task Add a precanned physical server policy Add Polish to chargeback currencies Scheduling catalog items Extracting physical ports of a switch to a new page Adjusting ManageIQ core to enable PhysicalStorage API endpoint Support moving a VM to another folder during VM Migrate. Keep track of the server ids where the automate task has been processed. Adding connection b/w physical servers and physical switches Add configurationscriptsources.lastupdateerror Cashe cloud volumes in ChargebackVm Add policy event

Add display name for guest device Add display name for Credential (RHV) Added IC Builder definition for Tower Workflow Add simple wrapping code for running ansible-playbook Add physical infra related default collections Adding miq_feature to Physical Switch restart Add display name for Physical Server (Redfish) Add tests for rbac on ansible playbooks and authentications Added separate features for Requests subtabs Adds support for Physical Chassis in the UI Fix to show vm/image related info in audit log when deleting vm/image Added actions for suspend a provider Ability to reset settings to default value and delete newly added keys Add hasone scope support to virtualdelegate Integrate with external Tower Workflow Warn when we're running fix_auth in dry run mode Fix call for future retirement Create a virtual column for `archived` for using in the API Raise an event on failed login attempt Move getfile and savefile to ConfigurationManagementMixin Remove changes to enable workers to be started in containers Add physical server asset details collection Add Redfish provider logger Add evm:db:dump:local and evm:db:dump:remote tasks Add includeautomatemodelsanddialogs to ::Settings Upload automate models dialogs during log collection Use feature for admin Add feature to allow downloading private keys Add Redfish server default collection Wire up Redfish inventory collector Save Physical Storage Model Add support for sysprep customization templates PhysicalRack refresh action Add more currencies to chargeback Report chargeback from all regions Read ui url from settings file for dev environment Added export/import of SmartState Analysis Profiles Nested lazy find with secondary ref Add methods to process the refesh action for a PhysicalSwitch Targeted scope serialization Expose plugin ansible content consolidation as a rake task Changed get_file method to receive a resource as parameter. Adjusting ManageIQ core to enable PhysicalChassis API endpoint Config file to represent Rack in the UI Add support for reconfigure cdroms Enhance persister serialization Removing confirmpassword field from changepassword routine Add logging and update upgrade_message for successful registration Add reporting session threshold options in settings GuestDevice model updates for support of storage devices Add call for bundled service children retirement Add support for exporting an importing service dialogs Adding roles filters and configurations for Physical Switches support Initialize MiqQueue.miqtaskid column when queuing metric capture task Add .yamllint config to provider generators Add `:transformation` under product and set it to `true` by default Save Physical Chassis Add child retirement task methods Add delete notification types for Tenant Add InventoryObject interface automatically Add support for exporting and importing tags Add crud for Template Add remote console feature for physical servers Add image_create to product features Adding request id to evm log Adding switches support for physical infra Add a Physical Rack model Expose getassignedtos as virtual attribute to allow access via the API Make resource groups taggable Add rates to chargeback report Tower Rhv credential type Activate miqtask when deliver from miqqueue Add tasks and models for retire as a request Return a task when queueing chargeback report generation for services Moved creating task instances message. Automatically fetch the right unique index ConfigurationScriptSource to have lastupdatedon column Stop container workers cleanly Differentiate being in a container vs running in OpenShift/k8s Add the artemis auth info as env variables in worker containers Use arel to build local_db multiselect condition Add suiproductfeatures method to miq_group Add miqproductfeatures to miq_group Rename new guest device pages Two small fixes to tools/miqssh Get targeted arel query automatically Inventory task Fix reason scope for MiqRequest Graph refresh skeletal precreate Don't return in a rake task Declare Kubevirt's template as eligible for provision Add scopes for MiqRequest Add apiallowedattributes to ExtManagementSystem and Provider Graph refresh enhance local db finders Graph refresh use advanced references Adds unique within region check to pxe image type names Picture content is moving to the pictures table. Adding apply config pattern feature Add orphan purging for vimperformancestates Introduce virtualization manager Graph refresh refactoring internal indexes Add emsclusterid to vms returned by validator Add :cindervolumetypes to SupportsFeatureMixin virtual column for parent blue folder path with excluded non-display folders virtual column for `defaultsecuritygroup` to make it accessible via the API Allow ems to terminate connection after use Add CPU cores and MEMORY metering allocation to Metering reports Shared persistor definitions plus adding ServiceInstance Add file splitting to evm:db tasks (V2) Adding product features for PhysicalInfra Overview page Add sysprep support for oVirt provider Add

Detect and log long running http(s) requests Add OSP attributes to VM ServiceResource options Add methods to conversion_host to build virt-v2v wrapper options Move from apache module modauthkerb to modauthgssapi Add support for using runroleasync Upgrade Ovirt Cluster through Ansible Pass CA when upgrading cluster through Ansible Mark rbactenantmanage_quotas as MY TENANT FEATURE Raise event on new user creation Fix uri dirname parsing for swift restore Fix OpenStack virt-v2v-wrapper options hash Added metrics and tag permissions to SUI permission tree Tags without a classification cause errors Don't JSON.parse(nil) Fix issues with OpenSCAP policy Save mappings to options hash when calculated Authorize user with non-dynamic product feature if included in user's role Don't create retire subtasks for service templates Add missing V2V menu features. Accept Hash object as result of inter region api invocation Remove tenant selection from base deployment options Move the backend-generated PDF report's styling from the frontend Separate queue put from publish event so we don't queue put twice Dont return different types in virtual columns Fix supports_capture assuming MetricsCapture class Adjust VM validity correctly while editing a ServiceTemplate record Backend-initiated notifications in v2v for Successful and Failed Requests Retire Task delivertoautomate now uses tenant_identity Fix Exception due to missing #merged_uri parameters in FileDepot parent class Fix flavor and security group collection Use Settings.activetasktimeout for db backup task instead of hardcoded value Use images to get registry pods using the registry instead of running it. Allow to set retirement date for service via Centralized Administration Credential.manager_ref needs to be an integer for Tower 3.3 Force a run of the setup playbook after a db failover Add aggregate_memory to container project Fix send_args for EvmDatabaseOps.restore Parse automation attrs correctly Don't use special characters in ansible passwords Add flag for init of defaults in fields Handle a blank value for the http_proxy host Add retirement initiator context RestClient: Support percent encoded proxy user/pass Add product setting default for allowing API service ordering Check if class is taggable before attempting to process tag expression Add object retirement_requester Don't need the name, since it's mixed in... update attribute_builder for rails change Rescue NoMethodError to prevent requeueing something that won't work Fixing Computer System relationship on Physical Storage Fix of inventory building and refactoring Always return 0 for missing num_cpu fix: withroleexcluding has bad subquery Add method to allow access for tenant quotas Do not duplicate same notification if user belongs to several groups Ensure options is always a hash Association default can't be array Fix Refresh Relationships and Power States button for VMs Instances Images rake locale:plugin:find fixes Get rid of the condition modifier. Add possibility to group by date only in chargeback Ensure Zone data is Valid Skip tags without classification in assigments Send the notification ID when propagating a notification through WS Backup subject's name in case subject is removed Fix counts in log message in ConsumptionHistory Load dialog fields with updated values on workflow submit Fix Physical Storage to Physical Disks inverse association Converge request user roles to match API and UI Fix metering report for resources without rollups Filter out orphaned hosts and cloud instances from list of running Creating miqrequest for CustomButton request call with openurl. switch back to require_nested due to linux load error humanattributename(): add ui option to be able to call original (super) method Fix bug with EvmDatabaseOps.dump Fix for physical server alert bug Don't log the deprecation debug messages in production Mark Cloud Tenant as required for Openstack provisioning Don't queue metrics capture if metrics unsupported Add support for loadvalueson_init to text boxes. Save Aws Region in File Depot for DB Backup New and improved Field.is_field?() L10N - Add the missing pb and eb types for storage_units Distinguish between no password provided and bad password in error message Apply gettext to initial & error service dialog values Include taskid in result

ResourceActionWorkflow#processrequest Graph refresh of configurationscripts and configurationworkflows in one InventoryCollection Add internal attribute to service template Fix Remove Selected Items from Inventory button for Images Instances Include the request_type when creating a retirement request Use standard method for filesystem cleanup Allow tenant admins to see all groups within the scope of their tenant Logging archived targets during C&U collection Avoid raising and re-queueing when the remote resource is not found Added Physical Server view to OOTB Security role. Fix refresh time and memory issues Fix detection of an EMS to use for Storage#scan Allow for empty strings in the execution_ttl field Missing embedded ansible persisters dependencies Maintenance must run VACUUM to avoid long held locks Fix import export smartstate analysis automationmanager should use :manager(id) instead of :ems_id fix MiqGroup#miquserrole_name Network Subnet total_vms work correctly Remove generic object from all related services before destroy Scope ui and api server searches to recently active servers Miq server zone description Normal Operating Range cpu/mem usage rate to use avg (instead of max) values Give embedded ansible enough time to start in containers Add Automate Generic Objects shortcut menu Fix ordering of metric rollups in consumption history Reject empty button groups from the result of #custom_actions Fixed InventoryCollection Vm and Template Skip Vm reconnect if already reconnected Explicitly shortcut "everything" for privileges Fix multiple parents error moving vm to new folder Join object and block storage under ems_storage in the features tree Fixing the refresh to remove all physical switches. Add display name for RHV Embedded Ansible Credential Migrate model display names from locale/en.yml to models Define model_name with route keys for the StorageManager model Extend support from memberof to other multi-value attribute for group membership Allow MiqReport.pagedviewsearch to take advantage of Rbac :extra_cols Remove :matchviadecendants for ConfiguredSystem::ConfiguredSystem Fix current/active server deletability validation NOR covers 30 days Remove 'Storage Total' field from Chargeback Preview reports PhysicalRack refresh action Fixes to Rbac::Filterer#skip_references Always reconnect the oldest entity Skip Vm reconnect if already reconnected Renamed method to delete container object store for consistency reasons Deduplicate embedded ansible notifications Delete dequeued shutdownandexit messages from MiqQueue on server start Add an entry for guest device to en.yml Renamed method to delete cloud object store for consistency reasons Fix infra inventory collections for targeted refresh Fixes for create action in Template model Change the role for Service provisioning createrequesttasks MiqQueue.put. Fix call to process_tasks to run the right thing Removed redundant entries from start up drop down. Give more information on a failed configuration validation. Log Vm or Template for Create/Update Fix update_attributes to take right number of args Providers discovery without unspecified discovery types (FIX) Add custom Azure logger Add 'breakable' optional argument to reportbuildhtml_table method Cache MiqExpression.getcoltype in MiqReport::Formatting Refactor ensure_nondefault method for chargeback rate Add product files for physical server dashboard widgets Fix provider proxy settings fallback Bad skipping of assert in production env Add encryption key validation rake task Use vmemsref to reconnect events Stop unbounded growth of targets Don't define DISALLOWED_SUFFIXES if already defined Alphabets are hard... Bump manageiq-smartstate to 0.2.10 version Fix ambiguous created_recently scope Fix single security group in provisioning Remove new fields from export if empty Calculate totals for hours of exitstence in metering reports Configure server settings cleanup Fix rake `evm:status` and `evm:status_full` Removal of nil's before relationship remove_children Fix build methods Fix alerts based on hourly timer for container entities Singularize plural model Close open connections from parent after fork Add a 'Container Project Discovered' event Don't dependent => destroy child managers Change DescendantLoader to handle non-AR classes in the models directory Added beforesave to MiqTask to

MiqTask#startedon when task become active Add missing role for container user groups When using http only set env variable to allow insecure sessions Allow users already in UPN format Fix memory leak with ruby/require/autoload_paths Change the way active_provisions are calculated. Add actsasmiq_taggable to AuthPrivateKey Update users' current_group on group deletion Fixed expression evaluation for custom button in CustomActionMixin Provider to orchestrate_destroy managers first - Alt EmsRefresh task name to use demodularize classname ContainerServicePortConfigs using :container_service :name Establish a new connection instead of reconnect! Added access to MyTasks to self_service roles Delegate verifyssl & verifyssl= to default endpoint Fixed error with replication setup when default exclude list used Fix to handle the case when default value of internal is nil Only reload settings for servers in current region Prevent queueing things for a zone that doesn't exist in the region Add regex for dialog password fields. Move `virtual` definition for `defaultsecuritygroup` to OpenStack Remove line from meteringcontainerimage_spec and FIX CI failure Load all the values along with their key names into the field update method Fix Physical Disks save inventory Fix Canisters save inventory Add Switch model to RBAC Consolidate production env checks Add replication set-up methods to be queued on UI side Adds task to subservices for correct retirement completion Enable cancel operation for service template transformation plan request Add Ownership and Tenancy Mixins to Authentication Add a patch to ActiveRecord::Migration for tracking replicated migrations Properly create tenant default group for population Hide the password values in the log messages. Do not double encrypt a protected password dialog text field Validate towhat policy field Fix Notifications None Fixed MiqExpression evaluation on tagged Services Fix ServiceTemplateTransformationPlan edit action Queue reporting work for any zone Create custom button events for each object in target list Currently on a successful ActionResult (start / stop) we return nil Fix typo in message if VM has no provider Don't start memcached in any container runtime Fix ordering in list of custom buttons Properly serialize OrchestrationStack class name for MiqRetireTask.request_type Force targets to be an array so we can each them in cb run on multiple objects Don't use interpolation in gettext strings Don't translate FileDepot types Display deprecated as a true/false string Disconnect storage when disconnecting the VM Report accurate status on inactive VM Fix Relationship#grandchildren Link service resources of bundled service correctly Add jobtimeout parameter for upgradecluster Fix miq request ownership Do not rely on the asset pipeline when calling backend PDF generation Synchronize provider with server when zone changes Raise a notification for each repo that fails to enable Fix RBAC call for templates and vms Don't seed tenant product features for tenant from remote region fix endpoint url uniqueness validation, and disable it for cloud providers Don't reset retirement_requester after end of retirement RHV requires disconnect_storage before ems Remove todo with virtual attr inclusion in attr list Remove Debug Message remove 'require_nested :ConfigurationWorkflow' from parent space Remove uilookupfor_title() Properly generate report yml include with virtual attributes Add owner to orch stack model provisioning Add PhysicalDisks into Canisters Add explicit Endpoint#to_s method to return url Default connection_status to connected Add product features to ansible endpoint in the API Adding ansible tags option through cmdline Credential.manager_ref need to be an integer for Tower 3.3 systemcontextrequester User needs to be scoped by region Fix typo in getconversionlog method Add possibility to group by date only in chargeback Service retirement values from dialog Added 64 and 128gb to provision dialogs Add log messages to Chargeback Add tenant filtering for templates in provisioning and summary pages Always return 0 for missing num_cpu Maintenance must run VACUUM to avoid long held locks Allow for empty strings in the execution_ttl field New and improved

Don't queue metrics capture if metrics unsupported Add support for loadvalueson_init to text boxes. Fix metering report for resources without rollups Fix counts in log message in ConsumptionHistory Creating miqrequest for CustomButton request call with openurl. Ensure Zone data is Valid Ensure options is always a hash L10N - Add the missing pb and eb types for storage_units Added access to MyTasks to self_service roles Scope ui and api server searches to recently active servers Add regex for dialog password fields. Hide the password values in the log messages. Scope ui and api server searches to recently active servers Prevent queueing things for a zone that doesn't exist in the region Currently on a successful ActionResult (start / stop) we return nil Skip tags without classification in assigments Add flag for init of defaults in fields Check if class is taggable before attempting to process tag expression Fix travis failure in manageiq-content repo. show VmClonedEvent in timelines InventoryCollection definitions for Lenovo Normalize extra_vars support for Ansible Tower playbooks. Add delete notification types for Network Router Disable transactions in locking examples Rails 5.0/5.1 compatibility: Define through association before has many through Rails 5.0/5.1 Use o.reload.assoc assoc(true) is gone Rails 5.0/5.1 preparebindsfor_database is gone Rails 5.1/5.0 compatibility: Use constant since string/symbol was removed Get container statuses during refresh Add Redfish event catcher Scheduling catalog items locale:potojson: add support for including catalogs from js plugins Support cancellation for miqrequest and miqrequest_task Add Cumulative Chargeback rates Add RBAC feature for Migration (v2v). Add ServiceTemplate#miq_schedules relation Support for v2v pre/post Ansible playbook service. The vm_id coming in from API is a string. MiqSchedule call method directly if available Validate name uniqueness for Transformation Plans Add option to prov workflow to not rerun methods Set Settings.product.transformation to true Set checkbox on load, sans default, to be false, not nil Allow tenant admins to see all groups within the scope of their tenant Ensure MiqSchedule#name is unique for ServiceTemplate orders Fix class name for queueing Start the drb server with a unix socket Add internal column to service template for transformation plan Add pt_BR.yml for Brazilian Portuguese Fix for $evm.execute not honoring dialog options Move VIRTUALCOLUSES translation to col_index method in ChargeableField Only update zone if found Add option to clear classifications for tag_details Add Flavor model to :tagclasses: section in miqexpression.yml. Restrict Vm Operating System detection for XP Delete #retire_now since it has been moved to shared code Return custom buttons for service having nil service template Force user_type to UPN when username is a UPN Adding flavor as a has one on VM Clean up queued items on Zone#destroy Introduce model changes for v2v Transformation Plan, Request, and Task for V2V Add lans as a virtual relationship to ems_cluster Support for hidden columns in reports and views Add hasmany :miqrequests in ServiceTemplate Add association of service_templates to TransformationMapping. Add TransformationMapping#validate_vms method Introduce support for multi-tab orchestration dialogs Update vm transformation status in a plan Use constant to store ServiceResource status. Adding classifications for V2V Backend enhancements for transformation plan request to better support UI Add methods to extract v2v log from conversion host. Provide base graph refresh attributes for ::Snapshot Resize disk reconfigure screen Reconfigure VM: Add / Remove Network Adapters Add built in policy to prevent transformed VM from starting. Add ArchivedMixin to ServiceTemplate Add Archive/Unarchive for Service Templates to features Add faster MiqReportResult helper methods for viewing saved report results Add tool to remove grouping from report results Add save hooks on MiqReportResult to remove groupings Changes customattribute virtualattributes to support AREL/SQL Make all public images be visible for

Add `:transformation` under product and set to `false` v2v plugin Add ArchivedMixin to ServiceTemplate Use AREL for customattributes virtualattributes in MiqReport ONLY Fix the issue of defined analyisis profile missed in vm scanning. Get allocated values of sub metrics for cloud volumes in chargeback without rollups Require dalli before using it Changing the description of the 'vlan' field in provision/network Add cloud volumes for selecting assigned tagged resources Add method retire_now to container OrchestrationStack. Check all costs fields for relevancy for the report Do not delete children snapshots as part of parent Adjust how default_value is calculated for multi-select drop downs Added ActAsTaggable concern to MiqRequest model Use current tags for filtering resources in chargeback for VMs Add product features needed for v2v Transformation Mappings API Add #orderable? as alias method Honor user provided execution_ttl option Adding the profile description option to the provision error message Removes last call to automate from dialog_field serializer No event will be shown when a compliance policy is created for a Physical Infra Allow models to include methods for MiqExpression sql evaluation Fix for STI scoping across leaves Allow duplicate nil pxeimagetypes during seed (for the current region) Replace remove duplicate timestamp by sql version for chargeback Use pluck on metric rollup query in chargeback Remove conversion to UTC in Chargeback Memoize log.prefix calls Prevents N+1 SQL queries in miqrequestworkflow.rb Add uniq on datacenters in #hosttofolder Use nested hashes instead of string keys Avoid duplicate host load in allowedhostsobj Refactor getemsfolders to create less strings Ancestry Patch updates/fixes Fixed the virtual columns to be able to use in the API with `filter Ensure sorting does not happen when sort_by is set to "none" Add `nil` check for report.extras on save hooks Set value of static text box to default when default exists Filter relevant fields also according to chargeback class in Chargeback include shared external networks in list on router create move #my_zone from ArchivedMixin to OldEmsMixin Change reconfigure setup to include values configured with originally Fixes undefined method `name` error during CSV validation required for v2v migration Remove Request taggable and prevent tag filtering Filter relevant fields also according to chargeback class in Chargeback Get rid off query "All in One" in Chargeback Remove N+1 obj creation in flattenarrangedrels Introduce $nuage_log that logs into log/nuage.log Group chargeback report for VMs by tenant EMS infra: adds Openstack undercloud discovery Make Taggable of AutomationManager's authentications/playbooks/repos Add tagging feature for Ansible Credentials Add ConfigurationScriptSource to RBAC Add tagging feature for Ansible Repositories Adds purging for notifications Add reindex to job scheduler Add Vacuum to Job Scheduler Allow individual tables to be specified for metrics Create an empty CSS file that is outside the asset pipeline Add tagging feature for Ansible Playbooks Tower 3.2.2 vault credential types Add circular reference association check to import for ui update Tower Rhv credential type Report datetime columns(begining and end of resource's existence) in metering report of VMs Compare decimal columns correctly in batch saver Enhance logging around remove snapshot operations Keep container quota history by archiving Allow OrchestrationTemplate subclass to customize md5 calculation Add vault credential support to Ansible playbook service template. Purging of ContainerQuota & ContainerQuotaItem Add vault credential support to automat playbook method. Add title display message and factory for Vault Credentials Add vault credential to factory and

Add support for non-binary WebMKS websocket Added Embedded Ansible Content plugin Seed plugin ansible playbooks Add timeout knob for monitoring server roles Azure labeling and tagging support Add lock to retire_now start Add Openstack Cinder EventCatcher worker Add a memcached bind address for tower Many things rely on authentications, check it first Add condition to fix deletion of Default Container Image Rate Event state machine is added to replace the synchronous refresh. Change aliases for container entities Rescue attempt to get backlog for remote db in PglogicalSubscription#backlog Add display name for Amazon Network Router Only store the hostname if the hostname is valid Implement #configurationscript because of virtualhas_one relationship Remove chargeback rate from metering reports Support mixed case basedn. Fix physical server and topology access rights for EvmRole-operator Fix event linking to a disconnected VM Configure yum proxy if given for updates Re-check the provider authentication if the API is responding Add support for bind dn and bind pwd on the command line. Fix replication validation for not saved subscriptions Fix errors in help message Handle group names with encoded special characters Update the human description for "cpuuseddelta_summation" query also archived objects for a new ems Changes to catch the retirement requester in automate. For all roles that have sui product features adds sui_notifications Support Automate Git repos without master branch Raise a notification when registration fails Adding missing Product Feature for viewing a single container Add uniqueness of service for generation chargeback report for SSUI Rename network module to not overrun network class Fix the pre-defined Auditor role's permissions. Move SchemaMigration from ManageIQ to ManageIQ::Schema plugin Remove options Fix RBAC for User and enable tagging for Tenants Pass target object when evaluating expression for Generic Object Make db restore more reliable Fix Default log level for automation log Do not divide recipients to subgroup when sending attached report Fix policy_events relationship on VmOrTemplate Consolidate Azure refresh workers Core changes for azure targeted refresh Add detail and name to the new update event group Remove empty array associations created via UI from association list Fix activeprovision quota check for infra VM request with invalid vmtemplate. Fail Cinder/Swift Ensures if Service not Present Fix RefreshWorker dequeue race condition Add case insensitivity when validating uniqueness of name of new group/role Fixed case of expression in OOTB report. Fix establishing relations of tenants and cloud tenants between different cloud tenant -> tenant sync Add ownership for MiqRequest in RBAC Change the method signatures for ServiceTemplateContainerTemplate. Don't ignore errors in Vm#running_processes Fix editing Ansible Credential/Repository for restricted user Makes httpproxyuri class method Fixed error with dialog expression when virtual column involved Skip query references in Rbac when not needed convert Vm#miqprovisiontemplate to has_one Set DRb conn pool to Adding scan action with userid to container_image Don't format PersistentVolume-capacity as bytes Resolve string handling for "https://" or "http://" in updaterhsmconf Use handled_list to get Cinder backups for all accessible tenants Scope the default zone to the current region Force UTF-8 encoding on task results Handle non-existant tag category id when importing a service dialog Forcing default_value to an array, if the dynamic dropdown is multiselect Use credential callback to set credentials Filter out archived and orphaned VMs in 'Running VMs' filter Do not show archived and orphaned VMs on report 'Online VMs (Powered On)' Fix filename when downloading pdf from Flavor summary Check for the existence of credentials. Dialog field loading/refresh refactor to fix automate delays Change dialog import to only use auto_refresh if new triggers are blank Do not change currentgroup for super admin user when executing Rbac#lookupuser_group Refactor VM naming method in provisioning task to support call from automate Add back the missing IP address range in Virtual Private Cloud

Fix Deleting Snapshot on Smartstate Cancel Fix supportslaunchvnc_console? for VMWare VMs Add << method to MulticastLogger Exclude Service::AGGREGATEALLVMATTRS from MiqExp.tosql No longer assume that a value is an array Follow up to updatevmname for Service template provisioning Add nil check to serializer for invalid categories Make sure Containers Exist Before Processing Fix for differing behavior in DialogFieldTagControl multi/single drop downs Dropping azure classic and rackspace credential types Only set encryption option to net-ldap when needed. Use correct comparison for multi-value default value inclusion rules Checking killed worker with is_alive? Lookup a category_id if a tag control passes it in Fix MulticastLogger DEBUG mode Stop container workers cleanly Differentiate being in a container vs running in OpenShift/k8s Add the artemis auth info as env variables in worker containers Use arel to build local_db multiselect condition Add suiproductfeatures method to miq_group Add miqproductfeatures to miq_group Rename new guest device pages Two small fixes to tools/miqssh Get targeted arel query automatically Inventory task Fix reason scope for MiqRequest Graph refresh skeletal precreate Fix build methods Fix alerts based on hourly timer for container entities Singularize plural model Alerts Seed MiqAlerts used for Prometheus Alerts Add severity to alert definitions Add hash_expression to MiqAlert Ansible Procfile.example - add workers needed for embedded ansible Add log_output option for embedded ansible service Authentication Added support for httpd auth-api service for containers. Automate Add quota mixin for vmreconfigurerequest and vmmigraterequest Add #rawstdoutvia_worker method Imports old associations Add the `picture` association to Generic Objects via `genericobjectdefinition` Generic object add to service. Rename the key from workspace to objects Added 'playbook' as location type for Automate Methods Added AutomateWorkspace model Add new classes to have custom buttons Added support for expression methods Provisioning: Support memory limit for RHV Add a relationship between generic objects and services. Display the text "Generic Object Class" in the UI (instead of Generic Object Definition) Set up dialog_field relationships through DialogFieldAssociations Metric rollups at the Service level Remove methods for Azure sample orchestration Provisioning: Add validate_blacklist method for VM pre-provisioning Support array of objects for custom button support Add configuration_script reference to service Add ServiceTemplateContainerTemplate. Add project option to container template service dialog. Provisioning: Ovirt-networking: using profiles Add delete method for Cloud Subnet Extract automation engine to separate repository Modified destroying an Ansible Service Template Ansible Playbook Service add on_error method. Chargeback Add Metering Used Hours to chargeback report Core Add method for Vm to get 'My Company' tags Remove the column reordering tool and the schema structure validations Added Product name to VMDB::Appliance Added User Agent to VMDB::Appliance Add PostgreSQL version restriction Print file name on any error from RipperRubyParser not just SyntaxError Added userid groupid tenant_id Enhance the the orchestrator to deal with more objects Add event streams product features Use the built-in OpenShift service environment variables Adding Child Managers to EMS Add status and state scopes, fix time for MiqTask list Events Add target to event existence check i18n Add product/compare/.yaml to string extraction Add Data Types to dictionary Add missing Cloud Volume model names Middleware Enable compliance check for MW server Middleware compliance assignment Performance Optimize speed and stabilize the batch graph refresh memory usage Platform Don't use secure sessions in containers Add MiqExpression support for managed filters Use memcached for sending messages to workers Evaluate enablement expressions for custom buttons Evaluate visibility expressions for CustomButtons Include EvmRole-reader as read-only role in the fixtures Add HostAggregates to RBAC Adding options field to extmanagementsystem Change the target of tag expressions MiqExpression::Target#to_s Rename appliestoexp to visibility_expression for serializing Add server MB usage to rake evm:status and

Chargeback: Add average calculation for allocated costs and metrics optionally in chargeback Workers: Add heartbeat_check script for file-based worker process heartbeating Make namespace into a virtual attribute Use OpenShift API to control the Ansible container Allow MiqWorker.required_roles to be a lambda MulticastLogger#reopen shouldn't be used because it's backed by other loggers Add the evm:deployment_status rake task Set default server roles from env Logging to STDOUT in JSON format for containers Allow overriding memcache server setting by environment variable Reporting: Add Amazon report to standard set of reports Changed taskid to trackinglabel Add MiqQueue#tracking_label Support worker heartbeat to a local file instead of Drb. Use the Ansible service in containers rather than starting it locally Default to spawn automatically if fork isn't supported Rails scripts for setting a server's zone and configuration settings from a command line Add rake script to export/import miq alerts and alert profiles Adds MiqHelper Move ResourceGroup relationship into VmOrTemplate model Report attributes for SUI Providers Introduce $vcloud_log that logs into log/vcloud.log Changing the key of network device to be both ipv4 + ipv6 Added "Mass Transform" feature Add ContainerQuotaScope model, save them in save_inventory Add tag categories for VM migration Add requests and limits to Persistent Volume Claim Add emsinfraadmin_ui feature Update emsinfraadmin_ui feature to role assignment Move graph refresh internals logging to debug Save the Lan parent_id for SCVMM Directly run a playbook Adding default filters configuration to physical servers Add a Subnet model for SCVMM Extend InventoryCollectionDefault::NetworkManager with network_groups Enable alerts definitions for transactions and messaging for Middleware Server Allow a 'type' setter on MiddlewareServer Enable alerts definitions with datasource for Middleware Server Enable alerts definitions using web sessions Add policy buttons to physical server page Add ems_ref to filter duplicate events Group by docker label in chargeback for container images Add physical server to constant support policy Adds support for physical server timeline Add Service resource linking. Always check for userid as UPN Fixing middleware servers alert handling Update model to use the customization_scripts table for LXCA config patterns Parse the serial number during refresh ovn: introducing ovn as ovirt's network provider Add Report: Projects by Quota Items Use more descriptive name for seal template Enhance NetworkRouter model for Amazon Metrics Worker capture_timer more ems centric Support publish Vm by RHV Improve metrics saving Add OpenSCAP scan to supported features mixin Queue targeted refresh in a provisioning workflow Convert Container quotas to numeric values Update model to support LXCA config patterns Add orchestration stack targeted refresh method Add relation between container projects and persistent volume claims Apply distinct on lans and switches Add instance security group management to product features raw_connect method for infra provider Add Ansible Playbook custom button type Add Openscap Result to VM model Flavors create and add methods Container Template: Add object_labels Add cloud volume backup delete and restore

Add instantiation_attributes to Container Template Parameter Add vm security group operations Add metadata function that should return the description of the data that is stored in the options field Register product features for JDR reports Add number of container using image Add support for additional power operations Update model to support network adapters Archive Container Nodes Add Pod to PersistentVolume relationship Missing settings for a cloud batch saving and adding shared_options Needed config for Cloud batch saver_strategy Remove the Eventcatcher from CinderManager Add a virtual column for `supportsblockstorage?` and `supportscloudobjectstorecontainer_create?` Add product features for provider disable UI Raise creation event batched job Allow to run post processing job for ManagerRefresh (Graph Refresh) Batch saving strategy that does not require unique indexes Make sure passed ids for habtm relation are unique Sort nodes for a proper disconnect_inv/destroy order Middleware: Register product feature for stopping domains Add physical infra discovery to product features Adds virtual totals for servers vms and hosts to Physical Infrastructure Providers Change name of physical infra type in discovery Adapt manageiq to new managers Ansible Tower: Azure Classic Credential added for embedded Ansible Containers: Add new class ServiceContainerTemplate. Custom reconnect block Deal with special AR setters Store created updated and deleted records Use proper multi select condition Network: Generic CRUD for network routers Physical Infrastructure: Add physical infra types for discovery Add monitoring manager Adding sti mixin to container_image base class Container Template: Add :miq_class for each object Adding ContainerImage subclasses Change the criteria for a required field of ContainerTemplateServiceDialog. Support find and lazyfind by other fields than managerref Add MiqTemplate to InfraManager InventoryCollection Optimize insert query loading Batch saving strategy should populate the right timestamps Add power off/on events to automate control and the foreign key to events physical server Search for "product/views" in all plugins Save resource group information Add new class Dialog::ContainerTemplateServiceDialog. Concurent safe batch saver Removed SCVMM Data as moved to manageiq-providers-scvmm Middleware: Validate presence of feed on middleware servers Add important asserts to the default save inventory Delete complement strategy for deleting top level entities using batches First version of targeted concurrent safe Persistor strategy Generalize targeted inventory collection saving Containers: Add Report: Images by Failed Openscap Rule Results Physical Infrastructure: Add constraint to vendor in Physical Server Adding helper for unique index columns to inventory collection Minor inventory collection enhancements Physical Infrastructure: Method to save asset details Blacklisted event names in settings.yml Allow Vmdb::Plugins to work through code reloads in development. Provider native operations state machine Escalate privilege Physical Infrastructure: Create asset details object Pluggable Providers: allow seeding of dialogs from plugins Add features to physical servers pages Adds physical_server methods to be used by miq-ui Link MiqTemplates to their parent VM when one is present Ansible: Refresh job_template -> playbook connection Middleware: Cross-linking Middleware server model with containers. Openstack: Notify when an Openstack VM has been relocated Physical Infra: Add Topology feature Refresh Physical Servers Additions for Amazon tag mapping in graph refresh Reconnect host on provider add Provisioning Change gettargetsfor_source to use correct params VMware placement to support only Clusters or only Folders. RBAC Added SUI notifications product feature Reporting Add scope :withoutconfigurationprofile_id needed by Foreman explorer UI Limit Generic Object associations to the same list of objects available to reporting. REST API Set current user for generic object methods Add metrics default limit to API settings Add paging links to the API Render links with compressed ids Query by multiple tags Floating IPs: Initial API Network Routers REST API Render ids in compressed form in API responses Return BadRequestError when invalid attributes are specified Return href on create Remove miq_server Add cloud subnet REST API Setmiqserver Action Add support for Cloud Volume Delete action Add Alert Definition Profiles (MiqAlertSet) REST API support API support for adding/removing Policies to/from Policy Profiles Refresh Configuration Script Sources action Authentications refresh action Updated providers refresh to return all tasks for multi-manager providers Added new firmware collection api Edit VMs API Remove all service resources Remove resources from service Bumping up version to 2.4.0 for the Fine Release Bumping up API Versioning to

for the G-Release Exposing prototype as part of /api/settings Service UI Add SUI product features Service dialog generation rely only on OrchestrationParameterConstraint Services Add manageiqconnection as an extravar key sent through services Name service during provisioning from dialog input Adds dialog field association info to importer Removes importer association data for backwards compatibility Exports new DialogFieldAssociations data Smart State Snapshot Support for Non-Managed Disks SSA Create Snapshot for Azure if a snapshot is required for SSA and if so call the snapshot code. Fix sometimes host analysis cannot get the linux packages info Storage Add missing features for Block Storage and Object Storage Tools Make tools easier to run User Interface Allow the target attribute to be read on ResourceActionWorkflow objects Add new classes to BUTTON_CLASSES Override the href_slug method to use GUID instead of id Add dialog field description to list of values updatable by automate Add virtual columns for GenericObject and GenericObjectDefinition Expose Custom Button visability/enablement Add custom buttons to generic object. Show monitoring screen by default Features for Generic Object Classes and Instances Add entries for Physical Server Add pretty model name for physical server Automate Provisioning: First and Last name are no longer required. Add policy checking for requesthostscan. Enforce policies type to be either "compliance" or "control" Add policy checking for retirement request. Performance Ultimate batch saving speedup Memoize Metric::Capture.capture_cols Don't run the broker for emsinventory if updatedriven_refresh is set Merge retirement checks Batch disconnect method for ContainerImage Allow batch disconnect for the batch strategy Optimize the query of a service's orchestration_stacks. MiqGroup.seed Use concat for better performance Do not queue C&U for things that aren't supported Add memory usage to worker status in rake evm:status and status_full Inventory collection default for infra manager Cache node_types instead of calling on every request Introduce: supports :capture Evmserver start-up: Improve ChargeableField.seed Do not schedule Session.purge if this Session is not used Do not queue no-op destroy action Do not schedule smartstate dispatch unless it is needed Avoid dozens of extra selects in seeddefaultevents Do not store whole container env. in the reporting worker forever BlacklistedEvent.seed was so slow Remove count(\*) from MiqQueue.get MiqQueue - remove MiqWorker lookup Platform Move MiqApache from manageiq-gems-pending Providers Drop support for oVirt /api always use /ovirt-engine/api Red Hat Virtualization Manager: New provider event parsing Middleware: Stop using deprecated names of hawkular-client gem Add config option to skip container_images Pass additional metadata from alert to event User Interface Split up miq_capacity into three separate controllers Use update:ui rake task instead of update:bower Provisioning Label has been deprecated and I need PR for day Authentication Add raw_connect? method to ExtManagementSystem Fixes a stack trace issue (500) during API authentication. If the userid is not found in the DB do a case insensitive search A tool for converting miqldap auth to external auth with sssd Converting userids to UPN format to avoid duplicate user records External auth lookupbyidentity should handle missing request parameter Automate Use UUID to ensure the uniqueness of job template name Rescue migration error and update status Adds field unique validator check to dialog Fix for custom button not passing target object to dynamic dialog fields miqgroupid is required by automate. Fix service dialog edit Set user's group to the requester group. Fixed path for including miq-syntax-checker Provisioning: Validate if we have an array of integers Services: Add my_zone to Service Orchestration. Checks PXE customization templates for unique names Rebuild Provision Requests with arrays Services: Add orchestration stack my_zone. Add orchestrationstackretired notification type. Revert previous changes adding notification to finish retirement. Adjust power states on a service to handle children Display Name and Description not updated during import Service#my_zone should only reference a VM associated to a

Fixes custom button method for things with subclasses Scope User and MiqGroup searches within the current region Chargeback Consider cloud volumes as data storages in chargeback Add back listing of custom attributes in chargeback Stop cashing fields for ChargebackVm report Fix max method on empty array in chargeback storage report Fix chargeback report when VM is destroyed Delete tag assignments when deleting a tag that is referenced in an assignment Rate selection using union of all tags in reporting(consumption) period Core Fix for failure to update service dialog - Couldn't find DialogField without an ID Add missing gettext into MiqUserRole Use USS (unique set size) instead of PSS for all the things Make ContainerLogger respond to #instrument Allow full error log Parse models of > 3 namespaces Fixes wrong number of arguments in purge_queue Send IDs through execapicall as a regular param not a block Dont queue email sending when notifier is off Ensure that the zone name is unique only within the current region Fix cached query for total unregistered vms No need to call normalized_status Skip seeding of categories if their creation is invalid Don't return a duplicate object from MiqGroup#settings Handle deprecated classes in arel Fix error in timeout checking for job without target Use the server IP for the AWX database host when the rails config is no good Handle autoload error not caught by safe_constantize Cache invalidation... Add purging for vimperformancetag_values with disabled tags Add a connection to the pool if there is only one for embedded ansible Fix Expression builder argument error by reverting #5506 Move the notifications to include more of the setup Finish simplifying NTP configuration using Settings Fix issue where plugin settings had higher precedence than manageiq When importing report symbolize keys only in 'db_options:' section Allow group settings with string keys Add the help menu to the permissions template yaml file Fix error importing Widget on Custom Report page Queue destroying of linked events when instance of MiqServer destroyed Tool to replicate server settings to other servers Ruby 2.4 - Replace all Fixnum|Bignum Cancel before_destroy callback chain for MiqServer by throwing 'abort' Fix event_catcher blacklisted events logging This allows access to the worker object and also allows the web service workers to start the rails server which was broken Allows seeding a database with groups from other regions. Findbyqueuename expects a string as queuename Fix Zone creation Sort array of queue names Events Fix the emsevent addqueue method i18n Add missing gettext into MiqAction Add missing model names into locale/en.yml Fix string interpolations Add Middleware Server EAP/Wildfly translation Inventory Log less details about the targets Print name instead of manager ref Metrics Calculate Metering Used Hours only from used metrics in metering reports Platform Use ruby not runner for run single worker Handle pid in runsingleworker.rb properly Handle SIGTERM in runsingleworker.rb Bump to non-broken network discovery Get tag details for no specific model Support logins when "Get User Groups from LDAP" is not checked Give active queue worker time to complete message Seeding timeout RBAC: Add Storage feature to container administrator role Reporting: Do not limit width of table when downloading report in text format Authenticatin: Normalize the username entered at login to lowercase Fix CI after adding new columns to custom_buttons table Check for messages key in prefetchbelowthreshold? Cast virtual attribute 'Hardware#ramsizein_bytes' to bigint Refactor MiqTask.delete_older to queue condition instead of array of IDs Run the setup playbook if we see that an upgrade has happened Alerts: Fail explicitly for MAS validation failure Fix pseudo heartbeating when HB file missing Only remove my process' pidfile. Add UiConstants back to the web server worker mixin Add vmmigratetask factory. FileDepotFtp:

cannot distinguish empty from non-existent dir Put back region_description method that was accidentally extracted Make user filter as restriction in RBAC Add AuthKeyPair to RBAC Workaround Rails.configuration.database_configuration being {} Move signal handling into the MiqServer object Format trend max cpu usage rate with percent Do not queue e-mails unless there is a notifier in the region Fixed logging for proxy when storage not defined Fix broken stylesheet path for PDFs RBAC: Add middleware models to direct RBAC RBAC for User model regard to allowed role Fallback to ActiveRecord config for DB host lookup Use ActiveRecord::Base for connection info Miq shortcut seeding Fix constant reference in ManagerRefresh::Inventory::AutomationManager Set the db application_name after the server row is created Remove default server.cer Fixed bug: timeout was not triggered for Image Scanning Job after removing Job#agent_class Use base class only when it is supported by direct rbac Alter embedded ansible for rpm builds Providers disconnect flag not respected in linkemsinventory Fix missing operations for MW datasource remove satellite6 credential type from embedded ansible space Create a task when destroying an ems Add container events to pod Hide by default the Middleware tab in UI Disconnect inventory on targeted refresh Stop generating `vimperformancetag_values` rows Add vm_destroy event to MiqEventDefinition Fix missing dodisconnect check in linkinventory Allow proxying WebMKS consoles using the WebsocketWorker Add the missing container template openshift to the en.yml Catalog Item type list is dependent on installed providers Allowing OperatingSystem for CloudManager graph refresh Fix hasrequiredrole? for InventoryCollectorWorker Missing cascade delete for host_storages Truncate name of refresh task to 255 Datastores duplicated after a refresh Added a Maintenance key to the hash struct Refresh new target do not run post_refresh Add two new types to MW server factories Container ssa annotate success Require handsoap in VimConnectMixin Require miqfaulttolerantvim in rawconnect Unique EmsRefresh.refresh targets if there are over 1,000 targets Add MiqException prefix to vm snapshot exceptions Changed Friendlyname to accept Arrays of queuenames Remove duplicate metric_rollups not dealing with active relation Fix Product Features Fix attach/detach disks automate methods Change Failure label by Rollback Delegate name attribute to parent_manager Fix for when target new refresh fails Disabling batch saving for VmOrTemplate because of needed hooks Fix the lenovo's event_catcher time Change error notification level from success to error Add nil checks for manager_uuids and references Proxy support for cloning ansible repo and add provider Have parent inventory collections as dependencies Orchestrate destroy of dependent managers savevmsinventory needs to respect disconnect flag When trying to find char layout for middleware messaging return correct file path Add the missing openstack Cloud Tenant translation to en.yml Fix non existent container showing in report Make networks vms relations distinct Add custom reconnect logic also to the batch saver Fix saving of refresh stats Adding requirenested for new azureclassic_credential Re-adding "Create Service Dialog from Container Template" feature JobProxyDispatcher should use all container image classes Remove remains of container definition Use archived? instead of ems_id.nil? Return VMs and Templates for EMS prev_relats Fix bug in InventoryCollection#find_by with non-default ref Remove methods for Azure sample orchestration VMware Infrastructure: Fix Core Refresher if there is no ems_vmware setting Pluggability: change ManageIQ::Environment to run bundle install on plugin_setup Fix orchestrated destroy Wait for ems workers to finish before destroying the ems Return an empty relation instead of an array from db_relation() Physical Infrastructure: Fix the hosts key in method which save physical server Foreman: Added a check that URL is a type of HTTPS

Refactor start_clone method and break up powershell functions Microsoft Infrastructure: Sleep some more time in ansible targeted refresh Create or delete a catalog item on update Prefer :dialogid to :newdialogname in configinfo Containers: Update miq-shortcuts Hawkular: Fix defaults for immutability of MiddlewareServers Move public/external network method into base class Ensure that genealogy_parent exists in the vm data before using it Allemsin_zone is not a scope yet so we can't chain 'where' Ansible Tower: Reformat Ansible Tower error messages Containers: Removed duplicate report Google: Fix typo on "retirement" string in google provisioning dialog. Physical Infrastructure: Fix vendor key in physical server Storage: Fix StorageManagers Cross Linkers VMware: Create a notification when a snapshot operation fails Ensure remote shells generated by SCVMM are closed when finished Always evaluate datawarehouse_alerts Use human friendly names in task names and notifications for Tower CUD operations Nullify dependents when destroying configurationscriptsources/configuration_scripts Use organization instead of organization_id when talking to Tower Fix task name for task that create Tower project Ensure job is refreshed in the condition of state machine exits on error Parse password field from dialog and decrypt before job launch Ansible Service: skip dialog options for retirement Modified to use Embedded Ansible instance An Ansible Tower "Inventory" is a ManageIQ "InventoryRootGroup" Fix for External Automation Manager Inventory Group Notification after Tower credential CUD operations Product features for embedded ansible refresh Notification after Tower credential CUD operations Product features for embedded ansible refresh Do unassign tags when mapped tags list becomes empty C&U fix bug in Targets#capturevmtargets Fixed: ESxi host does not exit maintenance mode ensure monitoring manager deletion and creation on endpoint update Set limits for VM and Template names and descriptions Reconnect host on provider add Adding hostname format validation Added gettargetsfor_base class methods Provisioning Changes cloud network list to follow availability zone rules Adding the option to set default vlan Fix email issue in miqprovisionquotamixin activeprovision by_owner method Fix allowed_vlans to call preload correctly RBAC Removed redundant "Monitor" main tab node. #16648 Standalone ServiceUI product features require, updating affected roles Fix nil cases of allocated disk types in chargeback reporting Add Missing button features to miq_features.yaml Ensure that `base_class` of first target is used for RBAC scope Add belongsto filter for other network models Move rule for network manager to belonsto filter Add Tasks start page URL to shortcuts yaml file Save key pairs in Authentication table Lower the report level of routine http errors in the Fog log Replication Prevent replication subscription to the same region as the current region Scope Tenant#name validation to the current region Reporting Add proper translation for manageiqproviderscloudmanagervms Update translation to resolve ambiguous Provider:Type field Fixed syntax with `orderby` in RSS Feed YAML files Unconditionally seed all standard reports and widgets Do not show container and cloud providers on 'Monthly Hosts per Provider' report Expand scope of report definitions that visible to a user Add more translations for cloud resources and templates REST API web service worker needs to load MiqAeDomain

manageiq-api should be a plugin Allow operator characters on the RHS of filter Force ascending order Allow compressed ids when updating a service dialog Make request APIs consistent by restricting access to automation/provision requests to admin/requester Render ids in compressed form in API responses Use correct identifier for VM Retirement Return only requested attributes Return Not Found on Snapshots Delete actions Redirect tasks subcollection to request_tasks Request members should allow access to users with admin role Requests should allow access to users with admin role Correctly configure custom attributes for DELETEs Return correct custom_attributes href Render DELETE action for notifications Allow policies to be deleted via DELETE Allow partial POST edits on miq policy REST Return provider_class on provider requests Return correct resource hrefs Removing ems_events from config/api.yml Services Fix checkquota(:activeprovisions) for Service MiqRequest invalid service_template Change the type name for the catalog Item from 'Container Template' to 'Openshift Template' ServiceTemplate: add scope for unassigned items. Smartstate Increase Timeouts and Worker Memory for Azure SSA Add Heartbeat Thread to SmartProxy Worker User Interface Added factories that are need to run spec tests in the BZ fix Add MiqWdigetSet to Dashboard dictionary translation Update group/role EvmGroup-desktop product features Fixed control explorer feature id Update user roles to proper access physical infrastructure views Add Compute Infrastructure Hosts filter for ESX 6.5 Set default values for help menu link target types in settings.yml Update Catalog tab of Publish VM dialog Fix resize approval to work for editing requests Add monitoring menus This fixes Cockpit console from attempting to connect to AWS and GCE on private instead of public ip addresses and enables Cockpit console for RHOS. Remove rails-controller-testing from Gemfile Fail with descriptive message when no EMS Sync up dropdown list in My Settings => Visual Tab => Start Up Added jobs.targetclass and jobs.targetid to returned dataset in MiqTask.yaml view Renamed action to copy Service Dialog Core Passing a class as a value in an Active Record query is deprecated Middleware Remove middleware reports Removing all middleware performance charts Revert "Enable mwPolicies" Automate Add aestatemax_retries to root object. Add missing service model change for calculating active quota counts for Service requests. Platform Only remove my process' pidfile. Providers Implement :reboot_guest for VM Add additional logging into the websocket proxy for easier debugging Add validate_blacklist method for VM pre-provisioning Add blacklists for VM username and password when provisioning ovirt-networking: using profiles Disable delete button for the active snapshot on oVirt Update provision requirements check to allow exact matches Add config option to skip container_images Create Snapshot for Azure Option needed for new emsrefresh.openshift.storeunused_images setting RBAC Include EvmRole-reader as read-only role in the fixtures Services Add group in manageiq payload for ansible automation. Smart State Snapshot Support for Non-Managed Disks SSA Increase Timeouts and Worker Memory for Azure SSA Authentication Normalize the username entered at login to lowercase Converting userids to UPN format to avoid duplicate user records Automate Add validate_blacklist method for VM pre-provisioning Fix vmmigratetask statemachinetaskstatus value. Need to pass the user's group in to automate when the provision starts. miqgroupid is required by automate. Chargeback Delete tag assignments when deleting a tag that is referenced in an assignment Core Do not limit width of table when downloading report in text format Check for messages key in prefetchbelowthreshold? Give active queue worker time to complete message Fix constant reference in ManagerRefresh::Inventory::AutomationManager Platform Add vmmigratetask factory. Check for messages key in prefetchbelowthreshold? Normalize the username entered at login to lowercase Collect log follows symlink recursively to the origin file Providers Return VMs and Templates for EMS prev_relats Fix VM password restrictions Fix unhandled exception in metrics collection when missing credentials Add explicit capture threshold for container Avoid Tower in notifications for embedded ansible Pass userid before going to automation Manager name not updated on foreman provider edit Remove the expose of manager to Embedded Ansible Job in service

Avoid Tower in notifications for embedded ansible Choose build pod by name AND namespace disconnect_storage should be called once Matching on array order is failing sporadically Revamp createvmscript to use configuration Force array context for VMs, hosts, vnets and images Don't break refresh if a flavor couldn't be found Fixed cases causing waiting on timeout in vm_import fix builds namespace matching Handle case where dovolumecreation_check gets a nil from Fog Fix non existent container showing in report 'try' in case its a v2 tower which doesn't have v3 attr Quota - Calculate quota values for active provisions. Do not downcase the amazon IAM username Skip invalid container_images Proxy support for cloning ansible repo and add provider Check if project_id is accessible RBAC Move rule for network manager to belongsto filter Reporting Cast virtual attribute 'Hardware#ramsizein_bytes' to bigint Unconditionally seed all standard reports and widgets REST API Return Not Found on Snapshots Delete actions Use correct identifier for VM Retirement Allow operator characters on the RHS of filter Set the current userid when running a report Security Use nil ca_certs to trust system CAs Services Set user's group to the requester group. User Interface Fix for <Choose> found as option in drop down service dialogs Don't unconditionally update verify_ssl ] Login Start Pages dropdown list - Clouds menus Fix for custom button not passing target object to dynamic dialog fields Automate Automate - added vmware reconfigure model to quota helper. Provisioning: Ovirt-networking: using profiles Services Log zone(q_options) when raising retirement event. Platform Set database application name in workers and server Fix startup shortcut YAML setting for Configuration Management Generate virtual custom attributes with sections Allow reports to be generated based on GuestApplication Allow deletion of groups with users belonging to other groups Track and kill embedded ansible monitoring thread RBAC Include EvmRole-reader as read-only role in the fixtures Providers Ansible Tower Add status column to Repositories list Use $log.log_hashes to filter out sensitive data. Containers Add purge timer for archived entities Delete archived entities when a container manager is deleted Red Hat Virtualization: Reduce the default oVirt open timeout to 1 minute Add a virtual column for `supportsblockstorage?` and `supportscloudobjectstorecontainer_create?` REST API Add cloud tenants to API Add SQL store option to token store Configurationscriptsources subcollection Providers Add config option to skip container_images Automate Fix for custom button not passing target object to dynamic dialog fields miqgroupid is required by automate. Control: Remove the policy checking for requesthostvmotion_enabled. Provisioning Add validate_blacklist method for VM pre-provisioning Filter out the hosts with the selected network. Add :sort_by: :none to GCE Boot Disk Size dialog field. Force status removal and default value Services Set user's group to the requester group. Use extra_vars to create a new dialog when editing Ansible playbook service template. Platform Add a marker file for determining when the ansible setup has been run Give active queue worker time to complete message Authentication Check the current region when creating a new user Normalize the username entered at login to lowercase Format time interval for log message Add vmmigratetask factory. Start Apache if roles were changed and it is needed by the current roles Add a notification for when the embedded ansible role is activated Reporting Do not limit width of table when downloading report in text format Fix chargeback report with unassigned rates Cast virtual attribute 'Hardware#ramsizein_bytes' to bigint Fix key for regexp in miq_expression.yaml Include cloud instances in Powered On/Off Report Correct field names for reports Changed report name to be consistent with actual produced report. Fix constant reference in ManagerRefresh::Inventory::AutomationManager Do not delete report if task associated with this report deleted Workers Only remove my process'

Check for messages key in prefetchbelowthreshold? Providers Inventory Return VMs and Templates for EMS prev_relats Ansible Tower: Let ansible worker gracefully stop Limit CloudTenants' related VMs to the non-archived ones Containers Add default filters for the container page Fix Containers dashboard heatmaps Microsoft Infrastructure - Network Fix network_ports relation of a LB Virtual Infrastructure: Add a method to InfraManager to retrieve Hosts without EmsCluster REST API Allow operator characters on the RHS of filter Fix virtual attribute selection Make TokenManager#token_ttl callable (evaluated at call time) Return Not Found on Snapshots Delete actions Use correct identifier for VM Retirement SmartState: Fixed bug: one call to Job#setstatus from \`VmScan#callsnapshot_delete' has one extra parameter User Interface (Classic) Show Network Port name in Floating IP list Add missing units on VMDB Utilization page for disk size Add Memory chart for Availability Zones Removed grouping from all Middleware views Fix URL to Compute/Containers/Containers in miq_shortcuts Fail with descriptive message when no EMS REST API Enable custom actions for Vms API Platform Ensure order is qualified by table name for rss feeds RBAC Fix tag filtering for indirect RBAC Providers Ansible Tower Check that the Embedded Ansible role is on Encrypt secrets before enqueue Tower CU operations Hint to UI that scmcredential privatekey field should have multiple-line Only run the setup playbook the first time we start embedded ansible Automate Alerts Pass metadata from an EmsEvent to an alert Add hide & show alert status actions (backend) Ansible Tower Service Playbook updates fqname and configuration_template Require EmbeddedAnsible playbook to create playbook service Add relationships between Ansible job and its playbook Associate job with credentials Save newly created dialog_id in options Collect more attributes for Ansible Tower job Add Run Ansible Playbook control action type Create service template with Ansible Tower after first creating a new job template Added "Ansible Playbook" to the list of catalog item types Expose job_template from a service template Create catalog item after job templates are created Create temporary inventory when execute a playbook Run a control action to order Ansible Playbook Service Control: Enforce policies type to be either "compliance" or "control" Orchestration Add Picture to Orchestration Template Use task queue for update stack operation Provisioning Change vLan name to Virtual Network Advanced networking placement features and automate exposure for OpenStack Add multiplevalue option to exposeeligible_resources Service Model Add ae service model for S3 CloudObjectStoreContainer Add ae service model for S3 CloudObjectStoreObject Services Add a addtoservice method to Vm Add orchestration_stacks to ServiceAnsiblePlaybook Update catalog item without config_options Set the initiator from the workflow/request Add service object to deliver to automate. Create a provision request for a service template ServiceTemplate updatecatalogitem Add createcatalogitem to ServiceTemplateAnsibleTower Tool to create a service dialog for an Ansible playbook Resource action - Add service_action. Initial commit for ansible playbook methods and service model. Add automate engine support for array elements containing text values () Modified destroying an Ansible Service Template Ansible Playbook Service add on_error method. Add 'delete' to generic object configuration dropdown () Automate Model: Add Amazon block storage automation models () Orchestration Services: createcatalogitem to ServiceTemplateOrchestration () Add createcatalogitem class method to ServiceTemplate () Save playbook service template () Allow adding disks to vm provision via api and automation () Move MiqAeEngine components into the appropriate directory in preparation for extracting the Automate engine into its own repository () Automate Retry with Server Affinity () Service Model: Added container components for service model () Expose attach/detach method for volume Allow passing options when adding a disk in automate. Platform Add remote servers to rake evm:status_full Include embedded ansible logs in log collection Ansible Tower Create initial tower objects when we start the worker Add embedded_ansible to the list of roles that need apache Raise a notification when the embedded ansible server starts Move embedded ansible worker thread up to start_runner

#authentication_check after the embedded ansible service starts Rely on 10 minute starting_timeout instead of a heartbeating thread Add methods for configuring and starting Ansible inside () New class for determining the availability of embedded ansible (). Authentication: Ensure user name is set even when common LDAP attributes are missing. RBAC Introduce CloudTenancyMixin to fix RBAC for cloud_tenant based models Add RBAC for rss feeds Add View and Modify/Add RBAC features for the Embedded Automation Provider Add list of providers to RBAC on catalog items () Reporting Add archived Container Groups Adding new report and widgets for Containers Add option for container performance reports () Chargeback Chargeback without C & U Containers: Enterprise rate parent for chargeback Add tenant scoping for resources of performance reports in RBAC Introduce Vm/Chargeback tab backend () Charge SCVMM's vm only until it is retired. () Add a #backlog method to PglogicalSubscription objects Metrics: Collect metrics for archived containers Providers Enhanced inventory collector target and parser classes Force unique endpoint hostname only for same type () New folder targeted refresh Amazon Namespace the mappable object types add Amazon VM and Image types. Map Amazon labels to tags Import AWS Tags as CustomAttributes for Instances and Images Move amazon settings to ManageIQ/manageiq-providers-amazon () Ansible Tower Tower CUD check and run refreshinprovider followed by refreshing manager Tower CUD to invoke targeted refresh Refresh job_template -> playbook connection Prepare parameter hash before passing to Tower API credential CU Add manageiq to the extra_var before launching a job Use embedded tower default objects for ManageIQ Catalog item accepts remove_resources option Enable scm_credential type in refresh Add a concern for storing and accessing embedded ansible object ids Added Inventory to EmbeddedAnsible namespace Create/Update/Delete Ansible Tower Projects and Credentials via queue Add retire_now to Embedded Ansible job. Destroy Ansible Playbook job templates Add job_plays to job Add EmbeddedAnsible workers to WorkerManagement Refresh to pick up scm options for Tower Project Refresh to pick up extra attributes of Ansible Credentials Enhanced dependency and references scanning Introducing find by and find or build by methods Model change for Ansible Tower Credential Add missing `ConfigurationScriptSource` hierarchy and Automate models Models for EmbeddedAnsible provider Refresh inventory Event Catcher () Migrate AnsibleTower ConfigurationManager to AutomationManager () Cloud Providers Enable cloud_tenant based RBAC for additional models Update Cloud Image View to Differentiate Between Snapshots and Non-Snapshots Allow cloud volume to provide a list of volumes for attach Add relationship between VM and ResourceGroup. Support operation `create` on CloudObjectStoreContainer Console: Add product feature for VMware WebMKS HTML consoles Containers Support alerts on container nodes Add External Logging Support SupportFeature Add datawarehouse logger Instantiate Container Template () Collect node custom attributes from hawkular during refresh () Add alerts on container nodes () Middleware Cross-linking Middleware server model with

Be able to use tls when connecting to Hawkular Send data source properties when adding data source operation is performed Middleware server group power ops OpenStack Use task queue for set/unset node maintenance Use task queue for CRUD operations on auth key pair Add OpenStack excon settings Add OpenStack infra provider event blacklist Physical Infrastructure Add Physical Infra Topology feature Add physical infra refresh monitor Add physical server views to the product Pluggable Ems event groups - allow provider settings (deeper_merge edition) Add registeredproviderplugins to Vmdb::Plugins Red Hat Virtualization New provider event parsing Use the new OvirtSDK for refresh Don't pass empty lists of certificates to the oVirt SDK Always pass the URL path to the oVirt SDK Set 'https' as the default protocol when using oVirt SDK VMware Infrastructure: Validate CPU and Memory Hot-Plug settings in reconfigure () REST API Remove all service resources Remove resources from service Bumping up version to 2.4.0 for the Fine Release Exposing prototype as part of /api/settings Add Alert Definitions (MiqAlert) bulk edits support Add_resource to Service api API Authentication create Added support for API slugs Enable put/patch on configuration script sources and authentications API Enhancement to support fine-grained settings whitelisting Create configuration script sources Edit Authentications API Delete and update configuration script sources Delete authentication in provider Collections API for Cloud Volumes Orchestration stack subcollection Add cloud types to authentication options Adds host to physical server relationship Adding support for a format_attributes parameter Added Api::Utils.resourcesearchbyhrefslug helper method Enhanced API to have a task created for provider refreshes Add Alert Definitions (MiqAlert) REST API support Enhance service edit to accept attribute references Delete service templates via POST Delete services via POST Delete templates via POST Exposing regions as a primary collection /api/regions Add authentications sub collection to ConfigurationScriptPayload Improve error handling on destroy action Differentiate Vms/Instances in messages Authentications Read and Delete api Create service template REST api Snapshots revert API Add snapshotting for instances in the API Bulk unassign tags on services and vms Add bulk delete for snapshots API Improve create picture validation Configuration Script Sources API Api enhancement to support optional collection_class parameter Allows specification for optional multiple identifiers Add config_info as additional attribute to Service Templates API API collection OPTIONS Enhancement to expose list of supported subcollections () API Enhancement to support filtering on id attributes by compressed id's () Adds removeapproverresource to ServiceRequestController. () Add OPTIONS method to Clusters and Hosts () VMs/Snapshots API CRD () Add alert actions api () Copy orchestration template () Expose Request Workflow class name () Sort on sql friendly virtual attributes () Expose allowed tags for a request workflow () SmartState Make docker registry & repo configurable for 'image-inspector' Warn if OpenSCAP binary not available Storage Add Amazon EC2 block storage manager EMS () User Interface (Classic) Add missing ui_lookup for Repository Remove 'retired' column from the services list Changes for Embedded Ansible models Add missing fields to Middleware views Add multiselect option to dropdowns Core changes for Ansible Tower Playbooks & Repositories UI Core changes for Ansible Credentials UI Added changes to show Catalog Item type in UI Physical Infrastructure provider (lenovo) changes required for the UI Adding Physical Infra Providers Menu Item Added new features for the Ansible UI move to the Automation tab Added new features for the Ansible UI move to the Automation tab Add edit functionality for generic object UI () Automate Switched to the latest version of `ansibletowerclient` gem Update the service dialog to use the correct automate entry point Change default provisioning entry point for AutomationManagement. Look for resources in the same region as the selected template during provisioning. () Performance Optimize number of transactions sent in refresh Optimize storeidsfornewrecords by getting rid of the O(n^2) lookups Do not run MiqEventDefinitionSet.seed twice on every start-up Do not run these seeds twice Speed up MiqEventDefinitionSet.seed Do not store whole container

in the reporting worker forever Make Widget run without timezones boot skips all seeding with env variable Add a cache for full Feature objects Report Widget Skip relationship query when we know there are none Report Widget Speed up widget generation Fix ordering by VMs in NetworkManagers list Use eagerload for extraresources Perfomance fix for Object Storage Manager deletion Avoid N+1 queries by including snapshots Load created Vms in batches so they don't load all in memory Do not keep all association records in the memory Scanning for used attributes for query optimizations Platform RBAC Allow descendants of Host model to use belongsto filters in RBAC Add chargeback to shortcuts to allow access to chargeback only. Define new product features for specific types of Storage Managers Reporting Support dots and slashes in virtual custom attributes Link recentlydiscoveredpods widget to rpt Allow regex for MiqExpression::Field which contains numbers in associations Move the call to reload ntp settings to the server only Ansible Tower: Use http_port extra variables instead of nginx ones Fix ordering by VMs in NetworkManagers list Configure apache balancer with up to 10 members at startup Remove admin role for tenant admin Ansible: Properly monitor the embedded ansible service Remove the mechanisms around "configuring" central admin Allow users to input ipv6 where it makes sense Rename events "ExtManagementSystem Compliance\" -> "Provider Compliance\" Use the new setup script argument types Exclude chargeback lookup tables in replication Providers Move azure settings to azure provider Ansible event catcher - mark eventmonitorrunnning when there are no events at startup Virtual Infrastructure: Deprecate callers to Address in Host OpenStack Add openstack cloud tenant events Set the raw power state when starting Openstack instance Use task queue for VM actions Red Hat Virtualization Drop support for oVirt /api always use /ovirt-engine/api Resolve oVirt IP addresses Save host for a VM after migration () Storage Rename Amazon EBS storage manager () User Interface (Classic) Updated patternfly to v3.23 Automate Retirement: Change retirenow to pass zonename to raiseretirementevent. Added finish retirement notification. Add policy checking for retirement request. Fix services always invisible Fixes tag control multi-value Don't allow selecting resources from another region when creating a catalog item Merge service template options on update Fix for Service Dialog not saving default value <None> for drop down or radio button Avoid calling $evm.backtrace over DRb to prevent DRb-level mutex locks Fix Automate domain reset for legacy directory. Services: Power state for services that do not have an associated service_template Provisioning: Update validation regex to prohibit only numbers for Azure VM provisioning Allow a service power state to correctly handle nil actions () Increment the aestateretries when on_exit sets retry () Ansible Tower Ensure job is refreshed in the condition of state machine exits on error Parse password field from dialog and decrypt before job launch Ansible Service: skip dialog options for retirement Modified to use Embedded Ansible instance Control Add policy checking for requesthostscan. Add the logic to allow a policy to prevent requestvmscan. During control action host was not being passed in Provisioning Remove reverse! call for timezone after converting structure to hash First and Last name are no longer required. Use fetchpath to handle the case where :wsvalues is nil. Services: Service#my_zone should only reference a VM associated to a provider. Platform Chargeback Group chargeback with unknown image under 'unknown image' Charge since the first MetricRollup Group results with unknown project under 'unknown project' Reports: Add Container entities to TAG_CLASSES Make workermonitordrb act like a reader Do not pass nil to the assignment mixin Use base class only when it is supported by direct rbac Metrics: Split metric collections into smaller intervals Add balancer members after configs have been written MiqApache::Conf.createbalancerconfig expects a :lbmethod key If we can't update_attributes on a queue row, set state to error Do not truncate(255) message attribute in miq_tasks table Fix "Multiple Parents Found" issue when moving a

Core Fix missing reason constants Rescue worker class sync_workers exceptions and move on Reporting: Ignore custom attributes that have a nil name Chargeback Skip calculation when there is zero consumed hours Bring currency symbols back to chargeback reports Fix tier selection when using different units. Fix rate adjustment rounding bug () Charge only for past hours () Delegate custom attributes to images in ChargebackContainerImage Add MiqUserRole to RBAC Fix broken C&U collection Instead of default(system) assign current user to generating report task Tenant admin should not be able to create groups in other tenants. () Replication: Expose a method for encrypting using a remote v2_key () Providers Fixing fullname not returning dockerid when it should Remove queue serialization Fix general CloudNetwork classbyems method Prevent a DVPortGroup from overwriting a LAN with the same name in provisioning Fix EmsRefresh miq_callback when merging queue items Pass hosts as a parameter to create the service dialog Provide better error message when migrating to the same host Fixed refresh & save for Physical Infra. Always pass valid date format Check if project has credential before try to use it Ansible Tower Fix saving hosts in ansible playbook job Add missing authentication require_nested Disable SSL verification for embedded Ansible. Allow createinprovider to fail It's \_log not log and we don't need the undefined variable prefix Reload the ems object in the event catcher if we fail to start Add multiline to ssh attribute Create/update Tower project with scm_credential Nullify dependents when destroying configurationscriptsources/configuration_scripts Use organization instead of organization_id when talking to Tower Fix task name for task that create Tower project An Ansible Tower "Inventory" is a ManageIQ "InventoryRootGroup" Fix for External Automation Manager Inventory Group Notification after Tower credential CUD operations Product features for embedded ansible refresh Console: Added missing parameter when requesting OpenStack remote console () Containers Container Volumes should honor tag visibility Fix queueing of historical metrics collection Identifying container images by digest only Create a hawkular client for partial endpoints Container managers #connect: don't mutate argument Fix creating Kubernetes or OSE with `credentials.auth_key` Google: Ensure google managers change zone and provider region with cloud manager Metrics: Handle exception when a metrics target doesn't have an extmanagementsystem Microsoft Infrastructure Enable VM reset functionality Ensure remote shells generated by SCVMM are closed when finished Middleware: Hawkular Allow adding datawarehouse provider with a port other than 80 OpenStack Cloud Network Router: Raw commands are wrapped in raw prefixed methods () OpenStack Infra: Ssh keypair validation fixes () Pluggable: Changing ordering of checks to see if snapshot operations are supported Red Hat Virtualization Add oVirt cloud-init customization template Disks should be added as 'active' in RHV Use the provided database name during metric collection Fix authentication of metrics credentials in RHV Set timeout for inventory refresh calls Fix Host getting disconnected from Cluster when migrating a VM in REST API Allow partial POST edits on miq policy REST Return provider_class on provider requests Return correct resource hrefs Removing ems_events from config/api.yml Ensure actions are returned correctly in the API Return result of destroy action to user not nil Convey a useful message to queueobjectaction Fix load balancers access in API Fix cloud networks access in API Fix schedule access in API SmartState Timeout was not triggered for Image Scanning Job after removing Job#agent_class User Interface Fix mixed values in Low and High operating ranges for CU charts Revert "Remove unneeded include from reports" Added missing second level menu keys for Storage menu Update spice-html5-bower to 1.6.3 fixing an extra GET .../null request Add the Automation Manager submenu key to the permission yaml file Added missing Automate sub menu key to permissions yml. Allow passing options when adding a disk in

Added container components for service model. () Services Add automate engine support for array elements containing text values. () Add multiselect option to dropdowns Authentication: Ensure user name is set even when common LDAP attributes are missing. Chargeback Add tenant scoping for resources of performance reports in RBAC Enterprise rate parent for containers chargeback RBAC: Add RBAC for rss feeds Openstack Add openstack excon settings Add :eventcatcheropenstack_service setting Red Hat Virtualization Manager: Resolve oVirt IP addresses Optimize number of transactions sent in refresh Make Widget run without timezones Speed up widget generation RBAC: Remove admin role for tenant admin Reporting: Support dots and slashes in virtual custom attributes Provisioning: Add multiplevalue option to exposeeligible_resources. Services Fixes tag control multi-value Power state for services that do not have an associated service_template Appliance: Move the call to reload ntp settings to the server only Chargeback: Do not pass nil to the assignment mixin Fix "Multiple Parents Found" issue when moving a relationship. Workers Make workermonitordrb act like a reader again! Fix missing reason constants Add balancer members after configs have been written Rescue worker class sync_workers exceptions and move on Configure apache balancer with up to 10 members at startup If we can't update_attributes on a queue row set state to error Optimize storeidsfornewrecords by getting rid of the O(n^2) lookups Containers Delegate custom attributes to images in ChargebackContainerImage Fix queueing of historical metrics collection Identifying container images by digest only Container Project reports: add archived Container Groups Metrics Split metric collections into smaller intervals Handle exception when a metrics target doesn't have an extmanagementsystem Microsoft: SCVMM - Enable VM reset functionality Openstack: Set the raw power state when starting Openstack instance Red Hat Virtualization Manager Set timeout for inventory refresh calls Add oVirt cloud-init customization template Fix authentication of metrics credentials in RHV Add the logic to allow a policy to prevent requestvmscan. Update spice-html5-bower to 1.6.3 fixing an extra GET .../null request Fix mixed values in Low and High operating ranges for CU charts Automate Retry with Server Affinity () Chargeback Chargebacks for SCVMM (rollup-less) () Chargebacks for SCVMM (rollup-less) ) Prioritize rate with tag of VM when selecting from more rates () Reporting: Add option for container performance reports () Ansible Tower: Advanced search for Ansible Tower Jobs not visible on switch from a different tab () Containers: Common mixin: ui_lookup should get a string () Microsoft Azure: Delete all resources when deleting an Azure stack () Ops_rbac - group detail - don't render trees that are not visible () Launch a URL returned by an automate button () Remove confirmation when opening the HTML5 vnc/spice console. () Cloud Network UI: Task queue () Look for resources in the same region as the selected template during provisioning. () Don't lookup category names if tag tree view all () Add list of providers to RBAC on catalog items () Gem changes Upgrade azure-armrest gem to 0.5.2. Use version 0.14.0 of the 'ovirt' gem () Updated PatternFly to v3.15.0 () Network: Added exception clases for router add/remove interfaces () UX improvements for attaching Openstack cloud volumes to instances () Add latest VMRC API version () Notable fixes include: Inconsistent attribute names inside Automate Engine () Allow a service power state to correctly handle nil actions () Increment the aestateretries when on_exit sets retry () Chargeback BigDecimal not working properly on ruby 2.3.1 () Skip calculation when there is zero consumed hours () Tenant admin should not be able to create groups in other

() Add MiqUserRole to RBAC () Reporting: Introduce report result purging timer () Hawkular: Adding alt and title attributes for buttons () RHEV Save host for a Vm after migration () Fix Host getting disconnected from Cluster when migrating a VM in RHEV Disks should be added as 'active' in RHV ( OpenStack Add Openstack metric service to Settings () OpenStack Infra: ssh keypair validation fixes () Console: Added missing parameter when requesting OpenStack remote console () Pulled out simulation parameters () Advanced search not working for the ansible job () Fix missing Smart State Analysis button on Cloud Instances list view () Remove disabling of 'instance_retire' button ( Fix Snapshot revert ( Make created filters in Datastores visible and fix commiting filters () Add missing icons for provider policies & compliance events () Allow configuration managers providers and configuration scripts trees to display the advanced search box () Cloud Subnet UI: Task queue validation buttons () Tenant admin should not be able to create groups in other tenants. () Floating IPs: Adds missing route for waitfortask () Fix valid_tenant check in ops () Red Hat Enterprise Virtualization: Removed the option to migrate the VMs outside of the cluster. () Fix checkboxtag parameters for snap_memory () Add list of roles to rbac ( Fix assigning roles in group form ( Fix repeating values on Y-axis of C&U charts () Automate Model Added toplevelnamespace to miqaenamespace model to support filtering for pluggable providers Added /System/Process/MiqEvent instance Class Schema allows for EMS, Host, Policy, Provision, Request, Server, Storage, and VM(or Template) datatypes Value is id of the objects If object is not found, the attribute is not defined. Import Rake task `OVERWRITE` argument: Setting `OVERWRITE=true` removes the target domain prior to import Null Coalescing Operator Multiple String values separated by || Evaluated on new attribute data type Null Coalescing Order dependent, left to right evaluation First non-blank value is used Skip and warn about missing objects Generic Objects Model updates Associations Tagging Service Methods: `addtoservice / removefromservice` Service models created for GenericObject and GenericObjectDefinition Process Generic Object method call via automate Methods content stored in Automate Generic Object Definition model contains the method name only (Parameters defined in automate) Methods can return data to caller Methods can be overridden by domain ordering Git Automate support Branch/Tag support Contents are locked and can be copied to other domains for editing Editable properties Enabled/Disabled Priority Removal of Domain Dedicated Server Role to store the repository Methods `extendretireson` method: Used by Automate methods to set a retirement date to specified number of days from today, or from a future date. `taggable?` to programmatically determine if a Service Model class or instance is taggable. Added

Provisioning Service Provisioning: Exposed numberofvms when building the provision request for a service Filter networks and floating_ips for OpenStack provisioning Added Google pre and post provisioning methods Enabled support for vApp provisioning service Backend support to enable VMware provisioning through selection of a DRS-enabled cluster instead of a host Set VM storage profile in provisioning Show shared networks in the OpenStack provisioning dialog Enhanced messaging for provisioning: Displayed elements ManageIQ Server name Name of VM/Service being provisioned Current Automate state machine step Status message Provision Task Message Retry count (when applicable) Set zone when deliver a service template provision task Reconfigure: Route VM reconfigure request to appropriate region Retirement Restored retirement logic to verify that VM was provisioned or contains Lifecycle tag before processing Built-in policy to prevent retired VM from starting on a resume power Added lifecycle tag as a default tag Schema change for Cloud Orchestration Retirement class Added Provider refresh call to Amazon retire state machine in Pre-Retirement state Service Dialogs Added Visible flag to all dialog fields Support for visible flag for dynamic fields Service Models - New Compliance: `expose :compliance_details` ComplianceDetail: `expose :compliance`, `expose :miq_policy` MiqAeServicePartition MiqAeServiceVolume GenericObject GenericObjectDefinition Service Models - Updates MiqAeServiceServiceTemplateProvisionTask updated to expose provision_priority value MiqAeServiceHardware updated to expose a relationship to partitions. Added cinder backup/restore actions New associations on VmOrTemplate and Host models `expose :compliances` `expose :last_compliance` Expose ems_events to Vm service model Expose a group's filters. Services Set default entry points for non-generic catalog items Service resolution based on Provision Order Log properly dynamic dialog field script error Back-end support for Power Operations on Services Service Items: Pass start/stop commands to associated resources. Service Bundles: Honor bundle resource configuration for start/stop actions Created service_connections table to support connecting services together along with metadata Centralized Administration Server to server authentication Invoke tasks on remote regions Leverage new API client (WIP) VM power operations VM retirement Chargeback Support for generating chargeback for services Will be used in Service UI for showing the cost of a service Generate monthly report for a Service Daily schedule generates report for each Service Enables SUI display of Service costs over last 30 days Containers Added a 'fixedcomputemetric' column to chargeback Added rate assigning by tags to container images Chargeback vm group by tag Database Maintenance Hourly reindex: High Churn Tables Periodic full vacuum Configure in appliance console Database maintenance scripts added to appliance Notifications Dynamic substitution in notification messages Generate for Lifecycle events Model for asynchronous notifications Authentication token generation for web sockets API for notification drawer PostgreSQL High Availability Added to support automatic failover Maintain list of active standby database servers Added for converting DSN to a hash DB Cluster - Primary, Standbys Uses (replication) Failover Primary to Standby Appliance connects to new primary DB Primary/Standby DB config in Appliance Console Database-only appliance config in Appliance Console Failover Monitor Raise event when failover successful Replication: Add logging when the replication set is altered Reporting Watermark reports updated to be based on max of daily max value instead of max of average value Custom attributes support in reporting and expressions Selectable as a column Usable in report filters and charts Tenancy Groundwork in preparation for supporting multiple entitlements ApplicationHelper#roleallows

User#roleallows? combined and moved to RBAC Added parent_id to CloudTenant as prerequisite for mapping OpenStack tenants to ManageIQ tenants Mapping Cloud Tenants to ManageIQ Tenants Prevent deleting mapped tenants from cloud provider Added checkbox "Tenant Mapping Enabled" to Openstack Manager Post refresh hook to queue mapping of Cloud Tenants Appliance Console: Removed menu items that are not applicable when running inside a container Nice values added to worker processes Core Override default http proxy Known features are discoverable Every known feature is unsupported by default Allow Vm to show floating and fixed ip addresses Generate a csv of features supported across all models Amazon: Public Images Filter Ansible Tower Collect Job parameters during Provider Refresh Log Ansible Tower Job output when deployment fails Containers Persist Container Templates Reports: Pods for images per project, Pods per node Deployment wizard Models for container deployments Limit number of concurrent SmartState Analyses Allow policies to prevent Container image scans Chargeback rates based on container image tags Keep pod-container relationship after disconnection Label based Auto-Tagging UI Google Compute Engine Use standard health states Provision Preemptible VMs Preemptible Instances Retirement support Metrics Load Balancer refresh Middleware (Hawkular) JMS support (entities, topology) Reports for Transactions (in App servers) Support micro-lifecycle for Middleware-deployments Alerts Link miq alerts and hawkular events on the provider Convert ManageIQ alerts/profiles to hawkular group triggers/members of group triggers Sync the provider when ManageIQ alerts and alert profiles are created/updated Support for alert profiles and alert automated expressions Added entities: Domains and Server Groups including their visualization in topology Datasource entity now has deletion operation Cross linking to VMs added to topology Operations: Add Deployment, Start/stop deployment Performance reports for datasources Collect more metrics for datasources Deployment entity operations: Undeploy, redeploy Server operations: Reload, suspend, resume Live metrics for datasources and transactions Performance reports for middleware servers Crosslink middleware servers with RHEV VMs Collect and display deployment status Datasources topology view Added missing fields in UI to improve user experience Middleware as top level menu item Default view for Middleware is datasource Change labels in middleware topology Added "Server State" into Middleware Server Details Enabled search for Middleware entities Users can add Middleware Datasources and JDBC Drivers Metrics for JMS Topics and Queues Add support to overwrite an existing deployment Kubernetes: Cross-linking with OpenStack instances Microsoft Cloud (Azure) Handle new events: Create Security Group, VM Capture Provider-specific logging Added memory and disk utilization metrics Support floating IPs during provisioning Load Balancer inventory collection for Azure Pagination support in armrest gem Microsoft Infrastructure (SCVMM): Set CPU sockets and cores per socket Networking Allow port ranges for Load Balancers Load Balancer user interface Separate Google Network Manager NFV: VNFD Templates and VNF Stacks Nuage: Inventory of Managed Cloud Subnets Nuage policy groups added Load balancer service type actions for reconfigure, retirement, provisioning UI for creating subnets UI for Network elements OpenStack Cloud Collect inventory for cloud volume backups UI: Cloud volume backup UI: CRUD for Host Aggregates UI: CRUD for OpenStack Cloud tenants Enable image snapshot Map Flavors to Cloud Tenants during Openstack Cloud refresh Associate/Disassociate Floating IPs Region Support Create provider base tenant under a root tenant Topology Infrastructure Set boot image for registered hosts Node destroy deletes node from Ironic Enable node start and stop Ironic Controls UI to register Ironic nodes through Mistral Topology Red Hat Enterprise Virtualization Get Host OS version and type Disk Management in VM Reconfigure Snapshot support Report manufacturer and product info for RHEVM hosts Make C&U Metrics Database a mandatory field for Validation Migrate support Enable VM reconfigure disks for supported version Storage New Swift Storage Manager New Cinder Storage Manager Initial User Interface support for Storage Managers VMware vSphere Storage Profiles modeling and inventory Datastores are filtered by Storage Profiles in provisioning vCloud Collect status of vCloud Orchestration Stacks Add Network Manager Collect networking inventory Cloud orchestration stack operation: Create and delete stack Collect virtual datacenters as availability zones Event Catcher Event monitoring Support for /api/requests creation and edits Token manager supports for web sockets Added ability to query virtual machines for cockpit support Support for Bulk queries Support for UI notification drawer API entrypoint returns details about the appliance via server_info Support for compressed ids in inbound requests CRUD support for Arbitration Rules Added GET role identifiers Support for arbitrary resource paths Support for Arbitration Profiles Support for Cloud Networks queries Support for Arbitration Settings Updated /api/users to support edits of user settings Support for report schedules Support for approving or denying service requests Support for OpenShift Container Deployments Support for Virtual Templates Added /api/automate primary collection Enhanced to return additional product information for the About modal Bulk queries now support referencing resources by attributes Added ability to delete ones own notifications Publish Blueprint API Update Blueprint API to store bundle info in ui_properties CRUD for Service create and orchestration template Api for refreshing automate domain from git Allow compressed IDs in resource references Renamed from Self-Service UI due to expanding number of use cases Language selections separated from Operations UI Order History with detail Added Arbitration Rules UI Service Designer: Blueprint API Arbitration Profiles Collection of pre-defined settings Work in conjunction with the Arbitration Engine Rules Engine: API Added datastore for the default settings for resourceless servers Create picture Generic requests OPTION method API for Delete dialogs Cockpit integration: Added About modal Set default visibility to true for all dialog fields Add /etc/redhat-access-insights/machine-id to the sample VM analysis Deployed new MiqDiskCache module for use with Microsoft Azure Scan time reduced from >20 minutes to <5 minutes Microsoft Azure backed read requests reduced from >7000 requests to <1000 Generalized disk LRU caching module Caching module can be used by any disk module, eliminating duplication. Can be inserted higher in the IO path. Configurable caching parameters (memory vs performance) Will be employed to address Azure performance and throttling issues. Other disk modules converted over time. Containers: Settings for proxy environment variables Support analysis of VMs residing on NFS41 datastores Added mandatory Subscription field to Microsoft Azure Discovery screen Added Notifications Drawer and Toast Notifications List Added support for vSphere Distributed Switches Added support to show child/parent relations of Orchestration Stacks Added Middleware Messaging entities to topology chart Arbitration Profiles management for Service Broker Re-check Authentication button added to Provider list views Provisioning button added to the Templates & Images list and summary screens Subtype option added to Generic Catalog Items About modal added to OPS UI Both UIs updated to latest PatternFly and Angular PatternFly Internationalization Virtual Columns Toolbars Changed to use gettexts pluralization i18n support in pdf reports i18n support for UI plugins Ansible Tower Jobs moved to the Configuration tab (from Clouds/Stacks) Interactivity added to C3 charts on C&U screens Settings moved to top right navigation header Tagging for Ansible Tower job templates Live Search added to bootstrap selects Add GUID validation for certain Azure fields in Cloud Provider screen OpenStack: Register new Ironic nodes through Mistral Timeline resdesign vSphere Distributed Switches tagging Patternfly Labels for OpenSCAP Results Notifications Conversion of Middleware Provider form to Angular Add UI for generating authorization keys for remote regions Topology for Cloud Managers Topology for Infrastructure Providers Show replication excluded tables to the replication tab in Settings Fix angular controller for Network Router and Cloud Subnet Description for Datastore Reset action now includes list of target domains Simulation: Updated defaults Entry-point: `/System/Process/Request` (Previous value of Automation) Execute Method: Enabled Infrastructure Provision: Updated memory values for VM provisioning dialogs to 1, 2, 4, 8, 12, 16, 32 GB Generic Object: Model refactoring/cleanup, use PostgreSQL jsonb column Changed Automate import to enable system domains Google schema changes in Cloud Provision Method class Page rendering Compute -> Infrastructure -> Virtual Machines: 9% faster, 32% fewer rows tested on 3k active vms and 3k archived vms Services -> My Services: 60% faster, 98% fewer queries, 32% fewer db rows returned Services -> Workloads -> All VMs page load time reduced from 93,770ms to 524ms (99%) with a test of 20,000 VMs `OwnershipMixin` Filtering now done in SQL 99.5% faster (93.8s -> 0.5s) testing VMs / All VMs / VMs I Own VMs / All VMs / VMs in My LDAP Group Reduced the time and memory required to schedule Capacity and Utilization data

Capacity and Utlization improvements included reduced number of SQL queries and number of objects Improved tag processing for Alert Profiles Do not reload miq server in tree builder Prune VM Tree folders first, so nodes can be properly prune and tree nodes can then be collapsed For resource_pools only bring back usable Resource Pools Upgrade ruby 2.2.5 to 2.3.1 Configure Rails web server - Puma or Thin Puma is still the default Planning on adding additional servers Expression refactoring and cleanup with relative dates and times Set appliance "system" memory/swap information PostgreSQL upgraded to 9.5 needed for HA feature Performance: Lazy load message catalogs for faster startup and reduced memory Replication: Added "deprecated" in replication worker screen (Rubyrep replication removed in Euwe release) Tenancy: Splitting MiqGroup Filters moved to to Entitlement model Enabler for sharing entitlements MiqExpression Refactoring LDAP: Allow apostrophes in email addresses Core Remove provider specific constants Ask whether provider supports VM architecture instead of assuming support by provider type Ansible: Automate method updated to pass JobTemplate Extra Variables defined in the Provision Task Hawkular Upgrade of Hawkular gem to 2.3.0 Skip unreachable middleware providers when reporting Add re-checking authentication status functionality/button Refactor infrastructure for easier configuration Optimization and enhancement of event fetching Microsoft SCVMM: Set default security protocol to ssl vSphere Host storage device inventory collection improvements Updated /api entrypoint so collection list is sorted API CLI moved to tools/rest_api.rb Update API CLI to support the HTTP OPTIONS method Dynatree replaced with bootstrap-treeview Converted to TreeBuilder - Snapshot, Policy, Policy RSOP, C&U Build Datastores and Clusters/Hosts, Automate Results CodeMirror version updated (used for text/yaml editors) Default Filters tree converted to TreeBuilder - more on the way Cloud Key Pair form converted to AngularJS Toolbars:Cleaned up partials, YAML -> classes Provider Forms: Credentials Validation improvements Updated PatternFly to v3.11.0 Summary Screen styling updates Platform Removed rubyrep Removed hourly checking of log growth and rotation if > 1gb User Interface: Explorer Presenter RJS removal Notable fixes include: Fixed case where user can't add alerts Fixed issue where alerts don't send SNMP v1 traps Fixed problem with request_pending email method Set User.current_user in Automation Engine to fix issue where provisioning resources were not being assigned to the correct tenant Provisioning VMware Infrastructure: sysprepproductid field is no longer required Provisioned Notifications - Use Automate notifications instead of event

Fixed ordering ae_domains for a root tenant Set default value of param visible to true for all field types Git Domains When a domain is deleted, also delete git based bare repository on the appliance with the git owner server role Only enable git import submit button when a branch or tag is selected Authentication Support a separate auth URL for external authentication Remove the FQDN from group names for external authentication Use correct adjustment in chargeback reports Replication Add repmgr tables to replication excludes Don't consider tables that are always excluded during the schema check Fix typo prevention full error message Tenancy: User friendly tenant names Perform RBAC user filter check on requested ids before allowing request Increase worker memory thresholds to avoid frequent restarts Send notifications only when user is authorized to see referenced object Increase web socket worker's pool size Fix targeted refresh of a VM without its host clearing all folder relationships Containers: Ability to add a container provider with a port other than 8443 Microsoft Azure: Fix proxy for template lookups VMware vSphere: Block duplicate events VMware: Fix for adding multiple disks Openstack Catch unauthorized exception in refresh Add logs for network and subnet CRUD Remove portsecurityenabled from attributes passed to network create Middleware: Fix operation timeout parameter fetch Red Hat Enterprise Virtualization Access VM Cluster relationship correctly Pass storage domains collection in disks RHV api request Require a description when creating Snapshot Hide internal Tenant Groups from /api/groups Raise 403 Forbidden for deleting read-only groups API Request logging Fix creation of Foreman provider Ensure api config references only valid miqproductfeatures Update logging and job error message when getting the service account for Containers Add missing Searchbar and Advanced Search button Containers: Download to PDF/CSV/Text - don't download deleted containers Ability to bring VM out of retirement from detail page Inconsistent menus in Middleware Views Save Authentication status on a Save RBAC:List only those VMs that the user has access to in planning Enable Provision VMs button via relationships Missing reset button for Job Template Service Dialog Fix for custom logo in header Fall back to VMRC desktop client if no NPAPI plugin is available Default Filters can be saved or reset Prevent service dialog refreshing every time a dropdown item is selected RBAC: Add Storage Product Features for Roles Set categories correctly for policy timelines Ansible Tower added as Configuration Management Provider Modeling for AnsibleTowerJob Support for launching JobTemplates with a limit. (Target specific system) Modeling for Provider, Configuration Manager, and Configured Systems Provider connection logic Support refresh of Configured Systems `waitforip` method added to state-machine gem Credential validation Supported resources: Hosts, JobTemplates, Adhoc commands Support for generating Service Dialogs from Ansible Tower JobTemplate Support for setting Ansible Tower JobTemplate variables through dialog options and automate methods Switchboard events for OpenStack New Events: compute.instance.reboot.end, compute.instance.reset.end, compute.instance.snapshot.start Policy Event updates: compute.instance.snapshot.end, compute.instance.suspend Service Model Added networks relationship to Hardware model Support where method, findby, and findby! Azure VM retirement modeling added Storage: Added storage_clusters association Openstack::NetworkManager::Network cloud_subnets network_routers public_networks Openstack Event compute.instance.poweron.end: added Policy event for vmstart Services Added instances/methods to generate emails for consolidated quota (Denied, Pending, Warning) Enhanced Dialogs validation at build time to check tabs, and boxes in addition to fields. Modeling changes quotasourcetype moved into instance Added Auto-Approval/Email to VM Reconfigure Default Retirement state-machine behavior changed to retain record (historical data) Enhance state-machine fields to support methods New model for Generic Object New service model Account SSUI: Support dialogs with dynamic fields Simulate UI support for state machine retries New script to rebuild provision requests Reconstructs the parameters of an existing provision request so that request can be resubmitted through a REST API or Automate call. Chargeback Able to assign rates to tenants Can generate reports by tenant Currencies added to rates Rate tiers Authentication Appliance Console External Auth updated to also work with 6.x IPA Servers SAML Authentication (verified with KeyCloak 1.8) External Authentication with IPA: Added support for top level domains needed in test environments Configuration Revamp Relies heavily on the config gem New classes Settings and Vmdb::Settings `VMDB::Config` is deprecated `config/*.tmpl.yml` -> `config/settings.yml` Locally override with `config/settings.local.yml` or

Replication (pglogical) Replacement of rubyrep with pglogical New MiqPglogical class: provides generic functionality for remote and global regions New PglogicalSubscription model: Provides global region functionality as an ActiveRecord model Global and Remote regions instead of Master and subordinate Replication enabled on remote regions Remote regions subscribed to on Global Region Replication Database Schema Column order is important for pglogical Regional and Global DBs MUST have identical schemas Migrations must have timestamp later than the last migration of previous version for correct column order Specs added to validate schema See Schema consistency checking - during configuration and before subscription is enabled Tool to fix column order mismatches Appliance Console Ability to reset database Ability to create region in external database Added alias 'ap' as shortcut for appliance_console Updates for external authentication settings Shopping cart model for ordering services Consumption_administrator role with chargeback/reporting duties Expresions: refactor SQL for all operators now build with Arel New provider types Middleware Networking Amazon as a pluggable provider: almost completed Containers Reports Linking registries with services Bug fixes and UI updates Network Trends, Heat Maps, Donuts Chargeback SmartState extended with OpenSCAP support Policies Cloud Cross Linking Pod Network Metrics Persistent Volume Claims Seed for policies, policy sets, policy contents and conditions Auto-tagging from kubernetes labels (backend only) MiqAction to annotate container images as non-secure at Multiple endpoint support OpenShift Google Compute Engine Inventory Power Operations Provisioning Events Better OS identification for VMs Allow custom flavors Hawkular First Middleware provider Inventory and topology Event Catcher and power operations to reload and stop Middleware servers Capacity and Utilization collected live on demand without need for Cap and U workers Links to provider and entity in event popups on Timelines Ability to configure default views New Datasource entity (UI and Backend only) Microsoft Azure Http proxy support Provisioning Subscriptions and Events Rely on resource location, metrics Microsoft SCVMM Inventory Performance improvements Ability to delete VMs VMware Read-only datastores Clustered datastores Add/remove disk methods for reconfigure Red Hat Enterprise Virtualization: Targeted refresh process Red Hat OpenStack Instance Evacuation Better neutron modeling Ceilometer events cleanup SSL support VM operations Memory metrics Image details API over SSL Integration feaures Backend support for Live VM Migration Backend support for VM resize Support for Cinder and Glance v2 Enable / Disable cloud services Make Keystone V3 Domain ID Configurable File upload for SSH keypair Add volumes during provisioning Evacuating instances Continued work on Multi-endpoint modeling Generic Targeted refresh process New providers able to be provisioned Google Compute Engine Microsoft Azure Services Back End Service Order (Cart) created for each Service Request based on current user and tenant. VMware Clustered Datastores in Provisioning Distributed Switches referenced from database during provisioning workflow Google Compute Engine: Added Google Auto-Placement methods Enhanced filtering to use MiqExpression Enhanced API to include Role identifiers for collections and augmented the authorization hash in the entrypoint to include that correlation Added support for Service Reconfigure action Added new service orders collection and CRUD operations Actions for instances: stop, start, pause, suspend, shelve, reset, reboot guest Actions provided to approve or deny provision requests Ability to delete ones own authenticated token Added primary collection for Instances. Added terminate action for instances. Ability to filter string equality/inequality on virtual attributes. For SSUI, ability to retrieve users default language and support for Dynamic Dialogs. Support for Case insensitive sorting Adding new VM actions Authentication: Option to not extend a tokens TTL CRUD for Tenant quotas Support for /api/settings Added support for Shopping Carts Automation Requests approve and deny actions Microsoft SCVMM: new Virtual hard disks residing on Hyper-V servers VHD, and newer VHDX disk formats Snapshotted disks Same filesystems as other providers Support for network-mounted HyperV virtual disks and performance improvements (HyperDisk caching) Microsoft Azure: new Azure-armrest: added offset/length blob read support. Added AzureBlobDisk module for MiqDisk. Implemented MiqAzureVm subclass of MiqVm. Testing: Added TestEnvHelper class for

LVM thin volume support Splitting MiqGroup New model created for entitlements Sharing entitlements across tenants will provide more flexibility for defining groups in LDAP Added scoping strategy for provision request Added ability to report on tenants and tenant quotas VM: Devices and Network Adapters Cloud: Key Pairs, Object Stores, Objects, Object Summary Bootstrap switches C3 Charts (jqPlot replacement) SSUI RBAC Control of Menus and Features Reconfiguring a Service Set Ownership of a Service i18n support added to the Self Service UI Self Service UI group switcher Support for Custom Buttons that use Dialogs Navigation bar restyled to match Operations UI HTML5 Console support for Service VMs (using new console-proxy implementation) Shopping Cart Add Ansible Tower providers Containers Persistent volumes, topology context menus Dashboard network trends Container environment variables table Search functionality for Container topology Dashboard no data cards Refresh option in Configuration dropdown Container Builds tab, Chargeback i18n Marked translated strings directly in UI Gettext support i18n for toolbars Topology Status Colors Vertical navigation menus VM Reconfigure - add/remove disks Orderable Orchestration Templates - create and copy Explorer for Datastore Clusters for VMware vSphere 5+ Template/Image compliance policy checking (previously only allowed for VMs/Instances) New UI for replication configuration OpenStack - Cloud Volumes Add/Delete/Update/Attach/Detach Ansible Inventories/Configured Systems Support for Ansible Tower Jobs Support to add Service Dialog for a Job Template & display Surveys on summary screen Support added for Evacuate Openstack VMs Providers: Removed Amazon SDK v1 Tag management cleanup Tags are removed from managed filters for all groups after deletion Update of managed filters after tag rename (in progress) SmartState Analysis LVM thin volume - fatal error: No longer fatal, but not supported. Thin volume support planned. LVM logical volume names containing -: LV name to device file mapping now properly accounts for - EXT4 - 64bit group descriptor: Variable group descriptor size correctly determined. Collect services that are symlinked Automate Retirement state-machine updates for SCVMM Enhanced .missing method support Save original method name in `missing`instance property Accessible during instance resolution and within methods extracted into its own repository setting up pattern for other independent UIs Initializers can now load ApplicationController w/o querying DB 10-20% performance improvement in vm explorer User Interface Converted toolbar images to font icons Enabled font icon support in list views Implemented Bootstrap switch to replace checkboxes SVG replacement of PNGs SlickGrid replaced with Patternfly TreeGrid Patternfly style updates to the Dashboard and other areas Updates to support multiple provider endpoints Moved Services to top level Menus Logo image on top left links to user's start page VM Provisoning: Disabled Auto-Placement logic for createprovisionrequest and Rest API calls Performance Support for sorting Virtual Columns in the database Service Tree improvement RBAC: Ongoing effort to reduce the number SQL queries and quantity of data being transferred Metrics Rollups bug fix Performance capture failure on cloud platforms caused by orphan VMs Reduction in base size of workers Reduction in memory used by EmsRefresh Platform Updated to Rails 5 (using Rails master branch until stable branch is cut) Appliance OS updated to CentOS 7.2 build 1511 oVirt-metrics gem fixed for Rails 5 Log Collection behavior updated Zone depot used if requested on zone and defined. Else, collection disabled Appliance depot used if requested on appliance and defined. Else, collection disabled DB seeding no longer silently catches exceptions Workers forked from main server process instead of spawned Updated to newer Accessors for Host#groups and #inventory_id Allow passing extra_vars to Job Template launch Added JSON validation for extra_vars Providers Memory issues during inventory collection Validating endpoints should not save data Kubernetes RHEV Integration Events Topology Widget VMware integration Inventory: Replicators, Routes, Projects SmartState Analysis Containers Resource Quotas Component Status Introduction of Atomic Namespacing Preparation for pluggable providers OpenStack, Containers Amazon: Added M4 and

instance types OpenStack Improved naming for AMQP binding queues Shelve VMs Neutron Networking Foreman: Exposed additional properties to reporting Azure Initial work for Inventory Collection, OAuth2, Azure Provider models Power Operations RHEVM: Reconfigure of Memory and CPU Orchestration: Reconfiguration Reporting on Providers Ability to report on Performance Host Socket and Total VMs metrics Watermark reports available out-of-the-box Google Compute Engine New Provider Ability to validate authentication Filter Service Catalog Items during deployment OpenStack Shared Networks Identified during inventory refresh Available in the Cloud Network drop-down in Provisioning across all OpenStack Tenants Enabled SCVMM Auto placement Provision Dialogs: field validation for non-required fields Service Dialogs: Auto-refresh for dynamic dialog fields Foreman: Filtering of available Configuration Profiles based on selected Configured Systems in provisioning dialog Charting by field values Cloud Provider editor Converted to Angular Uses RESTful routes Orchestration: Stacks Retirement added Retirement screens converted to Angular DHTMLX menus replaced with Bootstrap/Patternfly menus Host editor converted to Angular Added donut charts Tenancy Roles for RBAC Self Service UI is enabled and included in build Updated file upload screens Initiate event processing through Automate Users can add automate handlers to customize event processing Centralized event mappings Moves provider event mappings from appliance file (config/event_handling.tmpl.yml) into the automate model Organization of Events through automate namespaces Event handling changes without appliance restarts Notes: New events must be added to automate model Built-in event handlers added for performance Requires update of the ManageIQ automate domain Model new Tenant model associations Automate domains Service Catalogs Catalog Items Assign default groups to tenants Assign groups to all VMs and Services Assign existing records to root tenant Provider, Automate Domain, Group, TenantQuota, Vm Expose VM/Templates association on Tenant model New Automate Service Models Tenant TenantQuota UI RBAC and Roles - Access Roles features exposed New roles created for RBAC Quota Management Associate Tenant to Requests and Services Update of VM tenant when owning group changes Tagging support Automate Tenant Quotas Customizable Automate State Machine for validating quotas for Service, Infrastructure, and Cloud Default Setting based on Tenant Quota Model Can be enforced per tenant and subtenants in the UI Selection of multiple constraints (cpu, memory, storage) Limits are enforced during provisioning New Events available for use with Policy Host Start Request Host Stop Request Host Shutdown Request Host Reset Request Host Reboot Request Host Standby Request Host Maintenance Enter Request Host Maintenance Exit Request Host Vmotion Enable Request Host Vmotion Disable Request Querying Service Template images Querying Resource Actions as a formal sub-collection of service_templates Querying Service Dialogs Querying Provision Dialogs Ability to import reports Roles CRUD Product features collection Chargeback Rates CRUD Reports run action Report results collection Access to image_hrefs for Services and Service Templates Support for custom action buttons and dialogs Categories and tags CRUD Support password updates Enhancements for Self-Service UI Enhancements for Tenancy Automate Server Role enabled by default Configurable Automate Worker added State Machine Multiple state machine support Allow for a state to be skipped (on_entry) Allow for continuation of a state machine in case of errors (on_error) Allow methods to set the next state to execute Added support for state machine restart Identify Visible/Editable/Enabled Automate domains for tenants Set automate domain priority (scoped per tenant) Service model updates Import/export updates to honor tenant domains Support for VMware VDDK version 6 Storage: Added FCP, iSCSI, GlusterFS Authentication External Auth to AD web ui login & SSO - Manual configuration External Auth to LDAP - Manual configuration Supporting Additional External Authentications Appliance tested with 2-Factor Authentication with FreeIPA >= 4.1.0 PostgreSQL 9.4.1 CentOS 7.1 Apache 2.4 jQuery 1.9.1 STIG compliant file systems Changed file system from ext4 to xfs Added support for systemctl Support for running on Puma, but default is Thin Reworked report serialization for Rails

Replication: Added Diagnostics Appliance Console Standard login: type root (not admin) Standard bash: type appliance_console GitHub Repository vmdb rerooted to look like a Rails app lib moved into gems/pending Build and system directories extracted to new repositories Extracted C code to external gems MiqLargeFileLinux => gem MiqBlockDevOps => and gems MiqMemory => gem SlpLib => gem Gem updates Upgraded rufus scheduler to version 3 Upgraded to latest net-sftp Upgraded to latest net-ssh Upgraded to latest ruby-progressbar Upgraded to latest snmp LinuxAdmin updated to 0.11.1 Core: SOAP server side has been removed RHEVM SmartState Analysis issues. Fix for RHEV 3.5 - ovf file no longer on NFS share. Fix for NFS permission problem - uid changed when opening files on share. Fix for environments with both, NFS and LUN based storage. Timeout honored. SmartState Refactoring Refactored the middle layer of the SmartState Analysis stack. Common code no longer based on VmOrTemplate models. Facilitate the implementation of SmartState for things that are not like VMs. Enabler for Container SmartState Appliance: Cloud-init reported issues have been addressed. Automate: VMware snapshot from automate fixed - memory parameter added REST API Source refactoring: app/helpers/api\helper/ app/controllers/apicontroller Replication: Added heartbeating to child worker process for resiliency Providers Moved provider event filters into the database (blacklisted events) SCVMM Inventory Performance Improvement Fixed caching for OpenStack Event Monitors OpenStack Generic Pagination Better Neutron support Deleting unused RabbitMIQ queues Provisioning: Fixed unique names for provisioned VMs when ordered through a service UI Technical Debt Progress Remaining TreePresenter/ExplorerPresenter conversions in progress Switched from Patternfly LESS to SASS Replaced DHTMLXCombo controls Replaced DHTMLXCalendar controls Patternfly styling Schedule Editor updated to use Angular and RESTful routes Increased chart responsiveness Fixes for Japanese i18n support Fixed alignment of Foreman explorer RBAC features with the UI Chargeback: selectable units for Chargeback Rates General Added refresh status and errors, viewable on Provider Summary Page. Added collection of raw power state and exposed to reporting. Orchestration: Support for Retirement Update authentication status when clicking validate for existing Providers. Hosts and Providers now default to use the hostname column for communication instead of IP address. SCVMM Provisioning from template, Kerberos Authentication Virtual DVD drives for templates Kubernetes UI updates including Refresh button Inventory Collection EMS Refresh scheduling Foreman Provider refresh Enabled Reporting / Tagging Exposed Foreman models as Automate service models Zone enablement EMS Refresh scheduling Added tag processing during provisioning. Added inventory collection of direct and inherited host/host-group settings. Organization and location inventory Cloud Providers Cloud Images and Instances: Added root device type to summary screens. Cloud Flavors: Added block storage restriction to summary screens. Enabled Reporting. OpenStack Inventory for Heat Stacks (Cloud and Infrastructure) Connect Cloud provider to Infrastructure provider OpenStack Infrastructure Host Events Autoscale compute nodes via Automate Support for non-admin users to EMS Refresh Tenant relationships added to summary screens OpenStack Infrastructure Event processing Handling of power states: paused, rebooting, waiting to launch UI OpenStack Terminology: Clusters vs Deployment Roles, Hosts vs Nodes Amazon AWS Region EU Frankfurt Inventory collection for AWS CloudFormation Parsing of parameters from orchestration templates Amazon Events via AWS Config service Event-based policies for AWS Added a backend attribute to identify public images. Added C4, D2, and G2 instance types. Virtualization type collected during EMS refresh for better filtering of available types during provisioning. Handling of power states Orchestration Orchestration Stacks include tagging Cloud Stacks: Summary and list views. Orchestration templates Create, edit, delete, tagging, 'draft' support Create Service Dialog from template contents Enabled Reporting / Tagging. Improved rollback error message in UI. Collect Stack Resource name and status reason

Heat Orchestration provisioning through services Foreman Provisioning of bare metal systems Uses latest Foreman Apipie gem Allow removing keys from :clone_options by setting value to nil OpenStack: Added tenant filtering on security groups, floating IPs, and networks. Amazon: Filter of flavors based on root device type and block storage restrictions. Bootstrap/Patternfly Updates to form buttons with Patternfly Login screen converted to Bootstrap / Patternfly Header, navigation, and outer layouts converted to Bootstrap / Patternfly Advanced search converted to Bootstrap / Patternfly AngularJS Repository Editor using AngularJS Schedule editor converted to AngularJS i18n HAML and i18n strings 100% completed in views Multi-character set language support Can now set the locale for both server and user HTML5 Console for RHEVM, VMware, and OpenStack Menu plugins for external sites Charting updates: jqPlot, default charts, chart styling, donut chart support UI Customizations with Less Dashboard tabs updated Replaced many legacy Prototype calls with jQuery equivalents Tagging support and toolbars on list views Total parity with SOAP API. SOAP API is now deprecated and will be removed in an upcoming release. Foundational Virtual attribute support Id/Href separation- Enhancement to /api/providers to support new provider class Providers CRUD Refresh via /api/providers Tag Collection /api/tags Tag Management (assign and unassign to/from resources) Policy Management: Query policy and policy profiles conditions VM Management Custom Attributes Add LifeCycle Events Start, stop, suspend, delete. Accounts sub-collection /api/vms/#/accounts Software sub-collection /api/vms/#/software Support for external authentication (httpd) against an IPA server. Enhanced UI import to allow granularity down to the namespace. Cloud Objects exposed to Automate. Allow Automate methods to override or extend parameters passed to provider by updating the clone_options during provisioning. New service model for CloudResourceQuota. Exposed relationships through EmsCloud and CloudTenant models. Exposed cloud relationships in automate service models. Persist state data through automate state machine retries. Moved auto-placement into an Automate state-machine step for Cloud and Infrastructure provisioning. Added common "Finished" step to all Automate state machine classes. Added eligible\* and set\* methods for cloud resources to provision task service model. Ability to specify zone for web service automation request Ability to override request message Updated provisioning/retirement entry point in a catalog item or bundle. Disabled domains now clearly marked in UI. Automate entry point selection reduced to state machine classes. Retirement New workflow Detection of User vs. System initiated retirement Qcow3 VSAN (VMware) OpenStack instances Systemd fleecing support XFS filesystem support All strings in the views have been converted to use gettext (i18n) calls Can add/update i18n files with translations Dynamic field support: text boxes, text area boxes, checkboxes, radio buttons, date/time control Dynamic list field refactored into standard drop-down field Read only field support Dialog seeding for imports Service provisioning request overrides Allow IPv6 literals in VMware communication by upgrading httpclient Allow IPv6 literals in RHEVM/ovirt communication by fixing and upgrading rest-client and ruby 2.0 Fixed URI building within ManageIQ to wrap/unwrap IPv6 literals as needed Lock down attacks. Support SSL for OpenStack Deals with different ways to configure SSL for OpenStack SSL termination at OpenStack services SSL termination at proxy Doesn't always change the service ports Attempts non-SSL first, then fails over to SSL Kerberos ticket based SSO to web UI login. Fix_auth command tool can now update passwords in database.yml Better messaging around overwriting database encryption keys Make memcached listen on loopback address, not all addresses Migrate empty memcacheserveropts to bind on localhost by default Rake task to allow a user to replicate all pending backlog before upgrading. Appliance Console: Added ability to copy keys across appliances. Ruby 2.0 Appliance now built using Ruby 2.0 New commits and pull requests - tested with Ruby

Ability to configure a temp disk for OpenStack fleecing added to the appliance console. Generation of encryption keys added to the appliance console and CLI. Generation of PostgreSQL certificates, leveraging IPA, added to the appliance console CLI. Support for Certmonger/IPA to the appliance certificate authority. Iptables configured via kickstart Replaced authentication(valid|invalid)? with (has|missing)credentials? Stop/start apache if userinterface and webservices are inactive/active Rails Moved to Rails 4 finders. Removed patches against the logger classes. Removed assumptions that associations are eagerly loaded. Updated preloader patches against Rails Updated virtual column / reflection code to integrate with Rails Started moving ActiveRecord 2.3 hash based finders to Relation based finders Backports and refactorings on master for Rails 4 support Rails server listen on loopback when running appliance in production mode Bigint id columns Memoist gem replaced deprecated ActiveSupport::Memoizable Upgraded AWS SDK gem Upgraded Fog gem LDAP Allow undefined users to log in when Get User Groups from LDAP is disabled Ability to set default group for LDAP Authentication Allow Default Zone description to be changed Lazy require the less-rails gem SmartProxy: Removed from UI Directory removed IP Address Form Field: Removed from UI (use Hostname) Prototype from UI Support for repository refreshes, since they are not used. Support for Host-only refreshes. Instead, an ESX/ESXi server should be added as a Provider. Rails Fork removal Backport disable\ddltransaction! from Rails master to our fork Update the main app to use disable\ddltransaction! Add bigserial support for primary keys to Rails (including table creation and FK column creation) Backport bigserial API to our fork Update application to use new API Old C-Language VixDiskLib binding code Reduced need for Rails fork. Testing: Removed have\same\elements custom matcher in favor of built-in match_array Graphical summary screens VDI support Various monkey patches to prepare for Ruby 2 and Rails 4 upgrades Provisioning Fixed duplicate VM name generation issue during provisioning. Provisioning fix for non-admin OpenStack tenants. Provisioning fix to deal with multiple security groups with the same name. Automate Prevent deletion of locked domains. Corrected ManageIQ/Infrastructure/vm/retirement method retry criteria. Fixed timeout issue with removefromdisk method on a VM in Automate. Providers servermonitorpoll default setting changed to 5 seconds, resulting in shorter queue times. Fixed issue where deleting an EMS and adding it back would cause refresh failure. EventEx is now disabled by default to help prevent event storms Fixed "High CPU usage" due to continually restarting workers when a provider is unreachable or password is invalid. RHEVM/oVirt: Ignore user login failed events to prevent event flooding. Discovery fixed to eliminate false positives SCVMM: Fixed refresh when Virtual DVD drives are not present. OpenStack Image pagination issue where all of the images would not be collected. OpenStack provider will gracefully handle 404 errors. Fixed issue where a stopped or paused OpenStack instance could not be restarted. Database Fixed seeding of VmdbDatabase timing out with millions of vmdb_metrics rows Database.yml is no longer created after database is configured. Fixed virtual column inheritance creating duplicate entries. Appliance Fixed ftp log collection regression Ruby 2.0 Ruby2 trap logging and worker row status Fixed appliance logrotate not actually rotating the logs. Gem upgrades for bugs/enhancements haml net-ldap net-ping Other Workaround for broker hang: Reported as VMware events and capacity and utilization works for a while, then stops. Chargeback Storage C&U collected every 60 minutes. Don't collect cpus/memory available unless you have usage. Clean up of CPU details in UI SMTP domain length updated to match SMTP host length Fleecing: Fixed handling of nil directory entries and empty files Fixed issue where deleting a cluster or host tries to delete all policy_events, thus never completing when there are