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

Access to test-digitalocean-ubuntu1604_docker-x64-2 for addaleax #1747

Closed
rvagg opened this issue Apr 1, 2019 · 12 comments
Closed

Access to test-digitalocean-ubuntu1604_docker-x64-2 for addaleax #1747

rvagg opened this issue Apr 1, 2019 · 12 comments

Comments

@rvagg
Copy link
Member

rvagg commented Apr 1, 2019

Ref: nodejs/node#25028

I've added keys as root

@addaleax
Copy link
Member

addaleax commented Apr 3, 2019

@rvagg @Trott I think I’m done with that particular machine, but it would be awesome if I could also have access to one where nodejs/node#26401 is occurring. (@gireeshpunathil has done great work, but the issue is just super super weird and can’t even reproduced by other people who use the same platform and compiler versions, so being able to look at it on the CI machines might still be helpful.)

@Trott
Copy link
Member

Trott commented Apr 4, 2019

@gireeshpunathil Any thoughts on what machine might be a particularly good one to give @addaleax access to?

@gireeshpunathil
Copy link
Member

as the compiler levels are already matching between @addaleax's and mine the only potential difference could be in terms of # of cpus . though the test case does not want too many cpus, my failing system has 120 cpus, if a difference has to be stated. So I would say any system that has gcc 7.3 and good number of cpus where threads can run truly parallel. thanks.

@Trott
Copy link
Member

Trott commented Apr 4, 2019

I'm trying to find a non-container non-Windows host in CI where it's been happening lately but it's all Pi devices, Windows, and containers. 🤔

@Trott
Copy link
Member

Trott commented Apr 4, 2019

Maybe someone can give @addaleax and @gireeshpunathil the Docker file for test-digitalocean-ubuntu1604_sharedlibs_container-x64-10?

@rvagg
Copy link
Member Author

rvagg commented Apr 4, 2019

There shouldn't be anything special about this.

FROM ubuntu:16.04

ENV LC_ALL C
ENV USER iojs
ENV JOBS 4
ENV SHELL /bin/bash
ENV HOME /home/iojs
ENV PATH /usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV NODE_COMMON_PIPE /home/iojs/test.pipe
ENV NODE_TEST_DIR /home/iojs/tmp
ENV OSTYPE linux-gnu
ENV OSVARIANT docker
ENV DESTCPU x64
ENV ARCH x64
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install apt-utils -y && \
    apt-get dist-upgrade -y && apt-get install -y \
      ccache \
      g++ \
      gcc \
      git \
      openjdk-8-jre-headless \
      curl \
      python-pip \
      libfontconfig1

RUN pip install tap2junit

RUN addgroup --gid 1000 iojs

RUN adduser --gid 1000 --uid 1000 --disabled-password --gecos iojs iojs

ENV OPENSSL102DIR /opt/openssl-1.0.2r

RUN mkdir -p /tmp/openssl_1.0.2r && \
    cd /tmp/openssl_1.0.2r && \
    curl -sL https://www.openssl.org/source/openssl-1.0.2r.tar.gz | tar zxv --strip=1 && \
    ./Configure shared linux-x86_64 --prefix=$OPENSSL102DIR -fPIC && \
    make -j 6 && \
    make install && \
    rm -rf /tmp/openssl_1.0.r

ENV OPENSSL110DIR /opt/openssl-1.1.0j

RUN mkdir -p /tmp/openssl_1.1.0j && \
    cd /tmp/openssl_1.1.0j && \
    curl -sL https://www.openssl.org/source/openssl-1.1.0j.tar.gz | tar zxv --strip=1 && \
    ./config --prefix=$OPENSSL110DIR && \
    make -j 6 && \
    make install && \
    rm -rf /tmp/openssl_1.1.0j

ENV OPENSSL111DIR /opt/openssl-1.1.1b

RUN mkdir -p /tmp/openssl_1.1.1b && \
    cd /tmp/openssl_1.1.1b && \
    curl -sL https://www.openssl.org/source/openssl-1.1.1b.tar.gz | tar zxv --strip=1 && \
    ./config --prefix=$OPENSSL111DIR && \
    make -j 6 && \
    make install && \
    rm -rf /tmp/openssl_1.1.1b

ENV FIPS20DIR /opt/openssl-fips_2.0.16

