Strider-CD / strider-gitlab

Seamless integration between Strider and GitLab
25 stars 16 forks source link

Failed to setup repo: Internal Server Error #38

Closed zapbuild closed 8 years ago

zapbuild commented 8 years ago

Hi, we are currently using Strider/CD gitlab plugin(1.1.3) for integration between Strider and GitLab. It was working fine for us. We have recently updated our GitLab instance to newest version. And now we are not able to add a GitLab project into strider. We are getting below error :

Error creating project for repo xxxx: {"results":[],"status":"error","errors":[{"code":500,"reason":"Failed to setup repo: Internal Server Error"}]}

Could you please let us know what can be the issue? I checked, there is no further updated on Strider/CD GitLab plugin. Is their anything need to change for newest GitLab version?

tspayde commented 8 years ago

We are still experiencing the issue above. I have tried multiple things such as restarts and re-installing the plugin and have seen no change. We are still unable to add any new GitLab projects to our Strider.

If you need any additional information feel free to ask and we will supply you with as much as possible.

knownasilya commented 8 years ago

Could one of you put breakpoints/console.logs on https://github.com/Strider-CD/strider-gitlab/blob/master/lib/api.js#L93 and https://github.com/Strider-CD/strider-gitlab/blob/master/lib/api.js#L152 and see if there are any errors?

tspayde commented 8 years ago

I placed a console.log in both locations and receive no error in those spots. This is the error I am seeing in the console when attempting to create a project:

image

knownasilya commented 8 years ago

The error would be in your terminal, or logs (depending on how you run strider). Make sure to log err and res.

zapbuild commented 8 years ago

Hi, i checked the terminal logs by adding console.log at both lines. Please find below the output :

at Line 93: Error is null and Response is

{ domain: null,
  _events: {},
  _maxListeners: undefined,
  res:
    { _readableState:
        { objectMode: false,
        highWaterMark: 16384,
        buffer: [],
        length: 0,
        pipes: null,
        pipesCount: 0,
        flowing: true,
        ended: true,
        endEmitted: true,
        reading: false,
        sync: true,
        needReadable: false,
        emittedReadable: false,
        readableListening: false,
        defaultEncoding: 'utf8',
        ranOut: false,
        awaitDrain: 0,
        readingMore: false,
        decoder: [Object],
        encoding: 'utf8',
        resumeScheduled: false },
     readable: false,
     domain: null,
...
 statusCode: 201,
  status: 201,
  statusType: 2,
  info: false,
  ok: true,
  redirect: false,
  clientError: false,
  serverError: false,
  error: false,
  accepted: false,
  noContent: false,
  badRequest: false,
  unauthorized: false,
  notAcceptable: false,
  forbidden: false,
  notFound: false,
  type: 'application/json',
  setEncoding: [Function],
  redirects: [] }

At Line 152 Error is

{ [Error: Internal Server Error]
  original: null,
  response:
   { domain: null,
     _events: {},
     _maxListeners: undefined,
     res:
      { _readableState: [Object],
        readable: false,
        domain: null,
        _events: [Object],
        _maxListeners: undefined,
        socket: [Object],
        connection: [Object],
        httpVersionMajor: 1,
        httpVersionMinor: 1,
        httpVersion: '1.1',
        complete: true,
        headers: [Object],
        rawHeaders: [Object],
        trailers: {},
        rawTrailers: [],
        _pendings: [],
        _pendingIndex: 0,
        upgrade: false,
        url: '',
        method: null,
        statusCode: 500,
        statusMessage: 'Internal Server Error',
        client: [Object],
        _consuming: true,
         _dumped: false,
        req: [Object],
        text: '{"message":"500 Internal Server Error"}',
        read: [Function],
        body: [Object] },
     request:
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        _agent: false,
        _formData: null,
        method: 'POST',
        url: 'http://git.xxx.local/api/v3/projects/263/keys',
        header: {},
        writable: true,
        _redirects: 0,
        _maxRedirects: 5,
        cookies: '',
        qs: [Object],
        qsRaw: [],
        _redirectList: [],
        req: [Object],
        protocol: 'http:',
        host: 'git.xxx.local',
        _data: [Object],
        _callback: [Function],
        res: [Object],
        response: [Circular],
        _timeout: 0,
        called: true },
     req:
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        output: [],
        outputEncodings: [],
        outputCallbacks: [],
        writable: true,
        _last: true,
        chunkedEncoding: false,
        shouldKeepAlive: false,
        useChunkedEncodingByDefault: true,
        sendDate: false,
        _removedHeader: [Object],
        _hasBody: true,
        _trailer: '',
        finished: true,
        _hangupClose: false,
        _headerSent: true,
        socket: [Object],
        connection: [Object],
        _header: 'POST /api/v3/projects/263/keys?private_token=xxxxxxxxxx HTTP/1.1\r\nHost: git.xxx.local\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Stri$
        _headers: [Object],
        _headerNames: [Object],
        agent: [Object],
        socketPath: undefined,
        method: 'POST',
        path: '/api/v3/projects/263/keys?private_token=xxxxxxxxxx',
        parser: null,
        res: [Object] },
     links: {},
     text: '{"message":"500 Internal Server Error"}',
     body: { message: '500 Internal Server Error' },
     files: {},
     buffered: true,
     headers:
              { server: 'nginx',
        date: 'Fri, 11 Dec 2015 05:57:09 GMT',
        'content-type': 'application/json',
        'content-length': '39',
        connection: 'close',
        status: '500 Internal Server Error',
        vary: 'Origin',
        'cache-control': 'no-cache',
        'x-request-id': 'cb541d9a-66c2-4c31-ad38-7cad8ac0b241',
        'x-runtime': '0.205791' },
     header:
      { server: 'nginx',
        date: 'Fri, 11 Dec 2015 05:57:09 GMT',
        'content-type': 'application/json',
        'content-length': '39',
        connection: 'close',
        status: '500 Internal Server Error',
        vary: 'Origin',
        'cache-control': 'no-cache',
        'x-request-id': 'cb541d9a-66c2-4c31-ad38-7cad8ac0b241',
        'x-runtime': '0.205791' },
     statusCode: 500,
     status: 500,
     statusType: 5,
     info: false,
     ok: false,
     redirect: false,
     clientError: false,
     serverError: true,
     error:
      { [Error: cannot POST /api/v3/projects/263/keys?private_token=xxxxxxxxxx (500)]
        status: 500,
        text: '{"message":"500 Internal Server Error"}',
        method: 'POST',
        path: '/api/v3/projects/263/keys?private_token=xxxxxxxxxx' },
     accepted: false,
     noContent: false,
     badRequest: false,
     unauthorized: false,
     notAcceptable: false,
     forbidden: false,
     notFound: false,
     type: 'application/json',
     setEncoding: [Function],
     redirects: [] },
  status: 500 }

