operator-framework / operator-courier

Build, verify and push operators
Apache License 2.0
41 stars 53 forks source link

operator-courier fails in a Docker container: Codec can't decode byte 0xe2 in position x error #181

Open sgkiokas opened 4 years ago

sgkiokas commented 4 years ago

Hello all,

I'm trying to run the operator-sdk within a Docker container for some e2e purposes based on Ubuntu 18.04. To install it, I've put in the container the following:

RUN sudo apt-get install -y \
    python3.7 \ 
    python3-pip

Then, I install it via pip3 install operator-courier and the version I got is the latest.

In a Makefile that I need to run, on of the recipes contain the following command:

operator-courier verify olm-catalog/$(OPERATOR_NAME)

and the moment this line is executed, I'm getting:

`ascii' codec can't decode byte 0xe2 in position 1582: ordinal not in range(128)

When I ran it locally with the same version of the CLI, everything works fine.

I've tried to change my locale in the container by adding:

RUN sudo apt-get -y install locales \ 
    sudo sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
    locale-gen

ENV LANG en_US.UTF-8 

Unfortunately, this didn't help.

I also tried to install the binary like LANG="en_US.UTF-8" pip3 install operator-courier.

This didn't help either.

I imagine I'm missing some dependency. Any suggestion would be very helpful!

Thanks a lot in advance.

P.S.: Not sure if it's a Python related problem as described here.