dm-drogeriemarkt / foreman_wreckingball Goto Github PK
View Code? Open in Web Editor NEWForeman plug-in to add vSphere status checks.
License: GNU General Public License v3.0
Foreman plug-in to add vSphere status checks.
License: GNU General Public License v3.0
It would be helpful to support the ability to schedule a remediation on a host at a future time - to automatically hit a provided maintenance window for instance.
The calls to delete_all
fails because delete_all
here only tries to delete only those records and not the associations. So as a result if the have some facets for example, then it will fail with a foreign_key_constraint exception. destroy_all
should be used here as this will destroy the child records accordingly.
We should find a global place for the status list. So when you add a new status as a developer you don't have to add it in too many places.
It should be possible to start a remediate action for a host and status via API.
Currently rendering the status dashboard is pretty slow. We should investigate how we can improve the performance.
This is a request from a production deployment:
2018-10-30T10:52:18 [D|app|49959] Cache read: _session_id:895fbc9ef8b3f45b9e8479e46df81bc6
2018-10-30T10:52:18 [I|app|49959] Processing by ForemanWreckingball::HostsController#status_dashboard as HTML
2018-10-30T10:52:18 [D|sql|49959] User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 9], ["LIMIT", 1]]
2018-10-30T10:52:18 [D|sql|49959] AuthSource Load (0.4ms) SELECT "auth_sources".* FROM "auth_sources" WHERE "auth_sources"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]]
2018-10-30T10:52:18 [I|app|49959] Current user set to XXXX (admin)
2018-10-30T10:52:18 [D|app|49959] Cache read: authorize_login_delegation
2018-10-30T10:52:18 [D|app|49959] Cache read: authorize_login_delegation
2018-10-30T10:52:18 [D|app|49959] Cache read: idle_timeout
2018-10-30T10:52:18 [D|app|49959] Cache delete: views/tabs_and_title_records-9
2018-10-30T10:52:18 [D|app|49959] Current location set to none
2018-10-30T10:52:18 [D|sql|49959] Organization Load (0.6ms) SELECT "taxonomies".* FROM "taxonomies" WHERE "taxonomies"."type" IN ('Organization') AND "taxonomies"."id" = $1 ORDER BY "taxonomies"."title" ASC LIMIT $2 [["id", 3], ["LIMIT", 1]]
2018-10-30T10:52:18 [D|app|49959] Current organization set to XXX
2018-10-30T10:52:18 [D|sql|49959] (0.4ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE "taxonomies"."type" IN ('Location') LIMIT $1 [["LIMIT", 1]]
2018-10-30T10:52:18 [D|sql|49959] (0.4ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE "taxonomies"."type" IN ('Organization') LIMIT $1 [["LIMIT", 1]]
2018-10-30T10:52:18 [D|sql|49959] (0.5ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:18 [D|sql|49959] (8.0ms) SELECT MAX(vmware_facets.updated_at) FROM "hosts" INNER JOIN "vmware_facets" ON "vmware_facets"."host_id" = "hosts"."id" WHERE "hosts"."type" IN ('Host::Managed') AND "hosts"."organization_id" = 3
2018-10-30T10:52:18 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:18 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:18 [D|sql|49959] CACHE (0.1ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:18 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:18 [I|app|49959] Rendering /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.0.1/app/views/foreman_wreckingball/hosts/status_dashboard.html.erb within layouts/application
2018-10-30T10:52:18 [D|sql|49959] (0.8ms) SELECT "environments"."id" FROM "environments"
2018-10-30T10:52:18 [D|sql|49959] Taxonomy Load (0.9ms) SELECT "taxonomies".* FROM "taxonomies" INNER JOIN "taxable_taxonomies" ON "taxonomies"."id" = "taxable_taxonomies"."taxonomy_id" WHERE "taxable_taxonomies"."taxable_id" = $1 AND "taxable_taxonomies"."taxable_type" = $2 AND "taxonomies"."type" = $3 ORDER BY "taxonomies"."title" ASC [["taxable_id", 9], ["taxable_type", "User"], ["type", "Location"]]
2018-10-30T10:52:18 [D|sql|49959] (0.4ms) SELECT environments.id FROM "environments"
2018-10-30T10:52:18 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:18 [D|sql|49959] (1.2ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "Environment"]]
2018-10-30T10:52:18 [D|sql|49959] SQL (111.1ms) SELECT "hosts"."id" AS t0_r0, "hosts"."name" AS t0_r1, "hosts"."last_compile" AS t0_r2, "hosts"."last_report" AS t0_r3, "hosts"."updated_at" AS t0_r4, "hosts"."created_at" AS t0_r5, "hosts"."root_pass" AS t0_r6, "hosts"."architecture_id" AS t0_r7, "hosts"."operatingsystem_id" AS t0_r8, "hosts"."environment_id" AS t0_r9, "hosts"."ptable_id" AS t0_r10, "hosts"."medium_id" AS t0_r11, "hosts"."build" AS t0_r12, "hosts"."comment" AS t0_r13, "hosts"."disk" AS t0_r14, "hosts"."installed_at" AS t0_r15, "hosts"."model_id" AS t0_r16, "hosts"."hostgroup_id" AS t0_r17, "hosts"."owner_id" AS t0_r18, "hosts"."owner_type" AS t0_r19, "hosts"."enabled" AS t0_r20, "hosts"."puppet_ca_proxy_id" AS t0_r21, "hosts"."managed" AS t0_r22, "hosts"."use_image" AS t0_r23, "hosts"."image_file" AS t0_r24, "hosts"."uuid" AS t0_r25, "hosts"."compute_resource_id" AS t0_r26, "hosts"."puppet_proxy_id" AS t0_r27, "hosts"."certname" AS t0_r28, "hosts"."image_id" AS t0_r29, "hosts"."organization_id" AS t0_r30, "hosts"."location_id" AS t0_r31, "hosts"."type" AS t0_r32, "hosts"."otp" AS t0_r33, "hosts"."realm_id" AS t0_r34, "hosts"."compute_profile_id" AS t0_r35, "hosts"."provision_method" AS t0_r36, "hosts"."grub_pass" AS t0_r37, "hosts"."discovery_rule_id" AS t0_r38, "hosts"."expired_on" AS t0_r39, "hosts"."global_status" AS t0_r40, "hosts"."lookup_value_matcher" AS t0_r41, "hosts"."pxe_loader" AS t0_r42, "hosts"."monitoring_proxy_id" AS t0_r43, "hosts"."rescue_mode" AS t0_r44, "hosts"."spacewalk_proxy_id" AS t0_r45, "hosts"."initiated_at" AS t0_r46, "hosts"."build_errors" AS t0_r47, "host_status"."id" AS t1_r0, "host_status"."type" AS t1_r1, "host_status"."status" AS t1_r2, "host_status"."host_id" AS t1_r3, "host_status"."reported_at" AS t1_r4, "vmware_facets"."id" AS t2_r0, "vmware_facets"."host_id" AS t2_r1, "vmware_facets"."vmware_cluster_id" AS t2_r2, "vmware_facets"."cpus" AS t2_r3, "vmware_facets"."corespersocket" AS t2_r4, "vmware_facets"."memory_mb" AS t2_r5, "vmware_facets"."guest_id" AS t2_r6, "vmware_facets"."tools_state" AS t2_r7, "vmware_facets"."cpu_hot_add" AS t2_r8, "vmware_facets"."created_at" AS t2_r9, "vmware_facets"."updated_at" AS t2_r10, "vmware_facets"."cpu_features" AS t2_r11, "vmware_facets"."hardware_version" AS t2_r12, "vmware_facets"."power_state" AS t2_r13, "environments"."id" AS t3_r0, "environments"."name" AS t3_r1, "environments"."created_at" AS t3_r2, "environments"."updated_at" AS t3_r3, "environments"."katello_id" AS t3_r4 FROM "hosts" INNER JOIN "host_status" ON "host_status"."host_id" = "hosts"."id" AND "host_status"."type" IN ('ForemanWreckingball::ToolsStatus') LEFT OUTER JOIN "vmware_facets" ON "vmware_facets"."host_id" = "hosts"."id" LEFT OUTER JOIN "environments" ON "environments"."id" = "hosts"."environment_id" AND (environments.id IN (1,2,6,11,82,106,107,109,110,120,431,434,567,594,621,1529,1530,759,1682,867,1790,900,963,972,975,978,1891,1041,1536,1089,1111,1538,1741,1171,1578,1268,1307,1337,1355,1445,1364,1365,1906,1370,1371,1918,1713,1387,1459,1919,1461,1767,1821,1860,1828,1476,1415,1620,1622,1423,1673,1882,1937,1978,1979,1981,1983,1985,1986,1987)) WHERE "hosts"."type" IN ('Host::Managed') AND "hosts"."organization_id" = 3 ORDER BY "hosts"."name" ASC
2018-10-30T10:52:21 [D|sql|49959] Usergroup Load (1.1ms) SELECT "usergroups".* FROM "usergroups" WHERE "usergroups"."id" IN (74, 71, 54, 117, 27, 69, 33, 115, 128, 51, 68, 30, 36, 76, 118, 59, 15, 24, 56, 42, 62, 129, 48, 78, 114, 60, 123, 64, 67, 125, 70) ORDER BY usergroups.name
2018-10-30T10:52:22 [D|sql|49959] (0.8ms) SELECT "users"."id" FROM "users"
2018-10-30T10:52:22 [D|sql|49959] (0.5ms) SELECT users.id FROM "users"
2018-10-30T10:52:22 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:22 [D|sql|49959] (1.4ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "User"]]
2018-10-30T10:52:22 [D|sql|49959] (1.4ms) SELECT "users"."id" FROM "users" LEFT OUTER JOIN "cached_usergroup_members" ON "cached_usergroup_members"."user_id" = "users"."id" LEFT OUTER JOIN "usergroups" ON "usergroups"."id" = "cached_usergroup_members"."usergroup_id" WHERE (users.admin = 't' OR usergroups.admin = 't')
2018-10-30T10:52:22 [D|sql|49959] User Load (1.0ms) SELECT "users".* FROM "users" WHERE (users.id IN (1,120,335,343,126,353,237,216,284,243,219,271,354,308,418,320,389,372,368,403,432,428,369,387,302,268,329,429,374,375,336,311,413,370,415,398,328,327,417,410,437,359,99,433,55,347,382,424,434,419,371,381,408,366,373,422,392,405,406,416,396,390,407,404,430,393,399,290,341,421,293,58,436,340,29,318,427,383,420,287,391,395,412,400,367,402,397,360,431,414,423,435,426,174,240,350,344,345,123,339,364,365,21,324,3,363,189,323,355,322,299,338,255,252,108,144,87,177,129,27,153,278,156,246,386,54,361,225,180,159,201,150,378,138,222,168,72,319,326,385,132,228,213,22,358,346,312,192,310,409,316,441,443,388,439,9,162,376,313,207,379,78,356,440,401,315,281,352,204,380,13,442,165,305,265,400,138,108,204,207,313,335,401,335,401,400,207,54,313,9,54,204,138,397,397,391,391,108,9,55,55,385,435,435,385,350,350,39,346,15,40,340,438,58,1,9)) AND "users"."id" IN (108, 138, 9, 99, 204, 340, 420, 385, 313, 132, 129, 343, 391, 401, 189, 207, 3, 54, 397, 246, 335, 159, 228, 222) ORDER BY firstname
2018-10-30T10:52:22 [I|app|49959] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.0.1/app/views/foreman_wreckingball/hosts/_status_row.html.erb (108.1ms)
2018-10-30T10:52:22 [D|sql|49959] CACHE (0.0ms) SELECT "environments"."id" FROM "environments"
2018-10-30T10:52:22 [D|sql|49959] CACHE (0.0ms) SELECT environments.id FROM "environments"
2018-10-30T10:52:22 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:22 [D|sql|49959] CACHE (0.0ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "Environment"]]
2018-10-30T10:52:22 [D|sql|49959] SQL (126.1ms) SELECT "hosts"."id" AS t0_r0, "hosts"."name" AS t0_r1, "hosts"."last_compile" AS t0_r2, "hosts"."last_report" AS t0_r3, "hosts"."updated_at" AS t0_r4, "hosts"."created_at" AS t0_r5, "hosts"."root_pass" AS t0_r6, "hosts"."architecture_id" AS t0_r7, "hosts"."operatingsystem_id" AS t0_r8, "hosts"."environment_id" AS t0_r9, "hosts"."ptable_id" AS t0_r10, "hosts"."medium_id" AS t0_r11, "hosts"."build" AS t0_r12, "hosts"."comment" AS t0_r13, "hosts"."disk" AS t0_r14, "hosts"."installed_at" AS t0_r15, "hosts"."model_id" AS t0_r16, "hosts"."hostgroup_id" AS t0_r17, "hosts"."owner_id" AS t0_r18, "hosts"."owner_type" AS t0_r19, "hosts"."enabled" AS t0_r20, "hosts"."puppet_ca_proxy_id" AS t0_r21, "hosts"."managed" AS t0_r22, "hosts"."use_image" AS t0_r23, "hosts"."image_file" AS t0_r24, "hosts"."uuid" AS t0_r25, "hosts"."compute_resource_id" AS t0_r26, "hosts"."puppet_proxy_id" AS t0_r27, "hosts"."certname" AS t0_r28, "hosts"."image_id" AS t0_r29, "hosts"."organization_id" AS t0_r30, "hosts"."location_id" AS t0_r31, "hosts"."type" AS t0_r32, "hosts"."otp" AS t0_r33, "hosts"."realm_id" AS t0_r34, "hosts"."compute_profile_id" AS t0_r35, "hosts"."provision_method" AS t0_r36, "hosts"."grub_pass" AS t0_r37, "hosts"."discovery_rule_id" AS t0_r38, "hosts"."expired_on" AS t0_r39, "hosts"."global_status" AS t0_r40, "hosts"."lookup_value_matcher" AS t0_r41, "hosts"."pxe_loader" AS t0_r42, "hosts"."monitoring_proxy_id" AS t0_r43, "hosts"."rescue_mode" AS t0_r44, "hosts"."spacewalk_proxy_id" AS t0_r45, "hosts"."initiated_at" AS t0_r46, "hosts"."build_errors" AS t0_r47, "host_status"."id" AS t1_r0, "host_status"."type" AS t1_r1, "host_status"."status" AS t1_r2, "host_status"."host_id" AS t1_r3, "host_status"."reported_at" AS t1_r4, "vmware_facets"."id" AS t2_r0, "vmware_facets"."host_id" AS t2_r1, "vmware_facets"."vmware_cluster_id" AS t2_r2, "vmware_facets"."cpus" AS t2_r3, "vmware_facets"."corespersocket" AS t2_r4, "vmware_facets"."memory_mb" AS t2_r5, "vmware_facets"."guest_id" AS t2_r6, "vmware_facets"."tools_state" AS t2_r7, "vmware_facets"."cpu_hot_add" AS t2_r8, "vmware_facets"."created_at" AS t2_r9, "vmware_facets"."updated_at" AS t2_r10, "vmware_facets"."cpu_features" AS t2_r11, "vmware_facets"."hardware_version" AS t2_r12, "vmware_facets"."power_state" AS t2_r13, "environments"."id" AS t3_r0, "environments"."name" AS t3_r1, "environments"."created_at" AS t3_r2, "environments"."updated_at" AS t3_r3, "environments"."katello_id" AS t3_r4 FROM "hosts" INNER JOIN "host_status" ON "host_status"."host_id" = "hosts"."id" AND "host_status"."type" IN ('ForemanWreckingball::OperatingsystemStatus') LEFT OUTER JOIN "vmware_facets" ON "vmware_facets"."host_id" = "hosts"."id" LEFT OUTER JOIN "environments" ON "environments"."id" = "hosts"."environment_id" AND (environments.id IN (1,2,6,11,82,106,107,109,110,120,431,434,567,594,621,1529,1530,759,1682,867,1790,900,963,972,975,978,1891,1041,1536,1089,1111,1538,1741,1171,1578,1268,1307,1337,1355,1445,1364,1365,1906,1370,1371,1918,1713,1387,1459,1919,1461,1767,1821,1860,1828,1476,1415,1620,1622,1423,1673,1882,1937,1978,1979,1981,1983,1985,1986,1987)) WHERE "hosts"."type" IN ('Host::Managed') AND "hosts"."organization_id" = 3 ORDER BY "hosts"."name" ASC
2018-10-30T10:52:25 [D|sql|49959] CACHE Usergroup Load (0.0ms) SELECT "usergroups".* FROM "usergroups" WHERE "usergroups"."id" IN (74, 71, 54, 117, 27, 69, 33, 115, 128, 51, 68, 30, 36, 76, 118, 59, 15, 24, 56, 42, 62, 129, 48, 78, 114, 60, 123, 64, 67, 125, 70) ORDER BY usergroups.name
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.1ms) SELECT "users"."id" FROM "users"
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT users.id FROM "users"
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "User"]]
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT "users"."id" FROM "users" LEFT OUTER JOIN "cached_usergroup_members" ON "cached_usergroup_members"."user_id" = "users"."id" LEFT OUTER JOIN "usergroups" ON "usergroups"."id" = "cached_usergroup_members"."usergroup_id" WHERE (users.admin = 't' OR usergroups.admin = 't')
2018-10-30T10:52:25 [D|sql|49959] CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE (users.id IN (1,120,335,343,126,353,237,216,284,243,219,271,354,308,418,320,389,372,368,403,432,428,369,387,302,268,329,429,374,375,336,311,413,370,415,398,328,327,417,410,437,359,99,433,55,347,382,424,434,419,371,381,408,366,373,422,392,405,406,416,396,390,407,404,430,393,399,290,341,421,293,58,436,340,29,318,427,383,420,287,391,395,412,400,367,402,397,360,431,414,423,435,426,174,240,350,344,345,123,339,364,365,21,324,3,363,189,323,355,322,299,338,255,252,108,144,87,177,129,27,153,278,156,246,386,54,361,225,180,159,201,150,378,138,222,168,72,319,326,385,132,228,213,22,358,346,312,192,310,409,316,441,443,388,439,9,162,376,313,207,379,78,356,440,401,315,281,352,204,380,13,442,165,305,265,400,138,108,204,207,313,335,401,335,401,400,207,54,313,9,54,204,138,397,397,391,391,108,9,55,55,385,435,435,385,350,350,39,346,15,40,340,438,58,1,9)) AND "users"."id" IN (108, 138, 9, 99, 204, 340, 420, 385, 313, 132, 129, 343, 391, 401, 189, 207, 3, 54, 397, 246, 335, 159, 228, 222) ORDER BY firstname
2018-10-30T10:52:25 [I|app|49959] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.0.1/app/views/foreman_wreckingball/hosts/_status_row.html.erb (32.1ms)
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT "environments"."id" FROM "environments"
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT environments.id FROM "environments"
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:25 [D|sql|49959] CACHE (0.0ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "Environment"]]
2018-10-30T10:52:25 [D|sql|49959] SQL (112.7ms) SELECT "hosts"."id" AS t0_r0, "hosts"."name" AS t0_r1, "hosts"."last_compile" AS t0_r2, "hosts"."last_report" AS t0_r3, "hosts"."updated_at" AS t0_r4, "hosts"."created_at" AS t0_r5, "hosts"."root_pass" AS t0_r6, "hosts"."architecture_id" AS t0_r7, "hosts"."operatingsystem_id" AS t0_r8, "hosts"."environment_id" AS t0_r9, "hosts"."ptable_id" AS t0_r10, "hosts"."medium_id" AS t0_r11, "hosts"."build" AS t0_r12, "hosts"."comment" AS t0_r13, "hosts"."disk" AS t0_r14, "hosts"."installed_at" AS t0_r15, "hosts"."model_id" AS t0_r16, "hosts"."hostgroup_id" AS t0_r17, "hosts"."owner_id" AS t0_r18, "hosts"."owner_type" AS t0_r19, "hosts"."enabled" AS t0_r20, "hosts"."puppet_ca_proxy_id" AS t0_r21, "hosts"."managed" AS t0_r22, "hosts"."use_image" AS t0_r23, "hosts"."image_file" AS t0_r24, "hosts"."uuid" AS t0_r25, "hosts"."compute_resource_id" AS t0_r26, "hosts"."puppet_proxy_id" AS t0_r27, "hosts"."certname" AS t0_r28, "hosts"."image_id" AS t0_r29, "hosts"."organization_id" AS t0_r30, "hosts"."location_id" AS t0_r31, "hosts"."type" AS t0_r32, "hosts"."otp" AS t0_r33, "hosts"."realm_id" AS t0_r34, "hosts"."compute_profile_id" AS t0_r35, "hosts"."provision_method" AS t0_r36, "hosts"."grub_pass" AS t0_r37, "hosts"."discovery_rule_id" AS t0_r38, "hosts"."expired_on" AS t0_r39, "hosts"."global_status" AS t0_r40, "hosts"."lookup_value_matcher" AS t0_r41, "hosts"."pxe_loader" AS t0_r42, "hosts"."monitoring_proxy_id" AS t0_r43, "hosts"."rescue_mode" AS t0_r44, "hosts"."spacewalk_proxy_id" AS t0_r45, "hosts"."initiated_at" AS t0_r46, "hosts"."build_errors" AS t0_r47, "host_status"."id" AS t1_r0, "host_status"."type" AS t1_r1, "host_status"."status" AS t1_r2, "host_status"."host_id" AS t1_r3, "host_status"."reported_at" AS t1_r4, "vmware_facets"."id" AS t2_r0, "vmware_facets"."host_id" AS t2_r1, "vmware_facets"."vmware_cluster_id" AS t2_r2, "vmware_facets"."cpus" AS t2_r3, "vmware_facets"."corespersocket" AS t2_r4, "vmware_facets"."memory_mb" AS t2_r5, "vmware_facets"."guest_id" AS t2_r6, "vmware_facets"."tools_state" AS t2_r7, "vmware_facets"."cpu_hot_add" AS t2_r8, "vmware_facets"."created_at" AS t2_r9, "vmware_facets"."updated_at" AS t2_r10, "vmware_facets"."cpu_features" AS t2_r11, "vmware_facets"."hardware_version" AS t2_r12, "vmware_facets"."power_state" AS t2_r13, "environments"."id" AS t3_r0, "environments"."name" AS t3_r1, "environments"."created_at" AS t3_r2, "environments"."updated_at" AS t3_r3, "environments"."katello_id" AS t3_r4 FROM "hosts" INNER JOIN "host_status" ON "host_status"."host_id" = "hosts"."id" AND "host_status"."type" IN ('ForemanWreckingball::CpuHotAddStatus') LEFT OUTER JOIN "vmware_facets" ON "vmware_facets"."host_id" = "hosts"."id" LEFT OUTER JOIN "environments" ON "environments"."id" = "hosts"."environment_id" AND (environments.id IN (1,2,6,11,82,106,107,109,110,120,431,434,567,594,621,1529,1530,759,1682,867,1790,900,963,972,975,978,1891,1041,1536,1089,1111,1538,1741,1171,1578,1268,1307,1337,1355,1445,1364,1365,1906,1370,1371,1918,1713,1387,1459,1919,1461,1767,1821,1860,1828,1476,1415,1620,1622,1423,1673,1882,1937,1978,1979,1981,1983,1985,1986,1987)) WHERE "hosts"."type" IN ('Host::Managed') AND "hosts"."organization_id" = 3 ORDER BY "hosts"."name" ASC
2018-10-30T10:52:28 [D|sql|49959] CACHE Usergroup Load (0.0ms) SELECT "usergroups".* FROM "usergroups" WHERE "usergroups"."id" IN (74, 71, 54, 117, 27, 69, 33, 115, 128, 51, 68, 30, 36, 76, 118, 59, 15, 24, 56, 42, 62, 129, 48, 78, 114, 60, 123, 64, 67, 125, 70) ORDER BY usergroups.name
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT "users"."id" FROM "users"
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT users.id FROM "users"
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "User"]]
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT "users"."id" FROM "users" LEFT OUTER JOIN "cached_usergroup_members" ON "cached_usergroup_members"."user_id" = "users"."id" LEFT OUTER JOIN "usergroups" ON "usergroups"."id" = "cached_usergroup_members"."usergroup_id" WHERE (users.admin = 't' OR usergroups.admin = 't')
2018-10-30T10:52:28 [D|sql|49959] CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE (users.id IN (1,120,335,343,126,353,237,216,284,243,219,271,354,308,418,320,389,372,368,403,432,428,369,387,302,268,329,429,374,375,336,311,413,370,415,398,328,327,417,410,437,359,99,433,55,347,382,424,434,419,371,381,408,366,373,422,392,405,406,416,396,390,407,404,430,393,399,290,341,421,293,58,436,340,29,318,427,383,420,287,391,395,412,400,367,402,397,360,431,414,423,435,426,174,240,350,344,345,123,339,364,365,21,324,3,363,189,323,355,322,299,338,255,252,108,144,87,177,129,27,153,278,156,246,386,54,361,225,180,159,201,150,378,138,222,168,72,319,326,385,132,228,213,22,358,346,312,192,310,409,316,441,443,388,439,9,162,376,313,207,379,78,356,440,401,315,281,352,204,380,13,442,165,305,265,400,138,108,204,207,313,335,401,335,401,400,207,54,313,9,54,204,138,397,397,391,391,108,9,55,55,385,435,435,385,350,350,39,346,15,40,340,438,58,1,9)) AND "users"."id" IN (108, 138, 9, 99, 204, 340, 420, 385, 313, 132, 129, 343, 391, 401, 189, 207, 3, 54, 397, 246, 335, 159, 228, 222) ORDER BY firstname
2018-10-30T10:52:28 [I|app|49959] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.0.1/app/views/foreman_wreckingball/hosts/_status_row.html.erb (25.1ms)
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT "environments"."id" FROM "environments"
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT environments.id FROM "environments"
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:28 [D|sql|49959] CACHE (0.0ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "Environment"]]
2018-10-30T10:52:28 [D|sql|49959] SQL (125.6ms) SELECT "hosts"."id" AS t0_r0, "hosts"."name" AS t0_r1, "hosts"."last_compile" AS t0_r2, "hosts"."last_report" AS t0_r3, "hosts"."updated_at" AS t0_r4, "hosts"."created_at" AS t0_r5, "hosts"."root_pass" AS t0_r6, "hosts"."architecture_id" AS t0_r7, "hosts"."operatingsystem_id" AS t0_r8, "hosts"."environment_id" AS t0_r9, "hosts"."ptable_id" AS t0_r10, "hosts"."medium_id" AS t0_r11, "hosts"."build" AS t0_r12, "hosts"."comment" AS t0_r13, "hosts"."disk" AS t0_r14, "hosts"."installed_at" AS t0_r15, "hosts"."model_id" AS t0_r16, "hosts"."hostgroup_id" AS t0_r17, "hosts"."owner_id" AS t0_r18, "hosts"."owner_type" AS t0_r19, "hosts"."enabled" AS t0_r20, "hosts"."puppet_ca_proxy_id" AS t0_r21, "hosts"."managed" AS t0_r22, "hosts"."use_image" AS t0_r23, "hosts"."image_file" AS t0_r24, "hosts"."uuid" AS t0_r25, "hosts"."compute_resource_id" AS t0_r26, "hosts"."puppet_proxy_id" AS t0_r27, "hosts"."certname" AS t0_r28, "hosts"."image_id" AS t0_r29, "hosts"."organization_id" AS t0_r30, "hosts"."location_id" AS t0_r31, "hosts"."type" AS t0_r32, "hosts"."otp" AS t0_r33, "hosts"."realm_id" AS t0_r34, "hosts"."compute_profile_id" AS t0_r35, "hosts"."provision_method" AS t0_r36, "hosts"."grub_pass" AS t0_r37, "hosts"."discovery_rule_id" AS t0_r38, "hosts"."expired_on" AS t0_r39, "hosts"."global_status" AS t0_r40, "hosts"."lookup_value_matcher" AS t0_r41, "hosts"."pxe_loader" AS t0_r42, "hosts"."monitoring_proxy_id" AS t0_r43, "hosts"."rescue_mode" AS t0_r44, "hosts"."spacewalk_proxy_id" AS t0_r45, "hosts"."initiated_at" AS t0_r46, "hosts"."build_errors" AS t0_r47, "host_status"."id" AS t1_r0, "host_status"."type" AS t1_r1, "host_status"."status" AS t1_r2, "host_status"."host_id" AS t1_r3, "host_status"."reported_at" AS t1_r4, "vmware_facets"."id" AS t2_r0, "vmware_facets"."host_id" AS t2_r1, "vmware_facets"."vmware_cluster_id" AS t2_r2, "vmware_facets"."cpus" AS t2_r3, "vmware_facets"."corespersocket" AS t2_r4, "vmware_facets"."memory_mb" AS t2_r5, "vmware_facets"."guest_id" AS t2_r6, "vmware_facets"."tools_state" AS t2_r7, "vmware_facets"."cpu_hot_add" AS t2_r8, "vmware_facets"."created_at" AS t2_r9, "vmware_facets"."updated_at" AS t2_r10, "vmware_facets"."cpu_features" AS t2_r11, "vmware_facets"."hardware_version" AS t2_r12, "vmware_facets"."power_state" AS t2_r13, "environments"."id" AS t3_r0, "environments"."name" AS t3_r1, "environments"."created_at" AS t3_r2, "environments"."updated_at" AS t3_r3, "environments"."katello_id" AS t3_r4 FROM "hosts" INNER JOIN "host_status" ON "host_status"."host_id" = "hosts"."id" AND "host_status"."type" IN ('ForemanWreckingball::SpectreV2Status') LEFT OUTER JOIN "vmware_facets" ON "vmware_facets"."host_id" = "hosts"."id" LEFT OUTER JOIN "environments" ON "environments"."id" = "hosts"."environment_id" AND (environments.id IN (1,2,6,11,82,106,107,109,110,120,431,434,567,594,621,1529,1530,759,1682,867,1790,900,963,972,975,978,1891,1041,1536,1089,1111,1538,1741,1171,1578,1268,1307,1337,1355,1445,1364,1365,1906,1370,1371,1918,1713,1387,1459,1919,1461,1767,1821,1860,1828,1476,1415,1620,1622,1423,1673,1882,1937,1978,1979,1981,1983,1985,1986,1987)) WHERE "hosts"."type" IN ('Host::Managed') AND "hosts"."organization_id" = 3 ORDER BY "hosts"."name" ASC
2018-10-30T10:52:32 [D|sql|49959] CACHE Usergroup Load (0.0ms) SELECT "usergroups".* FROM "usergroups" WHERE "usergroups"."id" IN (74, 71, 54, 117, 27, 69, 33, 115, 128, 51, 68, 30, 36, 76, 118, 59, 15, 24, 56, 42, 62, 129, 48, 78, 114, 60, 123, 64, 67, 125, 70) ORDER BY usergroups.name
2018-10-30T10:52:32 [D|sql|49959] CACHE (0.0ms) SELECT "users"."id" FROM "users"
2018-10-30T10:52:32 [D|sql|49959] CACHE (0.0ms) SELECT users.id FROM "users"
2018-10-30T10:52:32 [D|sql|49959] CACHE (0.0ms) SELECT "taxonomies"."id" FROM "taxonomies" WHERE (("taxonomies"."ancestry" LIKE '3/%' OR "taxonomies"."ancestry" = '3') OR "taxonomies"."id" = 3) ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:32 [D|sql|49959] CACHE (0.0ms) SELECT DISTINCT "taxable_taxonomies"."taxable_id" FROM "taxable_taxonomies" WHERE "taxable_taxonomies"."taxable_type" = $1 AND "taxable_taxonomies"."taxonomy_id" = 3 [["taxable_type", "User"]]
2018-10-30T10:52:32 [D|sql|49959] CACHE (0.0ms) SELECT "users"."id" FROM "users" LEFT OUTER JOIN "cached_usergroup_members" ON "cached_usergroup_members"."user_id" = "users"."id" LEFT OUTER JOIN "usergroups" ON "usergroups"."id" = "cached_usergroup_members"."usergroup_id" WHERE (users.admin = 't' OR usergroups.admin = 't')
2018-10-30T10:52:32 [D|sql|49959] User Load (1.3ms) SELECT "users".* FROM "users" WHERE (users.id IN (1,120,335,343,126,353,237,216,284,243,219,271,354,308,418,320,389,372,368,403,432,428,369,387,302,268,329,429,374,375,336,311,413,370,415,398,328,327,417,410,437,359,99,433,55,347,382,424,434,419,371,381,408,366,373,422,392,405,406,416,396,390,407,404,430,393,399,290,341,421,293,58,436,340,29,318,427,383,420,287,391,395,412,400,367,402,397,360,431,414,423,435,426,174,240,350,344,345,123,339,364,365,21,324,3,363,189,323,355,322,299,338,255,252,108,144,87,177,129,27,153,278,156,246,386,54,361,225,180,159,201,150,378,138,222,168,72,319,326,385,132,228,213,22,358,346,312,192,310,409,316,441,443,388,439,9,162,376,313,207,379,78,356,440,401,315,281,352,204,380,13,442,165,305,265,400,138,108,204,207,313,335,401,335,401,400,207,54,313,9,54,204,138,397,397,391,391,108,9,55,55,385,435,435,385,350,350,39,346,15,40,340,438,58,1,9)) AND "users"."id" IN (108, 138, 9, 99, 204, 340, 420, 313, 132, 129, 343, 391, 401, 189, 207, 3, 54, 397, 246, 335, 159, 228, 222) ORDER BY firstname
2018-10-30T10:52:33 [I|app|49959] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.0.1/app/views/foreman_wreckingball/hosts/_status_row.html.erb (1117.5ms)
2018-10-30T10:52:33 [I|app|49959] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.0.1/app/views/foreman_wreckingball/hosts/_status_dashboard_content.erb (14733.5ms)
2018-10-30T10:52:33 [I|app|49959] Rendered common/_modal.html.erb (0.3ms)
2018-10-30T10:52:33 [I|app|49959] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.0.1/app/views/foreman_wreckingball/hosts/status_dashboard.html.erb within layouts/application (14736.3ms)
2018-10-30T10:52:33 [I|app|49959] Rendered layouts/_application_content.html.erb (1.7ms)
2018-10-30T10:52:33 [I|app|49959] Rendering layouts/base.html.erb
2018-10-30T10:52:33 [D|app|49959] Cache read: views/tabs_and_title_records-9 ({:skip_digest=>true})
2018-10-30T10:52:33 [D|sql|49959] Organization Load (1.0ms) SELECT "taxonomies".* FROM "taxonomies" WHERE "taxonomies"."type" IN ('Organization') ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:33 [I|app|49959] Rendered home/_organization_dropdown.html.erb (3.8ms)
2018-10-30T10:52:33 [D|sql|49959] Location Load (0.5ms) SELECT "taxonomies".* FROM "taxonomies" WHERE "taxonomies"."type" IN ('Location') ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:33 [I|app|49959] Rendered home/_location_dropdown.html.erb (4.6ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_org_switcher.html.erb (9.2ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_user_dropdown.html.erb (1.5ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_topbar.html.erb (11.7ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (5.0ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (3.5ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (1.3ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (4.5ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (3.1ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (2.7ms)
2018-10-30T10:52:33 [D|app|49959] Cache read: lab_features
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (3.1ms)
2018-10-30T10:52:33 [D|sql|49959] CACHE Organization Load (0.0ms) SELECT "taxonomies".* FROM "taxonomies" WHERE "taxonomies"."type" IN ('Organization') ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_taxonomies.html.erb (2.9ms)
2018-10-30T10:52:33 [D|sql|49959] CACHE Location Load (0.0ms) SELECT "taxonomies".* FROM "taxonomies" WHERE "taxonomies"."type" IN ('Location') ORDER BY "taxonomies"."title" ASC
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_taxonomies.html.erb (6.0ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_vertical_menu.html.erb (0.9ms)
2018-10-30T10:52:33 [I|app|49959] Rendered home/_navbar.html.erb (38.3ms)
2018-10-30T10:52:33 [D|app|49959] Cache write: views/tabs_and_title_records-9 ({:skip_digest=>true})
2018-10-30T10:52:33 [I|app|49959] Rendered layouts/base.html.erb (57.2ms)
2018-10-30T10:52:33 [I|app|49959] Completed 200 OK in 14841ms (Views: 14312.9ms | ActiveRecord: 499.7ms)
The CPUID features seem to be lowercase now which breaks the Spectre v2 validation.
I'm not sure which change (Foreman version or vSphere version) caused this; I'm seeing this behaviour with Foreman 2.3 and vSphere 7.x:
irb(main):017:0> h.compute_resource.send(:client).send(:get_vm_ref, instance_uuid).runtime.featureRequirement.map(&:key)
=> ["cpuid.3dnprefetch", "cpuid.abm", "cpuid.adx", "cpuid.aes", "cpuid.avx", "cpuid.avx2", "cpuid.bmi1", "cpuid.bmi2", "cpuid.cmpxchg16b", "cpuid.enfstrg", "cpuid.f16c", "cpuid.fcmd", "cpuid.fma", "cpuid.fsgsbase", "cpuid.ibpb", "cpuid.ibrs", "cpuid.intel", "cpuid.invpcid", "cpuid.lahf64", "cpuid.lm", "cpuid.mdclear", "cpuid.movbe", "cpuid.nx", "cpuid.pcid", "cpuid.pclmulqdq", "cpuid.pdpe1gb", "cpuid.popcnt", "cpuid.rdrand", "cpuid.rdseed", "cpuid.rdtscp", "cpuid.smap", "cpuid.smep", "cpuid.ss", "cpuid.ssbd", "cpuid.sse3", "cpuid.sse41", "cpuid.sse42", "cpuid.ssse3", "cpuid.stibp", "cpuid.xcr0_master_sse", "cpuid.xcr0_master_ymm_h", "cpuid.xsave", "cpuid.xsaveopt", "misc.cpuidfaulting"]
When a host has the os identifier otherGuest64
but a RHEL operatingsystem installed, no mismatch is detected.
We should provide a remediate action for spectre. It should be enough to power cycle the vms.
It should be possible to search for hosts and reference the vmware facet data, e.g. cheba* AND vmware_hw_version > 12
.
vSphere 6.7 adds new guest os identifiers. We need to update our mapping data to support the new identifiers.
Core PR: theforeman/foreman#6778
The status dashboard should have a button to filter the hosts to only show hosts where the current user is the owner (or in a group that owns the host).
A dashboard page should be added that lists:
a) For all RedHat Hypervisors
Total Socket Count: 123
Total Socket Count of Subscriptions: 123
b) For all RedHat Bare Metal Hosts
Total Socket Count: 123
Total Socket Count of Subscriptions: 123
If a subscription is required should be determined if a RedHat host is running in the cluster.
The exception in question;
TypeError: Value (Host::Managed) 'hera.test.ad.liu.se' is not any of: ForemanTasks::Concerns::ActionSubject.
Backtrace;
/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/type_check.rb:54:in `error'
/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/type_check.rb:26:in `Type!'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.10.9/app/lib/actions/entry_action.rb:33:in `action_subject'
/opt/rh/rh-ruby22/root/usr/local/share/gems/gems/foreman_wreckingball-0.0.1/app/lib/actions/foreman_wreckingball/host/remediate_vmware_operatingsystem.rb:6:in `plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:473:in `block (3 levels) in execute_plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware.rb:18:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware.rb:35:in `plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware.rb:18:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware.rb:35:in `plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:472:in `block (2 levels) in execute_plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:350:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:350:in `switch_flow'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:376:in `concurrence'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:471:in `block in execute_plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:431:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:431:in `block in with_error_handling'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:431:in `catch'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:431:in `with_error_handling'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:470:in `execute_plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/action.rb:268:in `execute'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan/steps/plan_step.rb:54:in `block in execute'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan/steps/abstract.rb:155:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan/steps/abstract.rb:155:in `with_meta_calculation'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan/steps/plan_step.rb:53:in `execute'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:252:in `block (2 levels) in plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:350:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:350:in `switch_flow'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:340:in `with_planning_scope'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:251:in `block in plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware.rb:18:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware.rb:43:in `plan_phase'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware.rb:18:in `pass'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/common/transaction.rb:16:in `block in rollback_on_error'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/transactions.rb:220:in `transaction'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/transaction_adapters/active_record.rb:5:in `transaction'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/common/transaction.rb:15:in `rollback_on_error'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/common/transaction.rb:5:in `plan_phase'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/execution_plan.rb:250:in `plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/world.rb:176:in `block in plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/world.rb:174:in `tap'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/world.rb:174:in `plan'
/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.34/lib/dynflow/world.rb:150:in `trigger'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.10.9/lib/foreman_tasks.rb:19:in `trigger'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.10.9/lib/foreman_tasks.rb:25:in `block in trigger_task'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.10.9/lib/foreman_tasks.rb:42:in `rails_safe_trigger_task'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.10.9/lib/foreman_tasks.rb:23:in `trigger_task'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.10.9/lib/foreman_tasks.rb:47:in `async_task'
/opt/rh/rh-ruby22/root/usr/local/share/gems/gems/foreman_wreckingball-0.0.1/app/controllers/foreman_wreckingball/hosts_controller.rb:37:in `remediate'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/base.rb:198:in `process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/rendering.rb:10:in `process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:117:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:117:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:in `block (2 levels) in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `block (2 levels) in halting'
/usr/share/foreman/app/controllers/concerns/application_shared.rb:15:in `set_timezone'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:432:in `block in make_lambda'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `block in halting'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `block in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:in `block (2 levels) in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `block (2 levels) in halting'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:432:in `block in make_lambda'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `block in halting'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `block in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:in `block (2 levels) in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `block (2 levels) in halting'
/usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in `set_topbar_sweeper_controller'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:432:in `block in make_lambda'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `block in halting'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `block in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:in `block (2 levels) in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in `block (2 levels) in halting'
/opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.4.1/lib/audited/sweeper.rb:14:in `around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:455:in `public_send'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:455:in `block in make_lambda'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in `block in halting'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in `block in around'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/callbacks.rb:19:in `process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/rescue.rb:29:in `process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/notifications.rb:164:in `block in instrument'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/notifications.rb:164:in `instrument'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/base.rb:137:in `process'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionview-4.2.5.1/lib/action_view/rendering.rb:30:in `process'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal.rb:196:in `dispatch'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal.rb:237:in `block in action'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:74:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:43:in `serve'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:43:in `block in serve'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:in `each'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:in `serve'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:815:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.6/lib/apipie/static_dispatcher.rb:65:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.6/lib/apipie/extractor/recorder.rb:136:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.6/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/etag.rb:24:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/conditionalget.rb:38:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/head.rb:13:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
/usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:8:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/flash.rb:260:in `call'
/usr/share/foreman/lib/middleware/session_safe_logging.rb:17:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/session/abstract/id.rb:225:in `context'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/session/abstract/id.rb:220:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/cookies.rb:560:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/query_cache.rb:36:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:38:in `call_app'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:22:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/sprockets-rails-3.2.0/lib/sprockets/rails/quiet_assets.rb:13:in `call'
/usr/share/foreman/lib/middleware/tagged_logging.rb:18:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/methodoverride.rb:22:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/runtime.rb:18:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/sendfile.rb:113:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/secure_headers-3.4.1/lib/secure_headers/middleware.rb:12:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/engine.rb:518:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/application.rb:165:in `call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/railtie.rb:194:in `public_send'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/railtie.rb:194:in `method_missing'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/urlmap.rb:66:in `block in call'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/urlmap.rb:50:in `each'
/opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/urlmap.rb:50:in `call'
/usr/share/passenger/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'
/usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'
/usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'
/usr/share/passenger/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads'
/opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
...
The app does not start on a production instance with this error:
uninitialized constant Uglifier (NameError)
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_wreckingball-3.1.1/config/environments/production.rb:6:in `block in <top (required)>'
Workaround is to delete the file config/environments/production.rb
.
A check should exist to make sure all VMs use vmxnet3
. It should be possible to change the interface type of a VM from e1000
to vmxnet3
via a remediate action. The action needs to shut down the VM, change the network interface type (possibly by removing the network card and adding a new one with the old mac address) and start the VM again.
We currently have foreman-tasks 0.13.1 in plugins-nightly, but foreman_wreckingball 2.0.0 requires version '~> 0.11.2'. Therefore a new release of foreman_wreckingball is needed to fix repoclosure.
When importing hypervisors we should also remove the hypervisor facet when the host is not a hypervisor anymore.
Extracted from #22.
Can probably be implemented similar to the spectre checks.
ForemanWreckingball::ToolsStatus
should not query the vSphere API to get the power status of a host (host.supports_power_and_running?
).
this is part of #82
In #81 an overview page was added to find VMs that are associated with the wrong compute resource, missing on a compute resource or duplicate hosts that refer to a single VM.
We should improve the visual appearance, add links to the host view page and add buttons to fix the association where applicable.
We should add a status check to show if a hypervisor host is patched against spectre and meltdown.
Related issue: #23
We should collect the hardware version of the VMs in the vmware_facet
during import, add a setting that defines a minimum supported version and a check that verifies that all VMs have a supported hardware version.
Extra points for a remediate action that updates the hardware version.
It should be possible to bulk select hosts and schedule a remediate action for them.
We can port this PowerShell script to check that the VM is not affected by spectre/meltdown.
https://github.com/lamw/vghetto-scripts/blob/master/powershell/VerifyESXiMicrocodePatch.ps1
We should store global status in the database. The statuses from core / other plugins don’t need to use this.
We should provide a dashboard page to show all hosts that are not properly associated to the correct compute ressource.
Before the first sync run has finished, @newest_data
is null. This leads to a - very unhelpful error about nil not being a datetime, time, etc - error when trying to render the template with it.
When the import task is already running and a user tries to schedule another one, the user should just get a flash message to wait patiently for the running task to finish.
Users should not be redirected to the Foreman Tasks' task page when they click a link but instead, be shown a custom task progress page or possibly better a modal.
When compiling the assets for wreckingball, I get the following error: Uglifier::Error: Unexpected token: punc ()). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).
We should add a dedicated logger for all wreckingball actions to make debugging easier.
The list of hypervisors should contain a link to the BMC and display the bmc firmware version.
The firmware version can be gathered using a "sensor reading":
runtime.healthSystemRuntime.systemHealthInfo.numericSensorInfo.find { |sensor| sensor.name == 'Dell Inc. BMC Firmware (node 0) 46:10000 2.52' }
For Dell: Dell Inc. BMC Firmware (node 0) 46:10000 2.52
For HP: Hewlett-Packard BMC Firmware (node 0) 46:10000 1.30
We should add a column "subscription status" to the hypervisor list of a compute resource. The status should show if the host has a valid hypervisor subscription of RHEL.
This can only be determined if the plugin is used with Katello.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.