Skip to content
This repository was archived by the owner on Jul 24, 2018. It is now read-only.
This repository was archived by the owner on Jul 24, 2018. It is now read-only.

400 error returned when getting site definition (mixed layering across documents) #80

@darrendejaeger

Description

@darrendejaeger

Asked to open this issue -

Drydock returns a 400 error when getting a site definition during the Shipyard commit configdoc action. I had mixed layering across documents; "region" in a Drydock manifest, "site" in an Armada manifest. Swapping to layering that matched fixed the issue. The Drydock error returned while I was having trouble was the following

2018-02-13 01:20:33,793 - ERROR - orchestrator.py:get_effective_site - Error getting site definition: Bad Request (HTTP 400)
 Traceback (most recent call last):
   File "./drydock_provisioner/orchestrator/orchestrator.py", line 286, in get_effective_site
     status, site_design = self.get_described_site(design_ref)
   File "./drydock_provisioner/orchestrator/orchestrator.py", line 270, in get_described_site
     design_ref=design_ref, design_state=self.state_manager)
   File "./drydock_provisioner/ingester/ingester.py", line 91, in ingest_data
     design_blob = design_state.get_design_documents(design_ref)
   File "./drydock_provisioner/statemgmt/state.py", line 78, in get_design_documents
     return ReferenceResolver.resolve_reference(design_ref)
   File "./drydock_provisioner/statemgmt/design/resolver.py", line 49, in resolve_reference
     return handler.__get__(None, cls)(design_uri)
   File "./drydock_provisioner/statemgmt/design/resolver.py", line 103, in resolve_reference_ucp
     resp = ks_sess.get(url)
   File "/usr/local/lib/python3.5/site-packages/keystoneauth1/session.py", line 667, in get
     return self.request(url, 'GET', **kwargs)
   File "/usr/local/lib/python3.5/site-packages/positional/__init__.py", line 108, in inner
     return wrapped(*args, **kwargs)
   File "/usr/local/lib/python3.5/site-packages/keystoneauth1/session.py", line 570, in request
     raise exceptions.from_response(resp, method, url)
 keystoneauth1.exceptions.http.BadRequest: Bad Request (HTTP 400)
 2018-02-13 01:20:33,797 - INFO - shipyard - ef9ae2a2-3e82-4dac-afa1-1cf6d632e7f3 - f64dac42-ab49-46de-a206-11551b9dc693 - http://drydock-api.ucp.svc.cluster.local:9000/api/v1.0/validatedesign - 200 OK
 Traceback (most recent call last):
   File "/usr/local/lib/python3.5/site-packages/webob/dec.py", line 131, in __call__
     resp = self.call_func(req, *args, **self.kwargs)
   File "/usr/local/lib/python3.5/site-packages/webob/dec.py", line 196, in call_func
     return self.func(req, *args, **kwargs)
   File "/usr/local/lib/python3.5/site-packages/keystonemiddleware/auth_token/__init__.py", line 323, in __call__
     response = req.get_response(self._app)
   File "/usr/local/lib/python3.5/site-packages/webob/request.py", line 1316, in send
     application, catch_exc_info=False)
   File "/usr/local/lib/python3.5/site-packages/webob/request.py", line 1280, in call_application
     app_iter = application(self.environ, start_response)
   File "/usr/local/lib/python3.5/site-packages/falcon/api.py", line 242, in __call__
     responder(req, resp, **params)
   File "./drydock_provisioner/policy.py", line 177, in secure_handler
     return f(slf, req, resp, *args, **kwargs)
   File "./drydock_provisioner/control/validation.py", line 74, in on_post
     resp_message['details']['errorCount'] = message.error_count
 AttributeError: 'NoneType' object has no attribute 'error_count'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions