Problem with backward compatibility: if not <string> raises exception
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
YAQL |
Fix Released
|
High
|
Stan Lagun | ||
Liberty |
Fix Committed
|
High
|
Stan Lagun | ||
Mitaka |
Fix Released
|
High
|
Stan Lagun |
Bug Description
Steps to reproduce:
1. Create application with following class:
Namespaces:
=: io.murano.apps
std: io.murano
sys: io.murano.system
Name: HelloReporter
Extends: std:Application
Properties:
name:
Contract: $.string(
Workflow:
initialize:
Body:
- $.environment: $.find(
deploy:
Body:
- If: not $.getAttr(deployed, false)
Then:
- $.environment.
- $.setAttr(deployed, True)
2. Create environment and add this application to it
3. Deploy it
4. After deploy add one more app to the env
5. Deploy it again
Observed result:
Deployment failure:
ERROR murano.
yaql.
Traceback (most recent call last):
File "/tmp/murano-
File "/tmp/murano-
not $.getAttr(deployed, false)
File "/opt/stack/
res = self._condition
File "/opt/stack/
return self._parsed_
File "/usr/local/
return self(utils.
File "/usr/local/
return super(Statement, self)._
File "/usr/local/
return context(self.name, engine, receiver, context)
File "/usr/local/
File "/usr/local/
name, all_overloads, engine, receiver, data_context, args, kwargs)
File "/usr/local/
args = tuple(arg_
File "/usr/local/
args = tuple(arg_
File "/usr/local/
and not isinstance(arg, expressions.
File "/usr/local/
return context(self.name, engine, receiver, context)
File "/usr/local/
File "/usr/local/
name, all_overloads, engine, receiver, data_context, args, kwargs)
File "/usr/local/
File "/usr/local/
raise exceptions.
Changed in yaql: | |
importance: | Undecided → Critical |
assignee: | nobody → Stan Lagun (slagun) |
status: | New → Confirmed |
milestone: | none → 1.0.3 |
Changed in yaql: | |
status: | Fix Committed → Fix Released |
Fix proposed to branch: stable/liberty /review. openstack. org/233248
Review: https:/