foreman_rh_cloud 1.0.18 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -33
  3. data/app/controllers/foreman_inventory_upload/accounts_controller.rb +8 -9
  4. data/app/controllers/foreman_inventory_upload/react_controller.rb +7 -0
  5. data/app/controllers/foreman_inventory_upload/uploads_controller.rb +12 -49
  6. data/app/views/{layouts/foreman_rh_cloud/application.html.erb → foreman_inventory_upload/layouts/react.html.erb} +2 -2
  7. data/config/routes.rb +1 -18
  8. data/lib/foreman_inventory_upload.rb +1 -18
  9. data/lib/foreman_inventory_upload/async/generate_all_reports_job.rb +0 -8
  10. data/lib/foreman_inventory_upload/async/generate_report_job.rb +1 -1
  11. data/lib/foreman_inventory_upload/async/shell_process.rb +9 -17
  12. data/lib/foreman_inventory_upload/async/upload_report_job.rb +5 -21
  13. data/lib/foreman_inventory_upload/generators/archived_report.rb +4 -7
  14. data/lib/foreman_inventory_upload/generators/fact_helpers.rb +0 -91
  15. data/lib/foreman_inventory_upload/generators/json_stream.rb +3 -18
  16. data/lib/foreman_inventory_upload/generators/metadata.rb +0 -3
  17. data/lib/foreman_inventory_upload/generators/queries.rb +4 -11
  18. data/lib/foreman_inventory_upload/generators/slice.rb +40 -90
  19. data/lib/foreman_rh_cloud.rb +0 -68
  20. data/lib/foreman_rh_cloud/engine.rb +6 -49
  21. data/lib/foreman_rh_cloud/version.rb +1 -1
  22. data/lib/tasks/generator.rake +29 -0
  23. data/package.json +21 -103
  24. data/test/controllers/accounts_controller_test.rb +3 -8
  25. data/test/controllers/uploads_controller_test.rb +0 -13
  26. data/test/unit/archived_report_generator_test.rb +0 -1
  27. data/test/unit/metadata_generator_test.rb +0 -2
  28. data/test/unit/slice_generator_test.rb +19 -480
  29. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.fixtures.js +5 -32
  30. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.js +13 -16
  31. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.stories.js +5 -14
  32. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListActions.js +15 -23
  33. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListHelper.js +0 -10
  34. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListReducer.js +0 -34
  35. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListSelectors.js +1 -18
  36. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/__tests__/EmptyState.test.js +1 -1
  37. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ErrorState/__tests__/ErrorState.test.js +1 -1
  38. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/ListItem.fixtures.js +1 -10
  39. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/ListItem.js +10 -7
  40. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/__tests__/ListItem.test.js +1 -1
  41. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/__tests__/__snapshots__/ListItem.test.js.snap +8 -11
  42. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItemStatus/__tests__/ListItemStatus.test.js +1 -1
  43. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountList.test.js +1 -2
  44. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListActions.test.js +2 -16
  45. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListIntegration.test.js +2 -2
  46. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListReducer.test.js +5 -33
  47. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListSelectors.test.js +9 -30
  48. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountList.test.js.snap +9 -8
  49. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListActions.test.js.snap +2 -40
  50. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListReducer.test.js.snap +3 -35
  51. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListSelectors.test.js.snap +8 -20
  52. data/webpack/ForemanInventoryUpload/Components/AccountList/index.js +0 -2
  53. data/webpack/ForemanInventoryUpload/Components/Dashboard/Dashboard.fixtures.js +13 -9
  54. data/webpack/ForemanInventoryUpload/Components/Dashboard/Dashboard.stories.js +5 -15
  55. data/webpack/ForemanInventoryUpload/Components/Dashboard/DashboardActions.js +3 -4
  56. data/webpack/ForemanInventoryUpload/Components/Dashboard/DashboardSelectors.js +1 -1
  57. data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/Dashboard.test.js +1 -2
  58. data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardActions.test.js +4 -3
  59. data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardIntegration.test.js +2 -3
  60. data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardReducer.test.js +1 -1
  61. data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardSelectors.test.js +3 -4
  62. data/webpack/ForemanInventoryUpload/Components/FileDownload/__tests__/FileDownload.test.js +1 -1
  63. data/webpack/ForemanInventoryUpload/Components/FullScreenModal/FullScreenModal.js +1 -5
  64. data/webpack/ForemanInventoryUpload/Components/FullScreenModal/__tests__/FullScreenModal.test.js +1 -1
  65. data/webpack/ForemanInventoryUpload/Components/FullScreenModal/__tests__/__snapshots__/FullScreenModal.test.js.snap +0 -1
  66. data/webpack/ForemanInventoryUpload/Components/FullScreenModal/fullScreenModal.scss +13 -15
  67. data/webpack/ForemanInventoryUpload/Components/NavContainer/NavContainer.fixtures.js +5 -2
  68. data/webpack/ForemanInventoryUpload/Components/NavContainer/__tests__/NavContainer.test.js +1 -2
  69. data/webpack/ForemanInventoryUpload/Components/NavContainer/__tests__/__snapshots__/NavContainer.test.js.snap +1 -1
  70. data/webpack/ForemanInventoryUpload/Components/ReportGenerate/__tests__/ReportGenerate.test.js +1 -1
  71. data/webpack/ForemanInventoryUpload/Components/ReportUpload/__tests__/ReportUpload.test.js +1 -1
  72. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/ScheduledRun.fixtures.js +0 -1
  73. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/ScheduledRun.js +2 -4
  74. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/__tests__/ScheduledRun.test.js +2 -1
  75. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/__tests__/__snapshots__/ScheduledRun.test.js.snap +2 -0
  76. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/index.js +1 -12
  77. data/webpack/ForemanInventoryUpload/Components/StatusChart/StatusChart.js +1 -1
  78. data/webpack/ForemanInventoryUpload/Components/StatusChart/__tests__/StatusChart.test.js +1 -1
  79. data/webpack/ForemanInventoryUpload/Components/StatusChart/__tests__/__snapshots__/StatusChart.test.js.snap +1 -1
  80. data/webpack/ForemanInventoryUpload/Components/TabBody/__tests__/TabBody.test.js +1 -1
  81. data/webpack/ForemanInventoryUpload/Components/TabBody/__tests__/__snapshots__/TabBody.test.js.snap +1 -1
  82. data/webpack/ForemanInventoryUpload/Components/TabContainer/__tests__/TabContainer.test.js +1 -1
  83. data/webpack/ForemanInventoryUpload/Components/TabContainer/tabContainer.scss +1 -1
  84. data/webpack/ForemanInventoryUpload/Components/TabFooter/__tests__/TabFooter.test.js +1 -1
  85. data/webpack/ForemanInventoryUpload/Components/TabHeader/TabHeader.js +1 -6
  86. data/webpack/ForemanInventoryUpload/Components/TabHeader/__tests__/TabHeader.test.js +1 -1
  87. data/webpack/ForemanInventoryUpload/Components/Terminal/Terminal.js +5 -3
  88. data/webpack/ForemanInventoryUpload/Components/Terminal/__tests__/Terminal.test.js +1 -2
  89. data/webpack/ForemanInventoryUpload/ForemanInventoryUpload.js +9 -18
  90. data/webpack/ForemanInventoryUpload/{__tests__/ForemanInventoryUpload.test.js → ForemanInventoryUpload.test.js} +2 -2
  91. data/webpack/ForemanInventoryUpload/ForemanInventoryUploadReducers.js +4 -6
  92. data/webpack/ForemanInventoryUpload/ForemanInventoryUploadSelectors.js +4 -0
  93. data/webpack/ForemanInventoryUpload/{__tests__/__snapshots__ → __snapshots__}/ForemanInventoryUpload.test.js.snap +5 -6
  94. data/webpack/index.js +6 -3
  95. metadata +16 -251
  96. data/app/controllers/foreman_inventory_upload/tasks_controller.rb +0 -25
  97. data/app/controllers/foreman_rh_cloud/react_controller.rb +0 -11
  98. data/app/controllers/insights_cloud/hits_controller.rb +0 -17
  99. data/app/controllers/insights_cloud/settings_controller.rb +0 -24
  100. data/app/controllers/insights_cloud/tasks_controller.rb +0 -7
  101. data/app/helpers/foreman_inventory_upload_host_helper.rb +0 -19
  102. data/app/models/concerns/rh_cloud_host.rb +0 -15
  103. data/app/models/insights_facet.rb +0 -7
  104. data/app/models/insights_hit.rb +0 -6
  105. data/app/models/inventory_sync/inventory_status.rb +0 -30
  106. data/app/models/setting/rh_cloud.rb +0 -18
  107. data/app/overrides/hosts_list.rb +0 -13
  108. data/app/services/foreman_rh_cloud/cloud_auth.rb +0 -28
  109. data/app/views/foreman_rh_cloud/react/insights_cloud.html.erb +0 -6
  110. data/app/views/foreman_rh_cloud/react/inventory_upload.html.erb +0 -1
  111. data/app/views/hosts/_insights_tab.html.erb +0 -15
  112. data/config/Gemfile.lock.gh_test +0 -757
  113. data/config/database.yml.example +0 -17
  114. data/config/package-lock.json.gh_test +0 -30855
  115. data/db/migrate/20191215104806_create_insights_hits.foreman_inventory_upload.rb +0 -14
  116. data/db/migrate/20191216062008_create_insights_facets.foreman_inventory_upload.rb +0 -7
  117. data/db/migrate/20200727111529_add_uuid_column_to_insights_facets.foreman_rh_cloud.rb +0 -5
  118. data/db/migrate/20201007115752_add_hits_count_to_insights_facets_table.foreman_rh_cloud.rb +0 -5
  119. data/db/migrate/20201007121540_setup_hits_count_cache.foreman_rh_cloud.rb +0 -10
  120. data/lib/foreman_inventory_upload/async/async_helpers.rb +0 -13
  121. data/lib/foreman_inventory_upload/notifications/manifest_import_success_notification_override.rb +0 -19
  122. data/lib/insights_cloud.rb +0 -15
  123. data/lib/insights_cloud/async/insights_full_sync.rb +0 -84
  124. data/lib/insights_cloud/async/insights_scheduled_sync.rb +0 -23
  125. data/lib/inventory_sync/async/host_result.rb +0 -50
  126. data/lib/inventory_sync/async/inventory_full_sync.rb +0 -80
  127. data/lib/tasks/insights.rake +0 -15
  128. data/lib/tasks/rh_cloud_inventory.rake +0 -37
  129. data/test/controllers/insights_sync/settings_controller_test.rb +0 -30
  130. data/test/factories/insights_factories.rb +0 -31
  131. data/test/jobs/insights_full_sync_test.rb +0 -94
  132. data/test/jobs/inventory_full_sync_test.rb +0 -91
  133. data/test/jobs/upload_report_job_test.rb +0 -34
  134. data/test/unit/fact_helpers_test.rb +0 -51
  135. data/test/unit/insights_facet_test.rb +0 -23
  136. data/test/unit/rh_cloud_http_proxy_test.rb +0 -65
  137. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/EmptyResults.js +0 -15
  138. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/__tests__/EmptyResults.test.js +0 -13
  139. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/__tests__/__snapshots__/EmptyResults.test.js.snap +0 -18
  140. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/emptyResults.scss +0 -7
  141. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/index.js +0 -1
  142. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListHelper.test.js +0 -12
  143. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcher.fixtures.js +0 -3
  144. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcher.js +0 -32
  145. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcherActions.js +0 -29
  146. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcherConstants.js +0 -1
  147. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/AutoUploadSwitcher.test.js +0 -14
  148. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/AutoUploadSwitcherActions.test.js +0 -24
  149. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/__snapshots__/AutoUploadSwitcher.test.js.snap +0 -38
  150. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/__snapshots__/AutoUploadSwitcherActions.test.js.snap +0 -31
  151. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/autoUploadSwitcher.scss +0 -3
  152. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/index.js +0 -17
  153. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcher.fixtures.js +0 -1
  154. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcher.js +0 -30
  155. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcherActions.js +0 -29
  156. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcherConstants.js +0 -1
  157. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/ExcludePackagesSwitcher.test.js +0 -13
  158. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/ExcludePackagesSwitcherActions.test.js +0 -21
  159. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/ExcludePackagesSwitcher.test.js.snap +0 -38
  160. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/ExcludePackagesSwitcherActions.test.js.snap +0 -31
  161. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/integration.test.js.snap +0 -41
  162. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/integration.test.js +0 -38
  163. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/excludePackagesSwitcher.scss +0 -3
  164. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/index.js +0 -20
  165. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.fixtures.js +0 -2
  166. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.js +0 -30
  167. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.scss +0 -3
  168. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherActions.js +0 -29
  169. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherConstants.js +0 -1
  170. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcher.test.js +0 -14
  171. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcherActions.test.js +0 -24
  172. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcher.test.js.snap +0 -38
  173. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcherActions.test.js.snap +0 -31
  174. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/index.js +0 -20
  175. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/Components/ClearButton/ClearButton.js +0 -26
  176. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/Components/ClearButton/index.js +0 -1
  177. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.fixtures.js +0 -2
  178. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js +0 -39
  179. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilterActions.js +0 -16
  180. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilterConstants.js +0 -3
  181. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilterReducer.js +0 -36
  182. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilterSelectors.js +0 -7
  183. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilter.test.js +0 -14
  184. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterActions.test.js +0 -14
  185. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterReducer.test.js +0 -35
  186. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterSelectors.test.js +0 -21
  187. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/__snapshots__/InventoryFilter.test.js.snap +0 -25
  188. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/__snapshots__/InventoryFilterActions.test.js.snap +0 -17
  189. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/__snapshots__/InventoryFilterReducer.test.js.snap +0 -25
  190. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/__snapshots__/InventoryFilterSelectors.test.js.snap +0 -9
  191. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/__snapshots__/integration.test.js.snap +0 -40
  192. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/integration.test.js +0 -18
  193. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/index.js +0 -17
  194. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/inventoryFilter.scss +0 -28
  195. data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.js +0 -19
  196. data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/InventorySettings.test.js +0 -13
  197. data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/__snapshots__/InventorySettings.test.js.snap +0 -15
  198. data/webpack/ForemanInventoryUpload/Components/InventorySettings/index.js +0 -1
  199. data/webpack/ForemanInventoryUpload/Components/InventorySettings/inventorySettings.scss +0 -15
  200. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcher.fixtures.js +0 -1
  201. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcher.js +0 -29
  202. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcherActions.js +0 -29
  203. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcherConstants.js +0 -1
  204. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/IpsObfuscationSwitcher.test.js +0 -13
  205. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/IpsObfuscationSwitcherActions.test.js +0 -21
  206. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/__snapshots__/IpsObfuscationSwitcher.test.js.snap +0 -38
  207. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/__snapshots__/IpsObfuscationSwitcherActions.test.js.snap +0 -31
  208. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/index.js +0 -20
  209. data/webpack/ForemanInventoryUpload/Components/PageHeader/PageHeader.js +0 -40
  210. data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/PageHeader.test.js +0 -13
  211. data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/__snapshots__/PageHeader.test.js.snap +0 -61
  212. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/DocsButton.js +0 -18
  213. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/DocsButton.test.js +0 -13
  214. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/__snapshots__/DocsButton.test.js.snap +0 -21
  215. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/index.js +0 -1
  216. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/HistoryButton.js +0 -19
  217. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/HistoryButton.test.js +0 -14
  218. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/__snapshots__/HistoryButton.test.js.snap +0 -22
  219. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/index.js +0 -1
  220. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/PageDescription.js +0 -24
  221. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/PageDescription.test.js +0 -11
  222. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/__snapshots__/PageDescription.test.js.snap +0 -17
  223. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/index.js +0 -1
  224. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButton.js +0 -58
  225. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonActions.js +0 -57
  226. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonConstants.js +0 -3
  227. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonReducer.js +0 -36
  228. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonSelectors.js +0 -13
  229. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButton.test.js +0 -13
  230. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButtonActions.test.js +0 -31
  231. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButtonFixtures.js +0 -9
  232. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButtonReducer.test.js +0 -26
  233. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButtonSelectors.test.js +0 -36
  234. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/__snapshots__/SyncButton.test.js.snap +0 -26
  235. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/__snapshots__/SyncButtonActions.test.js.snap +0 -98
  236. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/__snapshots__/SyncButtonReducer.test.js.snap +0 -18
  237. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/__snapshots__/SyncButtonSelectors.test.js.snap +0 -18
  238. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/Modal.js +0 -63
  239. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/Toast.js +0 -41
  240. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/modal.scss +0 -20
  241. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/index.js +0 -22
  242. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/ToolbarButtons.js +0 -15
  243. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/ToolbarButtons.test.js +0 -12
  244. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/__snapshots__/ToolbarButtons.test.js.snap +0 -11
  245. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/index.js +0 -1
  246. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/toolbarButtons.scss +0 -12
  247. data/webpack/ForemanInventoryUpload/Components/PageHeader/index.js +0 -1
  248. data/webpack/ForemanInventoryUpload/Components/PageHeader/pageHeader.scss +0 -3
  249. data/webpack/ForemanInventoryUpload/ForemanInventoryConstants.js +0 -9
  250. data/webpack/ForemanInventoryUpload/ForemanInventoryHelpers.js +0 -20
  251. data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/SubscriptionsPageExtensionActions.js +0 -34
  252. data/webpack/ForemanInventoryUpload/__tests__/ForemanInventoryHelpers.test.js +0 -12
  253. data/webpack/ForemanInventoryUpload/__tests__/__snapshots__/ForemanInventoryHelpers.test.js.snap +0 -5
  254. data/webpack/ForemanRhCloudHelpers.js +0 -6
  255. data/webpack/ForemanRhCloudPages.js +0 -9
  256. data/webpack/ForemanRhCloudReducers.js +0 -12
  257. data/webpack/ForemanRhCloudSelectors.js +0 -10
  258. data/webpack/ForemanRhCloudTestHelpers.js +0 -20
  259. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettings.js +0 -33
  260. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettingsActions.js +0 -57
  261. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettingsConstants.js +0 -4
  262. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettingsReducer.js +0 -24
  263. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettingsSelectors.js +0 -6
  264. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/InsightsSettings.test.js +0 -18
  265. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/InsightsSettingsActions.test.js +0 -62
  266. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/InsightsSettingsReducer.test.js +0 -33
  267. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/InsightsSettingsSelectors.test.js +0 -21
  268. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettings.test.js.snap +0 -15
  269. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettingsActions.test.js.snap +0 -65
  270. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettingsReducer.test.js.snap +0 -19
  271. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettingsSelectors.test.js.snap +0 -9
  272. data/webpack/InsightsCloudSync/Components/InsightsSettings/index.js +0 -21
  273. data/webpack/InsightsCloudSync/Components/InsightsSettings/insightsSettings.scss +0 -16
  274. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/InsightsSyncSwitcher.fixtures.js +0 -1
  275. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/InsightsSyncSwitcher.js +0 -45
  276. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/__tests__/InsightsSyncSwitcher.test.js +0 -17
  277. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/__tests__/__snapshots__/InsightsSyncSwitcher.test.js.snap +0 -38
  278. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/index.js +0 -1
  279. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/insightsSyncSwitcher.scss +0 -3
  280. data/webpack/InsightsCloudSync/InsightsCloudSync.js +0 -59
  281. data/webpack/InsightsCloudSync/InsightsCloudSync.test.js +0 -16
  282. data/webpack/InsightsCloudSync/InsightsCloudSyncActions.js +0 -22
  283. data/webpack/InsightsCloudSync/InsightsCloudSyncConstants.js +0 -4
  284. data/webpack/InsightsCloudSync/InsightsCloudSyncHelpers.js +0 -3
  285. data/webpack/InsightsCloudSync/InsightsCloudSyncReducers.js +0 -8
  286. data/webpack/InsightsCloudSync/__snapshots__/InsightsCloudSync.test.js.snap +0 -67
  287. data/webpack/InsightsCloudSync/__tests__/InsightsCloudSyncHelpers.test.js +0 -11
  288. data/webpack/InsightsCloudSync/__tests__/__snapshots__/InsightsCloudSyncHelpers.test.js.snap +0 -3
  289. data/webpack/InsightsCloudSync/index.js +0 -18
  290. data/webpack/InsightsHostDetailsTab/InsightsTab.js +0 -64
  291. data/webpack/InsightsHostDetailsTab/InsightsTab.scss +0 -86
  292. data/webpack/InsightsHostDetailsTab/InsightsTabActions.js +0 -31
  293. data/webpack/InsightsHostDetailsTab/InsightsTabConstants.js +0 -2
  294. data/webpack/InsightsHostDetailsTab/InsightsTabReducer.js +0 -19
  295. data/webpack/InsightsHostDetailsTab/InsightsTabSelectors.js +0 -3
  296. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTab.fixtures.js +0 -25
  297. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTab.test.js +0 -13
  298. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTabActions.test.js +0 -19
  299. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTabIntegration.test.js +0 -17
  300. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTabReducer.test.js +0 -26
  301. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTabSelectors.test.js +0 -13
  302. data/webpack/InsightsHostDetailsTab/__tests__/__snapshots__/InsightsTab.test.js.snap +0 -30
  303. data/webpack/InsightsHostDetailsTab/__tests__/__snapshots__/InsightsTabActions.test.js.snap +0 -58
  304. data/webpack/InsightsHostDetailsTab/__tests__/__snapshots__/InsightsTabReducer.test.js.snap +0 -34
  305. data/webpack/InsightsHostDetailsTab/__tests__/__snapshots__/InsightsTabSelectors.test.js.snap +0 -20
  306. data/webpack/InsightsHostDetailsTab/components/ListItem/ListItem.js +0 -69
  307. data/webpack/InsightsHostDetailsTab/components/ListItem/index.js +0 -1
  308. data/webpack/InsightsHostDetailsTab/index.js +0 -20
  309. data/webpack/__mocks__/foremanReact/components/Layout/LayoutConstants.js +0 -1
  310. data/webpack/__mocks__/foremanReact/constants.js +0 -5
  311. data/webpack/__mocks__/foremanReact/redux/actions/toasts.js +0 -8
  312. data/webpack/__tests__/ForemanRhCloudHelpers.test.js +0 -11
  313. data/webpack/__tests__/ForemanRhCloudSelectors.test.js +0 -22
  314. data/webpack/__tests__/ForemanRhCloudTestHelpers.test.js +0 -20
  315. data/webpack/__tests__/__snapshots__/ForemanRhCloudHelpers.test.js.snap +0 -3
  316. data/webpack/__tests__/__snapshots__/ForemanRhCloudSelectors.test.js.snap +0 -25
  317. data/webpack/__tests__/__snapshots__/ForemanRhCloudTestHelpers.test.js.snap +0 -39
  318. data/webpack/stories/ForemanInventoryUploadReducers.js +0 -3
  319. data/webpack/stories/configureStore.js +0 -15
  320. data/webpack/stories/decorators/index.js +0 -1
  321. data/webpack/stories/decorators/withCardsDecorator.js +0 -14
  322. data/webpack/stories/index.js +0 -10
  323. data/webpack/stories/index.scss +0 -7
  324. data/webpack/subscriptions_extension_index.js +0 -8
  325. data/webpack/test_setup.js +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 222e7f5392e6276d4c38fdeb9bdbbf1078bcbbbc10bbf4aa3eb841ed1395bff9
