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
0
Merge Requests
0
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
Léo-Paul Géneau
slapos.core
Commits
995bea7a
Commit
995bea7a
authored
Sep 05, 2014
by
Alain Takoudjou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Computer: Get connection parameters for aggregated hosting subscriptions
parent
b3e8a8ab
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
130 additions
and
2 deletions
+130
-2
master/bt5/slapos_cloud/SkinTemplateItem/portal_skins/slapos_cloud/Computer_getConnectionParameterList.xml
...kins/slapos_cloud/Computer_getConnectionParameterList.xml
+93
-0
master/bt5/slapos_cloud/bt/revision
master/bt5/slapos_cloud/bt/revision
+1
-1
master/product/Vifib/Tool/SlapTool.py
master/product/Vifib/Tool/SlapTool.py
+36
-1
No files found.
master/bt5/slapos_cloud/SkinTemplateItem/portal_skins/slapos_cloud/Computer_getConnectionParameterList.xml
0 → 100644
View file @
995bea7a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string>
computer = context\n
\n
parameter_list = []\n
item_list = computer.getAggregateRelatedValueList(\n
portal_type=\'Hosting Subscription\'\n
)\n
hosting_subscription_list = sorted(item_list,\n
key=lambda x: x.getCreationDate())\n
\n
for hosting_subscription in hosting_subscription_list:\n
if hosting_subscription.getValidationState() != \'validated\' and \\\n
hosting_subscription.getSlapState() == "destroy_requested":\n
continue\n
\n
# Get the main instance\n
instance = hosting_subscription.getPredecessorValue(\n
portal_type="Software Instance")\n
if not instance or instance.getSlapState() == "destroy_requested" or \\\n
instance.getValidationState() != \'validated\':\n
continue\n
\n
parameter_dict = instance.getConnectionXmlAsDict()\n
if not parameter_dict:\n
parameter_dict = {}\n
parameter_list.append(parameter_dict)\n
\n
return parameter_list\n
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Computer_getConnectionParameterList
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/bt/revision
View file @
995bea7a
325
\ No newline at end of file
326
\ No newline at end of file
master/product/Vifib/Tool/SlapTool.py
View file @
995bea7a
...
...
@@ -424,7 +424,12 @@ class SlapTool(BaseTool):
[
software_release
.
getUrlString
()
for
software_release
in
software_release_list
if
software_release
.
getValidationState
()
==
'published'
])
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getComputerConnectionParameterList'
)
def
getComputerConnectionParameterList
(
self
,
computer_id
):
parameter_list
=
self
.
_getComputerConnectionParameterList
(
computer_id
)
return
xml_marshaller
.
xml_marshaller
.
dumps
(
parameter_list
)
####################################################
# Public POST methods
...
...
@@ -1386,6 +1391,36 @@ class SlapTool(BaseTool):
computer_id
,
computer_partition_id
)
else
:
return
software_instance
def
_getComputerConnectionParameterList
(
self
,
computer_id
):
computer
=
self
.
_getComputerDocument
(
computer_id
)
parameter_list
=
[]
item_list
=
computer
.
getAggregateRelatedValueList
(
portal_type
=
'Hosting Subscription'
)
hosting_subscription_list
=
sorted
(
item_list
,
key
=
lambda
x
:
x
.
getCreationDate
())
for
hosting_subscription
in
hosting_subscription_list
:
if
hosting_subscription
.
getValidationState
()
!=
'validated'
and
\
hosting_subscription
.
getSlapState
()
==
"destroy_requested"
:
continue
# Get the main instance
instance
=
hosting_subscription
.
getPredecessorValue
(
portal_type
=
"Software Instance"
)
if
not
instance
or
instance
.
getSlapState
()
==
"destroy_requested"
or
\
instance
.
getValidationState
()
!=
'validated'
:
continue
parameter_dict
=
instance
.
getConnectionXmlAsDict
()
if
not
parameter_dict
:
parameter_dict
=
{}
parameter_list
.
append
(
parameter_dict
)
return
xml_marshaller
.
xml_marshaller
.
dumps
(
parameter_list
)
@
UnrestrictedMethod
def
_getSoftwareInstanceAsParameterDict
(
self
,
software_instance
):
...
...
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