Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable vips and security scans #3878

Merged
merged 8 commits into from
Mar 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Downgrade pip
run: pip3 install pip==19.3.1
- name: Cache pip dependencies
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
run: pip3 install "${GITHUB_WORKSPACE}"

- name: Cache pip dependencies
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'code_style.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:
run: pip3 install "${GITHUB_WORKSPACE}"

- name: Cache pip dependencies
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'code_style.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
Expand Down Expand Up @@ -244,7 +244,7 @@ jobs:
run: pip3 install "${GITHUB_WORKSPACE}"

- name: Cache pip dependencies
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'code_style.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
Expand Down
2 changes: 1 addition & 1 deletion src/ralph/admin/sitetrees.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ def section(section_name, app, model):
section(_("Databases"), "data_center", "Database"),
section(_("Disk Shares"), "data_center", "DiskShare"),
section(_("Server Rooms"), "data_center", "ServerRoom"),
section(_("VIPs"), "data_center", "VIP"),
# section(_("VIPs"), "data_center", "VIP"),
section(_("Preboots"), "deployment", "Preboot"),
section(
_("Preboot configuration"), "deployment", "PrebootConfiguration"
Expand Down
8 changes: 4 additions & 4 deletions src/ralph/api/tests/test_rendering.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ class APIBrowsableClient(APIClient):
"rack-accessories": "/api/rack-accessories/",
"racks": "/api/racks/",
"regions": "/api/regions/",
"scm-info": "/api/scm-info/",
"security-scans": "/api/security-scans/",
# "scm-info": "/api/scm-info/",
# "security-scans": "/api/security-scans/",
"server-rooms": "/api/server-rooms/",
"services": "/api/services/",
"services-environments": "/api/services-environments/",
Expand All @@ -102,10 +102,10 @@ class APIBrowsableClient(APIClient):
"transitions-job": "/api/transitions-job/",
"transitions-model": "/api/transitions-model/",
"users": "/api/users/",
"vips": "/api/vips/",
# "vips": "/api/vips/",
"virtual-server-types": "/api/virtual-server-types/",
"virtual-servers": "/api/virtual-servers/",
"vulnerabilities": "/api/vulnerabilities/",
# "vulnerabilities": "/api/vulnerabilities/",
"warehouses": "/api/warehouses/",
}

