Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
controller
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TFS
controller
Merge requests
!284
Resolve: "(CNIT) Multi-Granular Optical Nodes and Optical Transpoders management"
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Resolve: "(CNIT) Multi-Granular Optical Nodes and Optical Transpoders management"
cnit_related_activity
into
develop
Overview
0
Commits
75
Pipelines
53
Changes
5
Merged
Lluis Gifre Renom
requested to merge
cnit_related_activity
into
develop
7 months ago
Overview
0
Commits
75
Pipelines
53
Changes
5
Expand
Closes
#108 (closed)
and
#153 (closed)
0
0
Merge request reports
Viewing commit
c95b253c
Prev
Next
Show latest version
5 files
+
42
−
64
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
5
Search (e.g. *.vue) (Ctrl+P)
c95b253c
Pre-merge code cleanup
· c95b253c
Lluis Gifre Renom
authored
6 months ago
src/context/service/database/ConfigRule.py
+
17
−
1
Options
@@ -16,15 +16,18 @@ import datetime, json, logging
from
sqlalchemy
import
delete
#from sqlalchemy.dialects import postgresql
from
sqlalchemy.dialects.postgresql
import
insert
from
sqlalchemy.engine
import
Engine
from
sqlalchemy.orm
import
Session
from
typing
import
Dict
,
List
,
Optional
,
Set
from
common.proto.context_pb2
import
ConfigRule
from
common.proto.context_pb2
import
ConfigRule
,
ServiceConfigRule
,
Empty
from
common.tools.grpc.Tools
import
grpc_message_to_json_string
from
.models.enums.ConfigAction
import
ORM_ConfigActionEnum
,
grpc_to_enum__config_action
from
.models.ConfigRuleModel
import
(
ConfigRuleKindEnum
,
DeviceConfigRuleModel
,
ServiceConfigRuleModel
,
SliceConfigRuleModel
)
from
.uuids._Builder
import
get_uuid_from_string
from
.uuids.EndPoint
import
endpoint_get_uuid
from
sqlalchemy_cockroachdb
import
run_transaction
from
sqlalchemy.orm
import
Session
,
sessionmaker
LOGGER
=
logging
.
getLogger
(
__name__
)
@@ -149,3 +152,16 @@ def upsert_config_rules(
upsert_affected
=
any
([(
updated_at
>
created_at
)
for
created_at
,
updated_at
in
configrule_updates
])
return
delete_affected
or
upsert_affected
def
delete_config_rule
(
db_engine
:
Engine
,
request
:
ServiceConfigRule
):
config_rule
=
request
.
configrule_custom
service_id
=
request
.
service_id
parent_uuid
=
service_id
.
service_uuid
.
uuid
configrule_name
=
'
service:custom:{:s}
'
.
format
(
config_rule
.
resource_key
)
configrule_uuid
=
get_uuid_from_string
(
configrule_name
,
prefix_for_name
=
parent_uuid
)
def
callback
(
session
:
Session
)
->
bool
:
num_deleted
=
session
.
query
(
ServiceConfigRuleModel
).
filter_by
(
configrule_uuid
=
configrule_uuid
).
delete
()
return
num_deleted
>
0
deleted
=
run_transaction
(
sessionmaker
(
bind
=
db_engine
),
callback
)
return
Empty
()
Loading