Use Maistra proxy based on CentOS Stream 8 in integration tests#609
Use Maistra proxy based on CentOS Stream 8 in integration tests#609maistra-bot merged 5 commits intomaistra:maistra-2.3from
Conversation
|
Your PR didn't work. Look at the log - everything failed. You can find there the following warnings: And as you can see in one of istio-init logs, iptables-restore did not exist in the proxy container. |
|
hmm, I see. Is it possible to install the In the past we needed this image based on centos because the envoy binary built on centos was not compatible with the libc present on Ubuntu. It looks like it's not the case anymore. I was able to run our Envoy on this base image (which is derived from Ubuntu). The problem now is that our Envoy relies on the presence of the If there's no way to have this package installed in the base image (and since it's not possible to have |
|
/test gencheck |
|
/test integration-servicemesh |
|
/test integration-telemetry |
Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>
Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>
Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>
71cd890 to
e3c2abb
Compare
|
@jwendell thanks for your advice. I was trying to run tests on Ubuntu, but currently it provides libssl.so.3.0 by default. I was trying to find a workaround to install OpenSSL 1.1.1, e.g. using repositories from older releases, but I had some other issues, so I gave up in favor of bringing an image based on CentOS Stream 8. |
| Rockylinux8 VMDistro = "Centos8" | ||
| CentosStream8 VMDistro = "CentosStream8" | ||
|
|
||
| DefaultVMDistro = CentosStream8 |
There was a problem hiding this comment.
Is there any reason to have a centos8 image?
There was a problem hiding this comment.
Nope, it is not used, but we don't use other images as well. I didn't remove them to not increase the scope of this PR.
|
|
||
| export FAST_VM_BUILDS=true | ||
| export ISTIO_DOCKER_BUILDER=crane | ||
| export ISTIO_DOCKER_BUILDER=docker |
There was a problem hiding this comment.
I guess this is the change that allows you have have RUN commands in the proxy dockerfile?
There was a problem hiding this comment.
Yes, you're right. As you can see, I updated the PR description and mentioned about this variable.
| // TestSimpleTlsOrigination test SIMPLE TLS mode with TLS origination happening at Gateway proxy | ||
| // It uses CredentialName set in DestinationRule API to fetch secrets from k8s API server | ||
| func TestSimpleTlsOrigination(t *testing.T) { | ||
| // https://issues.redhat.com/browse/OSSM-755 |
There was a problem hiding this comment.
nit: Put a FIXME: prefix to those comments? Perhaps it makes it easier for us in the future to locate them?
| // It uses CredentialName set in DestinationRule API to fetch secrets from k8s API server | ||
| func TestSimpleTlsOrigination(t *testing.T) { | ||
| // https://issues.redhat.com/browse/OSSM-755 | ||
| t.Skip("https://github.com/istio/istio/0") |
There was a problem hiding this comment.
I think the format is https://github.com/istio/istio/issues/0
Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>
Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>
e3c2abb to
15a4435
Compare
| func TestMain(m *testing.M) { | ||
| framework.NewSuite(m). | ||
| // FIXME: https://issues.redhat.com/browse/OSSM-2000 | ||
| Skip("https://github.com/istio/istio/issues/0"). |
There was a problem hiding this comment.
It turned out that we have to disable whole suite. It works on my local machine, but does not on prow. I was trying to find out what's wrong there, but it seems to be a more complicated issue. I will solve it later.
|
|
||
| # hadolint ignore=DL3041 | ||
| RUN dnf -y upgrade --refresh --nobest && \ | ||
| dnf -y install iptables iproute openssl && \ |
There was a problem hiding this comment.
Do we need to install a specific versoin of openssl or just the latest one ?
There was a problem hiding this comment.
We need OpenSSL 1.1.1 and our istio-proxy expects to find libssl.so.1.1. In CentOS Stream 8 the package openssl is exactly this one that we expect. I don't think that this package will be replaced by another version, because the next one is 3.0.0 which provides breaking API and ABI and upgrading from 1.1.1 to 3.0.0 is a big challenge, so it will probably not happen.
|
/retest |
|
/test unit |
* OSSM-2378: Use Maistra proxy CentOS Stream 8 img For integration tests. Based on (#609) * Build container images with docker Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Use maistra proxy and CentOS Stream 8 as a base image for proxyv2 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Test VMs using CentOS Stream 8 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip failing security tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip tests suite telemetry.prometheus.wasm Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * fix(tests): enables fixed integration tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jacek Ewertowski <jewertow@redhat.com>
* OSSM-2378: Use Maistra proxy CentOS Stream 8 img For integration tests. Based on (maistra#609) * Build container images with docker Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Use maistra proxy and CentOS Stream 8 as a base image for proxyv2 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Test VMs using CentOS Stream 8 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip failing security tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip tests suite telemetry.prometheus.wasm Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * fix(tests): enables fixed integration tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jacek Ewertowski <jewertow@redhat.com>
* OSSM-2378: Use Maistra proxy CentOS Stream 8 img For integration tests. Based on (maistra#609) * Build container images with docker Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Use maistra proxy and CentOS Stream 8 as a base image for proxyv2 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Test VMs using CentOS Stream 8 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip failing security tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip tests suite telemetry.prometheus.wasm Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * fix(tests): enables fixed integration tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jacek Ewertowski <jewertow@redhat.com>
* OSSM-2378: Use Maistra proxy CentOS Stream 8 img (#713) * OSSM-2378: Use Maistra proxy CentOS Stream 8 img For integration tests. Based on (#609) * Build container images with docker Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Use maistra proxy and CentOS Stream 8 as a base image for proxyv2 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Test VMs using CentOS Stream 8 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip failing security tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip tests suite telemetry.prometheus.wasm Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * fix(tests): enables fixed integration tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jacek Ewertowski <jewertow@redhat.com> * Use our proxy (#801) Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * OSSM-5958: Remove wasm extensions (#937) * Do not rely on WASM extensions Since maistra/proxy#253 * Remove wasm extensions from EnvoyFilters Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Disable tests for WASM extensions Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Remove commented code Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com> * Disable failing tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Fix TestTrustDomainValidation - change expected TLS error to make it work with OpenSSL Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Bartosz Majsak <bartosz.majsak@gmail.com> Co-authored-by: Jonh Wendell <jonh.wendell@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com>
* OSSM-2378: Use Maistra proxy CentOS Stream 8 img (maistra#713) * OSSM-2378: Use Maistra proxy CentOS Stream 8 img For integration tests. Based on (maistra#609) * Build container images with docker Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Use maistra proxy and CentOS Stream 8 as a base image for proxyv2 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Test VMs using CentOS Stream 8 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip failing security tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip tests suite telemetry.prometheus.wasm Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * fix(tests): enables fixed integration tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jacek Ewertowski <jewertow@redhat.com> * Use our proxy (maistra#801) Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * OSSM-5958: Remove wasm extensions (maistra#937) * Do not rely on WASM extensions Since maistra/proxy#253 * Remove wasm extensions from EnvoyFilters Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Disable tests for WASM extensions Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Remove commented code Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com> * Disable failing tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Fix TestTrustDomainValidation - change expected TLS error to make it work with OpenSSL Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Bartosz Majsak <bartosz.majsak@gmail.com> Co-authored-by: Jonh Wendell <jonh.wendell@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com>
* OSSM-2378: Use Maistra proxy CentOS Stream 8 img (maistra#713) * OSSM-2378: Use Maistra proxy CentOS Stream 8 img For integration tests. Based on (maistra#609) * Build container images with docker Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Use maistra proxy and CentOS Stream 8 as a base image for proxyv2 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Test VMs using CentOS Stream 8 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip failing security tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip tests suite telemetry.prometheus.wasm Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * fix(tests): enables fixed integration tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jacek Ewertowski <jewertow@redhat.com> * Use our proxy (maistra#801) Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * OSSM-5958: Remove wasm extensions (maistra#937) * Do not rely on WASM extensions Since maistra/proxy#253 * Remove wasm extensions from EnvoyFilters Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Disable tests for WASM extensions Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Remove commented code Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com> * Disable failing tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Fix TestTrustDomainValidation - change expected TLS error to make it work with OpenSSL Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Bartosz Majsak <bartosz.majsak@gmail.com> Co-authored-by: Jonh Wendell <jonh.wendell@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com>
* OSSM-2378: Use Maistra proxy CentOS Stream 8 img (maistra#713) * OSSM-2378: Use Maistra proxy CentOS Stream 8 img For integration tests. Based on (maistra#609) * Build container images with docker Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Use maistra proxy and CentOS Stream 8 as a base image for proxyv2 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Test VMs using CentOS Stream 8 Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip failing security tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Temporarily skip tests suite telemetry.prometheus.wasm Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * fix(tests): enables fixed integration tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jacek Ewertowski <jewertow@redhat.com> * Use our proxy (maistra#801) Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * OSSM-5958: Remove wasm extensions (maistra#937) * Do not rely on WASM extensions Since maistra/proxy#253 * Remove wasm extensions from EnvoyFilters Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Disable tests for WASM extensions Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Remove commented code Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com> * Disable failing tests Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> * Fix TestTrustDomainValidation - change expected TLS error to make it work with OpenSSL Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> --------- Signed-off-by: Jacek Ewertowski <jewertow@redhat.com> Co-authored-by: Bartosz Majsak <bartosz.majsak@gmail.com> Co-authored-by: Jonh Wendell <jonh.wendell@redhat.com> Co-authored-by: Jonh Wendell <jwendell@redhat.com>
Istio has been using its own tool to build container images for some time. This tool is docker-builder.
Unfortunately docker-builder does not support
RUNcommand, so we cannot installiptablesandopensslpackages in proxyv2 withRUN dnf install ....To work around this limitation, I built an image with necessary packages, pushed to my registry and used it as the base image for proxyv2.
Image
quay.io/jewertow/base-maistra-proxyv2:2.3was built from the following Dockerfile:I think that it does not make sense to extend docker-builder to support
RUN, because it's too complicated (if possible)and we just have to build our official base image and use it as I did with my image.
Update:
I figured out that we can disable building container images with crane by setting
ISTIO_DOCKER_BUILDER=docker, so I updated images to use CentOS Stream 8 as a base image and added imageapp_sidecar_centos_stream_8to test VMs.Signed-off-by: Jacek Ewertowski jewertow@redhat.com