And Response is

{ domain: null,
  _events: {},
  _maxListeners: undefined,
  res:
   { _readableState:
      { objectMode: false,
        highWaterMark: 16384,
        buffer: [],
        length: 0,
        pipes: null,
        pipesCount: 0,
        flowing: true,
        ended: true,
        endEmitted: true,
        reading: false,
        sync: true,
        needReadable: false,
        emittedReadable: false,
        readableListening: false,
         defaultEncoding: 'utf8',
        ranOut: false,
        awaitDrain: 0,
        readingMore: false,
        decoder: [Object],
        encoding: 'utf8',
        resumeScheduled: false },
...
  error:
   { [Error: cannot POST /api/v3/projects/263/keys?private_token=xxxxxxxxxx (500)]
     status: 500,
     text: '{"message":"500 Internal Server Error"}',
     method: 'POST',
     path: '/api/v3/projects/263/keys?private_token=xxxxxxxxxx' },
  accepted: false,
  noContent: false,
  badRequest: false,
  unauthorized: false,
  notAcceptable: false,
  forbidden: false,
  notFound: false,
  type: 'application/json',
  setEncoding: [Function],
   redirects: [] }
knownasilya commented 8 years ago

Make sure the data on 147/148 is set (http://doc.gitlab.com/ce/api/deploy_keys.html#add-deploy-key).

zapbuild commented 8 years ago

Hi, I've cross checked the data at line 147/148. Both title and key is coming.

=====Title : strider-xxxx/default-read-xxxxxxx===== =====Key : ssh-dss xxxxxxxxxxxxxx/xxxxxxxxxx/xxx/xxxxxxxxxxxxxxxxxxxxxx$===== =====Repo Id : 263===== =====Config===== { api_key: 'xxxxxxxxxxxxxxxxxxxxxxxx', api_url: 'http://xxxxxxxxx/api/v3' }

tspayde commented 8 years ago

Thank you knownasilya for your help. We have figured out what our problem was and were able to fix it. This was not a bug within the module it was an issue elsewhere with our GitLab server configuration.

Again we appreciate your help.

knownasilya commented 8 years ago

Glad you got it resolved :)