4
- data.tar.gz: 746a4388499f65ad2691188ccb36e0936486222ed7a278bb90e35ce27adff85f
3
+ metadata.gz: 1f6361a25739c19a67518378257d51f67fc443839d76d7d07f5bd597f09ef15d
4
+ data.tar.gz: b558ad39920b634ee4c9be77ec20f65235eb3193de374879dc85bc284a15bfa5
5
5
  SHA512:
6
- metadata.gz: 19504446398f9dca2bee75c9a89265fc9b67b24e43b018c516a0fbc8351f7e4f888f3c4295606049ea15390b8291599401913cfc8d974ca0d86be9029ff2a5f8
7
- data.tar.gz: ce53ae2e0a0b1eba451d8e7b498fbd7c50257416c5604ae57df4cfbab6e5815e2cf91ddfd1f3ffa0b89933201dd01f68904fe7e50514a042a4685ddffdbc35f7
6
+ metadata.gz: 83b2169b736d8c57d544b8ce53bda7e91e4741efdd384953fd32a22ac96e531282e97ef740112a7be5310ef44fc0569fe8995972304844302d0b2eb3db6215f8
7
+ data.tar.gz: 3b7bbd7d76a68b5b41874472961eabd2360de0ad871705430d7549d8c44b48e5811ba9d566d74a3c0a8774b7c3b4c0c5a0f75ae57f2f38519ef528e12239c4f3
data/README.md CHANGED
@@ -11,39 +11,6 @@ for how to install Foreman plugins
11
11
 
