![]() The latest version does not support the validating string parameter yet. We are using the Job DSL plugin for Jenkins to automatically generate all Jenkins jobs. This resolves the issue of whitespace characters ending up in the VERSION parameter, see Small enhancement for Jenkins Job DSL plugin The Validating String Parameter Jenkins plugin allows us to specify valid parameters using regular expressions. Jenkins gives us a nice audit trail, who and when components got deployed. Only SRE team member have access and can deploy releases and hotfixes to production. We use dedicated Jenkins servers for production deployments. To avoid similar issues in the future we added regex checks to our deployment automation, so only valid characters are allowed when deploying components. Lessons Learned – OR – How To Prevent Zero Width Space From Causing Problems Searching the Internet it seems we are not the only ones experiencing this issue. Since this character has zero width, we did not see the hidden character when deploying the hotfix. These “zero width space” characters are added for formatting reasons in Slack. We copied the container image version from the message and used the version for the deployment. So how did it get there? It turns out we received a hotfix deployment request for this UI component in our internal chat system (Slack). ![]() Redeploying the UI component with the correct image version fixed the issue. As you can see the “zero width space” Unicode character somehow made it into the container image tag. Here is the error message in a more readable format. The latest event contained a detailed error message that helped me to identify the root cause of the issue. For each event Instana shows the event type, reason, message, namespace and time so I can easily identify the event that I need to investigate next. The “Conditions” tab for the pod shows a new scheduled deployment.Ĭhecking the “Events” tab displays the full error message. So I started checking the pod status and it came up as “Pending”. The issue contains the starting time, the GKE node pool, GKE node name and the K8s pod that was not able to start. At first sight it looked like the container of our UI component was not able to start. It all started with a built-in alert (from Instana APM) that I got paged on. “The zero-width space is a non-printing character used in computerized typesetting to indicate word boundaries to text processing systems.” Source: How Slack Broke My Kubernetes Deployment A few days ago I learned that the Unicode character for ‘ZERO WIDTH SPACE’ is U+200B. ![]()
0 Comments
Leave a Reply. |