Expand Down
4 changes: 3 additions & 1 deletion src/ralph/assets/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,9 @@ class ServiceBaseObjects(RalphDetailView):
def get_service_base_objects_queryset(self):
return BaseObject.polymorphic_objects.filter(
service_env__service=self.object
).select_related("service_env__environment", "content_type", "securityscan")
).select_related(
"service_env__environment", "content_type", "securityscan"
).exclude(content_type__model="vip")

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
Expand Down
2 changes: 0 additions & 2 deletions src/ralph/assets/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
Memory,
Processor
)
from ralph.configuration_management.api import SCMInfoSerializer
from ralph.lib.custom_fields.api import WithCustomFieldsSerializerMixin
from ralph.licences.api_simple import SimpleBaseObjectLicenceSerializer
from ralph.networks.api_simple import IPAddressSimpleSerializer
Expand Down Expand Up @@ -276,7 +275,6 @@ class BaseObjectPolymorphicSerializer(

__str__ = StrField(show_type=True)
service_env = ServiceEnvironmentSerializer()
scmstatuscheck = SCMInfoSerializer()

class Meta:
model = BaseObject
Expand Down
4 changes: 3 additions & 1 deletion src/ralph/assets/tests/test_api.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from unittest import skip
from urllib.parse import urlencode

from ddt import data, ddt
Expand Down Expand Up @@ -522,7 +523,7 @@ def test_patch_asset_model(self):
ServiceEnvironment: ServiceEnvironmentFactory,
SSLCertificate: SSLCertificatesFactory,
Support: SupportFactory,
VIP: VIPFactory,
# VIP: VIPFactory,
VirtualServer: VirtualServerFactory,
Cluster: ClusterFactory,
ConfigurationClass: ConfigurationClassFactory,
Expand Down Expand Up @@ -640,6 +641,7 @@ def test_filter_by_ip(self):
response = self.client.get(url, format="json")
self.assertEqual(len(response.data["results"]), 1)

@skip("SCM Status is disabled")
def test_filter_by_scm_status_check_result(self):
status_checks = {
SCMCheckResult.scm_error: 2,
Expand Down
4 changes: 2 additions & 2 deletions src/ralph/configuration_management/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from rest_framework import status
from rest_framework.response import Response

from ralph.api import RalphAPISerializer, RalphAPIViewSet, router
from ralph.api import RalphAPISerializer, RalphAPIViewSet
from ralph.api.serializers import RalphAPISaveSerializer
from ralph.assets.models import BaseObject
from ralph.configuration_management.models import SCMStatusCheck
Expand Down Expand Up @@ -95,7 +95,7 @@ def create(self, request, hostname):
return Response(self.serializer_class(scan).data, status=res_status)


router.register("scm-info", SCMInfoViewSet)
# router.register("scm-info", SCMInfoViewSet)
urlpatterns = [
url(
r"^scm-info/(?P<hostname>[\w\.-]+)",
Expand Down
26 changes: 26 additions & 0 deletions src/ralph/dashboards/migrations/0008_auto_20250303_0923.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Generated by Django 2.2.28 on 2025-03-03 09:23
from __future__ import unicode_literals

from django.core.cache import caches
from django.db import migrations


def clear_sitetree_cache(apps, schema_editor):
try:
cache = caches["default"]
cache.delete("sitetrees")
except Exception:
pass

class Migration(migrations.Migration):

dependencies = [
('dashboards', '0007_auto_20240723_1148'),
]

operations = [
migrations.RunPython(
code=clear_sitetree_cache, reverse_code=clear_sitetree_cache
)
]
37 changes: 6 additions & 31 deletions src/ralph/data_center/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _

from ralph.admin import filters
from ralph.admin.decorators import register
from ralph.admin.filters import (
BaseObjectHostnameFilter,
Expand All @@ -21,8 +20,7 @@
MacAddressFilter,
RelatedAutocompleteFieldListFilter,
TagsListFilter,
TreeRelatedAutocompleteFilterWithDescendants,
VulnerabilitesByPatchDeadline
TreeRelatedAutocompleteFilterWithDescendants
)
from ralph.admin.helpers import generate_html_link
from ralph.admin.mixins import (
Expand All @@ -39,10 +37,7 @@
from ralph.assets.models.components import Ethernet
from ralph.assets.views import ComponentsAdminView
from ralph.attachments.admin import AttachmentsMixin
from ralph.configuration_management.views import (
SCMCheckInfo,
SCMStatusCheckInChangeListMixin
)
from ralph.configuration_management.views import SCMCheckInfo
from ralph.data_center.forms import DataCenterAssetForm
from ralph.data_center.models.components import DiskShare, DiskShareMount
from ralph.data_center.models.hosts import DCHost
Expand All @@ -59,8 +54,7 @@
BaseObjectCluster,
Cluster,
ClusterType,
Database,
VIP
Database
)
from ralph.data_center.views import RelationsView
from ralph.data_importer import resources
Expand All @@ -72,7 +66,7 @@
from ralph.networks.forms import SimpleNetworkWithManagementIPForm
from ralph.networks.views import NetworkWithTerminatorsView
from ralph.operations.views import OperationViewReadOnlyForExisiting
from ralph.security.views import ScanStatusInChangeListMixin, SecurityInfo
from ralph.security.views import SecurityInfo
from ralph.supports.models import BaseObjectsSupport


Expand All @@ -90,15 +84,6 @@ def generate_list_filter_with_common_fields(prefix=None, postfix=None):
),
MacAddressFilter,
IPFilter,
(
"securityscan__vulnerabilities__patch_deadline",
VulnerabilitesByPatchDeadline,
),
(
"securityscan__vulnerabilities",
filters.RelatedAutocompleteFieldListFilter,
),
"securityscan__is_patched",
]
)
if type(postfix) == list:
Expand Down Expand Up @@ -364,8 +349,6 @@ class DataCenterAssetRelationsView(RelationsView):

@register(DataCenterAsset)
class DataCenterAssetAdmin(
SCMStatusCheckInChangeListMixin,
ScanStatusInChangeListMixin,
ActiveDeploymentMessageMixin,
MulitiAddAdminMixin,
TransitionAdminMixin,
Expand All @@ -383,8 +366,6 @@ class DataCenterAssetAdmin(
change_views = [
DataCenterAssetComponents,
DataCenterAssetNetworkView,
DataCenterAssetSecurityInfo,
DataCenterAssetSCMInfo,
DataCenterAssetRelationsView,
DataCenterAssetLicence,
DataCenterAssetSupport,
Expand All @@ -406,8 +387,6 @@ class DataCenterAssetAdmin(
"show_location",
"service_env",
"configuration_path",
"scan_status",
"scm_status_check",
"property_of",
"order_no",
]
Expand Down Expand Up @@ -703,7 +682,7 @@ class DatabaseAdmin(RalphAdmin):
pass


@register(VIP)
# @register(VIP)
class VIPAdmin(RalphAdmin):
search_fields = ["name", "ip__address"]
list_display = ["name", "ip", "port", "protocol", "service_env"]
Expand Down Expand Up @@ -748,9 +727,7 @@ class DCHostSCMInfo(SCMCheckInfo):


@register(DCHost)
class DCHostAdmin(
SCMStatusCheckInChangeListMixin, ScanStatusInChangeListMixin, RalphAdmin
):
class DCHostAdmin(RalphAdmin):
change_list_template = "admin/data_center/dchost/change_list.html"
search_fields = [
"remarks",
Expand All @@ -768,8 +745,6 @@ class DCHostAdmin(
"configuration_path",
"show_location",
"remarks",
"scan_status",
"scm_status_check",
]
# TODO: sn
# TODO: hostname, DC
Expand Down
5 changes: 2 additions & 3 deletions src/ralph/data_center/api/routers.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
DataCenterViewSet,
RackAccessoryViewSet,
RackViewSet,
ServerRoomViewSet,
VIPViewSet
ServerRoomViewSet
)

router.register(r"accessories", AccessoryViewSet)
Expand All @@ -21,7 +20,7 @@
router.register(r"racks", RackViewSet)
router.register(r"rack-accessories", RackAccessoryViewSet)
router.register(r"server-rooms", ServerRoomViewSet)
router.register(r"vips", VIPViewSet)
# router.register(r"vips", VIPViewSet)
router.register(r"clusters", ClusterViewSet)
router.register(r"cluster-types", ClusterTypeViewSet)
router.register(r"base-object-clusters", BaseObjectClusterViewSet)
Expand Down
4 changes: 0 additions & 4 deletions src/ralph/data_center/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
NetworkComponentSerializerMixin,
OwnersFromServiceEnvSerializerMixin
)
from ralph.configuration_management.api import SCMInfoSerializer
from ralph.data_center.models import (
Accessory,
BaseObjectCluster,
Expand All @@ -25,7 +24,6 @@
ServerRoom,
VIP
)
from ralph.security.api import SecurityScanSerializer


class ClusterTypeSerializer(RalphAPISerializer):
Expand Down Expand Up @@ -128,8 +126,6 @@ class Meta:

class DataCenterAssetSerializer(ComponentSerializerMixin, AssetSerializer):
rack = SimpleRackSerializer()
scmstatuscheck = SCMInfoSerializer()
securityscan = SecurityScanSerializer()
related_hosts = serializers.SerializerMethodField()

def get_related_hosts(self, obj):
Expand Down
5 changes: 3 additions & 2 deletions src/ralph/data_center/tests/test_view.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from datetime import datetime, timedelta
from unittest import skip
from urllib.parse import urlencode

from django.contrib.contenttypes.models import ContentType
Expand Down Expand Up @@ -118,7 +119,7 @@ def test_changelist_cluster_location(self):
)
self.assertContains(result, "DC1 / SR1 / Rack #1")


@skip("Security Scans are disabled")
class DCHostScanStatusInListingTest(ClientMixin, TestCase):
def setUp(self):
self.login_as_user()
Expand Down Expand Up @@ -204,7 +205,7 @@ def test_listing_show_failed_icon_when_scan_error(self):
)
self.assertContains(result, "Scan failed")


@skip("Security Scans are disabled")
class DCHostFilterByPatchDeadline(ClientMixin, TestCase):
def setUp(self):
self.login_as_user()
Expand Down
2 changes: 2 additions & 0 deletions src/ralph/lib/polymorphic/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,8 @@ def __new__(cls, name, bases, attrs):
if new_class._meta.proxy:
continue
try:
if new_class._meta.model_name == 'vip':
continue
polymorphic_class._polymorphic_descendants.append(new_class)
except AttributeError:
# The exception is for class Polymorphic
Expand Down
6 changes: 3 additions & 3 deletions src/ralph/security/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from django.db import transaction
from rest_framework import serializers

from ralph.api import RalphAPISerializer, RalphAPIViewSet, router
from ralph.api import RalphAPISerializer, RalphAPIViewSet
from ralph.api.serializers import RalphAPISaveSerializer
from ralph.networks.models.networks import IPAddress
from ralph.security.models import any_exceeded, SecurityScan, Vulnerability
Expand Down Expand Up @@ -115,6 +115,6 @@ def create(self, request, *args, **kwargs):
return super().create(request, *args, **kwargs)


router.register(r"vulnerabilities", VulnerabilityViewSet)
router.register(r"security-scans", SecurityScanViewSet)
# router.register(r"vulnerabilities", VulnerabilityViewSet)
# router.register(r"security-scans", SecurityScanViewSet)
urlpatterns = []
Loading
Loading