Skip to content
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

deploy/operator.yaml references outdated image #1

Open
mihasya opened this issue Jan 25, 2021 · 8 comments
Open

deploy/operator.yaml references outdated image #1

mihasya opened this issue Jan 25, 2021 · 8 comments
Labels
bug Something isn't working

Comments

@mihasya
Copy link

mihasya commented Jan 25, 2021

Hello! Came across your operator today and was very excited. It's super useful to me right now for repeatedly testing an internal endpoint. However, I quickly ran into an issue that was quite puzzling - I looked at the code for the ApacheBench CRD and it clearly listed all the different ab arguments including timelimit. However, setting timeLimit on the spec did nothing. Looking at git blame on the file, it looks like the initial version of the file only supported the basic arguments. I suspect you uploaded the image that is on quai.io before adding the other types. I tried updating the container to :latest and got the same results.

@jmckind Any chance you could publish a new image and update the deploy script? Thanks in advance!

@jomkz
Copy link
Owner

jomkz commented Jan 27, 2021

Hey @mihasya, thanks for trying out the operator! I am glad that you have found it useful. I will take a look and get that sorted out.

@jomkz jomkz added the bug Something isn't working label Jan 27, 2021
@mihasya
Copy link
Author

mihasya commented Jan 28, 2021

Oh man so glad you got back to me! 😅 I thought it'd be quick to rebuild the image and upload it to our own repo, but it looks like this was built using an older version of the operator-sdk, which I know nothing about, so I got bogged down trying to figure out what version I needed to install. I don't have any hands on experience with the operator stuff, so I had to table that for now due to time constraints. Really hope you can republish an image, this is eminently useful and such a clever application of Kube jobs, CRDs and namespaces!

@jomkz
Copy link
Owner

jomkz commented Feb 3, 2021

Hi @mihasya. I rebuilt the operator and pushed a new latest tag today. Sorry for the delay but I had to go back to the older operator-sdk version like you mentioned. I am starting to test the issue you described now but wanted to give you a heads up that the new image is available.

If that still does not work for you, I am also working on updating the SDK dependency to the latest version but it takes a project migration to get to the new project layout, etc. That will take me a bit, but once I get it there I will resume finishing out the remaining work to get everything working like I envisioned, mostly around making the output from the job easier to consume.

Looking forward to any feedback that you have using it in "the real world". :)

@jomkz
Copy link
Owner

jomkz commented Feb 3, 2021

One more thing, I have not updated the tag referenced in the operator.yaml just yet, so you will need to manually change the tag to latest on your side for the time being.

@mihasya
Copy link
Author

mihasya commented Feb 3, 2021

Thanks so much for releasing the new image! I tested it right away, and unfortunately ran into an issue. The new version correctly picks up the timeLimit arg, however there seems to be a bug with the new version of the operator where the job pods fail with a bash syntax error.

If you're short on time, perhaps you could let me know the version of the operator SDK that works and I can take a stab at patching it.

Output from describe pod/....:

Working with old version (note the missing -t):

    Command:
      ab
      -n
      5000000
      <snip>.us-west-2.elb.amazonaws.com/<snip>

Not working with new version:

    Command:
      bash
      -c
      'ab
      -n
      5000000
      -t
      15
      <snip>.us-west-2.elb.amazonaws.com/<snip>
      '

Logs of failing pod:

$ kubectl logs <snip> -n benchmark
-n: -c: line 0: unexpected EOF while looking for matching `''
-n: -c: line 1: syntax error: unexpected end of file

Yaml I'm sending in:

apiVersion: httpd.apache.org/v1alpha1
kind: ApacheBench
metadata:
  name: <snip>
spec:
  requests: 5000000
  timeLimit: 15
  url: <snip>

@jomkz
Copy link
Owner

jomkz commented Feb 3, 2021

I am sorry, I had something that I was working on in my current branch and that caused the issue that you saw. I thought I had removed all of that but the alternate command for the job that you saw got through. I re-pushed the image, can I ask you to try one more time?

Full disclosure, it has just been me working on and using this, so I got a little sloppy with my process. Going forward, now that I am not the only one affected when I break stuff, I will make sure to do proper PRs, etc. for changes.

@jomkz
Copy link
Owner

jomkz commented Feb 3, 2021

Also, yes I would love help if you are interested. The operator uses the old pre 1.0 version of operator-sdk, so I have been using version v0.19.4 to build it until I can migrate the project. I will also document the basic steps for developing on the operator to make it easier. Thank you again for your interest in this project!

@mihasya
Copy link
Author

mihasya commented Feb 3, 2021

I am up and running! Using latest - jobs work, and timeLimit is now recognized. Thanks so much for fixing this up! We've got a couple of load tests planned, so this is most excellent timing.

Looking forward to the dev docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants