Hi All, I have started encountering an issue since...
# community-support
s
Hi All, I have started encountering an issue since last 4 days. The
run-elementary-action
is throwing error in my two projects. Here is the issue: I haven’t modified any DB permissions or made any change. Can someone let me know whether anything changed in this action?
✅ 1
I am using v1.9 & v1.10 in my two projects.
a
facing the same error 😞
n
Same. It looks like it might be that error with libcrypto
a
so the action doesn’t work?
s
hey Guys, Have you found any alternative? I guess Elementary-action would be failing for everyone. We are facing issues at other points as well with the libcrypto library. cc: @Or Avidov
a
yes im just not using it, and doing the following:
Copy code
- uses: actions/checkout@v3.3.0
      - name: Configure AWS credentials
        id: configure-aws-dyaws
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-region: us-east-1
          role-to-assume: arn:aws:iam::NUMBER:role/MY_REPO

      - uses: actions/setup-python@v1
        with:
          python-version: "3.11.x"

      - name: Install dependencies
        run: |
          pip install dbt-snowflake==1.5.2
          dbt deps
          pip install 'elementary-data[snowflake]'
          edr report --file-path "report.html"
          aws s3 cp report.html <s3://Bucket>
env: SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }} SNOWFLAKE_USERNAME: ${{ secrets.SNOWFLAKE_USERNAME }} SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }} SNOWFLAKE_DB: ${{ secrets.SNOWFLAKE_DB }} SNOWFLAKE_ROLE: ${{ secrets.SNOWFLAKE_ROLE }} SNOWFLAKE_SCHEMA: ${{ secrets.SNOWFLAKE_SCHEMA }} SNOWFLAKE_WAREHOUSE: ${{ secrets.SNOWFLAKE_WAREHOUSE }} ``````
k
@Shantanu Panwar I'm also seeing same issue on my end when using Redshift.
😓 1
@aviv zikel Is your new approach working?
a
worked for me 🙂
k
@aviv zikel Awesome! can you share the complete github workflow? I want to know where you configure snowflake credentials.
a
beware that checkout action pulls our code, and there in profiles.yml i configure it to read from env vars that is why i’m using env vars as well
🙌 1
edited it for you so you’d be able to see which env vars i used (see i’m using secrets from github)
k
Yup. Understood. I just have 1 last question.
a
go for it
k
We are using Redshift and it sits in a VPC. I additionally need an AWS role for github actions to access redshift?
a
I have never worked with redshift, can tell you that in order to use s3 i used the aws action to connect to it
🆗 1
s
Hey!!! I will try this approach tomorrow. I hope it works for me too. Thanks Aviv for sharing the insights.
k
@aviv zikel
Copy code
pip install 'elementary-data[snowflake]'
installs just the elementary CLI. Don't we need to add elementary package inside
packages.yml
?
a
Yes you are right, we need. @Kaushik Kandakatla
You’re welcome @Shantanu Panwar
s
It didn’t work for me.. I created a custom workflow but still I am getting the libcrypto error.
Copy code
Encountered an error while running operation: Database Error
  Error detecting the version of libcrypto
I have added a custom step like this:
Copy code
- name: Install elementary and dependencies
        run: | 
          python -m pip install --upgrade pip
          pip install dbt-snowflake
          pip install elementary-data[snowflake]
      - name: Run Elementary
        env:
          SNOWFLAKE_DBT_PRODUCTION_USER: ${{ secrets.SNOWFLAKE_DBT_PRODUCTION_USER }}
          SNOWFLAKE_DBT_PRODUCTION_PASSWORD: ${{ secrets.SNOWFLAKE_DBT_PRODUCTION_PASSWORD }}
        
        run: |
          edr monitor \
            --slack-token "${{ secrets.SLACK_TOKEN }}" \
            --slack-channel-name "${{ secrets.SLACK_CHANNEL_NAME }}" \
            --profiles-dir ./.github/scripts/ \
          && 
          edr report \
            --file-path "elementary_report.html" \
            --profiles-dir ./.github/scripts/ \
          &&
          edr send-report \
            --slack-token "${{ secrets.SLACK_TOKEN }}" \
            --slack-channel-name "${{ secrets.SLACK_CHANNEL_NAME }}" \
            --profiles-dir ./.github/scripts/
Let me know if you guys have any suggestion.
a
i see that you didn’t add dbt deps, and maybe 1.5.2 works?
s
Already tried that Aviv. 😅 It was this:
Copy code
run: | 
          python -m pip install --upgrade pip
          pip install dbt-snowflake==1.5.2
          dbt deps
          pip install elementary-data[snowflake]
a
sorry for that 😞 i’m not using --profiles dir flag since i configured profiles yml to have env vars with elementary profile which also gets those env vars
then after checkout action i’m able to run commands that will use profiles.yml
s
That’s fine. My run is able to read the profile directory but looks like snowflake connector is getting messy with the libcrypto.
a
quite weird behavior.. i don’t have any idea
😓 1
s
Yeah.. Trying some other things. Will let you know if anything works.
a
Good luck! maybe start with more basic configs without some of the flags as I did, ensure you don’t have mistakes in credentials
thankyou 1
z
Same issue since October 13 😿
a
tried my solution? @Zeeshan Qureshi
What have you done differently compared to earlier?
Ok, I think you're not using the action, got it
a
yep exactly!
i
Hi all - the reason for this bug is actually related to a bug in a library called
oscrypto
(a library that the snowflake connector uses under the hood) The problem with the action is that it uses the latest Python 3.9 docker image which contains a problematic OpenSSL version (the library fails if OpenSSL 3.0.10 or higher is installed). I've released a new version of
run-elementary-action
that should solve this (
v1.11
, or if you're using
v1
then it should automatically point to the newest version)
v
you mean you need to change the elementary action reference in our github actions? uses: elementary-data/run-elementary-action@v1.8 uses: elementary-data/run-elementary-action@v1.11
i
Yup exactly
🫡 1
v
thanks, let me try
s
Thanks @Itamar Hartstein for quick fix. It worked. 🎉
a
Thanks!!
v
it worked for as well. Thanks for the quick fix
d
Hi @Itamar Hartstein, and team. I couldn’t manage to use
elementary-data/run-elementary-action@v1.12
. Returning the following error. Is it possible to kindly help? 🙏