Hi

I am playing around with .aurora files and am facing an issue when I am
using a class hierarchy with the base class derived from Struct, as follows:

The good case:
class Profile(Struct):
    environment = Required(String)
    name = Default(String, 'test_app')

PRODUCTION = Profile(environment = 'prod', name = 'my_profile_app')

In this case, I have value populated in the following Mustache variables
(which is fine):
a) {{profile.environment}} = 'prod'
b) {{profile.name}} = 'my_profile_app'

Now, I add the following class that inherits from the base class Profile:
class DerivedProfile(Profile):
    mz_name = Default(String, 'my_derived_profile_app')

and modify PRODUCTION as:
PRODUCTION = DerivedProfile(environment = 'prod', name = 'my_profile_app')

In this case, {{profile.mz_name}} is reported as invalid or as an"unbound
variable" (output of aurora inspect below). Is this supported via Pystachio
templating, ie. create a class hierarchy and ensure that I have access to
the Mustache variables. Any quick pointers before I get into the details?

My use case is that I want to have a base class with all my common
attributes for all my apps, and a derived class for each app that handles
app specific attributes.

Thanks
Anindya

Following is output of aurora inspect:

Traceback (most recent call last):
  File
"/usr/local/bin/aurora/.deps/twitter.common.app-0.1.0-py2.6.egg/twitter/common/app/application.py",
line 738, in _wrap_method
    return_code = method()
  File
"/usr/local/bin/aurora/.deps/twitter.common.app-0.1.0-py2.6.egg/twitter/common/app/application.py",
line 760, in <lambda>
    main = lambda: main_method(*args, **kwargs)
  File "/usr/local/bin/aurora/apache/aurora/client/base.py", line 74, in
wrapped_function
    return fn(*args)
  File "/usr/local/bin/aurora/apache/aurora/client/commands/core.py", line
273, in inspect
    job_thrift = config.job()
  File "/usr/local/bin/aurora/apache/aurora/config/__init__.py", line 198,
in job
    raise self.InvalidConfig(str(e))
InvalidConfig: The configuration was invalid: Config contains unbound
variables: {{profile.mz_name}}

Reply via email to