-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stove cannot publish to behind the firewall Supermarket #72
Comments
@nathenharvey any ideas on this? Is there a difference between the inhouse and public supermarket? |
I got this error trying to publish to the normal supermarket as well.
and here it is working
|
From the stack traces, it looks like you're using knife supermarket to publish successfully and stove is failing. The error message leads me to believe that your phpstack cookbook does not have a README.md file. Looks like stove requires a README.md file. Does that help? Does the cookbook contain a README.md? If you add one, does stove do what you expect? |
The cookbook has a README.md, and it looks to me like that error is coming from the server, not from Stove. I was previously using Stove 3.2.3 to publish to the community site and that was working. Using 3.2.3 I got a different error that was just a straight 500 error with no extra messages. Ryan |
Ya, I have a README.md as well. |
Can you try removing all the content from your README except a single character? I wonder if it's barfing on some unicode error? |
yep, I was a bit to quick to respond. It looks like stove might not be packaging up that README.md into the tarball it uses. I'm not sure what's happening here. @sethvargo is it possible to use stove to generate the tarball and then stop without uploading that tarball. |
Not from the CLI. But if you open up an IRB session, it's something like:
Does that help? |
Looks like stove is generating a README.md for https://github.com/rylarson/chef-cygwin OK. Does @sethvargo's suggestion of clearing most of the content from the README give a different result? |
A single character in the README yielded the same result. So did renaming README.md => README |
FWIW, Stove 3.0 works fine (although I had to change my version constraints in my metadata file)
Same error with newer version of stove. |
I just ran into this with 3.2.6 a downgrade to 3.2.5 fixed it. Seems odd that the changes in that release would cause it though. |
@nathenharvey does the behind-the-firewall version of Supermarket support the new metadata params? I wonder if we are sending them up and the supermarket is rejecting them because they are not recognized. |
Same for me. Downgrading fix the problem :) |
this issue occurred because stove now requires metadata.rb to include the |
This is particularly unpleasant as stove only fails after pushing the tag to git, meaning you have to forcibly clean up the tag from remote git before re-uploading. Perhaps stove could verify the git repo is clean, changes are pushed, to the upload, then push the tag? I'd rather the upload be validated by the remote server before a tag is pushed in git. |
I would rather the tag fail since it is easy to remove tags but impossible
|
I'd just prefer to have the Chef-related APIs validate the uploaded tarball before anything else happens, as that seems to be the hardest part to check locally. Maybe we need some sort of way to validate the tarball, then push the tag, then upload the tarball. |
So, I think this is the issue... @nathenharvey added new metadata in #71. This is important because new cookbook's metadata wasn't being parsed or uploaded by stove. However, supermarket in-house doesn't support those fields yet, so it's rejecting the request. We have a catch-22 now 😦. |
should we release a 3.2.7 version of stove that reverts those new attributes and release a 3.3.0 version that includes them? And make the necessary updates to the README and such? In the meantime, I'll work with the Supermarket team to see if the current version of a private supermarket supports those fields and discuss some better way of signaling this to stove. |
That seems like a reasonable alternative to me. I can work on that later tonight. |
Sounds good to me. Thanks @sethvargo and @nathenharvey |
Fwiw, I'm getting this error on a cookbook that does not have |
@jtimberman right, but stove is sending metadata that looks like this: {
"issues_url": ""
} Since the default value is empty string |
Ah ha! Okay then. 3.2.5 is fine for now :). |
We're also seeing that once you do include these, the cookbooks are no longer usable by chef 11. So you can either use the latest stove and ditch chef 11, or use an older stove. |
@martinb3 ah - that's excellent to know. This really helps identify my pathway moving forward. I am going to allow the fields in the READ of the metadata, but not include them in the WRITE of the metadata. This will ensure BC. I may add a flag that allows the new fields to be included. |
This should be fixed in 3.2.7! |
I use stove to publish the cygwin cookbook to the community site, and it works fine. But when I try to publish the same cookbook to my behind the firewall community site, I get the following error (with personal info redacted):
However, when I use knife-supermarket, I can upload just fine:
The cookbook source is here: https://github.com/rylarson/chef-cygwin and you can see that the README file is anything but empty.
The behind the firewall supermarket is 1.6.0 installed via the chef yum repository on RHEL 6.6 x64
I have access to the servers private key and I can do a wireshark dump of the traffic if you would like.
The text was updated successfully, but these errors were encountered: