Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Currently, when translate a compute node in heat-translator, code is
below:
for requires in requirements:
for value in requires.values():
if isinstance(value, dict):
for node_name in value.values():
for n in self.nodetemplates:
if n.name == node_name:
volume_name = node_name
break
else: # unreachable code !
for n in self.nodetemplates:
if n.name == node_name:
volume_name = node_name
break
It's error in nfv tosca because there are more than one
requirements, So the unreachable code will reach.
Notes: the fix will submit to Openstack community.
JIRA:PARSER-92
Change-Id: Ife9c0d28ebe236c04d9d2c02f0025cf774bf6208
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
Currently, the stack ame of a template is random when use
heat-translator online, and there is not any other feedback information
except success or failure, the result is not very convenient.
So it is necessary to provide a stack name when deploy a template.
Note: the improvement will submit to openstack community.
JIRA:PARSER-91
Change-Id: Ia5f99c38301211dfb9c21a8b10dd31a50b82f966
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
Traceback (most recent call last):
File "/usr/local/bin/heat-translator", line 10, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/translator/shell.py",
line 225, in main
TranslatorShell().main(args)
File "/usr/local/lib/python2.7/dist-packages/translator/shell.py",
line 121, in main
parsed_params, a_file, deploy)
File "/usr/local/lib/python2.7/dist-packages/translator/shell.py",
line 168, in _translate
output = translator.translate()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca_translator.py",
line 42, in translate
self.hot_template.resources = self.node_translator.translate()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/translate_node_templates.py",
line 159, in translate
return self._translate_nodetemplates()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/translate_node_templates.py",
line 302, in _translate_nodetemplates
self._recursive_handle_properties(resource)
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/translate_node_templates.py",
line 173, in _recursive_handle_properties
resource.handle_properties()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca/tosca_compute.py",
line 105, in handle_properties
self.nodetemplate.get_capability('os'))
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca/tosca_compute.py",
line 134, in translate_compute_flavor_and_image
image = self._best_image(os_cap_props)
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca/tosca_compute.py",
line 266, in _best_image
if len(resp.keys()) > 0:
AttributeError: 'NoneType' object has no attribute 'keys'
Traceback (most recent call last):
File "/usr/local/bin/heat-translator", line 10, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/translator/shell.py",
line 225, in main
TranslatorShell().main(args)
File "/usr/local/lib/python2.7/dist-packages/translator/shell.py",
line 121, in main
parsed_params, a_file, deploy)
File "/usr/local/lib/python2.7/dist-packages/translator/shell.py",
line 168, in _translate
output = translator.translate()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca_translator.py",
line 42, in translate
self.hot_template.resources = self.node_translator.translate()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/translate_node_templates.py",
line 159, in translate
return self._translate_nodetemplates()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/translate_node_templates.py",
line 302, in _translate_nodetemplates
self._recursive_handle_properties(resource)
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/translate_node_templates.py",
line 173, in _recursive_handle_properties
resource.handle_properties()
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca/tosca_compute.py",
line 105, in handle_properties
self.nodetemplate.get_capability('os'))
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca/tosca_compute.py",
line 134, in translate_compute_flavor_and_image
image = self._best_image(os_cap_props)
File
"/usr/local/lib/python2.7/dist-packages/translator/hot/tosca/tosca_compute.py",
line 266, in _best_image
if len(resp.keys()) > 0:
AttributeError: 'NoneType' object has no attribute 'keys'
The request you have made requires authentication. (HTTP 401)
(Request-ID: req-027940ce-5a5f-4459-9d91-7e65329c4d13)
The request you have made requires authentication. (HTTP 401)
(Request-ID: req-32c378fb-6d3c-46c6-845e-a8dd50975acd)
JIRA:PARSER-89
Change-Id: Id89d2293972cae9f39c0d950fc67fdc6ae520304
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
|
|
As a template designer;
I want to know if the parameters is missed when deploy a template, but
currently there is not validation about the required parameters;
So i add property in class of Input, and validate the require parameter.
Note: the patch will submit to Openstack community too.
JIRA:PARSER-88
Change-Id: I5763a18da4037b0f81a55b8c8d83414e685b03d2
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
SubstitutionMappings is error
The definition in SubstitutionMappings about SECTION is below:
SECTIONS = (NODE_TYPE, CAPABILITIES, REQUIREMENTS) = \
('node_type', 'requirements', 'capabilities')
The order of CAPABILITIES and REQUIREMENTS is reserved.
JIRA:PARSER-86
Change-Id: Ib55e737f6ed5b49ea3ab9b5e14f8c57486602e7e
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
Add input validation in class of substitution_mapping according to
specification of
http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/
TOSCA-Simple-Profile-YAML-v1.0.html:
1) The properties of substituted node template which be mapped must be
in the inputs of nested service template which defines substutition
mappings;
2) The inputs of nested service template which are not in properties of
the substituted node template must have default values.
3) If the properties of node_type is required and no default value,
must provide inputs for them;
4) Property names and the input names must be the same.
JIRA:PARSER-79
Change-Id: Ie4664fe17c8279ad531ac9acec057f98d4e9281a
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
Change the name of Substitution_mappings to SubstitutionMappings
consistent to other classes.
JIRA:PARSER-85
Change-Id: I9b27783ccec3f515cfcd2eca9995f09426bbfadd
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
standalone
According to specification of
http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/TOSCA-Simple-Profile-YAML-v1.0.html,the
two main use cases:
1. No matter whether or not the service template has substitution
mapping definition,it can be deployed standalone;
2. Also can be imported and used as nested service template substituted
a node template with substitution mapping definition;
3. substitution mapping will expose node_type,may expose capabilities
and requirements.
JIRA:PARSER-78
Change-Id: I81ac940545f946925f6aa96a1b2ca0ccc9bbb076
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
substitution mapping
As a nested template desinger;
I want to known the tosca template which a substituted node template
associated;
So i will create the relationship under node template which is
substituted.
JIRA:PARSER-76
Change-Id: Ifb9883e5c5f630cd7f1b5d1292eddb54ad4c20be
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
1. Use complete name like nested_topology_tpls here and other places
like get_nested_topology_tpls for better readability;
2. Use "sub_mapped_node_tpl" instead of submaped_node_tpl;
3. Use sub_mapped_ instead of submaped.
Upper changed in substitution_mappings.py, tosca_template.py,
tosca_template.py and others
JIRA:PARSER-73
Change-Id: I21b2d3a35773078d7437bbae9ff5d1522608c4d2
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
distribution"
|
|
|
|
distribution
when create a source or binary distribution, Parser project miss the
follow files:
1. heat_translator
1) heat_translator_logging.conf;
2) translator.conf
3) all yaml files in tests directories;
4) all bash script in tests directories;
5) all python script in tests directories;
2. toscad-parser
1) TOSCA_definition_1_0.yaml in elements directory;
2) TOSCA_nfv_definition_1_0.yaml in nfv directory;
3) all yaml files in tests directories;
4) all bash script in tests directories;
5) all python script in tests directories;
All the missed files above will cause the parser work failure
JIRA:PARSER-75
Change-Id: I124eeff4b94607a68cbba2f2d7f754cba8671a42
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
As a tester;
I want to make sure of the validation of substitution mappings in system
chain.
So i use the real test yaml file and delete the old.
Change-Id: Id3dee02d8af5b221b654a3ee79e28f0ad5b53868
JIRA:PARSER-74
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
tosca template
After the netsted tosca template is implemented, the ExceptionCollector
doesn't work in netsted template, because the exceptions are reset by
upper tosca template.
The solution is judging if support nested node template before starting
or stop exceptioncollector.
Change-Id: Ic48bcb639031391a6771db2f7235b674b22be837
JIRA:PARSER-72
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
As a template designer,
I want to using node template substitution for model composition or
chaining subsystems.
So firstly tosca-paser should support the substitution mappings
analysis.
Change-Id: I44371795504415ba8cf5a15f7e1d046e3ff00ade
JIRA: PARSER-43
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
substitution_mappings"
|
|
substitution_mappings
As a developer;
I want to implement the function of substitution_mapping;
So that will complete the test file about transaction subsystem
definitions for example.
Change-Id: I5e44c2b4933afadf96743641279016af5afc39e0
JIRA: PARSER-68
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
As a developer;
I want to implement the function of substitution_mapping;
So that will complete the test file about queuing subsystem definitions.
Change-Id: I0602eb915954a4e35ae9e0d8d4c857822e4725d4
JIRA: PARSER-46
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
substitution_mappings"
|
|
substitution_mappings
As a developer;
I want to implement the function of substitution_mapping;
So that will complete the test file about database subsystem
definitions.
Change-Id: I197f971cbdc64963b6c41b2ca3aa3fb86b2fae8b
JIRA: PARSER-47
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
According to the simple tosca specification, substitution mapping only
supports key words of node_type, capabilities and requirements, but in
the definition of vRNC, add keywords of properties, so it will be
deleted
Change-Id: I45ca5f6d44410e5a6b8cdb448f3f148d63cc1376
JIRA: PARSER-67
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
When access CSAR file which is URL and the protocol is https by proxy,
it will be error and the information is below:
toscaparser.common.exception.URLException: Failed to reach server
"https://raw.githubusercontent.com/openstack/tosca- parser/master/toscaparser
/tests/data/custom_types/wordpress.yaml". Reason is: Tunnel
connection failed: 503 Service Unavailable.
The reason of the error is urllib doesn't support https proxy.
JIRA: PARSER-66
Change-Id: I82ec68d533743527fba613cc362e4241494359d4
Signed-off-by: 10013968 <zhang.jun3g@zte.com.cn>
Signed-off-by: shangxdy <shangxdy@shangxdy.local>
|
|
Before the CI environment can perform python 3.4 test, temporary
disable tox py34 in tox.ini. Currently all the submits are blocked for
this.
Change-Id: Ic73cab212eb68e35a5855d3229b8cfe801f92817
Signed-off-by: 10013968 <zhang.jun3g@zte.com.cn>
|
|
|
|
1. Currently DM_Port_Ctrl requirement definition
requirements:
virtualBinding: DM
virtualLink: CTRL_Net_Host
shall be below:
requirements:
virtualBinding: DM_Host
virtualLink: CTRL_Net
2. In function of _load_import_template when import vRNC definition, it will
return "None, None" instead of return Null in case of no value return.
Change-Id: I81d2d471eafff8ebd77eef356e6178e1f7701a22
JIRA: PARSER-65
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
In python3.4, dictory's function of key() return value is a dict_key object, not list, so the follow code will be error:
dict x = {1:11, 2:22, 3;33}
y= x.keys()[0]
the error is TypeError: 'dict_keys' object does not support indexing, the correct expression is below:
y = list(x.keys())[0]
So parser's code will be modified refer to above.
Change-Id: I41e0c28167c7823fc735aaf3afc78c1a9a15e9e0
JIRA: PARSER-64
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
When run unittests through tox, some test cases are always error,
the errors are already done in openstack community, so it's
necessary to synchronise the fixes.
Change-Id: Ib29078e6cc138a474e89c6a2cc90ad7a1db1bb46
JIRA: PARSER-63
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
|
|
|
|
Currently when run "tox -epep8" it's ok, but it will be error when run
"tox -epy27" or run "tox -epy34", the reason is no file .testr.conf
and .converagerc in project root directory
Change-Id: Ic6ab721738692c389d63bc2d84a4c2a21b397778
JIRA: PARSER-62
Signed-off-by: sxd <shang.xiaodong@zte.com.cn>
|
|
Translate simple tosca policy types of tosca.policy.Placement.Colocate
and tosca.policy.Placement.Antilocate into heat resource
type(nova::servergroup and nova::server)
Change-Id: Icbe8c51c158886608a196951df19e9a503cb786a
JIRA: PARSER-39
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
|
|
|
|
|
|
|
|
|
|
1. Group type define parent_type, but it shall be statuefulentity, not string,
so the method of is_derived_from in group entity may be error when it's called.
2. The bug will submit to openstack community.
Change-Id: I6e78b9dbf9ad0593db9246d34be29d8ec6f092ed
JIRA: PARSER-54
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
when run tox -epy27, there are errors in function of test_relationship
for key in relation.keys():
rel_tpl = relation.get(key).get_relationship_template()
if rel_tpl:
self.assertEqual(
rel_tpl[0].type, "tosca.relationships.ConnectsTo")
rel_tpl is a list so real_tpl[0].type can be other value, not only
tosca.relationships.ConnectsTo.
JIRA: PARSER:61
Change-Id: Ibdc7307888f5281ac0bd806088483f8c46416968
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
|
|
|
|
|
|
When import nested template, validate type error, in the
validate list lack the type of "topology_template"
Change-Id: Ic16e02f460dc59936dfc5a361a21b9533f0e5e83
JIRA: PARSER-58
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
Currently the heat-translator can't translate the VDU with interface,
so VDU shall be divided into SoftComponent and VDU, and the interface
will be expressed in SoftComponent node.
Change-Id: I1f0e0c6bef88ed66edd39e21e4e6221eb15e3188
JIRA: PARSER-57
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
1. Artifact type define parent_type, but it shall be statuefulentity,
not string, so the method of is_derived_from in artifact entity may
be error when it's called.
2. The bug will submit to openstack community.
Change-Id: I8e64a28da0287ff5653da69a0cf15016c8ed937f
JIRA: PARSER-53
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
1. EntityTemplate is the parent of NodeTemplate,but there is no definition
of parent_type definition, so the method of is_derived_from will be error
when call the parent_type's method.
2. The bug will submit to openstack community.
Change-Id: If6d360932fd610f001934d23aac63e11ac16fddf
JIRA: PARSER-51
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
|
|
|
|
|