microsoft / azure-pipelines-extensions

Collection of all RM and deployment extensions
http://www.visualstudio.com/explore/release-management-vs
MIT License
279 stars 422 forks source link

Cannot connect to remote TFS instance after auto update to version 15.142.0 #521

Open ruairiohagan opened 6 years ago

ruairiohagan commented 6 years ago

Hi,

After the TFS instance in our TEST environment auto updated to this version it is no longer able to communicate with our main development TFS server (which contains all our build definitions).

When creating a new release definition, when we create a new "External TFS Build" artifact link, the dialog cannot even see the service definition of the remote TFS instance.

Manually reverting back to version 15.106.2 fixes the issue.

Note previous issue #455 we raised which had similar problems.

Can you please also advise which IP/Port we need to block on our TFS servers to prevent them from auto-updating the extensions? This causes other issues for us as our production environment has no internet connection so versions of TFS extensions in PROD and TEST get out of sync and we have had issues where a bug exists in an extension in PROD but it is fixed in TEST and we don't see the issue until we try to deploy into PROD.

Thanks,

Ruairi.

Lovakumar commented 5 years ago

This is pretty old issue. @ruairiohagan is this still an issue for you? Can I close it?

ruairiohagan commented 5 years ago

Hi @Lovakumar ,

We're still getting this issue with the latest version (15.145.0).

We've managed to block our test server from auto-updating using Windows Firewall, but as soon as it gets the latest release of this extension it stops working again.

We'd really appreciate a fix!

Lovakumar commented 5 years ago

@omeshp can you please take a look at this issue. Looks to be a compat issue with some data source.

omeshp commented 5 years ago

@ruairiohagan In issue #455 you mentioned that the issue was fixed with version 15.138.1, are you seeing the same issue again, or Is it a different issue?

ruairiohagan commented 5 years ago

Hi @omeshp , it is slightly different this time.

With the previous issue we could not connect to the remote TFS instance either when trying to create a new link in a release definition or when trying to create a new release.

This time if the release definition already exists and an artifact link is already present we are able to create new releases and extract the artifacts from the remote TFS instance.

But if the artifact link doesn't already exist we can't create an new one, it doesn't seem to be able to get the list of build definitions.

Lovakumar commented 5 years ago

@omeshp any update on this?

omeshp commented 5 years ago

@ruairiohagan Can you share the response that is received for failing 'list build definitions call'? You can checkout the response in chrome developer tools network tab. The API call should be likehttps://vsrm.dev.azure.com/accountname/projectname/_apis/Release/artifacts/inputvaluesquerywith parameters

{
  "currentValues": {
    "connection": "{guid-value}",
    "project": "{guid-value}",
    "definition": ""
  },
  "inputValues": [
    {
      "inputId": "definition"
    },
    {
      "inputId": "artifacts"
    }
  ],
  "resource": "ExternalTfsBuild"
}
ruairiohagan commented 5 years ago

Hi @omeshp ,

I'm not sure it's getting that far, last thing I have in the network tab when I select "External TFS Build" and it tries to get the list of build definitions is:

Request URL: http://TEST-TFSSERVER:8080/tfs/DeciphaTESTDeployment/Deployment/_apis/Release/artifacts/inputvaluesquery

Request: { "currentValues": {}, "inputValues": [{ "inputId": "connection" } ], "resource": "ExternalTfsBuild" }

Response: { "resource": "ExternalTfsBuild", "inputValues": [{ "inputId": "connection", "defaultValue": "", "possibleValues": [{ "value": "a892b084-6b02-4c5a-87c8-fea6032eb1b6", "displayValue": "DEV-TFSSERVER" } ], "isLimitedToPossibleValues": true } ], "currentValues": {} }

omeshp commented 5 years ago

Hi @ruairiohagan , This looks like the response of inputId connection. After you select endpoint DEV-TFSSERVER as connection it should make another inputvaluesquery API call with inputId as definition. Can you share the response of that call?

ruairiohagan commented 5 years ago