12
12
  *Usage here*
13
13
 
14
- ### In Satellite
15
-
16
- #### Inventory upload
17
-
18
- In UI: Configure -> Inventory Upload -> Restart
19
-
20
- From command-line:
21
-
22
- export organization_id=1
23
- export target=/var/lib/foreman/red_hat_inventory/generated_reports/
24
- /usr/sbin/foreman-rake rh_cloud_inventory:report:generate
25
-
26
- #### Fetch hosts remediation data
27
-
28
- In UI: Configure -> Insights -> Sync now
29
-
30
- From command-line:
31
-
32
- /usr/sbin/foreman-rake rh_cloud_inventory:sync
33
-
34
- #### Synchronize inventory status
35
-
36
- In UI: Configure -> Inventory Upload -> Sync inventory status
37
-
38
- From command-line:
39
-
40
- # all organizations
41
- /usr/sbin/foreman-rake rh_cloud_insights:sync
42
-
43
- # specific organization with id 1
44
- export organization_id=1
45
- /usr/sbin/foreman-rake rh_cloud_insights:sync
46
-
47
14
  ## TODO
48
15
 
49
16
  *Todo list here*
@@ -1,8 +1,12 @@
1
1
  module ForemanInventoryUpload
2
2
  class AccountsController < ::ApplicationController
