Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Romain Courteaud
slapos.core
Commits
9485016a
Commit
9485016a
authored
Jan 23, 2023
by
Romain Courteaud
🐙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_pdm: do not propose again to upgrade if decision has been rejected
parent
4e671e0d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
1 deletion
+54
-1
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/InstanceTree_createUpgradeDecision.py
...al_skins/slapos_pdm/InstanceTree_createUpgradeDecision.py
+9
-0
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMCreateUpgradeDecisionSkins.py
...ents/test.erp5.testSlapOSPDMCreateUpgradeDecisionSkins.py
+45
-1
No files found.
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/InstanceTree_createUpgradeDecision.py
View file @
9485016a
...
...
@@ -79,6 +79,15 @@ if len(allocation_cell_list) == 1:
if
compute_node
is
not
None
:
assert
compute_node
.
getRelativeUrl
()
in
allocation_cell_list
[
0
].
getParentValue
().
getParentValue
().
getAggregateList
()
for
previous_upgrade_decision
in
portal
.
portal_catalog
(
portal_type
=
'Upgrade Decision'
,
aggregate__uid
=
instance_tree
.
getUid
(),
simulation_state
=
[
'rejected'
]
):
# If same upgrade decision has been rejected, do nothing
if
previous_upgrade_decision
.
getSoftwareReleaseValue
().
getUrlString
()
==
allocation_cell_list
[
0
].
getSoftwareReleaseValue
().
getUrlString
():
return
decision_title
=
'A new upgrade is available for %s'
%
instance_tree
.
getTitle
()
upgrade_decision
=
portal
.
upgrade_decision_module
.
newContent
(
portal_type
=
'Upgrade Decision'
,
...
...
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMCreateUpgradeDecisionSkins.py
View file @
9485016a
...
...
@@ -236,7 +236,7 @@ class TestSlapOSPDMCreateUpgradeDecisionSkins(TestSlapOSPDMMixinSkins):
upgrade_decision
,
instance_tree
,
software_product
,
new_release_variation
,
type_variation
)
upgrade_decision
.
reject
()
upgrade_decision
.
cancel
()
self
.
tic
()
self
.
checkCreatedUpgradeDecision
(
...
...
@@ -244,6 +244,50 @@ class TestSlapOSPDMCreateUpgradeDecisionSkins(TestSlapOSPDMMixinSkins):
instance_tree
,
software_product
,
new_release_variation
,
type_variation
)
def
test_createUpgradeDecision_notAllocated_newRelease_rejectedDecisionSameRelease
(
self
):
software_product
,
_
,
type_variation
,
compute_node
,
instance_tree
=
self
.
bootstrapAllocableInstanceTree
()
new_release_variation
=
self
.
_makeSoftwareRelease
(
software_product
)
self
.
addAllocationSupply
(
"for compute node 2"
,
compute_node
,
software_product
,
new_release_variation
,
type_variation
)
self
.
tic
()
upgrade_decision
=
instance_tree
.
InstanceTree_createUpgradeDecision
()
self
.
checkCreatedUpgradeDecision
(
upgrade_decision
,
instance_tree
,
software_product
,
new_release_variation
,
type_variation
)
upgrade_decision
.
reject
()
self
.
tic
()
self
.
assertEqual
(
None
,
instance_tree
.
InstanceTree_createUpgradeDecision
())
def
test_createUpgradeDecision_notAllocated_newRelease_rejectedDecisionAnotherRelease
(
self
):
software_product
,
_
,
type_variation
,
compute_node
,
instance_tree
=
self
.
bootstrapAllocableInstanceTree
()
new_release_variation
=
self
.
_makeSoftwareRelease
(
software_product
)
supply
=
self
.
addAllocationSupply
(
"for compute node 2"
,
compute_node
,
software_product
,
new_release_variation
,
type_variation
)
self
.
tic
()
upgrade_decision
=
instance_tree
.
InstanceTree_createUpgradeDecision
()
self
.
checkCreatedUpgradeDecision
(
upgrade_decision
,
instance_tree
,
software_product
,
new_release_variation
,
type_variation
)
upgrade_decision
.
reject
()
supply
.
invalidate
()
self
.
tic
()
new_release_variation2
=
self
.
_makeSoftwareRelease
(
software_product
)
supply
=
self
.
addAllocationSupply
(
"for compute node 3"
,
compute_node
,
software_product
,
new_release_variation2
,
type_variation
)
self
.
tic
()
self
.
checkCreatedUpgradeDecision
(
instance_tree
.
InstanceTree_createUpgradeDecision
(),
instance_tree
,
software_product
,
new_release_variation2
,
type_variation
)
##########################################################################
# Shared not allocated
##########################################################################
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment