Step Template can't be created for k8s step when the image registry is a bound variable

I have a deploy to k8s step (similar to Deploying a microservice to Kubernetes with Octopus - Octopus Deploy) that I would like to make a step template but I’m getting the following error when I try to Extract Step Template:

{

“ErrorMessage”: “There was a problem with your request.”,
“Errors”: [
“The following Feed Ids cannot be found: #{DockerRegistry}”
],
“ParsedHelpLinks”: []
}

#{DockerRegistry} is a variable for the Package Feed that is scoped to two different external feeds (QA environment is one feed, Staging/Production is a second feed).

I need to be able to extract this step as a template while keeping the bound variable for the feed that will resolve to the different feeds depending on the environment being deployed to.

Hi @rwkarg ,

Thanks for getting in touch! I’m sorry to see you’re hitting this unexpected and inconvenient issue, and I appreciate you reporting it. I’ve been able to reproduce something similar, where the step template extraction doesn’t complete, but not in the same way. I’m going to bring this up internally, but I’m hoping to get a little more info to ensure I can reproduce your issue exactly.

Which version of Octopus are you currently running?
Is the feed variable set in the Deploy Kubernetes containers step template, in the containers section?
Would you be willing to send a screenshot of the error message so I can get a bit better understanding of where in the UI you’re hitting this?

I look forward to hearing back!

Best regards,

Kenny

We’re using 2021.1.7316

The Package Feed bound variable is in the Deploy Kubernetes containers step containers section (in the Project before attempting to Extract Step Template).

There actually isn’t any UI feedback when trying to Extract Step Template. Clicking the button does nothing but looking at the response in the browser Dev Tools shows a 400 response with the JSON body included in the original post.

Found out that I can extract the template after changing the original step to a specific Package Feed instead of a bound variable, then in the Step Template add a Package variable and configure that package to be provided by the Project. Then in each Project I can use the bound variable to define the Package Feed.

It would be nice to have the option of defining a default Package Feed in the Template while being able to overload that in each project. Basically every project using this Template will have the same #{DockerRegistry} variable set as the Package Feed but we still have to configure that repeatedly in each project; only the Package Id is different between Projects.

Hi @rwkarg,

Thanks for keeping in touch, and I greatly appreciate this additional info. The root issue seems to be the initial creation of any package/container-related step template, where binding the feed/registry to a variable, the very first save of the template throws this error (but this error is not surfaced in this case with the extract to step template).

I’ve found that after you’re able to work around this and do the first initial save of the template, you can successfully save it again after binding the feed to a variable, so you should hopefully be able to get them back into the state you want them.

I have also raised this as a bug report at the following link for you to track.

I appreciate you bringing this issue to our attention, and my apologies again that you hit this inconvenience and confusing bug.

Let us know if we can try to help with anything else going forward!

Best regards,

Kenny

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.