Skip to content

Commit

Permalink
Remove SUMA feature flag (#3205)
Browse files Browse the repository at this point in the history
* Remove SUSE Manager integration feature flag frontend

This patch removes the SUSE Manager integration feature flag from the
frontend components

* Remove the SUSE Manager integration feature flag from the fe tests

* Remove SUSE Manager integration flag from the backend

* Fix eslint
  • Loading branch information
janvhs authored and arbulu89 committed Dec 23, 2024
1 parent d296966 commit 1311931
Show file tree
Hide file tree
Showing 13 changed files with 95 additions and 122 deletions.
1 change: 0 additions & 1 deletion assets/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ module.exports = {
globals: {
config: {
checksServiceBaseUrl: '',
suseManagerEnabled: true,
adminUsername: 'admin',
ssoEnabled: false,
ssoLoginUrl: 'http://localhost:4000/auth/oidc_callback',
Expand Down
27 changes: 12 additions & 15 deletions assets/js/pages/HostDetailsPage/HostDetails.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ function HostDetails({
slesSubscriptions,
catalog,
lastExecution,
suseManagerEnabled,
relevantPatches,
upgradablePackages,
softwareUpdatesLoading,
Expand Down Expand Up @@ -246,20 +245,18 @@ function HostDetails({
</div>
</div>

{suseManagerEnabled && (
<AvailableSoftwareUpdates
className="mx-0 my-4"
settingsConfigured={softwareUpdatesSettingsSaved}
relevantPatches={relevantPatches}
upgradablePackages={upgradablePackages}
errorMessage={softwareUpdatesErrorMessage}
tooltip={softwareUpdatesTooltip}
loading={softwareUpdatesLoading}
onBackToSettings={() => navigate(`/settings`)}
onNavigateToPatches={() => navigate(`/hosts/${hostID}/patches`)}
onNavigateToPackages={() => navigate(`/hosts/${hostID}/packages`)}
/>
)}
<AvailableSoftwareUpdates
className="mx-0 my-4"
settingsConfigured={softwareUpdatesSettingsSaved}
relevantPatches={relevantPatches}
upgradablePackages={upgradablePackages}
errorMessage={softwareUpdatesErrorMessage}
tooltip={softwareUpdatesTooltip}
loading={softwareUpdatesLoading}
onBackToSettings={() => navigate(`/settings`)}
onNavigateToPatches={() => navigate(`/hosts/${hostID}/patches`)}
onNavigateToPackages={() => navigate(`/hosts/${hostID}/packages`)}
/>
<ChartsFeatureWrapper chartsEnabled={chartsEnabled}>
<div>
<HostChart
Expand Down
10 changes: 3 additions & 7 deletions assets/js/pages/HostDetailsPage/HostDetails.stories.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,6 @@ export const Default = {
completed_at: faker.date.past().toISOString(),
},
},
suseManagerEnabled: false,
relevantPatches: 0,
upgradablePackages: 0,
softwareUpdatesLoading: false,
Expand Down Expand Up @@ -285,29 +284,26 @@ export const HostSummaryWithTooltip = {
},
};

export const WithSuseManager = {
export const WithSotwareUpdates = {
args: {
...Default.args,
suseManagerEnabled: true,
softwareUpdatesSettingsSaved: true,
softwareUpdatesLoading: false,
relevantPatches: 123,
upgradablePackages: 456,
},
};

export const SuseManagerLoading = {
export const WithSoftwareUpdatesLoading = {
args: {
...Default.args,
suseManagerEnabled: true,
softwareUpdatesLoading: true,
},
};

export const SuseManagerUnknown = {
export const WithSoftwareUpdatesFailed = {
args: {
...Default.args,
suseManagerEnabled: true,
softwareUpdatesSettingsSaved: true,
relevantPatches: undefined,
upgradablePackages: undefined,
Expand Down
3 changes: 0 additions & 3 deletions assets/js/pages/HostDetailsPage/HostDetails.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,6 @@ describe('HostDetails component', () => {
renderWithRouter(
<HostDetails
agentVersion="2.0.0"
suseManagerEnabled
softwareUpdatesSettingsSaved
relevantPatches={relevantPatches}
upgradablePackages={upgradablePackages}
Expand Down Expand Up @@ -307,7 +306,6 @@ describe('HostDetails component', () => {
renderWithRouter(
<HostDetails
agentVersion="2.0.0"
suseManagerEnabled
softwareUpdatesSettingsSaved
softwareUpdatesErrorMessage="An error message"
relevantPatches={relevantPatches}
Expand All @@ -334,7 +332,6 @@ describe('HostDetails component', () => {
renderWithRouter(
<HostDetails
agentVersion="2.0.0"
suseManagerEnabled
softwareUpdatesSettingsSaved
softwareUpdatesLoading
relevantPatches={relevantPatches}
Expand Down
2 changes: 0 additions & 2 deletions assets/js/pages/HostDetailsPage/HostDetailsPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import {
import HostDetails from './HostDetails';

const chartsEnabled = getFromConfig('chartsEnabled');
const suseManagerEnabled = getFromConfig('suseManagerEnabled');

function HostDetailsPage() {
const { hostID } = useParams();
Expand Down Expand Up @@ -133,7 +132,6 @@ function HostDetailsPage() {
slesSubscriptions={host.sles_subscriptions}
catalog={catalog}
lastExecution={lastExecution}
suseManagerEnabled={suseManagerEnabled}
relevantPatches={numRelevantPatches}
upgradablePackages={numUpgradablePackages}
softwareUpdatesSettingsSaved={settingsConfigured}
Expand Down
112 changes: 55 additions & 57 deletions assets/js/pages/SettingsPage/SettingsPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { useDispatch, useSelector } from 'react-redux';
import { Transition } from '@headlessui/react';
import { format, isBefore, parseISO } from 'date-fns';
import { EOS_INFO_OUTLINED } from 'eos-icons-react';
import { getFromConfig } from '@lib/config';

import DisabledGuard from '@common/DisabledGuard';
import PageHeader from '@common/PageHeader';
Expand Down Expand Up @@ -239,65 +238,64 @@ function SettingsPage() {
/>
</section>

{getFromConfig('suseManagerEnabled') && (
<section>
<div className="py-4">
<SettingsLoader
sectionName="SUSE Manager"
status={calculateSettingsLoaderStatus(
suseManagerSettingsLoading,
suseManagerSettingsfetchError
)}
onRetry={() => fetchSuseManagerSettings()}
>
<SuseManagerConfig
userAbilities={abilities}
url={suseManagerSettings.url}
username={suseManagerSettings.username}
certUploadDate={suseManagerSettings.ca_uploaded_at}
onEditClick={() => {
clearSuseManagerEntityErrors();
setSuseManagerSettingsModalOpen(true);
}}
clearSettingsDialogOpen={clearingSoftwareUpdatesSettings}
onClearClick={() => setClearingSoftwareUpdatesSettings(true)}
onClearSettings={() => {
deleteSuseManagerSettings();
setClearingSoftwareUpdatesSettings(false);
}}
testConnectionEnabled={
hasSoftwareUpdatesSettings && !suseManagerSettingsTesting
}
onTestConnection={() => testSuseManagerSettings()}
onCancel={() => {
setClearingSoftwareUpdatesSettings(false);
}}
/>
</SettingsLoader>
<SuseManagerSettingsModal
key={`${suseManagerSettings.url}-${suseManagerSettings.username}-${suseManagerSettings.ca_uploaded_at}-${suseManagerSettingsModalOpen}`}
open={suseManagerSettingsModalOpen}
errors={suseManagerSettingsEntityErrors}
loading={suseManagerSettingsLoading}
initialUsername={suseManagerSettings.username}
initialUrl={suseManagerSettings.url}
<section>
<div className="py-4">
<SettingsLoader
sectionName="SUSE Manager"
status={calculateSettingsLoaderStatus(
suseManagerSettingsLoading,
suseManagerSettingsfetchError
)}
onRetry={() => fetchSuseManagerSettings()}
>
<SuseManagerConfig
userAbilities={abilities}
url={suseManagerSettings.url}
username={suseManagerSettings.username}
certUploadDate={suseManagerSettings.ca_uploaded_at}
onSave={(payload) => {
if (
suseManagerSettings.username ||
suseManagerSettings.url ||
suseManagerSettings.ca_uploaded_at
) {
updateSuseManagerSettings(payload);
} else {
saveSuseManagerSettings(payload);
}
onEditClick={() => {
clearSuseManagerEntityErrors();
setSuseManagerSettingsModalOpen(true);
}}
clearSettingsDialogOpen={clearingSoftwareUpdatesSettings}
onClearClick={() => setClearingSoftwareUpdatesSettings(true)}
onClearSettings={() => {
deleteSuseManagerSettings();
setClearingSoftwareUpdatesSettings(false);
}}
testConnectionEnabled={
hasSoftwareUpdatesSettings && !suseManagerSettingsTesting
}
onTestConnection={() => testSuseManagerSettings()}
onCancel={() => {
setClearingSoftwareUpdatesSettings(false);
}}
onCancel={() => setSuseManagerSettingsModalOpen(false)}
/>
</div>
</section>
)}
</SettingsLoader>
<SuseManagerSettingsModal
key={`${suseManagerSettings.url}-${suseManagerSettings.username}-${suseManagerSettings.ca_uploaded_at}-${suseManagerSettingsModalOpen}`}
open={suseManagerSettingsModalOpen}
errors={suseManagerSettingsEntityErrors}
loading={suseManagerSettingsLoading}
initialUsername={suseManagerSettings.username}
initialUrl={suseManagerSettings.url}
certUploadDate={suseManagerSettings.ca_uploaded_at}
onSave={(payload) => {
if (
suseManagerSettings.username ||
suseManagerSettings.url ||
suseManagerSettings.ca_uploaded_at
) {
updateSuseManagerSettings(payload);
} else {
saveSuseManagerSettings(payload);
}
}}
onCancel={() => setSuseManagerSettingsModalOpen(false)}
/>
</div>
</section>

<section>
<SettingsLoader
sectionName="Activity Logs"
Expand Down
3 changes: 1 addition & 2 deletions config/config.exs
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,7 @@ config :trento, :jwt_authentication,

config :trento,
api_key_authentication_enabled: true,
jwt_authentication_enabled: true,
suse_manager_enabled: true
jwt_authentication_enabled: true

config :trento, Trento.Vault,
ciphers: [
Expand Down
2 changes: 0 additions & 2 deletions config/demo.exs
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ config :trento, Trento.Infrastructure.Prometheus,
config :trento, Trento.Charts,
host_data_fetcher: Trento.Infrastructure.Prometheus.MockPrometheusApi

config :trento, suse_manager_enabled: true

config :trento, Trento.Infrastructure.SoftwareUpdates.MockSuma,
relevant_patches_system_ids: [
# 5870 matches to "vmhdbdev01.l15cqsinwnpu5gfyrf1r5l51fe.ax.internal.cloudapp.net" fqdn
Expand Down
3 changes: 1 addition & 2 deletions config/dev.exs
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,7 @@ config :phoenix, :stacktrace_depth, 20
config :phoenix, :plug_init_mode, :runtime

config :trento,
api_key_authentication_enabled: false,
suse_manager_enabled: true
api_key_authentication_enabled: false

config :joken,
access_token_signer: "s2ZdE+3+ke1USHEJ5O45KT364KiXPYaB9cJPdH3p60t8yT0nkLexLBNw8TFSzC7k",
Expand Down
3 changes: 1 addition & 2 deletions config/test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ config :trento, deregistration_debounce: :timer.seconds(5)

config :trento,
api_key_authentication_enabled: false,
jwt_authentication_enabled: false,
suse_manager_enabled: true
jwt_authentication_enabled: false

config :trento, Trento.Infrastructure.Checks.AMQP.Consumer,
processor: GenRMQ.Processor.Mock,
Expand Down
2 changes: 0 additions & 2 deletions lib/trento_web/controllers/page_controller.ex
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ defmodule TrentoWeb.PageController do
check_service_base_url = Application.fetch_env!(:trento, :checks_service)[:base_url]
charts_enabled = Application.fetch_env!(:trento, Trento.Charts)[:enabled]
deregistration_debounce = Application.fetch_env!(:trento, :deregistration_debounce)
suse_manager_enabled = Application.fetch_env!(:trento, :suse_manager_enabled)
admin_username = Application.fetch_env!(:trento, :admin_user)

{sso_enabled, callback_url, login_url, enrollment_url} = sso_details(conn)
Expand All @@ -14,7 +13,6 @@ defmodule TrentoWeb.PageController do
check_service_base_url: check_service_base_url,
charts_enabled: charts_enabled,
deregistration_debounce: deregistration_debounce,
suse_manager_enabled: suse_manager_enabled,
admin_username: admin_username,
sso_enabled: sso_enabled,
sso_login_url: login_url,
Expand Down
1 change: 0 additions & 1 deletion lib/trento_web/controllers/page_html/index.html.heex
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
checksServiceBaseUrl: '<%= @check_service_base_url %>',
deregistrationDebounce: <%= @deregistration_debounce %>,
chartsEnabled: <%= @charts_enabled %>,
suseManagerEnabled: <%= @suse_manager_enabled %>,
adminUsername: '<%= @admin_username %>',
ssoEnabled: <%= @sso_enabled %>,
ssoLoginUrl: '<%= raw @sso_login_url %>',
Expand Down
48 changes: 22 additions & 26 deletions lib/trento_web/router.ex
Original file line number Diff line number Diff line change
Expand Up @@ -133,14 +133,12 @@ defmodule TrentoWeb.Router do

get "/hosts/:id/exporters_status", PrometheusController, :exporters_status

if Application.compile_env!(:trento, :suse_manager_enabled) do
get "/hosts/:id/software_updates", SUSEManagerController, :software_updates
get "/software_updates/packages", SUSEManagerController, :patches_for_packages
get "/hosts/:id/software_updates", SUSEManagerController, :software_updates
get "/software_updates/packages", SUSEManagerController, :patches_for_packages

get "/software_updates/errata_details/:advisory_name",
SUSEManagerController,
:errata_details
end
get "/software_updates/errata_details/:advisory_name",
SUSEManagerController,
:errata_details

post "/clusters/:id/tags", TagsController, :add_tag,
assigns: %{resource_type: :cluster},
Expand Down Expand Up @@ -194,25 +192,23 @@ defmodule TrentoWeb.Router do
put "/activity_log", SettingsController, :update_activity_log_settings
get "/activity_log", SettingsController, :get_activity_log_settings

if Application.compile_env!(:trento, :suse_manager_enabled) do
scope "/suse_manager" do
get "/", SettingsController, :get_suse_manager_settings
post "/", SettingsController, :save_suse_manager_settings
patch "/", SettingsController, :update_suse_manager_settings
put "/", SettingsController, :update_suse_manager_settings
delete "/", SettingsController, :delete_suse_manager_settings
post "/test", SettingsController, :test_suse_manager_settings
end

# deprecated
scope "/suma_credentials" do
get "/", SettingsController, :get_suse_manager_settings
post "/", SettingsController, :save_suse_manager_settings
patch "/", SettingsController, :update_suse_manager_settings
put "/", SettingsController, :update_suse_manager_settings
delete "/", SettingsController, :delete_suse_manager_settings
post "/test", SettingsController, :test_suse_manager_settings
end
scope "/suse_manager" do
get "/", SettingsController, :get_suse_manager_settings
post "/", SettingsController, :save_suse_manager_settings
patch "/", SettingsController, :update_suse_manager_settings
put "/", SettingsController, :update_suse_manager_settings
delete "/", SettingsController, :delete_suse_manager_settings
post "/test", SettingsController, :test_suse_manager_settings
end

# deprecated
scope "/suma_credentials" do
get "/", SettingsController, :get_suse_manager_settings
post "/", SettingsController, :save_suse_manager_settings
patch "/", SettingsController, :update_suse_manager_settings
put "/", SettingsController, :update_suse_manager_settings
delete "/", SettingsController, :delete_suse_manager_settings
post "/test", SettingsController, :test_suse_manager_settings
end
end

Expand Down

0 comments on commit 1311931

Please sign in to comment.