[Airship-discuss] if document.get('schema', '') == SCHEMA_SCHEMA: AttributeError: 'NoneType' object has no attribute 'get'

MONTEIRO, FELIPE C fm577c at att.com
Thu Aug 23 16:07:50 UTC 2018


I would suggest adding code like this to Promenade:

https://github.com/openstack/airship-deckhand/blob/1b3b55af5b143c3570ad836ee8ad8ea3a219d1b0/deckhand/control/base.py#L76

It should be able to handle bad input and error out appropriately to avoid future debugging hang-ups like this.

From: SUGGUNA, NAGA
Sent: Thursday, August 23, 2018 10:16 AM
To: MCEUEN, MATT <MM9745 at att.com>; 'airship-discuss at lists.airshipit.org' <airship-discuss at lists.airshipit.org>; SKELS, KASPARS <ks3019 at att.com>
Subject: Re: [Airship-discuss] if document.get('schema', '') == SCHEMA_SCHEMA: AttributeError: 'NoneType' object has no attribute 'get'

***Security Advisory: This Message Originated Outside of AT&T ***
Reference http://cso.att.com/EmailSecurity/IDSP.html for more information.
This issue resolved.

One of the document had comments before the beginning of the yaml document (---). After fixing that able to generate genesis bundle.

From: MCEUEN, MATT
Sent: Wednesday, August 22, 2018 7:30 PM
To: SUGGUNA, NAGA <ns156u at att.com<mailto:ns156u at att.com>>; 'airship-discuss at lists.airshipit.org' <airship-discuss at lists.airshipit.org<mailto:airship-discuss at lists.airshipit.org>>; SKELS, KASPARS <ks3019 at att.com<mailto:ks3019 at att.com>>
Subject: RE: if document.get('schema', '') == SCHEMA_SCHEMA: AttributeError: 'NoneType' object has no attribute 'get'

Hi Naga, a new set of reference manifests have been added to the airship-treasuremap project.  Can you please have a look at those, and compare your manifests to what's up there?  I'm not familiar with that error in this context, but it looks to be related to loading schema documents from your manifest sets.  I suspect comparing to a known-good set of manifests (including schema docs and references to those schemas) may help.

https://github.com/openstack/airship-treasuremap<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_airship-2Dtreasuremap&d=DwMFAg&c=LFYZ-o9_HUMeMTSQicvjIg&r=GL712YbQ1dO5c4PRjp-cePgOMxie8Iw1Rm6vREW7qaI&m=75nardG7rjv_3saFZKhFzcv-3zF_x3VGuc9G68CTh20&s=ex1NA355sfoqLryhjDZlgZc8HxKTpjgI4LDgYVB6qsI&e=>

Thanks,
Matt

From: SUGGUNA, NAGA
Sent: Wednesday, August 22, 2018 2:15 PM
To: 'airship-discuss at lists.airshipit.org' <airship-discuss at lists.airshipit.org<mailto:airship-discuss at lists.airshipit.org>>
Subject: [Airship-discuss] if document.get('schema', '') == SCHEMA_SCHEMA: AttributeError: 'NoneType' object has no attribute 'get'

***Security Advisory: This Message Originated Outside of AT&T ***
Reference http://cso.att.com/EmailSecurity/IDSP.html for more information.
While generating promgen I see following error, I verified the site.yaml for empty documents and I found and some, after fixing them also I see the same error.

+ gen_bundle
++ pwd
+ docker run --env http_proxy=http://one.proxy.att.com:8888/ --env https_proxy=http://one.proxy.att.com:8888/ --user 0 --rm -t -w /target -v /root/yaml_builds:/target quay.io/airshipit/promenade:009f3de7ecf6afcdd2783ac7a12470394d7dfab3 promenade build-all --validators -o /target/tars/dellgen10/configs/promenade-bundle '/target/tars/dellgen10/configs/promenade/*.yaml'
+ PORT=9000
+ UWSGI_TIMEOUT=300
+ PROMENADE_THREADS=1
+ PROMENADE_WORKERS=4
+ '[' promenade = server ']'
+ exec promenade build-all --validators -o /target/tars/dellgen10/configs/promenade-bundle /target/tars/dellgen10/configs/promenade/global.yaml /target/tars/dellgen10/configs/promenade/site.yaml
2018-08-22 19:03:15,525 INFO     - - - promenade.config:from_streams [ 55] Loading documents from /target/tars/dellgen10/configs/promenade/global.yaml
2018-08-22 19:03:22,244 INFO     - - - promenade.config:from_streams [ 59] Successfully loaded 173 documents from /target/tars/dellgen10/configs/promenade/global.yaml
2018-08-22 19:03:22,245 INFO     - - - promenade.config:from_streams [ 55] Loading documents from /target/tars/dellgen10/configs/promenade/site.yaml
2018-08-22 19:03:24,975 INFO     - - - promenade.config:from_streams [ 59] Successfully loaded 120 documents from /target/tars/dellgen10/configs/promenade/site.yaml
2018-08-22 19:03:24,975 INFO     - - - promenade.config:__init__ [ 24] Parsing document schemas.
Traceback (most recent call last):
  File "/usr/local/bin/promenade", line 11, in <module>
    load_entry_point('promenade', 'console_scripts', 'promenade')()
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/opt/promenade/promenade/cli.py", line 42, in build_all
    streams=config_files)
  File "/opt/promenade/promenade/config.py", line 62, in from_streams
    return cls(documents=documents, **kwargs)
  File "/opt/promenade/promenade/config.py", line 25, in __init__
    schema_set = validation.load_schemas_from_docs(documents)
  File "/opt/promenade/promenade/validation.py", line 95, in load_schemas_from_docs
    if document.get('schema', '') == SCHEMA_SCHEMA:
AttributeError: 'NoneType' object has no attribute 'get'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.airshipit.org/pipermail/airship-discuss/attachments/20180823/69986c83/attachment-0001.html>


More information about the Airship-discuss mailing list