3
+ # override default "welcome screen behavior, since we don't have a model"
4
+ def welcome
5
+ true
6
+ end
7
+
3
8
  def index
4
- organizations = User.current.my_organizations
5
- labels = organizations.pluck(:id, :name)
9
+ labels = Organization.all.pluck(:id, :name)
6
10
 
7
11
  accounts = Hash[
8
12
  labels.map do |id, label|
@@ -10,22 +14,17 @@ module ForemanInventoryUpload
10
14
  upload_report_status = status_for(id, ForemanInventoryUpload::Async::UploadReportJob)
11
15
 
12
16
  [
13
- label,
17
+ id,
14
18
  {
15
19
  generate_report_status: generate_report_status,
16
20
  upload_report_status: upload_report_status,
17
- id: id,
21
+ label: label,
18
22
  },
19
23
  ]
20
24
  end
21
25
  ]
22
26
 
23
27
  render json: {
24
- autoUploadEnabled: Setting[:allow_auto_inventory_upload],
25
- hostObfuscationEnabled: Setting[:obfuscate_inventory_hostnames],
26
- ipsObfuscationEnabled: Setting[:obfuscate_inventory_ips],
27
- cloudToken: Setting[:rh_cloud_token],
28
- excludePackages: Setting[:exclude_installed_packages],
29
28
  accounts: accounts,
30
29
  }, status: :ok