@omeshp , that's the last inputvaluesquery I see in the network tab, but there is an "Events" line after that which has no response but its request looks like:

[{ "area": "DefaultArea.Apps", "feature": "ms.vss-releaseManagement-web.hub-explorer-compat-route", "properties": { "url": "http://TEST-TFSSERVER:8080/tfs/DeciphaTESTDeployment/Deployment/_apps/hub/ms.vss-releaseManagement-web.hub-explorer?definitionId=0&templateId=00000000-0000-0000-0000-000000000000&_a=artifacts-editor", "userAgent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36", "sessionId": "4ee5d0d4-15d8-4797-ab6e-7ca9e8ca9d32", "errorType": "UnhandledQRejection", "errorName": "UnhandledQRejection", "errorMessage": "TypeError: Cannot read property 'forEach' of undefined\n at t.getValue (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vGza-52A6l98oFCoolmuKVoHJ30V-8o6EtWmRceESbzI=:17:11227)\n at http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vGza-52A6l98oFCoolmuKVoHJ30V-8o6EtWmRceESbzI=:17:17278\n at Array.forEach ()\n at n.getActualSourceReference (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vGza-52A6l98oFCoolmuKVoHJ30V-8o6EtWmRceESbzI=:17:17151)\n at t.getArtifact (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vsMwZDLU0liiW9t_RhKBmQXxmdQuqKjh0ejXlLeIqRi4=:64:2819)\n at http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vsMwZDLU0liiW9t_RhKBmQXxmdQuqKjh0ejXlLeIqRi4=:65:2315\n at g (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-view-v4vB2mhl34o2aDd3rF28h7y1_COY_NOdZbitSKeWnkzM=:53:432)\n at L.b.fb.f [as ha] (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-view-v4vB2mhl34o2aDd3rF28h7y1_COY_NOdZbitSKeWnkzM=:53:258)\n at http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-view-v4vB2mhl34o2aDd3rF28h7y1_COY_NOdZbitSKeWnkzM=:47:356\n at Object.o (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-view-v4vB2mhl34o2aDd3rF28h7y1_COY_NOdZbitSKeWnkzM=:27:369)", "errorStack": "TypeError: Cannot read property 'forEach' of undefined\n at t.getValue (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vGza-52A6l98oFCoolmuKVoHJ30V-8o6EtWmRceESbzI=:17:11227)\n at http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vGza-52A6l98oFCoolmuKVoHJ30V-8o6EtWmRceESbzI=:17:17278\n at Array.forEach ()\n at n.getActualSourceReference (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vGza-52A6l98oFCoolmuKVoHJ30V-8o6EtWmRceESbzI=:17:17151)\n at t.getArtifact (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vsMwZDLU0liiW9t_RhKBmQXxmdQuqKjh0ejXlLeIqRi4=:64:2819)\n at http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-async-vsMwZDLU0liiW9t_RhKBmQXxmdQuqKjh0ejXlLeIqRi4=:65:2315\n at g (http://TEST-TFSSERVER:8080/tfs/_public/_Bundling/Content?bundle=vss-bundle-view-v4vB2mhl34o2aDd3rF28h7y1_COY_NOdZbitSKeWnkzM=:Show more

omeshp commented 5 years ago

Hi @ruairiohagan, Did you select a 'Service Endpoint' after selecting the 'External Tfs Build' artifact?

ruairiohagan commented 5 years ago

Hi @omeshp , no I can't because it doesn't let me choose one,

Normally, when I'm, adding a new artifact and I choose "External TFS Build", it auto-populates the Service Endpoint (as it's the only one defined on the server), and populates the Project and Build Definition field drop-downs automatically.

When using the later version of the extension, the "Service Endpoint" drop down doesn't get populated and so I can't choose that, or any of the other fields on the dialog.

omeshp commented 4 years ago

Adding @Lovakumar to follow up.

ruairiohagan commented 4 years ago

Hi @omeshp / @Lovakumar ,

Just wondering if there was any update on this issue? Or even better an ETA on a patch?

Thanks!