Coder Social home page Coder Social logo

cfme-rhconsulting-scripts's People

Contributors

alejandroliu avatar aliuly avatar aspurrier avatar brandtwoolf avatar branic avatar claudiol avatar cwyatt-redhat avatar dericcrago avatar ewannema avatar georgegoh avatar jeffmcutter avatar jeffwarnica avatar jsimonelli avatar kruge002 avatar ldomb avatar linuxboytoo2 avatar lynndixon avatar mattparko avatar nenioscio avatar ninedevils79 avatar scottd018 avatar thomasbuchinger avatar tjyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cfme-rhconsulting-scripts's Issues

[Bug] Exporting alerts with wrong alert name

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

Chargeback Rates

Would be nice to be able to import / export Chargeback rate cards. I may take a look at adding myself as time permits.

Tasks conflict with other tasks of similar name

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.

Code deduplication and organization

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.

Import example

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.

importing of policies not working!

miqimport policies policies/

/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:inblock (3 levels) in <top (required)>'
Tasks: TOP => rhconsulting:miq_policies:import
(See full trace by running task with --trace)
~

bin/rake "rhconsulting:miq_policies:import[/root/policies/]" --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:inblock (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:ineach'
/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:inblock 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:ininvoke_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:ininvoke_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:ineach'
/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:inrun_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:inblock 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:inrun'
bin/rake:4:in `

'
Tasks: TOP => rhconsulting:miq_policies:import
policies.zip

buttons rake not updating dialog_label

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.

Miqexport fails to export service_catalogs when service_template created via API due to config_info fields appearing inside of options.

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 I try to import roles or service catalogs in CF4.1 it fails in the rake script

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

Create a CLI to use the scripts

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

--otheroptions
cfimport --importdir --otheroptions

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

Support to backup/restore groups

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! 👍

Git managed Automate Domains don't import/export back as git domains

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.

[Feature] Add support for Services

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

miqimport service_catalogs fails with failed to locate child catalog item

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.

Importing Service Catalogs after importing Buttons: ActiveRecord::RecordInvalid: Validation failed: Name has already been taken

Hey, I encountered bug while trying to import Service Catalogs after importing Buttons.
Steps:

  1. Export buttons and service catalogs from CloudForms 1
  2. Import buttons to CloudForms 2 appliance (this goes fine)
  3. Import service_catalogs to CloudForms 2 appliance (error here)

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)

Having problems exporting buttons with cfme 5.5.2.4

miqexport buttons /tmp

/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:inexport'
/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

CloudForms 4.6 supports

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

Import for Service Dialogs and Buttons Broken?

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

Error while trying to import service_catalogs

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)

Error while trying to import service_catalogs

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

Importing buttons and catalogs results in incorrect dialogs and entry points not referenced in export

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

rhconsulting_schedules error during miqexport all

[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)

Typo in dialogs rake command

This: bin/rake rhconsultingialogs:export[${BUILDDIR}/dialogs]
Should be: bin/rake rhconsulting:dialogs:export[${BUILDDIR}/dialogs]

Add support for Button Visibility Expressions (AKA "Button Filters").

Adding support for exporting / importing buttons with visibility_expression set would be a nice feature.

In 5.9 Buttons have the ability to set filters or Visibility Expressions to extend their functionality. See below:

image 2018-07-11 at 7 43 38 pm

We need to update the button rake scripts to support this.

'make rpm' fails with 'No such file or directory'

  • install --backup --mode=0755 -t /home/george/rpmbuild/BUILDROOT/cfme-rhconsulting-scripts-0.3-1.x86_64/usr/bin bin/miqexport
    install: cannot stat ‘bin/miqexport’: No such file or directory
    error: Bad exit status from /var/tmp/rpm-tmp.whYN4E (%install)

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.whYN4E (%install)
Makefile:38: recipe for target 'rpm' failed
make: *** [rpm] Error 1

Add suport for Analysis Profiles

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.

Error while exporting service dialogs

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

Resource Action for Service Dialogs differs from WebUI Export

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?

Buttons rake file is too verbose

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

Orchestration templates

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.