31
30
  end
@@ -0,0 +1,7 @@
1
+ module ForemanInventoryUpload
2
+ class ReactController < ::ApplicationController
3
+ def index
4
+ render 'foreman_inventory_upload/layouts/react', :layout => false
5
+ end
6
+ end
7
+ end
@@ -11,58 +11,21 @@ module ForemanInventoryUpload
11
11
 
12
12
  def download_file
13
13
  filename = ForemanInventoryUpload.facts_archive_name(params[:organization_id])
14
- files = Dir["{#{ForemanInventoryUpload.uploads_file_path(filename)},#{ForemanInventoryUpload.done_file_path(filename)}}"]
14
+ path = Rails.root.join(ForemanInventoryUpload.uploads_folder, filename)
15
+ unless File.exist? path
16
+ return throw_flash_error(
17
+ "Path doesn't exist: #{path}"
18
+ )
19
+ end
15
20
 
16
- return send_file files.first, disposition: 'attachment', filename: filename unless files.empty?
17
- raise ::Foreman::Exception.new("The report file doesn't exist")
21
+ send_file path, disposition: 'attachment', filename: filename
18
22
  end
19
23
 
20
- def auto_upload
21
- Setting[:allow_auto_inventory_upload] = auto_upload_params
22
- render_setting(:autoUploadEnabled, :allow_auto_inventory_upload)
23
- end
24
-
25
- def show_auto_upload
26
- render_setting(:autoUploadEnabled, :allow_auto_inventory_upload)
27
- end
28
-
29
- def auto_upload_params
30
- ActiveModel::Type::Boolean.new.cast(params.require(:value))
31
- end
32
-
33
- def host_obfuscation
34
- Setting[:obfuscate_inventory_hostnames] = host_obfuscation_params
35
- render_setting(:hostObfuscationEnabled, :obfuscate_inventory_hostnames)
36
- end
37
-
38
- def host_obfuscation_params
39
- ActiveModel::Type::Boolean.new.cast(params.require(:value))
40
- end
41
-
42
- def installed_packages_inclusion
43
- Setting[:exclude_installed_packages] = host_obfuscation_params
44
- render_setting(:excludePackages, :exclude_installed_packages)
45
- end
46
-
47
- def installed_packages_inclusion_params
48
- ActiveModel::Type::Boolean.new.cast(params.require(:value))
49
- end
50
-
51
- def ips_obfuscation
52
- Setting[:obfuscate_inventory_ips] = ips_obfuscation_params
53
- render_setting(:ipsObfuscationEnabled, :obfuscate_inventory_ips)
54
- end
55
-
56
- def ips_obfuscation_params
57
- ActiveModel::Type::Boolean.new.cast(params.require(:value))
58
- end
59
-
60
- private
61
-
62
- def render_setting(node_name, setting)
63
- render json: {
64
- node_name => Setting[setting],
65
- }
24
+ def throw_flash_error(message)
25
+ process_error(
26
+ :redirect => foreman_inventory_upload_index_path,
27
+ :error_msg => message
28
+ )
66
29
  end
