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

test(connector-fabric): fix tests - package io/fs is not in GOROOT #10

Closed
wants to merge 1 commit into from

Conversation

petermetz
Copy link
Owner

The simple answer was to upgrade to go v1.20.x from v1.15.x, but
this caused a series of other problems that also needed to address
so the complete list of changes and their motivations are below:

  1. The upgrade to go v1.20.6
    1.1. We no longer install docker-compose via pip because since v2
    it ships with the main docker package itself (they rewrote it in go)
    1.2. Added a new "gcompat" apk package which is necessary because
    of go v1.20.6 as well. Details on this can be found here:
    Error loading shared library libresolv.so.2 on Alpine in Go 1.20  golang/go#59305 (comment)
    1.3. As part of installing the OpenSSH server, we now must first wipe all
    openssh* packages due to newly surfaced package version conflicts due
    to the ones that are prepackaged with the alpine image.
    Without the purge step it fails like this:
    => ERROR [17/64] RUN apk add --no-cache openssh augeas 1.1s

    [17/64] RUN apk add --no-cache openssh augeas:
    0.300 fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
    0.560 fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
    1.041 ERROR: unable to select packages:
    1.043 openssh-client-common-9.3_p1-r3:
    1.043 breaks: openssh-client-default-9.3_p2-r0[openssh-client-common=9.3_p2-r0]

  2. Upgraded the node-ssh library to v13 because v12 was broken due to
    changes introduced by the new OpenSSH server.
  3. Modified the container image definition so that we have the ability
    to customize the version of fabric-nodeenv images used internally by the
    peers of the fabric-samples repository. This was needed so that we can
    control what version of npm and NodeJS are being used when the chain code
    installation process is happening (which is just the peer running the
    npm install --production command within the fabric-nodeenv container)
  4. The default Fabric version used by the testing infrastructure is now
    Fabric v2.2.13 and for the NodeJS chain code it is 2.4.2
  5. Slightly rearranged the imports & constants in some of the tests
    which made it easier to verify that the new image is working as intended.

Fixes hyperledger-cacti#2358

Signed-off-by: Peter Somogyvari [email protected]

The simple answer was to upgrade to go v1.20.x from v1.15.x, but
this caused a series of other problems that also needed to address
so the complete list of changes and their motivations are below:

1. The upgrade to go v1.20.6
1.1. We no longer install docker-compose via pip because since v2
it ships with the main docker package itself (they rewrote it in go)
1.2. Added a new "gcompat" apk package which is necessary because
of go v1.20.6 as well. Details on this can be found here:
golang/go#59305 (comment)
1.3. As  part of installing the OpenSSH server, we now must first wipe all
openssh* packages due to newly surfaced package version conflicts due
to the ones that are prepackaged with the alpine image.
Without the purge step it fails like this:
    => ERROR [17/64] RUN apk add --no-cache openssh augeas                   1.1s
   ------
    > [17/64] RUN apk add --no-cache openssh augeas:
   0.300 fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
   0.560 fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
   1.041 ERROR: unable to select packages:
   1.043   openssh-client-common-9.3_p1-r3:
   1.043     breaks: openssh-client-default-9.3_p2-r0[openssh-client-common=9.3_p2-r0]
2. Upgraded the node-ssh library to v13 because v12 was broken due to
changes introduced by the new OpenSSH server.
3. Modified the container image definition so that we have the ability
to customize the version of fabric-nodeenv images used internally by the
peers of the fabric-samples repository. This was needed so that we can
control what version of npm and NodeJS are being used when the chain code
installation process is happening (which is just the peer running the
`npm install --production` command within the fabric-nodeenv container)
4. The default Fabric version used by the testing infrastructure is now
Fabric v2.2.13 and for the NodeJS chain code it is 2.4.2
5. Slightly rearranged the imports & constants in some of the tests
which made it easier to verify that the new image is working as intended.

Fixes hyperledger-cacti#2358

Signed-off-by: Peter Somogyvari <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

test(connector-fabric): fix tests - package io/fs is not in GOROOT
1 participant