Description of problem: As described by user: When designing the form for a service, we defined a set of fields. Some of them cannot be reconfigured. We set for these ones the option to not be reconfigurable (in the advanced property). Despite this configuration, when reconfiguring a deployed service, you can change ALL fields. See screenshots in attachement. detailed explain: It is something else ;) In cloudforms you can: - order a service - once deployed, you can select it from "My Services", click in the menu bar on the top on "configuration" and click on "reconfigure the service" So when I say "reconfigure the service" I'm talking about the out of the box feature of Cloudforms you can access from the menu. The facts are: - when you deploy a new services, you have some information to give in input - after being deployed, you may want to change some of these values (for example you made a mistake in the name of the service). But depending on the implementation and/or limitation of the products, some parameters cannot be changed. I take one example: currently we are developing a service to configure a new network into the datacenter (let's say you want to create a new network 192.168.50.0/24). When you order it, you give a name, a mask and the network address (ipv4). Currently, it is not possible, after deployment, to modify the mask or the network address (there is no process implemented for the moment to modify it on an existing network). Please see the new screenshots I will attach now. I switch the interface to english to be more readable for you. That's why, we think, in cloudforms for any field of a form, you can set a property that a field is not reconfigurable (see my screenshot of my initial post). The problem is: it has not effect and thus there are 2 possibilities: 1) this is an upstream bug in cloudforms 2) there is some misconfiguration or problem on our instance that prevent that functionality to work correctly Version-Release number of selected component (if applicable): On a newly freshed installed CloudForms 5.0 with a migrated database originated from our previous CloudForms 4.7 cluster. CFME version: 5.11.3.1 How reproducible: always Steps to Reproduce: 1. Create Service catalog item with value set as Recofigurable to No. 2. 3. Actual results: Value is reconfigurable in ordered service. Expected results: Unable to reconfigure values in ordered service. Or workaround is welcome. Additional info: This is a no go for us for going to production (which was planned in 2 weeks, we test it in preprod for some weeks now). This is very urgent for customer, customer is able to reproduce error in new fresh instance without customization.
Error from evm.log: [----] E, [2020-05-14T14:39:32.299814 #30159:2b23a8d15938] ERROR -- : MIQ(MiqAeEngine.deliver) Error delivering {"dialog_tenant"=>"smals.be", "dialog_network_name"=>"", "dialog_network_provider"=>"openstack", "Array::dialog_compute_providers"=>"[\"openstack\"]", "dialog_type"=>"app", "dialog_router"=>"smals-router@openstack", "dialog_prefixlen"=>28, "dialog_dns_provider"=>nil, "User::user"=>1000000000029, "ServiceTemplate::service_template"=>1000000000053} for object [ServiceTemplate.1000000000053] with state [] to Automate: Method exited with rc=Unknown RC: [1] [----] E, [2020-05-14T14:39:32.301608 #30159:2b23a8d15938] ERROR -- : [NoMethodError]: undefined method `root' for true:TrueClass Method:[rescue in values_from_automate] [----] E, [2020-05-14T14:39:32.301851 #30159:2b23a8d15938] ERROR -- : /var/www/miq/vmdb/app/models/dynamic_dialog_field_value_processor.rb:14:in `values_from_automate' /var/www/miq/vmdb/app/models/dynamic_dialog_field_value_processor.rb:3:in `values_from_automate' /var/www/miq/vmdb/app/models/dialog_field.rb:191:in `values_from_automate' /var/www/miq/vmdb/app/models/dialog_field_sorted_item.rb:117:in `raw_values' /var/www/miq/vmdb/app/models/dialog_field_sorted_item.rb:6:in `initialize_value_context' /var/www/miq/vmdb/app/models/dialog.rb:118:in `each_value' /var/www/miq/vmdb/app/models/dialog.rb:118:in `initialize_value_context' /var/www/miq/vmdb/app/models/resource_action_workflow.rb:154:in `load_proper_dialog_values' /var/www/miq/vmdb/app/models/resource_action_workflow.rb:133:in `load_dialog' /var/www/miq/vmdb/app/models/resource_action_workflow.rb:16:in `initialize' /var/www/miq/vmdb/app/models/dialog.rb:144:in `new' /var/www/miq/vmdb/app/models/dialog.rb:144:in `content' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/service_dialogs_controller.rb:24:in `fetch_service_dialogs_content' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/base_controller/renderer.rb:279:in `fetch_direct_virtual_attribute' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/base_controller/renderer.rb:267:in `block in expand_virtual_attributes' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/base_controller/renderer.rb:263:in `each' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/base_controller/renderer.rb:263:in `expand_virtual_attributes' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/base_controller/renderer.rb:79:in `resource_to_jbuilder' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/base_controller/renderer.rb:17:in `render_resource' /opt/rh/cfme-gemset/bundler/gems/cfme-api-a4b8c23b7b8b/app/controllers/api/base_controller.rb:90:in `show' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/base.rb:186:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/rendering.rb:30:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/callbacks.rb:20:in `block in process_action' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:131:in `run_callbacks' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/callbacks.rb:19:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/rescue.rb:20:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `block in instrument' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/notifications/instrumenter.rb:21:in `instrument' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `instrument' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/instrumentation.rb:30:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/params_wrapper.rb:252:in `process_action' /opt/rh/cfme-gemset/gems/activerecord-5.1.7/lib/active_record/railties/controller_runtime.rb:22:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/base.rb:124:in `process' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal.rb:189:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal.rb:253:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/routing/route_set.rb:49:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/routing/route_set.rb:31:in `serve' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/journey/router.rb:50:in `block in serve' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/journey/router.rb:33:in `each' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/journey/router.rb:33:in `serve' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/routing/route_set.rb:844:in `call' /opt/rh/cfme-gemset/bundler/gems/cfme-graphql-6f72cac80e16/lib/manageiq/graphql/rest_api_proxy.rb:18:in `call' /opt/rh/cfme-gemset/gems/secure_headers-3.0.3/lib/secure_headers/middleware.rb:10:in `call' /var/www/miq/vmdb/lib/request_started_on_middleware.rb:12:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/etag.rb:25:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/conditional_get.rb:25:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/head.rb:12:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:232:in `context' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:226:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/cookies.rb:613:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/callbacks.rb:26:in `block in call' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:97:in `run_callbacks' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/callbacks.rb:24:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' /opt/rh/cfme-gemset/gems/railties-5.1.7/lib/rails/rack/logger.rb:36:in `call_app' /opt/rh/cfme-gemset/gems/railties-5.1.7/lib/rails/rack/logger.rb:26:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/remote_ip.rb:79:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/request_id.rb:25:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/executor.rb:12:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/sendfile.rb:111:in `call' /opt/rh/cfme-gemset/gems/railties-5.1.7/lib/rails/engine.rb:522:in `call' /usr/share/gems/gems/puma-3.7.1/lib/puma/configuration.rb:232:in `call' /usr/share/gems/gems/puma-3.7.1/lib/puma/server.rb:578:in `handle_request' /usr/share/gems/gems/puma-3.7.1/lib/puma/server.rb:415:in `process_client' /usr/share/gems/gems/puma-3.7.1/lib/puma/server.rb:275:in `block in run' /usr/share/gems/gems/puma-3.7.1/lib/puma/thread_pool.rb:120:in `block in spawn_thread' [----] I, [2020-05-14T14:39:32.306623 #23845:2b23a81b45bc] INFO -- : MIQ(MiqQueue.put) Message id: [1000021189297], id: [], Zone: [default], Role: [automate], Server: [], MiqTask id: [], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [MiqAeEngine.deliver], Timeout: [3600], Priority: [20], State: [ready], Deliver On: [], Data: [], Args: [{:object_type=>"MiqServer", :object_id=>1000000000002, :attrs=>{:event_type=>"evm_worker_start", :event_details=>"Worker started: ID [1000002930990], PID [17039], GUID [1335dc28-a379-41dc-8aea-b43dc50db2bb]", :type=>"MiqRemoteConsoleWorker", "MiqEvent::miq_event"=>1000006712881, :miq_event_id=>1000006712881, "EventStream::event_stream"=>1000006712881, :event_stream_id=>1000006712881}, :instance_name=>"Event", :user_id=>1000000000001, :miq_group_id=>1000000000002, :tenant_id=>1000000000001, :automate_message=>nil}]
Does this issue reproduce on the latest 5.11.5 errata?
Hello, Can you ask the customer for a copy of the dialog there are using? Was this a dialog created from an Ansible template? Thanks
https://github.com/ManageIQ/manageiq-ui-classic/pull/7074 https://github.com/ManageIQ/ui-components/pull/440
New commit detected on ManageIQ/ui-components/master: https://github.com/ManageIQ/ui-components/commit/f23d8914cc8c4368c69238dee88e2b0f302450bb commit f23d8914cc8c4368c69238dee88e2b0f302450bb Author: Milan Zazrivec <mzazrivec> AuthorDate: Fri May 22 15:39:49 2020 +0000 Commit: Milan Zazrivec <mzazrivec> CommitDate: Fri May 22 15:39:49 2020 +0000 dialog-user: add flag for dialog reconfigure https://bugzilla.redhat.com/show_bug.cgi?id=1837410 src/dialog-user/components/dialog-user/dialog.html | 2 +- src/dialog-user/components/dialog-user/dialogField.html | 16 +- src/dialog-user/components/dialog-user/dialogField.ts | 7 +- src/dialog-user/components/dialog-user/dialogUser.ts | 3 +- 4 files changed, 17 insertions(+), 11 deletions(-)
New commit detected on ManageIQ/manageiq-ui-classic/master: https://github.com/ManageIQ/manageiq-ui-classic/commit/2aa240f1e7f612c60863a4ab15fa6f5669d96190 commit 2aa240f1e7f612c60863a4ab15fa6f5669d96190 Author: Milan Zazrivec <mzazrivec> AuthorDate: Fri May 22 14:41:59 2020 +0000 Commit: Milan Zazrivec <mzazrivec> CommitDate: Fri May 22 14:41:59 2020 +0000 Add reconfigureMode parameter to dialog-user https://bugzilla.redhat.com/show_bug.cgi?id=1837410 app/views/shared/dialogs/_reconfigure_dialog.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commit detected on ManageIQ/ui-components/ivanchuk: https://github.com/ManageIQ/ui-components/commit/90e3d6988512af0bfae0a04670376e2078be07f7 commit 90e3d6988512af0bfae0a04670376e2078be07f7 Author: Martin Hradil <mhradil> AuthorDate: Tue May 26 12:30:01 2020 +0000 Commit: Martin Hradil <mhradil> CommitDate: Tue May 26 12:30:01 2020 +0000 Merge pull request #440 from mzazrivec/add_support_for_dialog_reconfigure dialog-user: add flag for dialog reconfigure (cherry picked from commit 5e79adf0217ff1068a5c336e8ef5c291fe2a5933) https://bugzilla.redhat.com/show_bug.cgi?id=1837410 src/dialog-user/components/dialog-user/dialog.html | 2 +- src/dialog-user/components/dialog-user/dialogField.html | 16 +- src/dialog-user/components/dialog-user/dialogField.ts | 7 +- src/dialog-user/components/dialog-user/dialogUser.ts | 3 +- 4 files changed, 17 insertions(+), 11 deletions(-)
Created attachment 1692289 [details] Examples of dialogs with reconfigurable and non-reconfigurable fields Hello, requested dialogs attached to case... --mheppler
ui-components version bump PRs Ivanchuk: https://github.com/ManageIQ/manageiq-ui-classic/pull/7079 https://github.com/ManageIQ/manageiq-ui-service/pull/1645 Jansa: https://github.com/ManageIQ/manageiq-ui-classic/pull/7081 https://github.com/ManageIQ/manageiq-ui-service/pull/1646 Master: https://github.com/ManageIQ/manageiq-ui-classic/pull/7082 https://github.com/ManageIQ/manageiq-ui-service/pull/1647
New commit detected on ManageIQ/manageiq-ui-classic/ivanchuk: https://github.com/ManageIQ/manageiq-ui-classic/commit/99af0dbde9f25b977a210bc99fca341308c512f5 commit 99af0dbde9f25b977a210bc99fca341308c512f5 Author: Martin Hradil <mhradil> AuthorDate: Tue May 26 12:32:50 2020 +0000 Commit: Martin Hradil <mhradil> CommitDate: Tue May 26 12:32:50 2020 +0000 Merge pull request #7074 from mzazrivec/add_reconfigure_mode_to_dialog_user Add reconfigureMode parameter to dialog-user (cherry picked from commit 7cbf7da2aac94fbc1a40516b6fc0311a0c63f2c7) https://bugzilla.redhat.com/show_bug.cgi?id=1837410 app/views/shared/dialogs/_reconfigure_dialog.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Hi Mike, Since you're only really interested in how the Service dialog presents, you can use any value for the reconfigure entry point because that isn't used until after the dialog has been submitted. By any value, I mean that you can use the dropdown on the reconfigure entry point field which will show you only state machines instances. You can select any instance because it doesn't have to do anything. Let me know if you have any questions. Thanks, Tina
Tested in 5.11.6.0, verified original behavior in 5.11.5.2 Services ordered with dialogs that included both reconfigurable and non-reconfigurable fields will have non-reconfigurable fields disabled when the service is reconfigured.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:2480
*** Bug 1733288 has been marked as a duplicate of this bug. ***