rhtconsulting / cfme-rhconsulting-scripts Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
Is this on the backlog? Having Alerts would complete the picture. Thoughts?
On import we are seeing catalogs and buttons pointed at incorrect dialogs and entry points. We can start with the button case.
This is on CFME 5.8.3.4
Button "Create Snapshot" pointed at an incorrect dialog
Button "Request Ownership" pointed at an incorrect dialog
As referenced below dialog_label:
is not defined for these buttons.
Export is below:
Actions_Vm_.yaml
---
:custom_buttons_sets:
- name: Actions|Vm|
description: Actions
set_type: CustomButtonSet
read_only:
mode:
custom_buttons:
- description: Add Additional Network
applies_to_class: Vm
applies_to_exp:
options:
:button_image: '2'
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Add Additional Network
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: vmware_add_nic_to_vm
dialog_label: Add Additional Network
- description: Assign VM Ownership
applies_to_class: Vm
applies_to_exp:
options:
:button_image: 4
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Assign VM Ownership
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: vmware_assign_owner
- description: Create Snapshot
applies_to_class: Vm
applies_to_exp:
options:
:button_image: 6
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Create Snapshot
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: create_custom_snapshot
- description: Remove Snapshots if over 1 snapshot
applies_to_class: Vm
applies_to_exp:
options:
:button_image: 7
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Remove Snapshots
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: vmware_remove_snapshots
- description: Request Ownership of VM
applies_to_class: Vm
applies_to_exp:
options:
:button_image: 14
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Request Ownership
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: vm_request_ownership
- description: Revert to Previous Snapshot
applies_to_class: Vm
applies_to_exp:
options:
:button_image: 11
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Revert to Previous Snapshot
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: vmware_revert_snapshot
- description: Change Network
applies_to_class: Vm
applies_to_exp:
options:
:button_image: '3'
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Change Network
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: vmware_change_vm_network
dialog_label: Change Network
- description: Set VM Credentials
applies_to_class: Vm
applies_to_exp:
options:
:button_image: '8'
:display: true
:open_url: false
:display_for: single
:submit_how: one
userid: admin
wait_for_complete:
name: Set VM Credentials
visibility:
:roles:
- _ALL_
applies_to_id:
resource_actions:
action:
ae_namespace: SYSTEM
ae_class: PROCESS
ae_instance: Request
ae_message:
ae_attributes:
request: set_vm_credentials
dialog_label: Set VM Credentials
set_data:
:button_order:
- Add Additional Network
- Assign VM Ownership
- Create Snapshot
- Change Network
- Remove Snapshots
- Request Ownership
- Revert to Previous Snapshot
- Set VM Credentials
:button_image: 1
:display: true
:group_index: 1
Exported yaml files from these scripts should be importable from the GUI and vice versa
/var/www/miq/vmdb ~
rake aborted!
ArgumentError: wrong number of arguments (given 2, expected 1)
/var/www/miq/vmdb/lib/tasks/rhconsulting_policies.rake:18:in import' /var/www/miq/vmdb/lib/tasks/rhconsulting_policies.rake:93:in
block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:miq_policies:import
(See full trace by running task with --trace)
~
** Invoke rhconsulting:miq_policies:import (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute rhconsulting:miq_policies:import
rake aborted!
ArgumentError: wrong number of arguments (given 2, expected 1)
/var/www/miq/vmdb/lib/tasks/rhconsulting_policies.rake:18:in import' /var/www/miq/vmdb/lib/tasks/rhconsulting_policies.rake:93:in
block (3 levels) in <top (required)>'
/opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/task.rb:240:in block in execute' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/task.rb:235:in
each'
/opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/task.rb:235:in execute' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/task.rb:179:in
block in invoke_with_call_chain'
/opt/rh/rh-ruby23/root/usr/share/ruby/monitor.rb:214:in mon_synchronize' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/task.rb:172:in
invoke_with_call_chain'
/opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/task.rb:165:in invoke' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:150:in
invoke_task'
/opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:106:in block (2 levels) in top_level' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:106:in
each'
/opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:106:in block in top_level' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:115:in
run_with_threads'
/opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:100:in top_level' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:78:in
block in run'
/opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:176:in standard_exception_handling' /opt/rh/cfme-gemset/gems/rake-10.5.0/lib/rake/application.rb:75:in
run'
bin/rake:4:in `
During development of the script there were a lot of puts used to determine how to manipulate the data. Remove all puts besides informatiomal ones
When a service_template is created via API, the field "options" are filled with the content of "config_info" as follows :
{
"href": "https://x.x.x.x/api/service_templates/99000000000030",
"id": "99000000000030",
"name": "Demo Ansible Tower service",
"description": "Demo Ansible Tower service description",
"guid": "2bef37be-4ce3-4f40-98b6-8d5fece062cf",
"type": "ServiceTemplateAnsibleTower",
"service_template_id": null,
"options": {
"config_info": {
"provision": {
"fqname": "/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision/CatalogItemInitialization",
"dialog_id": "99000000000001"
},
"configuration_script_id": "99000000000001"
}
},
"created_at": "2019-07-03T12:18:54Z",
"updated_at": "2019-07-03T12:26:47Z",
"display": false,
"evm_owner_id": null,
"miq_group_id": "99000000000002",
"service_type": "atomic",
"prov_type": "generic_ansible_tower",
"provision_cost": null,
"service_template_catalog_id": "99000000000001",
"long_description": null,
"tenant_id": "99000000000001",
"generic_subtype": null,
"deleted_on": null,
"internal": false,
"config_info": {
"provision": {
"fqname": "/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision/CatalogItemInitialization",
"dialog_id": "99000000000001"
},
"configuration_script_id": "99000000000001"
},
......
When rhconsulting_service_catalogs.rake is parsing the content (line 300) of the service_template finds fields that are not expected and the export of the service_catalogs fails.
When exporting catalog items using the rhconsulting_service_catalogs.rake script the export file does not contain the Ansible Tower Job Template name for Catalog Items of type AnsibleTower.
When importing catalog items using the same script a Service Catalog Item is created of type AnsibleTower but the 'Ansible Tower Job Template' field is empty.
Hey, I encountered bug while trying to import Service Catalogs after importing Buttons.
Steps:
This looks like some entries from Buttons file are duplicated in Service Catalogs file.
Please note that everything was working well at CloudForms1, and CloudForms2 was completely new and clean.
Here is log:
rake aborted!
ActiveRecord::RecordInvalid: Validation failed: Name has already been taken
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/validations.rb:78:in `raise_validation_error'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/validations.rb:50:in `save!'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/attribute_methods/dirty.rb:30:in `save!'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:324:in `block in save!'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:395:in `block in with_transaction_returning_status'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract/database_statements.rb:230:in `transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:211:in `transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:392:in `with_transaction_returning_status'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:324:in `save!'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/suppressor.rb:45:in `save!'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/persistence.rb:288:in `block in update!'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:395:in `block in with_transaction_returning_status'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract/database_statements.rb:230:in `transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:211:in `transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:392:in `with_transaction_returning_status'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/persistence.rb:286:in `update!'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:248:in `block in import_custom_button_sets'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:241:in `each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:241:in `import_custom_button_sets'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:105:in `block in import_service_templates'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:75:in `each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:75:in `import_service_templates'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:24:in `block (4 levels) in import'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `block in transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract/transaction.rb:189:in `within_new_transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/transactions.rb:211:in `transaction'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:23:in `block (3 levels) in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:22:in `each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:22:in `block (2 levels) in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:19:in `each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:19:in `block in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:in `foreach'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:in `import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:410:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:service_catalogs:import
(See full trace by running task with --trace)
Per a discussion with @moorrode , we'd like the ability to bulk load charges from AWS into CloudForms.
Does such a utility (.rake
script, etc.) exist in this project? If not, can you point to one in the open source?
Hi,
when we try to import already exported service_catalogs with miqimport service_catalogs /root the following error occurs:
rake aborted!
NoMethodError: undefined method `delete_if' for "l":String
Did you mean? delete
delete!
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:13:in `block (2 levels) in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:11:in `each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:11:in `block in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:in `foreach'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:in `import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:318:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:service_catalogs:import
(See full trace by running task with --trace)
** CFME 5.10.0.33, codename: Hammer
when trying to import service_catalogs, it failed with an error, "ERROR: Unable to locate [ABC, Inc.] tenant in catalog [ngdc]". 'ABC, Inc.' tenant and 'ngdc' catalog exist.
When I attempt to update an existing button with the button rake, I can clearly see the dialog_label is correctly set in the buttons.yml I'm about to rake and import into cloudforms, and the debug output properly shows the correct dialog.id , but when the import is finished, only the 'Hover text' is updated. The dialog_label is never updated with what I have in my buttons.yml.
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.whYN4E (%install)
Makefile:38: recipe for target 'rpm' failed
make: *** [rpm] Error 1
The Service Catalog has a button attached to it so the fix is probably the same for both the Custom Button and Service Catalog imports.
The export was performed from 4.5.2 and attempting to import into 4.6.0
When we try to export service dialogs it fails with:
# miqexport service_dialogs /tmp/exports/service_dialogs
rake aborted!
NoMethodError: undefined method `dialog_field_responders' for #<DialogFieldDropDownList:0x0000000d8d8a80>
Did you mean? dialog_group_id
/opt/rh/cfme-gemset/gems/activemodel-5.0.3/lib/active_model/attribute_methods.rb:433:in `method_missing'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:160:in `block in export_dialog_fields'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:147:in `export_dialog_fields'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:169:in `block in export_dialog_groups'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:168:in `export_dialog_groups'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:177:in `block in export_dialog_tabs'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:176:in `export_dialog_tabs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:136:in `block in export_dialogs'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:135:in `export_dialogs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:9:in `export'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:206:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:service_dialogs:export
(See full trace by running task with --trace)
If we try to do the rake, it says the same
bin/rake rhconsulting:service_dialogs:export[${BUILDDIR}/service_dialogs]
rake aborted!
NoMethodError: undefined method `dialog_field_responders' for #<DialogFieldDropDownList:0x0000000c09dc18>
Did you mean? dialog_group_id
/opt/rh/cfme-gemset/gems/activemodel-5.0.3/lib/active_model/attribute_methods.rb:433:in `method_missing'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:160:in `block in export_dialog_fields'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:147:in `export_dialog_fields'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:169:in `block in export_dialog_groups'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:168:in `export_dialog_groups'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:177:in `block in export_dialog_tabs'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:176:in `export_dialog_tabs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:136:in `block in export_dialogs'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:135:in `export_dialogs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:9:in `export'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:206:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:service_dialogs:export
(See full trace by running task with --trace)
With --trace
# bin/rake rhconsulting:service_dialogs:export[${BUILDDIR}/service_dialogs] --trace
** Invoke rhconsulting:service_dialogs:export (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute rhconsulting:service_dialogs:export
rake aborted!
NoMethodError: undefined method `dialog_field_responders' for #<DialogFieldDropDownList:0x0000000d3d9d90>
Did you mean? dialog_group_id
/opt/rh/cfme-gemset/gems/activemodel-5.0.3/lib/active_model/attribute_methods.rb:433:in `method_missing'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:160:in `block in export_dialog_fields'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:147:in `export_dialog_fields'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:169:in `block in export_dialog_groups'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:168:in `export_dialog_groups'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:177:in `block in export_dialog_tabs'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:176:in `export_dialog_tabs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:136:in `block in export_dialogs'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/relation/delegation.rb:40:in `map'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:135:in `export_dialogs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:9:in `export'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_dialogs.rake:206:in `block (3 levels) in <top (required)>'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/task.rb:250:in `each'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
/opt/rh/rh-ruby23/root/usr/share/ruby/monitor.rb:214:in `mon_synchronize'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:108:in `each'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:80:in `block in run'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/opt/rh/cfme-gemset/gems/rake-12.0.0/lib/rake/application.rb:77:in `run'
bin/rake:4:in `<main>'
Tasks: TOP => rhconsulting:service_dialogs:expor
if I use an older version it works
This: bin/rake rhconsultingialogs:export[${BUILDDIR}/dialogs]
Should be: bin/rake rhconsulting:dialogs:export[${BUILDDIR}/dialogs]
When imported to a target system, Git managed domains become uneditable (can only be enabled/disabled), and the refresh option is not offered.
Curiously, however, doing a git import through the UI doesn't error out on the conflict, but updates the existing domain (or overwrites it?) an is git enabled.
When we try to import service_catalogs we get this error:
[root@cfme-webui cfme]# miqimport service_catalogs /tmp/cfme/service_catalogs
/var/www/miq/vmdb /tmp/cfme
Service Catalog: [Windows]
Catalog Item: [Windows 10 clean from Azure Image]
Catalog Item: [Windows 10]
rake aborted!
Failed to locate child catalog item: [Windows 10 in bundle]
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:139:in block in import_service_resources' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:132:in
each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:132:in import_service_resources' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:79:in
block in import_service_templates'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:64:in each' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:64:in
import_service_templates'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:24:in block (4 levels) in import' /opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in
block in transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/connection_adapters/abstract/transaction.rb:189:in within_new_transaction' /opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in
transaction'
/opt/rh/cfme-gemset/gems/activerecord-5.0.3/lib/active_record/transactions.rb:211:in transaction' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:23:in
block (3 levels) in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:22:in each' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:22:in
block (2 levels) in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:19:in each' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:19:in
block in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:in foreach' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:in
import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:284:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:service_catalogs:import
(See full trace by running task with --trace)
The problem is that the child catalog items are Unassigned (not in a catalog), these items are not exported. And when these items are exported (put in a catalog) the order is important because when a bundle is imported and the child items aren't there yet this goes wrong.
Cloudforms SmartState Analysis requires an "Analysis Profile" to select the files that will be check by a Compliance Policy. All the other profiles can be exported / imported but the "Analysis Profile" cannot be. The analysis profile is critical to the functioning of the Compliance Profiles, Moving them form one environment to other is cumbersome, also not possible to backup them due to lack of export/import support.
I am trying to import domain,alerts,button,service catalogues using /usr/bin/miqimport, but it's throwing an error message.
[root@cmp snow]# /usr/bin/miqimport domain ServiceNow_Incident ramrexx-ServiceNow_Incident-55a4b24/automate/
DOMAIN_OPTIONS=overwrite=false;enabled=true;
Could not find psych-2.0.17 in any of the sources
Run bundle install
to install missing gems.
I tried to execute bundle install also, it's still looking psych-2.0.17 package but system wide installed package version is psych-2.1.0.1-67.el7.x86_64
[root@cmp snow]# bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this
machine.
Fetching gem metadata from https://rubygems.org/........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Fetching https://github.com/ManageIQ/manageiq-gems-pending.git
Fetching https://github.com/ManageIQ/handsoap.git
Fetching https://github.com/ManageIQ/amazon_ssa_support.git
Fetching https://github.com/ManageIQ/foreman_api_client.git
Fetching https://github.com/ManageIQ/jquery-rjs.git
Fetching https://github.com/ManageIQ/manageiq-api
Fetching https://github.com/ManageIQ/manageiq-automation_engine
Fetching https://github.com/ManageIQ/manageiq-consumption
Fetching https://github.com/ManageIQ/manageiq-content
Fetching https://github.com/ManageIQ/manageiq-messaging
Fetching https://github.com/ManageIQ/manageiq-providers-amazon
Fetching https://github.com/ManageIQ/manageiq-providers-ansible_tower
Fetching https://github.com/ManageIQ/manageiq-providers-azure
Fetching https://github.com/ManageIQ/manageiq-providers-foreman
Fetching https://github.com/ManageIQ/manageiq-providers-google
Fetching https://github.com/ManageIQ/manageiq-providers-hawkular
Fetching https://github.com/ManageIQ/manageiq-providers-kubernetes
Fetching https://github.com/ManageIQ/manageiq-providers-lenovo
Fetching https://github.com/ManageIQ/manageiq-providers-nuage
Fetching https://github.com/ManageIQ/manageiq-providers-openshift
Fetching https://github.com/ManageIQ/manageiq-providers-openstack
Fetching https://github.com/ManageIQ/manageiq-providers-ovirt
Fetching https://github.com/ManageIQ/manageiq-providers-scvmm
Fetching https://github.com/ManageIQ/manageiq-providers-vmware
Fetching https://github.com/ManageIQ/manageiq-schema
Fetching https://github.com/ManageIQ/manageiq-ui-classic
Your bundle is locked to redhat_access_cfme (2.0.2), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed
sources, that means the author of redhat_access_cfme (2.0.2) has removed it. You'll need to update your bundle to a different version of redhat_access_cfme (2.0.2)
that hasn't been removed in order to install.
Can I get any workaround to import this domain in CloudForms
/var/www/miq/vmdb /var/www/miq/vmdb
[DEPRECATION] configure
is removed in secure_headers 3.x. Instead use default
.
rake aborted!
Errno::EISDIR: Is a directory @ rb_sysopen - /tmp
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:29:in write' /var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:29:in
export'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:236:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:buttons:export
(See full trace by running task with --trace)
/var/www/miq/vmdb
Add in the ability to import/export schedules via the miqimport/miqexport utility
Can we export orchestration templates?
When a Service Catalog is imported with Catalog Items that have a type other than generic (such as VMware) the import results in the catalog item being editable.
Exporting from the WebUI replaces the resource_action_fqname string with a resource_action hash. e.g.:
@@ -273,7 +322,14 @@
read_only: true
auto_refresh:
trigger_auto_refresh:
- resource_action_fqname: "/Service/ServiceDialogs/DynamicTextAreaBoxes/Disclaimer"
+ resource_action:
+ action:
+ resource_type: DialogField
+ ae_namespace: Service/ServiceDialogs
+ ae_class: DynamicTextAreaBoxes
+ ae_instance: Disclaimer
+ ae_message:
+ ae_attributes: {}
- description:
display: edit
label: Configuration
Should the rake tasks match the UI?
Hello,
This project looks fantastic, especially for the purposes of exporting / importing users. However, from my reading of the project, it seems that groups are not supported. Is this correct?
If so - will you consider adding groups support?
Thanks for all your work! 👍
A command-line interface for the scripts to make it easy to perform import/export tasks, instead of using rake commands.
A possible approach could be to use Thor(http://whatisthor.com/) to do this:
cfexport --exportdir
--otheroptionse.g.,
cfexport domain --exportdir /tmp/cf/domain/ --domain ACME # export the ACME domain
cfimport domain --importdir /tmp/cf/domain/ --domain ACME # import the ACME domain
[root@cloudforms ~]# miqexport all export/
Exporting everything to [/root/export]
Exporting Policy Profile: OpenSCAP profile
Exporting Policy: OpenSCAP
Exporting Policy: Analyse incoming container images
Exporting Policy: Schedule compliance after smart state analysis
Exporting Alert Set: Prometheus Provider Profile
Exporting Alert Set: Prometheus node Profile
rake aborted!
KeyError: key not found: "MiqReport"
/var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:65:in fetch' /var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:65:in
export_zone'
/var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:95:in add_zone_attrs' /var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:115:in
normalize_export_data'
/var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:129:in block in export_schedules' /opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/relation/delegation.rb:38:in
each'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/relation/delegation.rb:38:in each' /var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:127:in
export_schedules'
/var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:36:in export' /var/www/miq/vmdb/lib/tasks/rhconsulting_schedules.rake:180:in
block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:miq_schedules:export
(See full trace by running task with --trace)
Would be nice to be able to import / export Chargeback rate cards. I may take a look at adding myself as time permits.
Would you guys be interested in support for import/export of Services?
I wrote a rake task based on the existing scripts. At the moment it has a bunch of stuff in it, that is specific to the way we use Services at our Company, but I would go through the exercise of making it usable for everybody (although probably only in a couple of weeks time)
Current Code: https://github.com/ThomasBuchinger/cfme-rhconsulting-scripts/blob/master/rhconsulting_service_objects.rake
Export works OK, Import fails if Customization Template name has a single quote in it.
Hello,
When I try to import roles or service catalogs in CF4.1 Beta 5 (5.6.0.10-rc2.1) it fails:
[root@cloudforms CloudForms_Essentials-master]# /usr/bin/miqimport service_catalogs /root/CloudForms_Essentials-master/service_catalogs/ --trace
/var/www/miq/vmdb ~/CloudForms_Essentials-master
DEPRECATION WARNING: config.serve_static_files is deprecated and will be removed in Rails 5.1.
Please use config.public_file_server.enabled = false instead.
(called from serve_static_files= at /opt/rh/cfme-gemset/gems/railties-5.0.0.rc1/lib/rails/application/configuration.rb:80)
Service Catalog: [Cloud Services]
rake aborted!
NoMethodError: undefined method find_or_create_by_name' for #ServiceTemplateCatalog::ActiveRecord_Relation:0x0000000cd0a4d8 /opt/rh/cfme-gemset/bundler/gems/rails-61b074f40164/activerecord/lib/active_record/relation/delegation.rb:123:inmethod_missing'
/opt/rh/cfme-gemset/bundler/gems/rails-61b074f40164/activerecord/lib/active_record/relation/delegation.rb:93:in method_missing' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:53:inblock in import_service_template_catalogs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:51:in each' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:51:inimport_service_template_catalogs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:12:in block (3 levels) in import' /opt/rh/cfme-gemset/bundler/gems/rails-61b074f40164/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:232:inblock in transaction'
/opt/rh/cfme-gemset/bundler/gems/rails-61b074f40164/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:189:in within_new_transaction' /opt/rh/cfme-gemset/bundler/gems/rails-61b074f40164/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:232:intransaction'
/opt/rh/cfme-gemset/bundler/gems/rails-61b074f40164/activerecord/lib/active_record/transactions.rb:211:in transaction' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:11:inblock (2 levels) in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:in each' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:8:inblock in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:5:in foreach' /var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:5:inimport'
/var/www/miq/vmdb/lib/tasks/rhconsulting_service_catalogs.rake:279:in block (3 levels) in <top (required)>' Tasks: TOP => rhconsulting:service_catalogs:import (See full trace by running task with --trace) ~/CloudForms_Essentials-master [root@cloudforms CloudForms_Essentials-master]# /usr/bin/miqimport roles /root/CloudForms_Essentials-master/roles/roles.yml /var/www/miq/vmdb ~/CloudForms_Essentials-master DEPRECATION WARNING:config.serve_static_filesis deprecated and will be removed in Rails 5.1. Please useconfig.public_file_server.enabled = falseinstead. (called from serve_static_files= at /opt/rh/cfme-gemset/gems/railties-5.0.0.rc1/lib/rails/application/configuration.rb:80) rake aborted! RoleImportExport::ParsedNonDialogYamlError: RoleImportExport::ParsedNonDialogYamlError /var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:57:inrescue in import_roles'
/var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:48:in import_roles' /var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:8:inimport'
/var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:85:in block (3 levels) in <top (required)>' NoMethodError: undefined methodfind_or_create_by_name' for #Class:0x000000026475d8
/opt/rh/cfme-gemset/bundler/gems/rails-61b074f40164/activerecord/lib/active_record/dynamic_matchers.rb:21:in method_missing' /var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:53:inblock in import_roles'
/var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:49:in each' /var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:49:inimport_roles'
/var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:8:in import' /var/www/miq/vmdb/lib/tasks/rhconsulting_roles.rake:85:inblock (3 levels) in '
Tasks: TOP => rhconsulting:roles:import
(See full trace by running task with --trace)
This is from https://github.com/ramrexx/CloudForms_Essentials
The order of the items imported in the example of the readme file will lead to Service Catalog items not being linked to the dialog or automation entry points.
The import of the Service Catalog should be the last import that is performed.
Not sure if this error is caused by these scripts or by something these scripts are depending on but whenever I run them I get this warning printed out for every export command I run.
/var/www/miq/vmdb/app/models/mixins/supports_feature_mixin.rb:103: warning: key :terminate is duplicated and overwritten on line 111
How about "Orchestration templates"?
Right now, I was find out, that those are no exported/imported at all? Is it somehow bug, or it's not implemented?
Currently, lots of duplicate functions with duplicate logic exists in the miqexport bash script. The goal of this would be to reorganize and deduplicate all of the duplicate functions within the bash scripts.
Need to add a step to also copy ".rb" to /var/www/miq/vmdb/lib/tasks/.
README only says to copy ".rake" files.
Thanks!
-josh
Earlier this week I did this same process successfully, and today I note it is not working as follows:
[root@cfme03 miq-VMware-master]# sh -x install.sh
++ pwd
+ TOPDIR=/tmp/miq-VMware-master
+ DOMAIN=miq-Marketplace
+ '[' -d /tmp/miq-VMware-master/Automate/miq-Marketplace ']'
+ install_cmd
+ echo 'Importing miq-Marketplace from /tmp/miq-VMware-master/Automate/miq-Marketplace'
Importing miq-Marketplace from /tmp/miq-VMware-master/Automate/miq-Marketplace
+ cd /var/www/miq/vmdb
+ echo 'Importing Automate'
Importing Automate
+ bin/rake 'rhconsulting:miq_ae_datastore:import[miq-Marketplace, /tmp/miq-VMware-master/Automate]'
+ echo 'Importing Service Dialogs'
Importing Service Dialogs
+ bin/rake 'rhconsulting:dialogs:import[/tmp/miq-VMware-master/ServiceDialogs]'
Dialog: [VMware - ReconfigVM_HotAddEnabled]
rake aborted!
DialogImportExport::ParsedNonDialogYamlError: DialogImportExport::ParsedNonDialogYamlError
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:43:in `rescue in import_dialogs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:32:in `import_dialogs'
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:28:in `import_dialogs_from_file'
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:19:in `block (2 levels) in import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:17:in `foreach'
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:17:in `block in import'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activerecord/lib/active_record/transactions.rb:208:in `transaction'
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:16:in `import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_dialogs.rake:138:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:dialogs:import
(See full trace by running task with --trace)
+ echo 'Importing Buttons'
Importing Buttons
+ bin/rake 'rhconsulting:buttons:import[/tmp/miq-VMware-master/Buttons/buttons.yml]'
Button Group: [VMware Tasks]
rake aborted!
Unable to locate dialog: [VMware - MarkVMAsVirtualMachine]
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:76:in `import_resource_actions'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:128:in `block in import_custom_buttons'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:88:in `each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:88:in `import_custom_buttons'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:146:in `block in import_custom_button_sets'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:135:in `each'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:135:in `import_custom_button_sets'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:7:in `block in import'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activerecord/lib/active_record/transactions.rb:208:in `transaction'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:6:in `import'
/var/www/miq/vmdb/lib/tasks/rhconsulting_buttons.rake:231:in `block (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:buttons:import
(See full trace by running task with --trace)
I was able to copy over the cfme-rhconsulting-scripts-master from earlier this week and use it successfully after doing a make install from it.
A diff of the working and non-working cfme-rhconsulting-scripts-master directories shows:
[root@cfme03 tmp]# diff -rq cfme-rhconsulting-scripts-master*
Files cfme-rhconsulting-scripts-master/rhconsulting_dialogs.rake and cfme-rhconsulting-scripts-master.bad/rhconsulting_dialogs.rake differ
[root@cfme03 tmp]# diff cfme-rhconsulting-scripts-master/rhconsulting_dialogs.rake cfme-rhconsulting-scripts-master.bad/rhconsulting_dialogs.rake
61,63c61,69
< df = dialog_field['type'].constantize.create(dialog_field.reject { |a| ['resource_action_fqname'].include?(a) })
< unless dialog_field['resource_action_fqname'].blank?
< df.resource_action.fqname = dialog_field['resource_action_fqname']
---
> df = dialog_field['type'].constantize.create(dialog_field.reject { |a| ['resource_action'].include?(a) })
> unless dialog_field['resource_action'].blank?
> df.resource_action.action = dialog_field['resource_action']['action']
> df.resource_action.resource_type = dialog_field['resource_action']['resource_type']
> df.resource_action.ae_namespace = dialog_field['resource_action']['ae_namespace']
> df.resource_action.ae_class = dialog_field['resource_action']['ae_class']
> df.resource_action.ae_instance = dialog_field['resource_action']['ae_instance']
> df.resource_action.ae_message = dialog_field['resource_action']['ae_message']
> df.resource_action.ae_attributes = dialog_field['resource_action']['ae_attributes']
86c92,99
< field_attributes["resource_action_fqname"] = dialog_field.resource_action.fqname
---
> field_attributes["resource_action"] = {}
> field_attributes["resource_action"]["action"] = dialog_field.resource_action.action
> field_attributes["resource_action"]["resource_type"] = dialog_field.resource_action.resource_type
> field_attributes["resource_action"]["ae_namespace"] = dialog_field.resource_action.ae_namespace
> field_attributes["resource_action"]["ae_class"] = dialog_field.resource_action.ae_class
> field_attributes["resource_action"]["ae_instance"] = dialog_field.resource_action.ae_instance
> field_attributes["resource_action"]["ae_message"] = dialog_field.resource_action.ae_message
> field_attributes["resource_action"]["ae_attributes"] = dialog_field.resource_action.ae_attributes
Hi there,
I'm using cfme-rhconsulting-scripts to export cfme alerts. I observed that for every cloudforms alert there is a file created where the filename == alertname. In cloudforms it is perfectly fine to use every available unicode or special character to name the alert. However, when exporting such an alert name as a filename things become awkward. I know that UNIX-based filesystems are less bitchy about special characters. AFAIK, it is a best practice to avoid special characters in filenames. I guess that a lot of problems can arise from just copying any character in a filename without escaping special characters.
Issue 1:
I just tested that I can create alerts with 300 characters. As you might know, the maximum length for a file name is about 250 characters. Such alerts currently raise an OS error as you can see here:
Errno::ENAMETOOLONG: File name too long @ rb_sysopen - /opt/git/cf-region96/cloudforms/MIQEXPORT/alerts/abcdoflkgndaslgndflskgnlgnregklmgknrkmgrkdfadflnafaidnsflasfjoewrjpaewmffklmöasfokaewrkdklgmvdvdmksflanofeawfmwpmfsolamfdsklfnkglw4eirnflaeiwnflawnfkawöolmfoö3ewmfkoaewöfmewolgnfklgneiwkgneiwrnfewnfewlianflasnflknaewflnaweflvnlwaenvlaewnflaewnglaewnflaewn.yaml
Issue 2:
We just had the issue that we exported an alert with the following special characters: ":<>%". When exporting this into git there was no issue but importing it again into a windows machine broke the git repository because the file name was truncated after ":".
I can't tell exactly where address this issue? Do you have to change your export script or is this something that has to be addressed directly to the cloudforms developers?
Kind Regards,
phospi
Ran into this issue this morning -
Be wary of the fact that if you have rake scripts with the same task name as the cfme-rhconsulting-scripts then rake might use the wrong task. This is because namespaces in rake are not classes. The methods get added as class Object. See here
For example, we had both $client_dialogs.rake
and rhconsulting_dialogs.rake
Even though I specified the rhconsulting task bin/rake rhconsulting:dialogs:export[/root/CFME/dialogs]
rake was still using the $client_dialogs.rake
file.
Most people won't run into this, but a section should be added to the README to warn people that if they have 2 tasks (even with different namespaces), rake might choose the wrong one. We were able to get around this by just removing the $client_dialogs.rake
file and the other rake files like it and replacing them with those from this repo, but that might not work for everyone.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.