Octopack Push instabilities

unknown
reliability
(Rasmus Kuusmann) #1

Hi,

I’m running TeamCity Octopack plugin to build and pack releases to octopus. I get lots of octo.exe failures to push the package to Octopus nuget feed. The received error is not helpful either.

Here are 2 identical push requests to the server invoking octo.exe directly. In current example the delta is 0% but could be any number. So sometime it succeeds, sometime it fails with HTTP 400:
“A delta file must be provided” or “a package file must be provided” when using flag “–use-delta-compression=False” - As I understand there is something with the package POST ?

The packages do exist 100%

Powershell log below (octo.exe):

PS D:\TeamCity\buildAgent\temp\buildTmp\octo-temp\3.0> .\octo.exe push --server http://octopus.internal/ --apikey API-MyKey --package D:\TeamCity\buildAgent\work\559890277532598a\My.Package\deploy\My.Package.1.0.21.nupkg --overwrite-mode OverwriteExisting --logLevel verbose
Octopus Deploy Command Line Tool, version 6.17.0

Detected automation environment: “NoneOrUnknown”
DispatchRequest: GET http://octopus.internal/api
DispatchRequest: GET http://octopus.internal/api
DispatchRequest: GET http://octopus.internal/api
DispatchRequest: GET http://octopus.internal/api/spaces
Space name unspecified, process will run in the default space context
Handshaking with Octopus Server: http://octopus.internal/
DispatchRequest: GET http://octopus.internal/api
Handshake successful. Octopus version: 2019.13.0; API version: 3.0.0
DispatchRequest: GET http://octopus.internal/api/users/me
DispatchRequest: GET http://octopus.internal/api/users/Users-1/spaces
DispatchRequest: GET http://octopus.internal/api/Spaces-1
DispatchRequest: GET http://octopus.internal/api/users/me
Authenticated as: user@company.com user@company.com
Pushing package: D:\TeamCity\buildAgent\work\559890277532598a\My.Package\deploy\My.Package.1.0.21.nupkg…
Requesting signature for delta compression from the server for upload of a package with id ‘My.Package’ and version ‘1.0.21’
DispatchRequest: GET http://octopus.internal/api/Spaces-1/packages/My.Package/1.0.21/delta-signature
Calculating delta
The delta file (59 bytes) is 0,00% the size of the orginal file (57 992 654 bytes), uploading…
DispatchRequest: POST http://octopus.internal/api/Spaces-1/packages/My.Package/1.0.21/delta?overwriteMode=OverwriteExisting
Delta transfer completed
Push successful
PS D:\TeamCity\buildAgent\temp\buildTmp\octo-temp\3.0> .\octo.exe push --server http://octopus.internal/ --apikey API-MyKey --package D:\TeamCity\buildAgent\work\559890277532598a\My.Package\deploy\My.Package.1.0.21.nupkg --overwrite-mode OverwriteExisting --logLevel verbose
Octopus Deploy Command Line Tool, version 6.17.0

Detected automation environment: “NoneOrUnknown”
DispatchRequest: GET http://octopus.internal/api
DispatchRequest: GET http://octopus.internal/api
DispatchRequest: GET http://octopus.internal/api
DispatchRequest: GET http://octopus.internal/api/spaces
Space name unspecified, process will run in the default space context
Handshaking with Octopus Server: http://octopus.internal/
DispatchRequest: GET http://octopus.internal/api
Handshake successful. Octopus version: 2019.13.0; API version: 3.0.0
DispatchRequest: GET http://octopus.internal/api/users/me
DispatchRequest: GET http://octopus.internal/api/users/Users-1/spaces
DispatchRequest: GET http://octopus.internal/api/Spaces-1
DispatchRequest: GET http://octopus.internal/api/users/me
Authenticated as: user@company.com user@company.com
Pushing package: D:\TeamCity\buildAgent\work\559890277532598a\My.Package\deploy\My.Package.1.0.21.nupkg…
Requesting signature for delta compression from the server for upload of a package with id ‘My.Package’ and version ‘1.0.21’
DispatchRequest: GET http://octopus.internal/api/Spaces-1/packages/My.Package/1.0.21/delta-signature
Calculating delta
The delta file (59 bytes) is 0,00% the size of the orginal file (57 992 654 bytes), uploading…
DispatchRequest: POST http://octopus.internal/api/Spaces-1/packages/My.Package/1.0.21/delta?overwriteMode=OverwriteExisting
There was a problem with your request.

  • A delta file must be provided

Error from Octopus Server (HTTP 400 BadRequest)
Exit code: -7

(Daniel Fischer) #3

Hi @rasmus.kuusmann,

Thanks for getting in touch! I’ll need to get some further information from you to get a better idea of what could be going wrong here.

Would you be able to attach a full copy of your Octopus server log covering when this occurred?

Server logs can be found under C:\Octopus\Logs in a default installation. The server logs generally contain details around any HTTP 400 errors.

Would you also be able to let me know if you are using Octopus in High Availability mode? High Availability is where you have multiple Octopus instances connected to the same Octopus database.

The above information should help point me in the right direction and help to troubleshoot this issue.
Looking forward to hearing from you and getting to the bottom of this.

Best regards,
Daniel

(Rasmus Kuusmann) #4

Hi Daniel,

It’s a fresh new single instance. The particular request does not generate error log into file. I produced 1 invalid package by manually
zipping it together. That one produces expected HTTP error into correct log. So the
currently posted log is best we have at the moment.

(Rasmus Kuusmann) #5

I switched to nuget cli and pushing is working fine now. No idea, whats wrong with octo.exe