67
30
  end
68
31
  end
@@ -10,7 +10,7 @@
10
10
  <%= notifications %>
11
11
  <div id="organization-id" data-id="<%= Organization.current.id if Organization.current %>" ></div>
12
12
  <div id="user-id" data-id="<%= User.current.id if User.current %>" ></div>
13
- <div id="ForemanRhCloudReactRoot"></div>
14
- <%= yield %>
13
+ <div id="ForemanInventoryUploadReactRoot"></div>
15
14
  <% end %>
16
15
  <%= render file: "layouts/base" %>
16
+ <%= mount_react_component('ForemanInventoryUpload', '#ForemanInventoryUploadReactRoot') %>
data/config/routes.rb CHANGED
@@ -1,27 +1,10 @@
1
1
  Rails.application.routes.draw do
2
2
  namespace :foreman_inventory_upload do
3
+ get 'index', to: 'react#index'
3
4
  get ':organization_id/reports/last', to: 'reports#last', constraints: { organization_id: %r{[^\/]+} }
4
5
  post ':organization_id/reports', to: 'reports#generate', constraints: { organization_id: %r{[^\/]+} }
5
6
  get ':organization_id/uploads/last', to: 'uploads#last', constraints: { organization_id: %r{[^\/]+} }
6
7
  get ':organization_id/uploads/file', to: 'uploads#download_file', constraints: { organization_id: %r{[^\/]+} }
7
8
  get 'accounts', to: 'accounts#index'
8
- get 'auto_upload', to: 'uploads#show_auto_upload'
9
- post 'auto_upload', to: 'uploads#auto_upload'
10
- post 'host_obfuscation', to: 'uploads#host_obfuscation'
11
- post 'installed_packages_inclusion', to: 'uploads#installed_packages_inclusion'
12
- post 'ips_obfuscation', to: 'uploads#ips_obfuscation'
13
-
14
- resources :tasks, only: [:create]
15
- end
16
-
17
- namespace :insights_cloud do
18
- resources :tasks, only: [:create]
19
- resource :settings, only: [:show, :update]
20
- get 'hits/:host_id', to: 'hits#index'
21
- end
22
-
23
- namespace :foreman_rh_cloud do
24
- get 'inventory_upload', to: 'react#inventory_upload'
25
- get 'insights_cloud', to: 'react#insights_cloud'
26
9
  end
27
10
  end
@@ -18,18 +18,6 @@ module ForemanInventoryUpload
18
18
  )
19
19
  end
20
20
 
21
- def self.uploads_file_path(filename)
22
- File.join(ForemanInventoryUpload.uploads_folder, filename)
23
- end
24
-
25
- def self.done_folder
26
- File.join(ForemanInventoryUpload.uploads_folder, 'done/')
27
- end
28
-
29
- def self.done_file_path(filename)
30
- File.join(ForemanInventoryUpload.done_folder, filename)
31
- end
32
-
33
21
  def self.generated_reports_folder