RUN FIPSDIR=$FIPS20DIR mkdir -p /tmp/openssl-fips_2.0.16 && \
    cd /tmp/openssl-fips_2.0.16 && \
    curl -sL https://openssl.org/source/openssl-fips-2.0.16.tar.gz | tar zxv --strip=1 && \
    ./config --prefix=$FIPS20DIR && \
    make && \
    make install && \
    rm -rf /tmp/openssl-fips_2.0.16

ENV ZLIB12DIR /opt/zlib_1.2.11

RUN mkdir -p /tmp/zlib_1.2.11 && \
    cd /tmp/zlib_1.2.11 && \
    curl -sL https://zlib.net/zlib-1.2.11.tar.gz | tar zxv --strip=1 && \
    ./configure --prefix=$ZLIB12DIR && \
    make -j 6 && \
    make install && \
    rm -rf /tmp/zlib_1.2.11

VOLUME /home/iojs/ /home/iojs/.ccache

USER iojs:iojs

ENV CCACHE_TEMPDIR /home/iojs/.ccache/test-digitalocean-ubuntu1604_sharedlibs_container-x64-10

CMD cd /home/iojs \
  && curl https://ci.nodejs.org/jnlpJars/slave.jar -O \
  && java -Xmx128m \
          -jar /home/iojs/slave.jar \
          -jnlpUrl https://ci.nodejs.org/computer/test-digitalocean-ubuntu1604_sharedlibs_container-x64-10/slave-agent.jnlp \
          -secret xxx

probably just lop that last CMD off and run with bash and do your thing inside it.

just in case you need it:

  1. save as Dockerfile
  2. run docker build . -t sometagname
  3. given the tag: docker run -ti --rm sometagname bash and you should be in

docker system prune to clean up all the docker cruft, -fa to purge everything.

This may matter (?): the container is normally run with /home/iojs/ mounted to a local disk -v /somewhere/local:/home/iojs and also /home/iojs/.ccache is mounted to a shared ccache directory. It's also run with --init which starts a proper init process to deal with the zombie cleanup problem, that may matter too.

The actual start is: /usr/bin/docker run --init --rm -v /home/iojs/test-digitalocean-ubuntu1604_sharedlibs_container-x64-10/:/home/iojs -v /home/iojs/.ccache/:/home/iojs/.ccache --name node-ci-test-digitalocean-ubuntu1604_sharedlibs_container-x64-10 node-ci:test-digitalocean-ubuntu1604_sharedlibs_container-x64-10

@rvagg
Copy link
Member Author

rvagg commented Apr 4, 2019

also, I can give you access to the host machine and you could docker exec inside of it and run any tests from within the container, that might give you a close-enough environment?

@addaleax
Copy link
Member

addaleax commented Apr 6, 2019

@rvagg Thank you for the instructions … unfortunately, I can’t seem to get it to fail locally in the docker container, so I think having access to the host itself would be best :/

@rvagg
Copy link
Member Author

rvagg commented Apr 10, 2019

@addaleax I've added your keys to test-digitalocean-ubuntu1604_docker-x64-2, root@138.68.241.115

Use docker exec -ti node-ci-test-digitalocean-ubuntu1604_sharedlibs_container-x64-10 bash to get in to that particular container. /home/iojs/test-digitalocean-ubuntu1604_sharedlibs_container-x64-10/ on the host is mounted as /home/iojs in the container if you want to get anything in or out of it easily.

@rvagg rvagg changed the title Access to test-packetnet-ubuntu1604-arm64-2 for addaleax Access to test-digitalocean-ubuntu1604_docker-x64-2 for addaleax Apr 10, 2019
@Trott
Copy link
Member

Trott commented Dec 14, 2019

. @addaleax is now part of Build WG. Should this be closed? Or should something be removed from authorized_hosts on the relevant machine first?

@addaleax
Copy link
Member

@Trott I’m sorry, I don’t actually remember what happened here … the host doesn’t appear to be online anymore, or at least not have ssh open anymore?

@rvagg
Copy link
Member Author

rvagg commented Dec 20, 2019

yeah, they got upgraded to 18.04 so this is old news

@rvagg rvagg closed this as completed Dec 20, 2019
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

No branches or pull requests

4 participants