Skip to content

Latest commit

 

History

History
3057 lines (2851 loc) · 203 KB

CHANGELOG.md

File metadata and controls

3057 lines (2851 loc) · 203 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog

Unreleased as of Sprint 75 ending 2017-12-11

Added

  • Authentication
    • Handle OpenID-Connect authentication client protocol (#16495)
  • Control
    • Default name to description for MiqAlertSet and MiqPolicySet (#16529)
  • Core
    • Binary blob purging (#16524)
    • GenericObjectDefinition: add pretty & translatable type names (#16563)
  • Providers
    • Allow unassignment of specific tags/objects in assignment_mixin (#16401)
    • Call super from all the EmbeddedAnsible subclasses' #initialize methods (#16543)
    • Add middleware server to available fields in advanced search (#16562)
  • Provisioning
    • Change provision daialog "vLan" to "Virtual Network" (#16537)
  • Services
    • Parse default value in Service Dialog (#16555)

Fixed

  • Chargeback
    • Fix max method on empty array in chargeback storage report (#16575)
  • Core
    • Replace conditions with scope (#16399)
    • Fixes virtual_totals when a default_scope exists (#16518)
    • Add supported_consoles to VM (#16519)
    • Looks like self is needed on PRODUCT_NAME and VERSION calls (#16556)
    • Handle deprecated classes in arel (#16560)
    • Skip seeding of categories if their creation is invalid (#16568)
    • Don't return a duplicate object from MiqGroup#settings (#16572)
    • Add an ENV variable to override the PG version check in production (#16573)
    • Fix cached query for total unregistered vms (#16577)
    • No need to call normalized_status (#16578)
    • Cache invalidation... (#16601)
    • Handle autoload error not caught by safe_constantize (#16608)
    • Use the server IP for the AWX database host when the rails config is no good (#16621)
    • Fix error in timeout checking for job without target (#16627)
  • i18n
    • Dont store unnecessary i18n files in git (#16590)
    • Add missing model names into locale/en.yml (#16604)
  • Providers
    • Allow proxying WebMKS consoles using the WebsocketWorker (#16490)
    • Set CloudVolume name to ID if empty (#16554)
    • Catalog Item type list is dependent on installed providers (#16559)
    • Destroy ems alert statuses when ems is destroyed (#16592)
    • Add the missing container template openshift to the en.yml (#16595)
    • Allowing OperatingSystem for CloudManager graph refresh (#16605)
  • Services
    • Change the type name for the catalog Item from 'Container Template' to 'Openshift Template' (#16639)
  • Smart State
    • Use Hostname or IP Address when connecting for SSA (#16533)
  • UI
    • Update Catalog tab of Publish VM dialog (#16599)
    • Set default values for help menu link target types in settings.yml (#16549)

Unreleased as of Sprint 74 ending 2017-11-27

Added

  • Alerts
    • Alert seeding: allowing fixtures to have its own notification options (#16485)
    • Seed MiqAlerts used for Prometheus Alerts (#16479)
    • Add miq_expression setter to MiqAlert (#16397)
  • Automate
    • Adds field unique validator check to dialog (#16487)
    • Add #raw_stdout_via_worker method (#16441)
  • Core
    • Remove the column reordering tool and the schema structure validations (#16488)
    • Added User Agent to VMDB::Appliance (#16410)
    • Added Product name to VMDB::Appliance (#16409)
  • Providers
    • Update ems_infra_admin_ui feature to role assignment (#16484)
    • Add ems_infra_admin_ui feature (#16403)

Fixes

  • API
    • Fixes a stack trace issue (500) during API authentication. (#16520)
  • Automate
  • Chargeback
    • Fix nil cases of allocated disk types in chargeback reporting (#16434)
  • Core
    • Move the notifications to include more of the setup (#16508)
    • Add a connection to the pool if there is only one for embedded ansible (#16477)
    • Workers can run log_status so ask for the right pid (#16460)
    • Finish simplifying NTP configuration using Settings (#16393)
    • Fix Expression builder argument error by reverting #5506 (#16255)
  • Events
    • Fix typo in policy event details header (#16513)
  • i18n
  • Providers
    • Make sure we do not pass primary_key to insert query (#16503)
    • Require miq_fault_tolerant_vim in raw_connect (#16500)
    • Add Middleware Server EAP/Wildfly translation (#16492)
    • Remove fault_tolerant from vim_connect (#16472)
    • Added a Maintenance key to the hash struct (#16464)
    • Require handsoap in VimConnectMixin (#16450)
    • Move graph refresh internals logging to debug (#16442)
    • Refresh new target do not run post_refresh (#16436)
    • Unique EmsRefresh.refresh targets if there are over 1000 targets (#16432)
    • Container ssa annotate success (#15031)
  • Replication
    • Scope Tenant#name validation to the current region (#16506)
  • Reporting
    • Fixed syntax with orderby in RSS Feed YAML files (#16493)
  • UI
    • Standalone ServiceUI product features require updating affected roles (#16329)

Unreleased as of Sprint 73 ending 2017-11-13

Added

  • Ansible
    • Add log_output option for embedded ansible service (#16414)
  • Chargeback
    • Add back listing of custom attributes in chargeback (#16350)
  • Core
    • Add purging for vim_performance_tag_values with disabled tags (#16425)
    • Add status and state scopes fix time for MiqTask list (#16365)
  • Providers
    • Add tag categories for VM migration (#16402)
    • Middleware compliance assignment (#16376)
    • Enable compliance check for MW server (#16375)
    • Refresh Physical Servers (#16344)
    • Add requests and limits to Persistent Volume Claim (#16026)
  • Reporting
    • Add scope :without_configuration_profile_id needed by Foreman explorer UI (#16439)
  • Services
    • Name service during provisioning from dialog input (#16338)

Fixed

  • Authentication
    • External auth lookup_by_identity should handle missing request parameter (#16386)
  • Automate
    • Fix resize approval to work for editing requests (#16381)
    • Fixes custom button method for things with subclasses (#16378)
  • Core
    • Sort array of queue names (#16400)
    • Fix Zone creation (#16391)
    • Fix Firmware-Hardware relationship (#16364)
    • Find_by_queue_name expects a string as queue_name. (#16359)
  • Providers
    • Truncate name of refresh task to 255 (#16444)
    • Missing cascade delete for host_storages (#16440)
    • Fix has_required_role? for InventoryCollectorWorker (#16415)
    • Print name instead of manager ref (#16411)
    • Datastores duplicated after a refresh (#16408)
    • Log less details about the targets (#16405)
    • Do unassign tags when mapped tags list becomes empty (#16370)
  • Replication
    • Prevent replication subscription to the same region as the current region (#16446)
  • Services
    • ServiceTemplate: add scope for unassigned items. (#16445)

Remove

  • Providers
    • Revert "Replace ContainerLabelTagMapping.controls_tag? with Tag.controlled_by_mapping scope" (#16462)

Gaprindashvili Beta2

Added

  • Alerts
    • Seed MiqAlerts used for Prometheus Alerts (#16479)
  • Ansible
    • Add log_output option for embedded ansible service (#16414)
  • Automate
  • Core
    • Remove the column reordering tool and the schema structure validations (#16488)
    • Added Product name to VMDB::Appliance (#16409)
    • Added User Agent to VMDB::Appliance (#16410)
  • Providers
    • Add tag categories for VM migration (#16402)
    • Add requests and limits to Persistent Volume Claim (#16026)
    • Add ems_infra_admin_ui feature (#16403)
    • Update ems_infra_admin_ui feature to role assignment (#16484)
    • Move graph refresh internals logging to debug (#16442)
  • Reporting
    • Add scope :without_configuration_profile_id needed by Foreman explorer UI (#16439)
  • Services
    • Name service during provisioning from dialog input (#16338)

Fixed

  • Automate
    • Adds field unique validator check to dialog (#16487)
  • Authentication
    • Fixes a stack trace issue (500) during API authentication. (#16520)
  • Core
    • Add purging for vim_performance_tag_values with disabled tags (#16425)
    • Add a connection to the pool if there is only one for embedded ansible (#16477)
    • Fix Expression builder argument error by reverting #5506 (#16255)
    • Move the notifications to include more of the setup (#16508)
    • Finish simplifying NTP configuration using Settings (#16393)
    • Fix issue where plugin settings had higher precedence than manageiq (#16535)
  • i18n
    • Fix string interpolations (#16468)
    • Add Middleware Server EAP/Wildfly translation (#16492)
  • Providers
    • Fix has_required_role? for InventoryCollectorWorker (#16415)
    • Missing cascade delete for host_storages (#16440)
    • Truncate name of refresh task to 255 (#16444)
    • Datastores duplicated after a refresh (#16408)
    • Added a Maintenance key to the hash struct (#16464)
    • Refresh new target do not run post_refresh (#16436)
    • Add two new types to MW server factories (#16478)
    • Container ssa annotate success (#15031)
    • Require handsoap in VimConnectMixin (#16450)
    • Require miq_fault_tolerant_vim in raw_connect (#16500)
    • Unique EmsRefresh.refresh targets if there are over 1,000 targets (#16432)
  • RBAC
    • Standalone ServiceUI product features require, updating affected roles (#16329)
    • Fix nil cases of allocated disk types in chargeback reporting (#16434)
    • Add Missing button features to miq_features.yaml (#16027)
  • Replication
    • Prevent replication subscription to the same region as the current region (#16446)
    • Scope Tenant#name validation to the current region (#16506)
  • Reporting
    • Fixed syntax with orderby in RSS Feed YAML files (#16493)
  • Services
    • ServiceTemplate: add scope for unassigned items. (#16445)
  • UI
    • Fix resize approval to work for editing requests (#16381)

Unreleased as of Sprint 72 ending 2017-10-30

Added

  • Chargeback
    • Add metering reports (#16342)
    • Charge volume types (#16321)
    • Offer dynamic storage types in chargeback report (#16277)
    • Populate cloud volume types for new chargeback rates (#16264)
    • New chargeback integration (#16214)
  • Core
    • Change with_adhoc scope to without_adhoc (#16348)
    • Add a method to easily delete settings_changes for a resource (#16169)
    • Register Nuage's event catcher worker type (#16319)
    • Add agent coordinator worker for amazon ssa support (#16265)
    • Add runners needed for Prometheus alert collection (#15864)
    • Add Custom Buttons and Group features (#16332)
    • Return used and allocated values in combined_quota results even when no quota defined (#16294)
    • Store the event initiator in MiqEvent object when user info is available. (#16336)
    • Log playbook stdout according to options (#16333)
    • Set up LogDecorator (#16317)
    • Avoid queuing signals if possible when executing a playbook (#16305)
    • Serialize the options Hash (#16290)
    • Adds vm_snapshot_success NotificationType (#16286)
    • Turn options into indifferent access (#16254)
    • Pass extra options into miq_adv_search_lists (#16242)
    • Delete temporary inventory and job template after playbook runs (#16231)
    • Store the event initiator in MiqEvent object. (#16179)
    • Allow the request_update to update user_message (#16155)
    • Adds check for circular association references to dialog import (#15909)
  • Providers
    • Enable alerts on ext_management_system from prometheus events (#16310)
    • Catch exceptions while decrypting object
    • Create EAP operation Events (#16134)
    • Don't support memcached in containers even if it is installed (#16229)
    • Optionally return "id" columns MiqExpression.model_details (#16204)
    • Change in :named_scope to allow chaining (#16236)
    • Enhance resolve_view_path to check for other possible yaml required for reporting (#16230)
    • Apply dialog tags to VMs created during orchestration provisioning (#16299)
    • Adds Notification when vm_snapshot_remove failed (#16288)
    • User sync feature (#16293)
    • Add container inventory collector worker classes (#16311)
    • Label->tag mapper: produce InventoryCollection (#16259)
    • Add Monitoring features to Container Roles (#16215)
    • Allow to schedule disconnected container entities for perf capture (#16302)
    • Add standard Customize tab to Google provisioning dialog (#16192)
    • inventory cloud_manager module (#16282)
    • Add an inventory_collector_worker base class (#16198)
    • Cut up perf_capture into multiple methods (#16262)
    • Add allowed_subnets for scvmm provisioning (#16177)
    • Enable mwPolicies (#16312)
    • Add MW diagnostic report class so we can use it when generating JDRs in report data table (#16135)
    • Add Web Metrics reports hourly and every minute (#16174)
    • Allow Openstack provider Volumes and Snapshots to be eligible for provisioning. (#16066)
    • Use approval workflow for instance resize operation (#16044)
    • Updates model to indicate support for console (#16256)
    • Implement a physical server workflow and request (#16203)
    • Support sysprep for windows templates (#16263)
  • RBAC
    • Added Service UI permission tree (#16212)
  • Services
    • Added few OOTB global filters for Services. (#16315)
  • Smart State
    • adding ScanResult model and ContainerImage has_one (#15967)
  • Tools
  • UI
    • Enable help menu items by default in the config/settings.yml (#16322)
    • Move EmsRefresh targets to MiqQueue data (#16271)
    • Ensure dialog field associations are being saved properly (#15937)
    • Only allow one service order in cart state per user tenant (#16351)

Fixed

  • Automate
    • Use in_my_region during widget content generation (#16354)
  • I18N
    • Dictionary.gettext should not break on empty string (#16094)
  • Chargeback
    • Fix chargeback specs formatting (#16328)
    • Use resources(VMs) also from all subtenants in chargeback reporting (#16228)
  • Containers
    • Add Container Environment Variables feature (#15935)
    • Add container groups\images statistics for container projects (#10470)
  • Core
    • Keep full model name when parsing expression with tag (#16211)
    • Fix Compare Current and Desired queue arrays (#16325)
    • Make spawn pass worker options again (#16199)
  • Providers
    • Adds check if manager_settings is set. (#16279)
    • Fixes issue with undefinded method (#16276)
    • Fix containers refresh for when a container has no set image yet (#16313)
    • Add hawkular admin tenant label to settings (#16275)
    • We need to check for Persister class for post refresh (#16280)
    • Find peaks/troughs of memory usage during rollup (#16224)
    • Find absolute max/min of CPU usage in mhz during rollup (#16195)
    • Fix issue where new Lan records don't get linked (#16217)
    • Require cluster for RVH VM provision (#16281)
  • Provisioning
    • Run set_request_values on request update as well as creation (#16189)
    • Fixed named scope regression in MiqSchedule.with_prod_default_not_in (#16349)
  • Schema
  • Tenancy
    • Check for existing source tenant of cloud tenant before attempting to create a new one (#16144)
  • UI
    • Fix dialog association import (#16316)

Gaprindashvili Beta1

Added

  • Alerts
    • Add severity to alert definitions (#16040)
    • Add hash_expression to MiqAlert (#15315)
  • Authentication
    • Added support for httpd auth-api service for containers. (#15881)
  • Automate
    • Add the picture association to Generic Objects via generic_object_definition (#16006)
    • Generic object add to service. (#16000)
    • Rename the key from workspace to objects (#15977)
    • Added 'playbook' as location type for Automate Methods (#15939)
    • Added AutomateWorkspace model (#15817)
    • Add new classes to have custom buttons (#15845)
    • Added support for expression methods (#15537)
    • Provisioning: Support memory limit for RHV (#15591)
    • Add a relationship between generic objects and services. (#15490)
    • Display the text "Generic Object Class" in the UI (instead of Generic Object Definition) (#15672)
    • Set up dialog_field relationships through DialogFieldAssociations (#15566)
    • Metric rollups at the Service level (#15695)
    • Remove methods for Azure sample orchestration (#15752)
    • Provisioning: Add validate_blacklist method for VM pre-provisioning (#15513)
    • Support array of objects for custom button support (#14930)
    • Add configuration_script reference to service (#14232)
    • Add ServiceTemplateContainerTemplate. (#15356)
    • Add project option to container template service dialog. (#15340)
    • Provisioning: Ovirt-networking: using profiles (#14991)
    • Add delete method for Cloud Subnet (#15087)
    • Extract automation engine to separate repository (#13783)
    • Modified destroying an Ansible Service Template (#14586)
    • Ansible Playbook Service add on_error method. (#14583)
  • Chargeback
    • Add Metering Used Hours to chargeback report (#15908)
  • Classic UI
    • Allow the target attribute to be read on ResourceActionWorkflow objects (#15916)
  • Core
    • Add PostgreSQL version restriction (#16171)
    • Print file name on any error from RipperRubyParser not just SyntaxError (#16112)
    • Added user_id group_id tenant_id (#16089)
    • Enhance the the orchestrator to deal with more objects (#15962)
    • Add event streams product features (#16021)
    • Use the built-in OpenShift service environment variables (#16001)
    • Adding Child Managers to EMS (#15889)
    • Add status and state scopes, fix time for MiqTask list (#16365)
  • Events
    • Add target to event existence check (#15719)
  • Internationalization
    • i18n: Add Data Types to dictionary (#15922)
  • Middleware
    • Enable compliance check for MW server (#16375)
    • Middleware compliance assignment (#16376)
  • Performance
    • Optimize speed and stabilize the batch graph refresh memory usage (#15897)
  • Platform
    • Don't use secure sessions in containers (#15819)
    • Add MiqExpression support for managed filters (#15623)
    • Use memcached for sending messages to workers (#15471)
    • Evaluate enablement expressions for custom buttons (#15729)
    • Evaluate visibility expressions for CustomButtons (#15725)
    • Include EvmRole-reader as read-only role in the fixtures (#15647)
    • Add HostAggregates to RBAC (#15417)
    • Adding options field to ext_management_system (#15398)
    • Change the target of tag expressions (#15715)
    • MiqExpression::Target#to_s (#15713)
    • Rename applies_to_exp to visibility_expression for serializing (#15501)
    • Add server MB usage to rake evm:status and status_full. (#15457)
    • Chargeback: Add average calculation for allocated costs and metrics optionally in chargeback (#15565)
    • Workers: Add heartbeat_check script for file-based worker process heartbeating (#15494)
    • Make namespace into a virtual attribute (#15532)
    • Use OpenShift API to control the Ansible container (#15492)
    • Allow MiqWorker.required_roles to be a lambda (#15522)
    • MulticastLogger#reopen shouldn't be used because it's backed by other loggers (#15512)
    • Add the evm:deployment_status rake task (#15402)
    • Set default server roles from env (#15470)
    • Logging to STDOUT in JSON format for containers (#15392)
    • Allow overriding memcache server setting by environment variable (#15326)
    • Reporting: Add Amazon report to standard set of reports (#15445)
    • Changed task_id to tracking_label (#15443)
    • Add MiqQueue#tracking_label (#15224)
    • Support worker heartbeat to a local file instead of Drb. (#15377)
    • Use the Ansible service in containers rather than starting it locally (#15423)
    • Default to spawn automatically if fork isn't supported (#15425)
    • Rails scripts for setting a server's zone and configuration settings from a command line (#11204)
    • Add rake script to export/import miq alerts and alert profiles (#14126)
    • Adds MiqHelper (#15020)
    • Move ResourceGroup relationship into VmOrTemplate model (#14948)
    • Report attributes for SUI (#14829)
  • Providers
    • Save the Lan parent_id for SCVMM (#16165)
    • Directly run a playbook (#16161)
    • Adding default filters configuration to physical servers (#16158)
    • Add a Subnet model for SCVMM (#16153)
    • Extend InventoryCollectionDefault::NetworkManager with network_groups (#16136)
    • Enable alerts definitions for transactions and messaging for Middleware Server (#16133)
    • Allow a 'type' setter on MiddlewareServer (#16126)
    • Enable alerts definitions with datasource for Middleware Server (#16125)
    • Enable alerts definitions using web sessions (#16113)
    • Add policy buttons to physical server page (#16110)
    • Add ems_ref to filter duplicate events (#16104)
    • Group by docker label in chargeback for container images (#16097)
    • Add physical server to constant support policy (#16085)
    • Adds support for physical server timeline (#16084)
    • Add Service resource linking. (#16082)
    • Always check for userid as UPN (#16069)
    • Fixing middleware servers alert handling (#16048)
    • Update model to use the customization_scripts table for LXCA config patterns (#16036)
    • Parse the serial number during refresh (#15992)
    • ovn: introducing ovn as ovirt's network provider (#15929)
    • Add Report: Projects by Quota Items (#15776)
    • Use more descriptive name for seal template (#16045)
    • Enhance NetworkRouter model for Amazon (#16030)
    • Metrics Worker capture_timer more ems centric (#16004)
    • Support publish Vm by RHV (#15981)
    • Improve metrics saving (#15976)
    • Add OpenSCAP scan to supported features mixin (#15944)
    • Queue targeted refresh in a provisioning workflow (#15933)
    • Convert Container quotas to numeric values (#15639)
    • Update model to support LXCA config patterns (#15956)
    • Add orchestration stack targeted refresh method (#15936)
    • Add relation between container projects and persistent volume claims (#15932)
    • Apply distinct on lans and switches (#15930)
    • Add instance security group management to product features (#15915)
    • raw_connect method for infra provider (#15914)
    • Add Ansible Playbook custom button type (#15874)
    • Add Openscap Result to VM model (#15862)
    • Flavors create and add methods (#15552)
    • Container Template: Add object_labels (#15406)
    • Add cloud volume backup delete and restore actions. (#15891)
    • Add instantiation_attributes to Container Template Parameter (#15863)
    • Add vm security group operations (#15826)
    • Add metadata function that should return the description of the data that is stored in the options field (#15799)
    • Register product features for JDR reports (#15768)
    • Add number of container using image (#15741)
    • Add support for additional power operations (#15683)
    • Update model to support network adapters (#15371)
    • Archive Container Nodes (#15351)
    • Add Pod to PersistentVolume relationship (#15023)
    • Missing settings for a cloud batch saving and adding shared_options (#15792)
    • Needed config for Cloud batch saver_strategy (#15708)
    • Remove the Eventcatcher from CinderManager (#14962)
    • Add a virtual column for supports_block_storage? and supports_cloud_object_store_container_create? (#15600)
    • Add product features for provider disable UI (#15592)
    • Raise creation event batched job (#15679)
    • Allow to run post processing job for ManagerRefresh (Graph Refresh) (#15678)
    • Batch saving strategy that does not require unique indexes (#15627)
    • Make sure passed ids for habtm relation are unique (#15651)
    • Sort nodes for a proper disconnect_inv/destroy order (#15636)
    • Middleware: Register product feature for stopping domains (#15680)
    • Add physical infra discovery to product features (#15607)
    • Adds virtual totals for servers vms and hosts to Physical Infrastructure Providers (#15613)
    • Change name of physical infra type in discovery (#15681)
    • Adapt manageiq to new managers (#15506)
    • Ansible Tower: Azure Classic Credential added for embedded Ansible (#15626)
    • Containers: Add new class ServiceContainerTemplate. (#15429)
    • Custom reconnect block (#15605)
    • Deal with special AR setters (#15439)
    • Store created updated and deleted records (#15603)
    • Use proper multi select condition (#15436)
    • Network: Generic CRUD for network routers (#15451)
    • Physical Infrastructure: Add physical infra types for discovery (#15621)
    • Add monitoring manager (#15354)
    • Adding sti mixin to container_image base class (#15505)
    • Container Template: Add :miq_class for each object (#15475)
    • Adding ContainerImage subclasses (#15386)
    • Change the criteria for a required field of ContainerTemplateServiceDialog. (#15469)
    • Support find and lazy_find by other fields than manager_ref (#15447)
    • Add MiqTemplate to InfraManager InventoryCollection (#15400)
    • Optimize insert query loading (#15404)
    • Batch saving strategy should populate the right timestamps (#15394)
    • Add power off/on events to automate control and the foreign key to events physical server (#15138)
    • Search for "product/views" in all plugins (#15353)
    • Save resource group information (#15187)
    • Add new class Dialog::ContainerTemplateServiceDialog. (#15216)
    • Concurent safe batch saver (#15247)
    • Removed SCVMM Data as moved to manageiq-providers-scvmm (#15314)
    • Middleware: Validate presence of feed on middleware servers (#15390)
    • Add important asserts to the default save inventory (#15197)
    • Delete complement strategy for deleting top level entities using batches (#15229)
    • First version of targeted concurrent safe Persistor strategy (#15227)
    • Generalize targeted inventory collection saving (#15198)
    • Containers: Add Report: Images by Failed Openscap Rule Results (#15210)
    • Physical Infrastructure: Add constraint to vendor in Physical Server (#15128)
    • Adding helper for unique index columns to inventory collection (#15141)
    • Minor inventory collection enhancements (#15108)
    • Physical Infrastructure: Method to save asset details (#14827)
    • Blacklisted event names in settings.yml (#14647)
    • Allow Vmdb::Plugins to work through code reloads in development. (#15057)
    • Provider native operations state machine (#14405)
    • Escalate privilege (#14929)
    • Physical Infrastructure: Create asset details object (#14749)
    • Pluggable Providers: allow seeding of dialogs from plugins (#14668)
    • Add features to physical servers pages (#14709)
    • Adds physical_server methods to be used by miq-ui (#14552)
    • Link MiqTemplates to their parent VM when one is present (#14755)
    • Ansible: Refresh job_template -> playbook connection (#14432)
    • Middleware: Cross-linking Middleware server model with containers. (#14043)
    • Openstack: Notify when an Openstack VM has been relocated (#14604)
    • Physical Infra: Add Topology feature (#14589)
    • Refresh Physical Servers (#16344)
  • Provisioning
    • Automate - VMware placement to support only Clusters or only Folders. (#15951)
  • Reporting
    • Limit Generic Object associations to the same list of objects available to reporting. (#15735)
  • RBAC
    • Added SUI notifications product feature (#16107)
  • REST API
    • Set current user for generic object methods (#16120)
    • Add metrics default limit to API settings (#15797)
    • Add paging links to the API (#15148)
    • Render links with compressed ids (#15659)
    • Query by multiple tags (#15557)
    • Floating IPs: Initial API (#15524)
    • Network Routers REST API (#15450)
    • Render ids in compressed form in API responses (#15430)
    • Return BadRequestError when invalid attributes are specified (#15040)
    • Return href on create (#15005)
    • Remove miq_server (#15284)
    • Add cloud subnet REST API (#15248)
    • Set_miq_server Action (#15262)
    • Add support for Cloud Volume Delete action (#15097)
    • Add Alert Definition Profiles (MiqAlertSet) REST API support (#14438)
    • API support for adding/removing Policies to/from Policy Profiles (#14575)
    • Refresh Configuration Script Sources action (#14714)
    • Authentications refresh action (#14717)
    • Updated providers refresh to return all tasks for multi-manager providers (#14747)
    • Added new firmware collection api (#14476)
    • Edit VMs API (#14623)
    • Remove all service resources (#14584)
    • Remove resources from service (#14581)
    • Bumping up version to 2.4.0 for the Fine Release (#14541)
    • Bumping up API Versioning to 2.5.0-pre for the G-Release (#14544)
    • Exposing prototype as part of /api/settings (#14690)
  • Service UI
    • Add SUI product features (#16068)
    • Service dialog generation rely only on OrchestrationParameterConstraint (#16047)
  • Services
    • Adds dialog field association info to importer (#15740)
    • Removes importer association data for backwards compatibility (#15724)
    • Exports new DialogFieldAssociations data (#15608)
  • Smart State
    • Snapshot Support for Non-Managed Disks SSA (#15960)
    • Create Snapshot for Azure if a snapshot is required for SSA and if so call the snapshot code.(#15865)
    • Fix sometimes host analysis cannot get the linux packages info (#15140)
  • Storage
    • Add missing features for Block Storage and Object Storage (#15812)
  • Tools
  • UI
    • Add new classes to BUTTON_CLASSES (#16181)
    • Override the href_slug method to use GUID instead of id (#16129)
    • Add dialog field description to list of values updatable by automate (#16011)
    • Add virtual columns for GenericObject and GenericObjectDefinition (#16007)
    • Expose Custom Button visability/enablement (#15911)
    • Add custom buttons to generic object. (#15980)
    • Show monitoring screen by default (#14976)
    • Features for Generic Object Classes and Instances (#15611)
    • Add entries for Physical Server (#15275)
    • Add pretty model name for physical server (#15283)

Changed

  • Automate
    • Provisioning: First and Last name are no longer required. (#14694)
    • Add policy checking for request_host_scan. (#14427)
    • Enforce policies type to be either "compliance" or "control" (#14519)
    • Add policy checking for retirement request. (#14641)
  • Performance
    • Ultimate batch saving speedup (#15761)
    • Memoize Metric::Capture.capture_cols (#15791)
    • Don't run the broker for ems_inventory if update_driven_refresh is set (#15579)
    • Merge retirement checks (#15645)
    • Batch disconnect method for ContainerImage (#15698)
    • Allow batch disconnect for the batch strategy (#15699)
    • Optimize the query of a service's orchestration_stacks. (#15727)
    • MiqGroup.seed (#15586)
    • Use concat for better performance (#15635)
    • Do not queue C&U for things that aren't supported (#15195)
    • Add memory usage to worker status in rake evm:status and status_full (#15375)
    • Inventory collection default for infra manager (#15082)
    • Cache node_types instead of calling on every request (#14922)
    • Introduce: supports :capture (#15194)
    • Evmserver start-up: Improve ChargeableField.seed (#15236)
    • Do not schedule Session.purge if this Session is not used (#15064)
    • Do not queue no-op destroy action (#15080)
    • Do not schedule smartstate dispatch unless it is needed (#15067)
    • Avoid dozens of extra selects in seed_default_events (#14722)
    • Do not store whole container env. in the reporting worker forever (#14807)
    • BlacklistedEvent.seed was so slow (#14712)
    • Remove count(*) from MiqQueue.get (#14621)
    • MiqQueue - remove MiqWorker lookup (#14620)
  • Platform
    • Move MiqApache from manageiq-gems-pending (#15548)
  • Providers
    • Drop support for oVirt /api always use /ovirt-engine/api (#14469)
    • Red Hat Virtualization Manager: New provider event parsing (#14399)
    • Middleware: Stop using deprecated names of hawkular-client gem (#14543)
    • Add config option to skip container_images (#14606)
    • Pass additional metadata from alert to event (#14301)
  • User Interface
    • Split up miq_capacity into three separate controllers (#15869)
    • Use update:ui rake task instead of update:bower (#15578)

Fixed

  • Authentication
    • If the userid is not found in the DB do a case insensitive search (#15904)
    • A tool for converting miqldap auth to external auth with sssd (#15640)
    • Converting userids to UPN format to avoid duplicate user records (#15535)
    • External auth lookup_by_identity should handle missing request parameter (#16386)
  • Automate
    • Fix for custom button not passing target object to dynamic dialog fields (#15810)
    • miq_group_id is required by automate. (#15760)
    • Fix service dialog edit (#15658)
    • Set user's group to the requester group. (#15696)
    • Fixed path for including miq-syntax-checker (#15551)
    • Provisioning: Validate if we have an array of integers (#15572)
    • Services: Add my_zone to Service Orchestration. (#15533)
    • Checks PXE customization templates for unique names (#15495)
    • Rebuild Provision Requests with arrays (#15410)
    • Services: Add orchestration stack my_zone. (#15334)
    • Add orchestration_stack_retired notification type. (#14957)
    • Revert previous changes adding notification to finish retirement. (#14955)
    • Adjust power states on a service to handle children (#14550)
    • Display Name and Description not updated during import (#14689)
    • Service#my_zone should only reference a VM associated to a provider. (#14696)
    • Fixes custom button method for things with subclasses (#16378)
  • Chargeback
    • Delete tag assignments when deleting a tag that is referenced in an assignment (#16039)
    • Rate selection using union of all tags in reporting(consumption) period (#15888)
  • Core
    • When importing report symbolize keys only in 'db_options:' section (#16143)
    • Allow group settings with string keys (#16142)
    • Add the help menu to the permissions template yaml file (#16096)
    • Fix error importing Widget on Custom Report page (#16034)
    • Queue destroying of linked events when instance of MiqServer destroyed (#15995)
    • Tool to replicate server settings to other servers (#15990)
    • Ruby 2.4 - Replace all Fixnum|Bignum (#15987)
    • Cancel before_destroy callback chain for MiqServer by throwing 'abort' (#15986)
    • Fix event_catcher blacklisted events logging (#15945)
    • This allows access to the worker object and also allows the web service workers to start the rails server which was broken (#15880)
    • Allows seeding a database with groups from other regions. (#15876)
    • Find_by_queue_name expects a string as queue_name (#16359)
    • Fix Zone creation (#16391)
    • Sort array of queue names (#16400)
  • Events
    • Fix the ems_event add_queue method (#16187)
  • Inventory
    • Log less details about the targets (#16405)
    • Print name instead of manager ref [(#16411)](Print name instead of manager ref #16411)
  • Platform
    • Use ruby not runner for run single worker (#15825)
    • Handle pid in run_single_worker.rb properly (#15820)
    • Handle SIGTERM in run_single_worker.rb (#15818)
    • Bump to non-broken network discovery (#15798)
    • Get tag details for no specific model (#15788)
    • Support logins when "Get User Groups from LDAP" is not checked (#15661)
    • Give active queue worker time to complete message (#15529)
    • Seeding timeout (#15595)
    • RBAC: Add Storage feature to container administrator role (#15689)
    • Reporting: Do not limit width of table when downloading report in text format (#15750)
    • Authenticatin: Normalize the username entered at login to lowercase (#15716)
    • Fix CI after adding new columns to custom_buttons table (#15581)
    • Check for messages key in prefetch_below_threshold? (#15620)
    • Cast virtual attribute 'Hardware#ram_size_in_bytes' to bigint (#15554)
    • Refactor MiqTask.delete_older to queue condition instead of array of IDs (#15415)
    • Run the setup playbook if we see that an upgrade has happened (#15482)
    • Alerts: Fail explicitly for MAS validation failure (#15473)
    • Fix pseudo heartbeating when HB file missing (#15483)
    • Only remove my process' pidfile. (#15491)
    • Add UiConstants back to the web server worker mixin (#15518)
    • Add vm_migrate_task factory. (#15332)
    • FileDepotFtp: FTP.nlst cannot distinguish empty from non-existent dir (#9127)
    • Put back region_description method that was accidentally extracted (#15372)
    • Make user filter as restriction in RBAC (#15367)
    • Add AuthKeyPair to RBAC (#15359)
    • Workaround Rails.configuration.database_configuration being {} (#15269)
    • Move signal handling into the MiqServer object (#15206)
    • Format trend max cpu usage rate with percent (#15272)
    • Do not queue e-mails unless there is a notifier in the region (#14801)
    • Fixed logging for proxy when storage not defined (#15028)
    • Fix broken stylesheet path for PDFs (#14793)
    • RBAC: Add middleware models to direct RBAC (#15011)
    • RBAC for User model regard to allowed role (#14898)
    • Fallback to ActiveRecord config for DB host lookup (#15018)
    • Use ActiveRecord::Base for connection info (#15019)
    • Miq shortcut seeding (#14915)
    • Fix constant reference in ManagerRefresh::Inventory::AutomationManager (#14984)
    • Set the db application_name after the server row is created (#14904)
    • Remove default server.cer (#14858)
    • Fixed bug: timeout was not triggered for Image Scanning Job after removing Job#agent_class (#14791)
    • Use base class only when it is supported by direct rbac (#14665)
    • Alter embedded ansible for rpm builds (#14637)
  • Providers
    • Add MiqException prefix to vm snapshot exceptions (#16186)
    • Changed Friendly_name to accept Arrays of queue_names (#16172)
    • Remove duplicate metric_rollups not dealing with active relation (#16166)
    • Fix Product Features (#16164)
    • Fix attach/detach disks automate methods (#16160)
    • Change Failure label by Rollback (#16148)
    • Delegate name attribute to parent_manager (#16067)
    • Fix for when target new refresh fails (#16043)
    • Disabling batch saving for VmOrTemplate because of needed hooks (#16031)
    • Fix the lenovo's event_catcher time (#16012)
    • Change error notification level from success to error (#15998)
    • Add nil checks for manager_uuids and references (#15934)
    • Proxy support for cloning ansible repo and add provider (#15762)
    • Have parent inventory collections as dependencies (#15903)
    • Orchestrate destroy of dependent managers (#15590)
    • save_vms_inventory needs to respect disconnect flag (#15924)
    • When trying to find char layout for middleware messaging return correct file path (#15872)
    • Add the missing openstack Cloud Tenant translation to en.yml (#15744)
    • Fix non existent container showing in report (#15405)
    • Make networks vms relations distinct (#15783)
    • Add custom reconnect logic also to the batch saver (#15777)
    • Fix saving of refresh stats (#15775)
    • Adding require_nested for new azure_classic_credential (#15770)
    • Re-adding "Create Service Dialog from Container Template" feature (#15653)
    • JobProxyDispatcher should use all container image classes (#15519)
    • Remove remains of container definition (#15721)
    • Use archived? instead of ems_id.nil? (#15633)
    • Return VMs and Templates for EMS prev_relats (#15671)
    • Fix bug in InventoryCollection#find_by with non-default ref (#15648)
    • Remove methods for Azure sample orchestration (#15752)
    • VMware Infrastructure: Fix Core Refresher if there is no ems_vmware setting (#15690)
    • Pluggability: change ManageIQ::Environment to run bundle install on plugin_setup (#15589)
    • Fix orchestrated destroy (#15339)
    • Wait for ems workers to finish before destroying the ems (#14848)
    • Return an empty relation instead of an array from db_relation() (#15325)
    • Physical Infrastructure: Fix the hosts key in method which save physical server (#15199)
    • Foreman: Added a check that URL is a type of HTTPS uri. (#14965)
    • Refactor start_clone method and break up powershell functions (#14842)
    • Microsoft Infrastructure: [SCVMM] Always assume a string for run_powershell_script (#14859)
    • Sleep some more time in ansible targeted refresh (#14899)
    • Create or delete a catalog item on update (#14830)
    • Prefer :dialog_id to :new_dialog_name in config_info (#14958)
    • Containers: Update miq-shortcuts (#14951)
    • Hawkular: Fix defaults for immutability of MiddlewareServers (#14822)
    • Move public/external network method into base class (#14920)
    • Ensure that genealogy_parent exists in the vm data before using it (#14753)
    • All_ems_in_zone is not a scope yet so we can't chain 'where' (#14792)
    • Ansible Tower: Reformat Ansible Tower error messages (#14777)
    • Containers: Removed duplicate report (#14515)
    • Google: Fix typo on "retirement" string in google provisioning dialog. (#14800)
    • Physical Infrastructure: Fix vendor key in physical server (#14828)
    • Storage: Fix StorageManagers Cross Linkers (#14795)
    • VMware: Create a notification when a snapshot operation fails (#13991)
    • Ensure remote shells generated by SCVMM are closed when finished (#14591)
    • Always evaluate datawarehouse_alerts (#14318)
    • Use human friendly names in task names and notifications for Tower CUD operations (#14977)
    • Nullify dependents when destroying configuration_script_sources/configuration_scripts (#14567)
    • Use organization instead of organization_id when talking to Tower (#14538)
    • Fix task name for task that create Tower project (#14656)
    • Ensure job is refreshed in the condition of state machine exits on error (#14684)
    • Parse password field from dialog and decrypt before job launch (#14636)
    • Ansible Service: skip dialog options for retirement (#14602)
    • Modified to use Embedded Ansible instance (#14568)
    • An Ansible Tower "Inventory" is a ManageIQ "InventoryRootGroup" (#14716)
    • Fix for External Automation Manager Inventory Group (#14691)
    • Notification after Tower credential CUD operations (#14625)
    • Product features for embedded ansible refresh (#14664)
    • Notification after Tower credential CUD operations (#14625)
    • Product features for embedded ansible refresh (#14664)
    • Do unassign tags when mapped tags list becomes empty (#16370)
    • C&U fix bug in Targets#capture_vm_targets (#16373)
  • RBAC
    • Ensure that base_class of first target is used for RBAC scope (#16178)
    • Add belongsto filter for other network models (#16151)
    • Move rule for network manager to belonsto filter (#16063)
    • Add Tasks start page URL to shortcuts yaml file (#16061)
    • Save key pairs in Authentication table (#15485)
    • Lower the report level of routine http errors in the Fog log (#15363)
  • Reporting
    • Unconditionally seed all standard reports and widgets (#16062)
    • Do not show container and cloud providers on 'Monthly Hosts per Provider' report (#15822)
  • REST API
    • web service worker needs to load MiqAeDomain etc. (#15769)
    • manageiq-api should be a plugin (#15755)
    • Allow operator characters on the RHS of filter (#15534)
    • Force ascending order (#15559)
    • Allow compressed ids when updating a service dialog (#15619)
    • Make request APIs consistent by restricting access to automation/provision requests to admin/requester (#15186)
    • Render ids in compressed form in API responses (#15430)
    • Use correct identifier for VM Retirement (#15509)
    • Return only requested attributes (#14734)
    • Return Not Found on Snapshots Delete actions (#15489)
    • Redirect tasks subcollection to request_tasks (#15357)
    • Request members should allow access to users with admin role (#15163)
    • Requests should allow access to users with admin role (#15151)
    • Correctly configure custom attributes for DELETEs (#14751)
    • Return correct custom_attributes href (#14752)
    • Render DELETE action for notifications (#14775)
    • Allow policies to be deleted via DELETE (#14659)
    • Allow partial POST edits on miq policy REST (#14518)
    • Return provider_class on provider requests (#14657)
    • Return correct resource hrefs (#14549)
    • Removing ems_events from config/api.yml (#14699)
  • Smartstate
    • Increase Timeouts and Worker Memory for Azure SSA (#16016)
  • User Interface
    • Add monitoring menus (#15866)
    • 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. (#15901)
    • Remove rails-controller-testing from Gemfile (#15852)
    • Fail with descriptive message when no EMS (#15807)
    • Sync up dropdown list in My Settings => Visual Tab => Start Up (#14914)
    • Added jobs.target_class and jobs.target_id to returned dataset in MiqTask.yaml view (#14932)

Removed

  • Core
    • Passing a class as a value in an Active Record query is deprecated (#16008)

Fine-4

Added

  • Automate
    • Add ae_state_max_retries to root object. (#46)
    • Add missing service model change for calculating active quota counts for Service requests. (#69)
  • Platform
    • Only remove my process' pidfile. (#15491)
  • Providers
    • Implement :reboot_guest for VM (#52)
    • Add additional logging into the websocket proxy for easier debugging (#15428)
    • Add validate_blacklist method for VM pre-provisioning (#15513)
    • Add blacklists for VM username and password when provisioning (#88)
    • ovirt-networking: using profiles (#14991)
    • Disable delete button for the active snapshot on oVirt (#54)
    • Update provision requirements check to allow exact matches (#72)
    • Add config option to skip container_images (#14606)
    • Create Snapshot for Azure (#15865)
    • Option needed for new ems_refresh.openshift.store_unused_images setting (#11)
  • RBAC
    • Include EvmRole-reader as read-only role in the fixtures (#15647)
  • Services
    • Add group in manageiq payload for ansible automation. (#15787)
  • Smart State
    • Snapshot Support for Non-Managed Disks SSA (#15960)
    • Increase Timeouts and Worker Memory for Azure SSA (#16016)

Fixed

  • Authentication
    • Normalize the username entered at login to lowercase (#15716)
    • Converting userids to UPN format to avoid duplicate user records (#15535)
  • Automate
    • Add validate_blacklist method for VM pre-provisioning (#15513)
    • Fix vm_migrate_task statemachine_task_status value. (#38)
    • Need to pass the user's group in to automate when the provision starts. (#61)
    • miq_group_id is required by automate. (#15760)
  • Chargeback
    • Delete tag assignments when deleting a tag that is referenced in an assignment (#16039)
  • Core
    • Do not limit width of table when downloading report in text format (#15750)
    • Check for messages key in prefetch_below_threshold? (#15620)
    • Give active queue worker time to complete message (#15529)
    • Fix constant reference in ManagerRefresh::Inventory::AutomationManager (#14984)
  • Platform
    • Add vm_migrate_task factory. (#15332)
    • Check for messages key in prefetch_below_threshold? (#15620)
    • Normalize the username entered at login to lowercase (#15716)
    • Collect log follows symlink recursively to the origin file (#15420)
  • Providers
    • Return VMs and Templates for EMS prev_relats (#15671)
    • Fix VM password restrictions (#87)
    • Fix unhandled exception in metrics collection when missing credentials (#53)
    • Add explicit capture threshold for container (#15311)
    • Avoid Tower in notifications for embedded ansible (#15478)
    • Pass userid before going to automation (#54)
    • Manager name not updated on foreman provider edit (#5)
    • Remove the expose of manager to Embedded Ansible Job in service model. (#47)
    • Avoid Tower in notifications for embedded ansible (#10)
    • Choose build pod by name AND namespace (#15575)
    • disconnect_storage should be called once (#62)
    • Matching on array order is failing sporadically (#15692)
    • Revamp create_vm_script to use configuration (#9)
    • Force array context for VMs, hosts, vnets and images (#13)
    • Don't break refresh if a flavor couldn't be found (#69)
    • Fixed cases causing waiting on timeout in vm_import (#73)
    • fix builds namespace matching (#33)
    • Handle case where do_volume_creation_check gets a nil from Fog (#73)
    • Fix non existent container showing in report (#15405)
    • 'try' in case its a v2 tower which doesn't have v3 attr (#17)
    • Quota - Calculate quota values for active provisions. (#15466)
    • Do not downcase the amazon IAM username (#296)
    • Skip invalid container_images (#94)
    • Proxy support for cloning ansible repo and add provider (#15762)
    • Check if project_id is accessible (#23)
  • RBAC
    • Move rule for network manager to belongsto filter (#16063)
  • Reporting
    • Cast virtual attribute 'Hardware#ram_size_in_bytes' to bigint (#15554)
    • Unconditionally seed all standard reports and widgets (#16062)
  • REST API
    • Return Not Found on Snapshots Delete actions (#15489)
    • Use correct identifier for VM Retirement (#15509)
    • Allow operator characters on the RHS of filter (#15534)
    • Set the current userid when running a report (#30)
  • Security
    • Use nil ca_certs to trust system CAs (#63)
  • Services
    • Set user's group to the requester group. (#15696)
  • User Interface
    • Fix for found as option in drop down service dialogs (#15456)
    • Don't unconditionally update verify_ssl (#52)]
    • Login Start Pages dropdown list - Clouds menus (#15017)
    • Fix for custom button not passing target object to dynamic dialog fields (#15810)

Fine-3

Added

  • Automate

    • Automate - added vmware reconfigure model to quota helper. (#14756)
    • Provisioning: Ovirt-networking: using profiles (#14991)
    • Services
      • Log zone(q_options) when raising retirement event. (#15317)
  • Platform

    • Set database application name in workers and server (#13856)
    • Fix startup shortcut YAML setting for Configuration Management (#14506)
    • Generate virtual custom attributes with sections (#14837)
    • Allow reports to be generated based on GuestApplication (#14939)
    • Allow deletion of groups with users belonging to other groups (#15041)
    • Track and kill embedded ansible monitoring thread (#15612)
    • RBAC
      • Include EvmRole-reader as read-only role in the fixtures (#15647)
  • Providers

    • Ansible Tower
      • Add status column to Repositories list (#14855)
      • Use $log.log_hashes to filter out sensitive data. (#14878)
    • Containers
      • Add purge timer for archived entities (#14322)
      • Delete archived entities when a container manager is deleted (#14359)
  • Red Hat Virtualization: Reduce the default oVirt open timeout to 1 minute (#15099)

    • Add a virtual column for supports_block_storage? and supports_cloud_object_store_container_create? (#15600)
  • REST API

    • Add cloud tenants to API (#14731)
    • Add SQL store option to token store (#14947)
    • Configuration_script_sources subcollection (#15070)

Changed

  • Providers
    • Add config option to skip container_images (#14606)

Fixed

  • Automate

    • Fix for custom button not passing target object to dynamic dialog fields (#15810)
    • miq_group_id is required by automate. (#15760)
    • Control: Remove the policy checking for request_host_vmotion_enabled. (#14429)
    • Provisioning
      • Add validate_blacklist method for VM pre-provisioning (#15513)
      • Filter out the hosts with the selected network. (#14946)
      • Add :sort_by: :none to GCE Boot Disk Size dialog field. (#14981)
      • Force status removal and default value (#15685)
    • Services
      • Set user's group to the requester group. (#15696)
      • Use extra_vars to create a new dialog when editing Ansible playbook service template. (#15120)
  • Platform

    • Add a marker file for determining when the ansible setup has been run (#15642)
    • Give active queue worker time to complete message (#15529)
    • Authentication
      • Check the current region when creating a new user (#15516)
      • Normalize the username entered at login to lowercase (#15716)
    • Format time interval for log message (#15370)
    • Add vm_migrate_task factory. (#15332)
    • Start Apache if roles were changed and it is needed by the current roles (#15078)
    • Add a notification for when the embedded ansible role is activated (#14867)
    • Reporting
      • Do not limit width of table when downloading report in text format (#15750)
      • Fix chargeback report with unassigned rates (#15580)
      • Cast virtual attribute 'Hardware#ram_size_in_bytes' to bigint (#15554)
      • Fix key for regexp in miq_expression.yaml (#15452)
      • Include cloud instances in Powered On/Off Report (#15333)
      • Correct field names for reports (#14905)
      • Changed report name to be consistent with actual produced report. (#14646)
    • Fix constant reference in ManagerRefresh::Inventory::AutomationManager (#14984)
    • Do not delete report if task associated with this report deleted (#15134)
    • Workers
      • Only remove my process' pidfile. (#15491)
    • Check for messages key in prefetch_below_threshold? (#15620)
  • Providers

    • Inventory
      • Return VMs and Templates for EMS prev_relats (#15671)
    • Ansible Tower: Let ansible worker gracefully stop (#15643)
    • Limit CloudTenants' related VMs to the non-archived ones (#15329)
    • Containers
      • Add default filters for the container page (#14893)
      • Fix Containers dashboard heatmaps (#14857)
    • Microsoft Infrastructure
      • [SCVMM] Remove -All from Get-SCVMTemplate call (#15106)
    • Network
      • Fix network_ports relation of a LB (#14969)
    • Virtual Infrastructure: Add a method to InfraManager to retrieve Hosts without EmsCluster (#14884)
  • REST API

    • Allow operator characters on the RHS of filter (#15534)
    • Fix virtual attribute selection (#15387)
    • Make TokenManager#token_ttl callable (evaluated at call time) (#15124)
    • Return Not Found on Snapshots Delete actions (#15489)
    • Use correct identifier for VM Retirement (#15509)
  • SmartState: Fixed bug: one call to Job#set_status from `VmScan#call_snapshot_delete' has one extra parameter (#14964)

  • User Interface (Classic)

    • Show Network Port name in Floating IP list (#14970)
    • Add missing units on VMDB Utilization page for disk size (#14921)
    • Add Memory chart for Availability Zones (#14938)
    • Removed grouping from all Middleware* views (#15042)
    • Fix URL to Compute/Containers/Containers in miq_shortcuts (#15497)
    • Fail with descriptive message when no EMS (#15807)

Fine-2

Added

  • REST API
  • Enable custom actions for Vms API (#14817)

Fixed

  • Platform

    • Ensure order is qualified by table name for rss feeds (#15112)

    • RBAC

      • Fix tag filtering for indirect RBAC (#15088)
  • Providers

    • Ansible Tower
      • Check that the Embedded Ansible role is on (#15045)
      • Encrypt secrets before enqueue Tower CU operations (#15084)
      • Hint to UI that scm_credential private_key field should have multiple-line (#15109)
      • Only run the setup playbook the first time we start embedded ansible (#15225)

Fine-1

Added

  • Automate

    • Alerts
      • Pass metadata from an EmsEvent to an alert (#14136)
      • Add hide & show alert status actions (backend) (#13650)
    • Ansible Tower
      • Service Playbook updates fqname and configuration_template (#15007)
      • Require EmbeddedAnsible playbook to create playbook service (#14226)
      • Add relationships between Ansible job and its playbook (#14144)
      • Associate job with credentials (#14113)
      • Save newly created dialog_id in options (#14254)
      • Collect more attributes for Ansible Tower job (#14076)
      • Add Run Ansible Playbook control action type (#13943)
      • Create service template with Ansible Tower after first creating a new job template (#13896)
      • Added "Ansible Playbook" to the list of catalog item types (#13936)
      • Expose job_template from a service template (#13895)
      • Create catalog item after job templates are created (#13893)
      • Create temporary inventory when execute a playbook (#14008)
      • Run a control action to order Ansible Playbook Service (#13874)
    • Control: Enforce policies type to be either "compliance" or "control" (#14519)
    • Orchestration
      • Add Picture to Orchestration Template (#14201)
      • Use task queue for update stack operation (#13897)
    • Provisioning
      • Change vLan name to Virtual Network (#13747)
      • Advanced networking placement features and automate exposure for OpenStack (#13608)
      • Add multiple_value option to expose_eligible_resources (#13853)
    • Service Model
      • Add ae service model for S3 CloudObjectStoreContainer (#14164)
      • Add ae service model for S3 CloudObjectStoreObject (#14189)
    • Services
      • Add a add_to_service method to Vm (#14416)
      • Add orchestration_stacks to ServiceAnsiblePlaybook (#14248)
      • Update catalog item without config_options (#14147)
      • Set the initiator from the workflow/request (#14070)
      • Add service object to deliver to automate. (#13956)
      • Create a provision request for a service template (#13972)
      • ServiceTemplate update_catalog_item (#13811)
      • Add create_catalog_item to ServiceTemplateAnsibleTower (#13646)
      • Tool to create a service dialog for an Ansible playbook (#13494)
      • Resource action - Add service_action. (#13751)
      • Initial commit for ansible playbook methods and service model. (#13717)
      • Add automate engine support for array elements containing text values (#11667)
      • Modified destroying an Ansible Service Template (#14586)
      • Ansible Playbook Service add on_error method. (#14583)
      • Add 'delete' to generic object configuration dropdown (#13541)
    • Automate Model: Add Amazon block storage automation models (#13458)
    • Orchestration Services: create_catalog_item to ServiceTemplateOrchestration (#13628)
    • Add create_catalog_item class method to ServiceTemplate (#13589)
    • Save playbook service template (#13600)
    • Allow adding disks to vm provision via api and automation (#13318)
    • Move MiqAeEngine components into the appropriate directory in preparation for extracting the Automate engine into its own repository (#13406)
    • Automate Retry with Server Affinity (#13363)
    • Service Model: Added container components for service model (#12863)
    • Expose attach/detach method for volume (#14289)
    • Allow passing options when adding a disk in automate. (#14350)
  • Platform

    • Add remote servers to rake evm:status_full (#14107)
    • Include embedded ansible logs in log collection (#14770)
    • Ansible Tower
      • Create initial tower objects when we start the worker (#14283)
      • Add embedded_ansible to the list of roles that need apache (#14353)
      • Raise a notification when the embedded ansible server starts (#14529)
      • Move embedded ansible worker thread up to start_runner (#14256)
      • Run #authentication_check after the embedded ansible service starts (#14235)
      • Rely on 10 minute starting_timeout instead of a heartbeating thread (#14053)
      • Add methods for configuring and starting Ansible inside (#13584)
      • New class for determining the availability of embedded ansible (#13435).
    • Authentication: Ensure user name is set even when common LDAP attributes are missing. (#14142)
    • RBAC
      • Introduce CloudTenancyMixin to fix RBAC for cloud_tenant based models (#13535)
      • Add RBAC for rss feeds (#14041)
      • Add View and Modify/Add RBAC features for the Embedded Automation Provider (#13716)
      • Add list of providers to RBAC on catalog items (#13395)
    • Reporting
      • Add archived Container Groups (#13810)
      • Adding new report and widgets for Containers (#13055)
      • Add option for container performance reports (#11904)
    • Chargeback
      • Chargeback without C & U (#13884)
      • Containers: Enterprise rate parent for chargeback (#14079)
      • Add tenant scoping for resources of performance reports in RBAC (#14095)
      • Introduce Vm/Chargeback tab backend (#13687)
      • Charge SCVMM's vm only until it is retired. (#13451)
    • Add a #backlog method to PglogicalSubscription objects (#14010)
    • Metrics: Collect metrics for archived containers (#13686)
  • Providers

    • Enhanced inventory collector target and parser classes (#13907)
    • Force unique endpoint hostname only for same type (#12912)
    • New folder targeted refresh [Depends on vmware/32] (#14460)
    • Amazon
      • Namespace the mappable object types add Amazon VM and Image types. (#14288)
      • Map Amazon labels to tags (#14436)
      • Import AWS Tags as CustomAttributes for Instances and Images (#14202)
      • Move amazon settings to ManageIQ/manageiq-providers-amazon (#13192)
    • Ansible Tower
      • Tower CUD check and run refresh_in_provider followed by refreshing manager (#15025)
      • Tower CUD to invoke targeted refresh (#14954)
      • Refresh job_template -> playbook connection (#14432)
      • Prepare parameter hash before passing to Tower API credential CU (#14483)
      • Add manageiq to the extra_var before launching a job (#14354)
      • Use embedded tower default objects for ManageIQ (#14467)
      • Catalog item accepts remove_resources option (#14328)
      • Enable scm_credential type in refresh (#14471)
      • Add a concern for storing and accessing embedded ansible object ids (#14377)
      • Added Inventory to EmbeddedAnsible namespace (#14282)
      • Create/Update/Delete Ansible Tower Projects and Credentials via queue (#14305)
      • Add retire_now to Embedded Ansible job. (#14479)
      • Destroy Ansible Playbook job templates (#14461)
      • Add job_plays to job (#14331)
      • Add EmbeddedAnsible workers to WorkerManagement (#14234)
      • Refresh to pick up scm options for Tower Project (#14220)
      • Refresh to pick up extra attributes of Ansible Credentials (#14106)
      • Enhanced dependency and references scanning (#13995)
      • Introducing find by and find or build by methods (#13926)
      • Model change for Ansible Tower Credential (#13773)
      • Add missing ConfigurationScriptSource hierarchy and Automate models (#14069)
      • Models for EmbeddedAnsible provider (#13879)
      • Refresh inventory (#13807)
      • Event Catcher (#13423)
      • Migrate AnsibleTower ConfigurationManager to AutomationManager (#13630)
    • Cloud Providers
      • Enable cloud_tenant based RBAC for additional models (#14036)
      • Update Cloud Image View to Differentiate Between Snapshots and Non-Snapshots (#12970)
      • Allow cloud volume to provide a list of volumes for attach (#14058)
      • Add relationship between VM and ResourceGroup. (#14000)
      • Support operation create on CloudObjectStoreContainer (#14269)
    • Console: Add product feature for VMware WebMKS HTML consoles (#13945)
    • Containers
      • Support alerts on container nodes (#13812)
      • Add External Logging Support SupportFeature (#13319)
      • Add datawarehouse logger (#13813)
      • Instantiate Container Template (#10737)
      • Collect node custom attributes from hawkular during refresh (#12924)
      • Add alerts on container nodes (#13323)
    • Middleware
      • Cross-linking Middleware server model with containers. (#14043)
      • Be able to use tls when connecting to Hawkular (#14054)
      • Send data source properties when adding data source operation is performed (#13937)
      • Middleware server group power ops (#13741)
    • OpenStack
      • Use task queue for set/unset node maintenance (#13657)
      • Use task queue for CRUD operations on auth key pair (#13464)
      • Add OpenStack excon settings (#14172)
      • Add OpenStack infra provider event blacklist (#14369)
    • Physical Infrastructure
      • Add Physical Infra Topology feature (#14589)
      • Add physical infra refresh monitor (#14424)
      • Add physical server views to the product (#14031)
    • Pluggable
      • Ems event groups - allow provider settings (deeper_merge edition) (#14177)
      • Add registered_provider_plugins to Vmdb::Plugins (#13983)
    • Red Hat Virtualization
      • New provider event parsing (#14399)
      • Use the new OvirtSDK for refresh (#14398)
      • Don't pass empty lists of certificates to the oVirt SDK (#14160)
      • Always pass the URL path to the oVirt SDK (#14159)
      • Set 'https' as the default protocol when using oVirt SDK (#14157)
    • VMware Infrastructure: Validate CPU and Memory Hot-Plug settings in reconfigure (#12275)
  • REST API

    • Remove all service resources (#14584)
    • Remove resources from service (#14581)
    • Bumping up version to 2.4.0 for the Fine Release (#14541)
    • Exposing prototype as part of /api/settings (#14690)
    • Add Alert Definitions (MiqAlert) bulk edits support (#14397)
    • Add_resource to Service api (#14409)
    • API Authentication create (#14217)
    • Added support for API slugs (#14344)
    • Enable put/patch on configuration script sources and authentications (#14381)
    • API Enhancement to support fine-grained settings whitelisting (#13948)
    • Create configuration script sources (#14006)
    • Edit Authentications API (#14319)
    • Delete and update configuration script sources (#14323)
    • Delete authentication in provider (#14307)
    • Collections API for Cloud Volumes (#14260)
    • Orchestration stack subcollection (#14273)
    • Add cloud types to authentication options (#13951)
    • Adds host to physical server relationship (#14026)
    • Adding support for a format_attributes parameter (#14449)
    • Added Api::Utils.resource_search_by_href_slug helper method (#14443)
    • Enhanced API to have a task created for provider refreshes (#14387)
    • Add Alert Definitions (MiqAlert) REST API support (#13967)
    • Enhance service edit to accept attribute references (#14124)
    • Delete service templates via POST (#14112)
    • Delete services via POST (#14111)
    • Delete templates via POST (#14110)
    • Exposing regions as a primary collection /api/regions (#14109)
    • Add authentications sub collection to ConfigurationScriptPayload (#14002)
    • Improve error handling on destroy action (#14098)
    • Differentiate Vms/Instances in messages (#13971)
    • Authentications Read and Delete api (#13780)
    • Create service template REST api (#12594)
    • Snapshots revert API (#13829)
    • Add snapshotting for instances in the API (#13729)
    • Bulk unassign tags on services and vms (#13712)
    • Add bulk delete for snapshots API (#13711)
    • Improve create picture validation (#13697)
    • Configuration Script Sources API (#13626)
    • Api enhancement to support optional collection_class parameter (#13845)
    • Allows specification for optional multiple identifiers (#13827)
    • Add config_info as additional attribute to Service Templates API (#13842)
    • API collection OPTIONS Enhancement to expose list of supported subcollections (#13681)
    • API Enhancement to support filtering on id attributes by compressed id's (#13645)
    • Adds remove_approver_resource to ServiceRequestController. (#13596)
    • Add OPTIONS method to Clusters and Hosts (#13574)
    • VMs/Snapshots API CRD (#13552)
    • Add alert actions api (#13325)
    • Copy orchestration template (#13053)
    • Expose Request Workflow class name (#13441)
    • Sort on sql friendly virtual attributes (#13409)
    • Expose allowed tags for a request workflow (#13379)
  • SmartState

    • Make docker registry & repo configurable for 'image-inspector' (#8439)
    • Warn if OpenSCAP binary not available (#13878)
  • Storage

    • Add Amazon EC2 block storage manager EMS (#13539)
  • User Interface (Classic)

    • Add missing ui_lookup for Repository (#14485)
    • Remove 'retired' column from the services list (#14378)
    • Changes for Embedded Ansible models (#14199)
    • Add missing fields to Middleware views (#14115)
    • Add multiselect option to dropdowns (#10270)
    • Core changes for Ansible Tower Playbooks & Repositories UI (#13731)
    • Core changes for Ansible Credentials UI (#14020)
    • Added changes to show Catalog Item type in UI (#13516)
    • Physical Infrastructure provider (lenovo) changes required for the UI (#13735)
    • Adding Physical Infra Providers Menu Item (#13587)
    • Added new features for the Ansible UI move to the Automation tab (#13526)
    • Added new features for the Ansible UI move to the Automation tab (#13526)
    • Add edit functionality for generic object UI (#11815)

Changed

  • Automate

    • Switched to the latest version of ansible_tower_client gem (#14117)
    • Update the service dialog to use the correct automate entry point (#13955)
    • Change default provisioning entry point for AutomationManagement. (#13762)
    • Look for resources in the same region as the selected template during provisioning. (#13045)
  • Performance

    • Optimize number of transactions sent in refresh (#14670)
    • Optimize store_ids_for_new_records by getting rid of the O(n^2) lookups (#14542)
    • Do not run MiqEventDefinitionSet.seed twice on every start-up (#14725)
    • Do not run these seeds twice (#14726)
    • Speed up MiqEventDefinitionSet.seed (#14721)
    • Do not store whole container env. in the reporting worker forever (#14807)
    • Make Widget run without timezones (#14386)
    • boot skips all seeding with env variable (#14207)
    • Add a cache for full Feature objects (#14037)
    • Report Widget (#14285)
    • Skip relationship query when we know there are none (#14480)
    • Report Widget (#14285)
    • Speed up widget generation (#14224)
    • Fix ordering by VMs in NetworkManagers list (#14092)
    • Use eager_load for extra_resources (#13904)
    • Perfomance fix for Object Storage Manager deletion (#14009)
    • Avoid N+1 queries by including snapshots (#13833)
    • Load created Vms in batches so they don't load all in memory (#14067)
    • Do not keep all association records in the memory (#14066)
    • Scanning for used attributes for query optimizations (#14023)
  • Platform

    • RBAC
      • Allow descendants of Host model to use belongsto filters in RBAC (#14852)
      • Add chargeback to shortcuts to allow access to chargeback only. (#14809)
      • Define new product features for specific types of Storage Managers (#14745)
    • Reporting
      • Support dots and slashes in virtual custom attributes (#14329)
      • Link recently_discovered_pods widget to rpt (#14493)
    • Allow regex for MiqExpression::Field which contains numbers in associations (#14229)
    • Move the call to reload ntp settings to the server only (#14208)
    • Ansible Tower: Use http_port extra variables instead of nginx ones (#14204)
    • Fix ordering by VMs in NetworkManagers list (#14092)
    • Configure apache balancer with up to 10 members at startup (#14007)
    • Remove admin role for tenant admin (#14081)
    • Ansible: Properly monitor the embedded ansible service (#13978)
    • Remove the mechanisms around "configuring" central admin (#13966)
    • Allow users to input ipv6 where it makes sense (#70)
    • Rename events "ExtManagementSystem Compliance*" -> "Provider Compliance*" (#13388)
    • Use the new setup script argument types (#14313)
    • Exclude chargeback lookup tables in replication (#14466)
  • Providers

    • Move azure settings to azure provider (#14345)
    • Ansible event catcher - mark event_monitor_runnning when there are no events at startup (#13903)
    • Virtual Infrastructure: Deprecate callers to Address in Host (#14138)
    • OpenStack
      • Add openstack cloud tenant events (#14052)
      • Set the raw power state when starting Openstack instance (#14122)
    • Use task queue for VM actions (#13782)
    • Red Hat Virtualization
      • Drop support for oVirt /api always use /ovirt-engine/api (#14469)
      • Resolve oVirt IP addresses (#13767)
      • Save host for a VM after migration (#13511)
  • Storage

    • Rename Amazon EBS storage manager (#13569)
  • User Interface (Classic)

Fixed

  • Automate

    • Retirement: Change retire_now to pass zone_name to raise_retirement_event. (#15026)
    • Added finish retirement notification. (#14780)
    • Add policy checking for retirement request. (#14641)
    • Fix services always invisible (#14403)
    • Fixes tag control multi-value (#14382)
    • Don't allow selecting resources from another region when creating a catalog item (#14468)
    • Merge service template options on update (#14314)
    • Fix for Service Dialog not saving default value for drop down or radio button (#14240)
    • Avoid calling $evm.backtrace over DRb to prevent DRb-level mutex locks (#14239)
    • Fix Automate domain reset for legacy directory. (#13933)
    • Services: Power state for services that do not have an associated service_template (#13785)
    • Provisioning: Update validation regex to prohibit only numbers for Azure VM provisioning (#13730)
    • Allow a service power state to correctly handle nil actions (#13232)
    • Increment the ae_state_retries when on_exit sets retry (#13339)
    • Ansible Tower
      • Ensure job is refreshed in the condition of state machine exits on error (#14684)
      • Parse password field from dialog and decrypt before job launch (#14636)
      • Ansible Service: skip dialog options for retirement (#14602)
      • Modified to use Embedded Ansible instance (#14568)
    • Control
      • Add policy checking for request_host_scan. (#14427)
      • Add the logic to allow a policy to prevent request_vm_scan. (#14370)
      • During control action host was not being passed in (#14500)
    • Provisioning
    • Remove reverse! call for timezone after converting structure to hash (#14772)
    • First and Last name are no longer required. (#14694)
    • Use fetch_path to handle the case where :ws_values is nil. (#14797)
    • Services: Service#my_zone should only reference a VM associated to a provider. (#14696)
  • Platform

    • Chargeback
      • Group chargeback with unknown image under 'unknown image' (#14816)
      • Charge since the first MetricRollup (#14666)
      • Group results with unknown project under 'unknown project' (#14811)
    • Reports: Add Container entities to TAG_CLASSES (#14535)
    • Make worker_monitor_drb act like a reader (#14638)
    • Do not pass nil to the assignment mixin (#14713)
    • Use base class only when it is supported by direct rbac (#14665)
      • Metrics: Split metric collections into smaller intervals (#14332)
    • Add balancer members after configs have been written (#14311)
    • MiqApache::Conf.create_balancer_config expects a :lbmethod key (#14306)
    • If we can't update_attributes on a queue row, set state to error (#14365)
    • Do not truncate(255) message attribute in miq_tasks table (#14105)
    • Fix "Multiple Parents Found" issue when moving a relationship. (#14060)
    • Core
      • Fix missing reason constants (#13919)
      • Rescue worker class sync_workers exceptions and move on (#13976)
    • Reporting: Ignore custom attributes that have a nil name (#14055)
    • Chargeback
      • Skip calculation when there is zero consumed hours (#13723)
      • Bring currency symbols back to chargeback reports (#13861)
      • Fix tier selection when using different units. (#13593)
      • Fix rate adjustment rounding bug (#13331)
      • Charge only for past hours (#13134)
      • Delegate custom attributes to images in ChargebackContainerImage (#14395)
    • Add MiqUserRole to RBAC (#13689)
    • Fix broken C&U collection (#13843)
    • Instead of default(system) assign current user to generating report task (#13823)
    • Tenant admin should not be able to create groups in other tenants. (#13483)
    • Replication: Expose a method for encrypting using a remote v2_key (#13083)
  • Providers

    • Fixing full_name not returning docker_id when it should (#14412)
    • Remove queue serialization (#13722)
    • Fix general CloudNetwork class_by_ems method (#14392)
    • Prevent a DVPortGroup from overwriting a LAN with the same name in provisioning (#14292)
    • Fix EmsRefresh miq_callback when merging queue items (#14441)
    • Pass hosts as a parameter to create the service dialog (#14507)
    • Provide better error message when migrating to the same host (#14155)
    • Fixed refresh & save for Physical Infra. (#14351)
    • Always pass valid date format (#14296)
    • Check if project has credential before try to use it (#14297)
    • Ansible Tower
      • Fix saving hosts in ansible playbook job (#14522)
      • Add missing authentication require_nested (#14018)
      • Disable SSL verification for embedded Ansible. (#14078)
      • Allow create_in_provider to fail (#14049)
      • It's _log not log and we don't need the undefined variable prefix (#14846)
      • Reload the ems object in the event catcher if we fail to start (#14736)
      • Add multiline to ssh attribute (#14707)
      • Create/update Tower project with scm_credential (#14618)
      • Nullify dependents when destroying configuration_script_sources/configuration_scripts (#14567)
      • Use organization instead of organization_id when talking to Tower (#14538)
      • Fix task name for task that create Tower project (#14656)
      • An Ansible Tower "Inventory" is a ManageIQ "InventoryRootGroup" (#14716)
      • Fix for External Automation Manager Inventory Group (#14691)
      • Notification after Tower credential CUD operations (#14625)
      • Product features for embedded ansible refresh (#14664)
    • Console: Added missing parameter when requesting OpenStack remote console (#13558)
    • Containers
      • Container Volumes should honor tag visibility (#14517)
      • Fix queueing of historical metrics collection (#14695)
      • Identifying container images by digest only (#14185)
      • Create a hawkular client for partial endpoints (#13814)
      • Container managers #connect: don't mutate argument (#13719)
      • Fix creating Kubernetes or OSE with credentials.auth_key (#13317)
    • Google: Ensure google managers change zone and provider region with cloud manager (#14742)
    • Metrics: Handle exception when a metrics target doesn't have an ext_management_system (#14718)
    • Microsoft Infrastructure
      • Enable VM reset functionality (#14123)
      • Ensure remote shells generated by SCVMM are closed when finished (#14591)
    • Middleware: Hawkular Allow adding datawarehouse provider with a port other than 80 (#13840)
    • OpenStack Cloud Network Router: Raw commands are wrapped in raw prefixed methods (#13072)
    • OpenStack Infra: Ssh keypair validation fixes (#13445)
    • Pluggable: Changing ordering of checks to see if snapshot operations are supported (#14014)
    • Red Hat Virtualization
      • Add oVirt cloud-init customization template (#14139)
      • Disks should be added as 'active' in RHV (#13913)
      • Use the provided database name during metric collection (#13909)
      • Fix authentication of metrics credentials in RHV (#13981)
      • Set timeout for inventory refresh calls (#14245)
      • Fix Host getting disconnected from Cluster when migrating a VM in (#13815)
  • REST API

    • Allow partial POST edits on miq policy REST (#14518)
    • Return provider_class on provider requests (#14657)
    • Return correct resource hrefs (#14549)
    • Removing ems_events from config/api.yml (#14699)
    • Ensure actions are returned correctly in the API (#14033)
    • Return result of destroy action to user not nil (#14097)
    • Convey a useful message to queue_object_action (#13710)
    • Fix load balancers access in API (#13866)
    • Fix cloud networks access in API (#13865)
    • Fix schedule access in API (#13864)
  • SmartState

    • Timeout was not triggered for Image Scanning Job after removing Job#agent_class (#14791)
  • User Interface

    • Fix mixed values in Low and High operating ranges for CU charts (#14324)
    • Revert "Remove unneeded include from reports" (#14439)
    • Added missing second level menu keys for Storage menu (#14145)
    • Update spice-html5-bower to 1.6.3 fixing an extra GET .../null request (#13889)
    • Add the Automation Manager submenu key to the permission yaml file (#13931)
    • Added missing Automate sub menu key to permissions yml. (#13819)

Euwe-3

Added

Automate

  • Allow passing options when adding a disk in automate. (#14350)
  • Added container components for service model. (#12863)
  • Services
    • Add automate engine support for array elements containing text values. (#11667)
    • Add multiselect option to dropdowns (#10270)

Platform

  • Authentication: Ensure user name is set even when common LDAP attributes are missing. (#14142)
  • Chargeback
    • Add tenant scoping for resources of performance reports in RBAC (#14095)
    • Enterprise rate parent for containers chargeback (#14079)
  • RBAC: Add RBAC for rss feeds (#14041)

Providers

  • Openstack
    • Add openstack excon settings (#14172)
    • Add :event_catcher_openstack_service setting (#13985)
  • Red Hat Virtualization Manager: Resolve oVirt IP addresses (#13767)

Changed

Performance

  • Optimize number of transactions sent in refresh (#14670)
  • Make Widget run without timezones (#14386)
  • Speed up widget generation (#14224)

Platform

  • RBAC: Remove admin role for tenant admin (#14081)
  • Reporting: Support dots and slashes in virtual custom attributes (#14329)

Fixed

Automate

  • Provisioning: Add multiple_value option to expose_eligible_resources. (#13853)
  • Services
    • Fixes tag control multi-value (#14382)
    • Power state for services that do not have an associated service_template (#13785)

Platform

  • Appliance: Move the call to reload ntp settings to the server only (#14208)
  • Chargeback: Do not pass nil to the assignment mixin (#14713)
  • Fix "Multiple Parents Found" issue when moving a relationship. (#14060)
  • Workers
    • Make worker_monitor_drb act like a reader again! (#14638)
    • Fix missing reason constants (#13919)
    • Add balancer members after configs have been written (#14311)
    • Rescue worker class sync_workers exceptions and move on (#13976)
    • Configure apache balancer with up to 10 members at startup (#14007)
    • If we can't update_attributes on a queue row set state to error (#14365)

Performance

  • Optimize store_ids_for_new_records by getting rid of the O(n^2) lookups (#14542)

Providers

  • Containers
    • Delegate custom attributes to images in ChargebackContainerImage (#14395)
    • Fix queueing of historical metrics collection (#14695)
    • Identifying container images by digest only (#14185)
    • Container Project reports: add archived Container Groups (#13810)
  • Metrics
    • Split metric collections into smaller intervals (#14332)
    • Handle exception when a metrics target doesn't have an ext_management_system (#14718)
  • Microsoft: SCVMM - Enable VM reset functionality (#14123)
  • Openstack: Set the raw power state when starting Openstack instance (#14122)
  • Red Hat Virtualization Manager
    • Set timeout for inventory refresh calls (#14245)
    • Add oVirt cloud-init customization template (#14139)
    • Fix authentication of metrics credentials in RHV (#13981)

SmartState

  • Add the logic to allow a policy to prevent request_vm_scan. (#14370)

User Interface (Classic)

  • Update spice-html5-bower to 1.6.3 fixing an extra GET .../null request (#13889)
  • Fix mixed values in Low and High operating ranges for CU charts (#14324)

Euwe-2

Added

Automate

  • Automate Retry with Server Affinity (#13543)

Platform

  • Chargeback
    • Chargebacks for SCVMM (rollup-less) (#13419)
    • Chargebacks for SCVMM (rollup-less) [2/2] (#13554)
    • Prioritize rate with tag of VM when selecting from more rates (#13556)
  • Reporting: Add option for container performance reports (#11904)

Providers

  • Ansible Tower: Advanced search for Ansible Tower Jobs not visible on switch from a different tab (#12717)
  • Containers: Common mixin: ui_lookup should get a string (#13389)
  • Microsoft Azure: Delete all resources when deleting an Azure stack (#24)

User Interface (Classic)

  • Ops_rbac - group detail - don't render trees that are not visible (#13399)
  • Launch a URL returned by an automate button (#13449)
  • Remove confirmation when opening the HTML5 vnc/spice console. (#13465)
  • Cloud Network UI: Task queue (#13416)

Changed

Automate

  • Look for resources in the same region as the selected template during provisioning. (#13045)

Performance

  • Don't lookup category names if tag tree view all (#13308)

Platform

  • Add list of providers to RBAC on catalog items (#13395)
  • Gem changes
    • Upgrade azure-armrest gem to 0.5.2. (#13670)
    • Use version 0.14.0 of the 'ovirt' gem (#13425)
    • Updated PatternFly to v3.15.0 (#13404)

Providers

  • Network: Added exception clases for router add/remove interfaces (#13005)

User Interface

  • UX improvements for attaching Openstack cloud volumes to instances (#13437)
  • Add latest VMRC API version (#184)

Fixed

Notable fixes include:

Automate

  • Inconsistent attribute names inside Automate Engine (#13545)
  • Allow a service power state to correctly handle nil actions (#13232)
  • Increment the ae_state_retries when on_exit sets retry (#13339)

Platform

  • Chargeback
    • BigDecimal not working properly on ruby 2.3.1 (#13634)
    • Skip calculation when there is zero consumed hours (#13723)
  • Tenant admin should not be able to create groups in other tenants. (#13483)
  • Add MiqUserRole to RBAC (#13689)
  • Reporting: Introduce report result purging timer (#13429)

Providers

  • Hawkular: Adding alt and title attributes for buttons (#13468)
  • RHEV
    • Save host for a Vm after migration (#13618)
    • Fix Host getting disconnected from Cluster when migrating a VM in RHEV (#13836)
    • Disks should be added as 'active' in RHV (#13913)
  • OpenStack
    • Add Openstack metric service to Settings (#13918)
    • OpenStack Infra: ssh keypair validation fixes (#13445)
    • Console: Added missing parameter when requesting OpenStack remote console (#13558)

User Interface (Classic)

  • Pulled out simulation parameters (#13472)
  • Advanced search not working for the ansible job (#12719)
  • Fix missing Smart State Analysis button on Cloud Instances list view (#13422)
  • Remove disabling of 'instance_retire' button (#14016)
  • Fix Snapshot revert (#13986)
  • Make created filters in Datastores visible and fix commiting filters (#13621)
  • Add missing icons for provider policies & compliance events (#13502)
  • Allow configuration managers providers and configuration scripts trees to display the advanced search box (#13763)
  • Cloud Subnet UI: Task queue validation buttons (#13490)
  • Tenant admin should not be able to create groups in other tenants. (#151)
  • Floating IPs: Adds missing route for wait_for_task (#192)
  • Fix valid_tenant check in ops (#203)
  • Red Hat Enterprise Virtualization: Removed the option to migrate the VMs outside of the cluster. (#207)
  • Fix check_box_tag parameters for snap_memory (#217)
  • Add list of roles to rbac (#271)
  • Fix assigning roles in group form (#296)
  • Fix repeating values on Y-axis of C&U charts (#40)

Euwe-1

Added

Automate

  • Automate Model

    • Added top_level_namespace to miq_ae_namespace 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: add_to_service / remove_from_service
    • 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

    • extend_retires_on 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 $evm.create_notification
  • Provisioning

    • Service Provisioning: Exposed number_of_vms 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

Platform

  • 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 'fixed_compute_metric' 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 repmgr to support automatic failover
      • Maintain list of active standby database servers
      • Added pg-dsn_parser for converting DSN to a hash
    • DB Cluster - Primary, Standbys
    • Uses repmgr (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#role_allows and User#role_allows? 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

Providers

  • 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

REST API

  • 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 one’s 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

Service UI

  • 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

SmartState

  • 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

User Interface

  • 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 gettext’s 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

Changed

Automate

  • 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

Performance

  • 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 collection.
  • 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

Platform

  • 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

Providers

  • 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

REST API

  • 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

User Interface

  • 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

Removed

  • Platform
    • Removed rubyrep
    • Removed hourly checking of log growth and rotation if > 1gb
  • User Interface: Explorer Presenter RJS removal

Fixed

Notable fixes include:

Automate

  • 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: sysprep_product_id field is no longer required
    • Provisioned Notifications - Use Automate notifications instead of event notifications.
  • 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

Platform

  • 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

Providers

  • 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 port_security_enabled 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

REST API

  • 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 miq_product_features

SmartState

  • Update logging and job error message when getting the service account for Containers

User Interface

  • 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

Darga

Added

Automate

  • 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
    • wait_for_ip method added to state-machine
    • ansible_tower_client 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, find_by, and find_by!
    • Azure VM retirement modeling added
    • Storage: Added storage_clusters association
    • Openstack::NetworkManager::Network
      • cloud_subnets
      • network_routers
      • public_networks
    • Openstack Event compute.instance.power_on.end: added Policy event for vm_start
  • 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

    • quota_source_type 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.

Platform (Appliance)

  • 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 config/settings/development.local.yml
  • 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 New Schema Specs for New Replication
    • 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

Providers

  • 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

Provisioning

  • 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

REST API

  • 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 one’s 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 user’s default language and support for Dynamic Dialogs.
  • Support for Case insensitive sorting
  • Adding new VM actions
  • Authentication: Option to not extend a token’s TTL
  • CRUD for Tenant quotas
  • Support for /api/settings
  • Added support for Shopping Carts
  • Automation Requests approve and deny actions

SmartState

  • 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 gems/pending.
  • LVM thin volume support

Tenancy

  • 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

User Interface

  • 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

Removed

  • Providers: Removed Amazon SDK v1

Notable Fixes and Changes

  • 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
  • Self Service UI 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 create_provision_request 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 ansible_tower_client gem
      • 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

Capablanca Release

Added Features

Providers

  • 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 t2.large 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-armrest gem
    • 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

Provisioning

  • 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

User Interface

  • 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

Event Switchboard

  • 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

Tenancy

  • 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

Control

  • 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

REST API

  • 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

  • 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

SmartState

  • Support for VMware VDDK version 6
  • Storage: Added FCP, iSCSI, GlusterFS

Security

  • 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

Appliance

  • 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 4.2
  • 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 => large_file_linux gem
  • MiqBlockDevOps => linux_block_device and memory_buffer gems
  • MiqMemory => memory_buffer gem
  • SlpLib => slp 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

Removed

  • Core: SOAP server side has been removed

Notable Fixes and Changes

  • 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/api_controller
  • 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

Botvinnik Release

Added Features

Providers

  • 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 message.

Provisioning

  • 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.

User Interface

  • 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

REST API

  • 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.

Automate

  • 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

Fleecing

  • Qcow3
  • VSAN (VMware)
  • OpenStack instances
  • Systemd fleecing support
  • XFS filesystem support

i18n

  • All strings in the views have been converted to use gettext (i18n) calls
  • Can add/update i18n files with translations

Service Dialogs

  • 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

IPv6

  • 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

Security

  • Lock down POODLE 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 memcache_server_opts to bind on localhost by default

Appliance

  • 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 2.0
  • 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 user_interface and web_services 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

Removed

  • 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_ddl_transaction! from Rails master to our fork
    • Update the main app to use disable_ddl_transaction!
    • 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

Notable Fixes and Changes

  • 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 remove_from_disk method on a VM in Automate.
  • Providers
  • server_monitor_poll 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 millions of events.
  • Fixed inheriting tags from resource pool.
  • UI: Fixed RBAC / Feature bugs