34
22
  @generated_reports_folder ||= ensure_folder(
35
23
  File.join(
@@ -48,7 +36,7 @@ module ForemanInventoryUpload
48
36
  end
49
37
 
50
38
  def self.facts_archive_name(organization)
51
- "report_for_#{organization}.tar.xz"
39
+ "report_for_#{organization}.tar.gz"
52
40
  end
53
41
 
54
42
  def self.upload_url
@@ -60,9 +48,4 @@ module ForemanInventoryUpload
60
48
  FileUtils.mkdir_p(folder)
61
49
  folder
62
50
  end
63
-
64
- def self.inventory_export_url
65
- tags = URI.encode("satellite/satellite_instance_id=#{Foreman.instance_id}")
66
- ForemanRhCloud.base_url + "/api/inventory/v1/hosts?tags=#{tags}"
67
- end
68
51
  end
@@ -2,14 +2,6 @@ module ForemanInventoryUpload
2
2
  module Async
3
3
  class GenerateAllReportsJob < ::ApplicationJob
4
4
  def perform
5
- unless Setting[:allow_auto_inventory_upload]
6
- logger.debug(
7
- 'The scheduled process is disabled due to the "allow_auto_inventory_upload"
8
- setting being set to false.'
9
- )
10
- return
11
- end
12
-
13
5
  organizations = Organization.unscoped.all
14
6
 
15
7
  organizations.map do |organization|
@@ -23,7 +23,7 @@ module ForemanInventoryUpload
23
23
  end
24
24
 
25
25
  def command
26
- "#{rake_prefix}rake rh_cloud_inventory:report:generate"
26
+ "#{rake_prefix}rake foreman_inventory_upload:report:generate"
27
27
  end
28
28
 
29
29
  def env
@@ -3,35 +3,27 @@ require 'open3'
3
3
  module ForemanInventoryUpload
4
4
  module Async
5
5
  class ShellProcess < ::ApplicationJob
6
- include AsyncHelpers
7
-
8
6
  def perform(instance_label)
9
7
  klass_name = self.class.name
10
8
  logger.debug("Starting #{klass_name} with label #{instance_label}")
11
- progress_output_for(instance_label) do |progress_output|
12
- Open3.popen2e(hash_to_s(env), command) do |_stdin, stdout_stderr, wait_thread|
13
- progress_output.status = "Running in pid #{wait_thread.pid}"
14
-
15
- stdout_stderr.each do |out_line|
16
- progress_output.write_line(out_line)
17
- end
9
+ progress_output = ProgressOutput.register(instance_label)
10
+ Open3.popen2e(env, command) do |_stdin, stdout_stderr, wait_thread|
11
+ progress_output.status = "Running in pid #{wait_thread.pid}"
18
12
 
19
- progress_output.status = wait_thread.value.to_s
13
+ stdout_stderr.each do |out_line|
14
+ progress_output.write_line(out_line)
20
15
  end
16
+
17
+ progress_output.status = wait_thread.value.to_s
21
18
  end
22
19
  logger.debug("Finished job #{klass_name} with label #{instance_label}")
20
+ ensure
21
+ progress_output.close
23
22
  end
24
23
 
25
24
  def command
26
25
  end
27
26
 
28
- def progress_output_for(instance_label)
29
- progress_output = ProgressOutput.register(instance_label)
30
- yield(progress_output)
31
- ensure
32
- progress_output.close
33
- end
34
-
35
27
  def env
36
28
  {}
37
29
  end
@@ -8,33 +8,15 @@ module ForemanInventoryUpload
8
8
  end
9
9
 
10
10
  def perform(filename, organization_id)
11
- label = UploadReportJob.output_label(organization_id)
12
11
  @filename = filename
13
12
  @organization = Organization.find(organization_id)
14
13
 
15
- if Setting[:content_disconnected]
16
- progress_output_for(label) do |progress_output|
17
- progress_output.write_line('Upload was stopped since disconnected mode setting is enabled for content on this instance.')
18
- progress_output.status = "Task aborted, exit 1"
19
- end
20
- return
21
- end
22
-
23
- unless @organization.owner_details&.fetch('upstreamConsumer')&.fetch('idCert')
24
- logger.info("Skipping organization '#{@organization}', no candlepin certificate defined.")
25
- progress_output_for(label) do |progress_output|
26
- progress_output.write_line("Skipping organization #{@organization}, no candlepin certificate defined.")
27
- progress_output.status = "Task aborted, exit 1"
28
- end
29
- return
30
- end
31
-
32
14
  Tempfile.create([@organization.name, '.pem']) do |cer_file|
33
15
  cer_file.write(rh_credentials[:cert])
34
16
  cer_file.write(rh_credentials[:key])
35
17
  cer_file.flush
36
18
  @cer_path = cer_file.path
37
- super(label)
19
+ super(UploadReportJob.output_label(organization_id))
38
20
  end
39
21
  end
40
22
 
@@ -47,8 +29,6 @@ module ForemanInventoryUpload
47
29
  'FILES' => @filename,
48
30
  'CER_PATH' => @cer_path
49
31
  )
50
-
51
- http_proxy_string = ForemanRhCloud.http_proxy_string(logger: logger)
52
32
  if http_proxy_string
53
33
  env_vars['http_proxy'] = http_proxy_string
54
34
  env_vars['https_proxy'] = http_proxy_string
@@ -56,6 +36,10 @@ module ForemanInventoryUpload
56
36
  env_vars
57
37
  end
58
38
 
39
+ def http_proxy_string
40
+ @http_proxy_string ||= HttpProxy.default_global_content_proxy&.full_url
41
+ end
42
+
59
43
  def rh_credentials
60
44
  @rh_credentials ||= begin
61
45
  candlepin_id_certificate = @organization.owner_details['upstreamConsumer']['idCert']
@@ -16,9 +16,9 @@ module ForemanInventoryUpload
16
16
  first = true
17
17
  host_batches.each do |hosts_batch|
18
18
  slice_id = Foreman.uuid
19
- @logger.info "Adding slice #{slice_id}"
20
- hosts_count = generate_slice(tmpdir, slice_id, hosts_batch)
21
- @logger.info "slice #{slice_id} was created with #{hosts_count} hosts"
19
+ hosts_count = hosts_batch.count
20
+ @logger.info "Adding slice #{slice_id} with #{hosts_count} hosts"
21
+ generate_slice(tmpdir, slice_id, hosts_batch)
22
22
  inner_generator.add_slice(slice_id, hosts_count, first)
23
23
  first = false
24
24
  end
@@ -28,7 +28,7 @@ module ForemanInventoryUpload
28
28
 
29
29
  @logger.info 'Archiving generated report'
30
30
  # success = system('tar', '-zcvf', @target, '-C', tmpdir, '.')
31
- Open3.popen2e('tar', '-Jcvf', @target, '-C', tmpdir, '.') do |_in, out, wait_thr|
31
+ Open3.popen2e('tar', '-zcvf', @target, '-C', tmpdir, '.') do |_in, out, wait_thr|
32
32
  @logger.info("tar: #{out.read}")
33
33
 
34
34
  if wait_thr.value.success?
@@ -43,13 +43,10 @@ module ForemanInventoryUpload
43
43
  private
44
44
 
45
45
  def generate_slice(tmpdir, slice_id, hosts_batch)
46
- hosts_count = 0
47
46
  File.open(File.join(tmpdir, "#{slice_id}.json"), 'w') do |slice_out|
48
47
  slice_generator = ForemanInventoryUpload::Generators::Slice.new(hosts_batch, slice_out, slice_id)
49
48
  slice_generator.render
50
- hosts_count = slice_generator.hosts_count
51
49
  end
52
- hosts_count
53
50
  end
54
51
  end
55
52
  end
@@ -1,15 +1,8 @@
1
- require 'json'
2
-
3
1
  module ForemanInventoryUpload
4
2
  module Generators
5
3
  module FactHelpers
6
4
  extend ActiveSupport::Concern
7
5
 
8
- CLOUD_AMAZON = 'aws'
9
- CLOUD_GOOGLE = 'google'
10
- CLOUD_AZURE = 'azure'
11
- CLOUD_ALIBABA = 'alibaba'
12
-
13
6
  def fact_value(host, fact_name)
14
7
  value_record = host.fact_values.find do |fact_value|
15
8
  fact_value.fact_name_id == ForemanInventoryUpload::Generators::Queries.fact_names[fact_name]
@@ -20,90 +13,6 @@ module ForemanInventoryUpload
20
13
  def kilobytes_to_bytes(kilobytes)
21
14
  kilobytes * 1024
22
15
  end
23
-
24
- def account_id(organization)
25
- @organization_accounts ||= {}
26
- @organization_accounts[organization.id] ||= organization.pools.where.not(account_number: nil).pluck(:account_number).first
27
- end
28
-
29
- def golden_ticket?(organization)
30
- result = organization.try(:golden_ticket?)
31
- result = organization.content_access_mode == 'org_environment' if result.nil?
32
-
33
- @organization_golden_tickets ||= {}
34
- @organization_golden_tickets[organization.id] ||= result
35
- end
36
-
37
- def cloud_provider(host)
38
- bios_version = fact_value(host, 'dmi::bios::version')
39
-
40
- if bios_version
41
- return CLOUD_AMAZON if bios_version.downcase['amazon']
42
- return CLOUD_GOOGLE if bios_version.downcase['google']
43
- end
44
-
45
- chassis_asset_tag = fact_value(host, 'dmi::chassis::asset_tag')
46
- return CLOUD_AZURE if chassis_asset_tag && chassis_asset_tag['7783-7084-3265-9085-8269-3286-77']
47
-
48
- system_manufacturer = fact_value(host, 'dmi::system::manufacturer')
49
- return CLOUD_ALIBABA if system_manufacturer && system_manufacturer.downcase['alibaba cloud']
50
-
51
- product_name = fact_value(host, 'dmi::system::product_name')
52
- return CLOUD_ALIBABA if product_name && product_name.downcase['alibaba cloud ecs']
53
-
54
- nil
55
- end
56
-
57
- def obfuscate_hostname?(host)
58
- insights_client_setting = fact_value(host, 'insights_client::obfuscate_hostname_enabled')
59
- insights_client_setting = ActiveModel::Type::Boolean.new.cast(insights_client_setting)
60
- return insights_client_setting unless insights_client_setting.nil?
61
-
62
- Setting[:obfuscate_inventory_hostnames]
63
- end
64
-
65
- def fqdn(host)
66
- return host.fqdn unless obfuscate_hostname?(host)
67
-
68
- fact_value(host, 'insights_client::hostname') || obfuscate_fqdn(host.fqdn)
69
- end
70
-
71
- def obfuscate_fqdn(fqdn)
72
- "#{Digest::SHA1.hexdigest(fqdn)}.example.com"
73
- end
74
-
75
- def obfuscate_ips?(host)
76
- insights_client_setting = fact_value(host, 'insights_client::obfuscate_ip_enabled')
77
- insights_client_setting = ActiveModel::Type::Boolean.new.cast(insights_client_setting)
78
- return insights_client_setting unless insights_client_setting.nil?
79
-
80
- Setting[:obfuscate_inventory_ips]
81
- end
82
-
83
- def host_ips(host)
84
- return obfuscated_ips(host) if obfuscate_ips?(host)
85
-
86
- # return a pass through proxy hash in case no obfuscation needed
87
- Hash.new { |h, k| k }
88
- end
89
-
90
- def obfuscated_ips(host)
91
- insights_client_ips = JSON.parse(fact_value(host, 'insights_client::ips') || '[]')
92
-
93
- obfuscated_ips = Hash[
94
- insights_client_ips.map { |ip_record| [ip_record['original'], ip_record['obfuscated']] }
95
- ]
96
-
97
- obfuscated_ips.default_proc = proc do |hash, key|
98
- hash[key] = obfuscate_ip(key, hash)
99
- end
100
-
101
- obfuscated_ips
102
- end
103
-
104
- def obfuscate_ip(ip, ips_dict)
105
- "10.230.230.#{ips_dict.count + 1}"
106
- end
107
16
  end
108
17
  end
109
18
  end