Closed john-harmony closed 4 years ago
apparently, node2.sh retrieve the latest required binaries and dependency files from this path: https://s3.console.aws.amazon.com/s3/buckets/pub.harmony.one/release/linux-x86_64/testnet/?region=us-west-1&tab=overview
, while jenkins job uploaded the files to differant path: s3://pub.harmony.one/release/linux-x86_64/testnet/static/harmony
BECAUSE we checked the static binary
option.
new job output:
Copying s3://pub.harmony.one/release/linux-x86_64/v5559-master-20191208.0-182-g50b6df28/harmony to s3://pub.harmony.one/release/linux-x86_64/testnet/harmony Copy complete [PipelUload
Latest error
[ec2-user@ip-172-31-45-56 ~]$ LD_LIBRARY_PATH=. ./harmony -version
./harmony: error while loading shared libraries: libbls384_256.so: cannot open shared object file: No such file or directory
The missing file does exist in the s3 bucket.
@john-harmony I don't see any errors in the script, nor the s3 bucket. Can you start with a fresh directory?
Try
./node2.sh -k bls.key -N staking -z -S
to download the binary and libraries.
Downloads and runs but version doesn't look right
[ec2-user@ip-172-31-40-139 ~]$ curl -LO https://harmony.one/node2.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 20582 100 20582 0 0 43605 0 --:--:-- --:--:-- --:--:-- 154k
[ec2-user@ip-172-31-40-139 ~]$ mv node2.sh node.sh
[ec2-user@ip-172-31-40-139 ~]$ chmod a+x node.sh
[ec2-user@ip-172-31-40-139 ~]$ ./node2.sh -k 843a3bccb40da9920b9ee4c763644032a4284c48a819fba4ee7cf809ae9eb1df8c7d62e4852b3a79b136f50a2809bf95.key -N staking -z -S
-bash: ./node2.sh: No such file or directory
[ec2-user@ip-172-31-40-139 ~]$ ./node.sh -k 843a3bccb40da9920b9ee4c763644032a4284c48a819fba4ee7cf809ae9eb1df8c7d62e4852b3a79b136f50a2809bf95.key -N staking -z -S
node.sh: using manually specified BLS key file: 843a3bccb40da9920b9ee4c763644032a4284c48a819fba4ee7cf809ae9eb1df8c7d62e4852b3a79b136f50a2809bf95.key
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 799 100 799 0 0 1795 0 --:--:-- --:--:-- --:--:-- 1795
diff: md5sum.txt: No such file or directory
node.sh: downloaded harmony
node.sh: downloaded wallet
node.sh: downloaded bootnode
node.sh: downloaded libmcl.so
node.sh: downloaded libbls384_256.so
node.sh: public IP address autodetected: 13.58.96.11
Enter passphrase for the BLS key file 843a3bccb40da9920b9ee4c763644032a4284c48a819fba4ee7cf809ae9eb1df8c7d62e4852b3a79b136f50a2809bf95.key:
node.sh: ############### Running Harmony Process ###############
Staking mode; node key 843a3bccb40da9920b9ee4c763644032a4284c48a819fba4ee7cf809ae9eb1df8c7d62e4852b3a79b136f50a2809bf95 -> shard 2
^[^[[O^[[I^[[O^[[I^CGot interrupt signal. Dumping state to DB...
^Z
[1]+ Stopped ./node.sh -k 843a3bccb40da9920b9ee4c763644032a4284c48a819fba4ee7cf809ae9eb1df8c7d62e4852b3a79b136f50a2809bf95.key -N staking -z -S
[ec2-user@ip-172-31-40-139 ~]$ LD_LIBRARY_PATH=. ./harmony -version
Harmony (C) 2020. harmony, version v5559-master-20191208.0-182-g50b6df28 (jenkins@ 2020-02-12T22:47:45+0000)
I spoke a little early it looks like the version that it downloaded is different from the version of the nodes when checked in http://watchdog.hmny.io/report-staking We get
Version-v5571-master-20191208.0-194-ga653dabe
Node Count:24
But when checking the node I see
[ec2-user@ip-172-31-40-139 ~]$ LD_LIBRARY_PATH=. ./harmony -version
Harmony (C) 2020. harmony, version v5559-master-20191208.0-182-g50b6df28 (jenkins@ 2020-02-12T22:47:45+0000)
Just downloaded again and still getting an old version from Feb 12th
[ec2-user@ip-172-31-46-53 ~]$ LD_LIBRARY_PATH=. ./harmony -version
Harmony (C) 2020. harmony, version v5559-master-20191208.0-182-g50b6df28 (jenkins@ 2020-02-12T22:47:45+0000)
Looks to align from this branch https://github.com/harmony-one/harmony/commit/50b6df289e9b5d07d2ac5e70b8a3674ec3f55382
http://jenkins.harmony.one/job/harmony-release/
Just rebuild it
try
node2.sh -d -N testnet
to download the latest binary.
Version is not being updated when running that jenkins job
Downloaded and got this version (3 days old)
[ec2-user@ip-172-31-39-108 ~]$ LD_LIBRARY_PATH=. ./harmony -version
Harmony (C) 2020. harmony, version v5588-master-20191208.0-211-g3be4594e (jenkins@ 2020-02-22T06:06:54+0000)
Then went in to Jenkins and rebuilt see build 264
Downloaded again and got the same result
[ec2-user@ip-172-31-39-108 ~]$ LD_LIBRARY_PATH=. ./harmony -version
Harmony (C) 2020. harmony, version v5588-master-20191208.0-211-g3be4594e (jenkins@ 2020-02-22T06:06:54+0000)
@john-harmony , you need to click branch release.
Just did a build using the
Downloaded using
[ec2-user@ip-172-31-39-108 staging]$ curl -LO https://harmony.one/node2.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 20582 100 20582 0 0 44262 0 --:--:-- --:--:-- --:--:-- 44262
[ec2-user@ip-172-31-39-108 staging]$ mv node2.sh node.sh
[ec2-user@ip-172-31-39-108 staging]$ chmod a+x node.sh
./node.sh -S -N staking -k 166beb7d1b5887898bcc2ba05bad812358238b59403fcfcd7aca6d13628762b20100bdfecdf2e9b7ffeda5103b713484.key -z
Still get an old version
[ec2-user@ip-172-31-39-108 staging]$ LD_LIBRARY_PATH=. ./harmony -version
Harmony (C) 2020. harmony, version v5588-master-20191208.0-211-g3be4594e (jenkins@ 2020-02-22T06:06:54+0000)
Also tried as above (note I have renamed node2.sh to node.sh on my AWS instance
[ec2-user@ip-172-31-39-108 staging]$ ./node.sh -d -N testnet
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 799 100 799 0 0 2113 0 --:--:-- --:--:-- --:--:-- 10797
node.sh: binaries did not change in staging
[ec2-user@ip-172-31-39-108 staging]$ cd staging
[ec2-user@ip-172-31-39-108 staging]$ LD_LIBRARY_PATH=. ./harmony -version
-bash: ./harmony: No such file or directory
Retried with STATIC Binary unchecked 268 and then downloaded again and it worked, i.e. got the latest version
./node.sh -S -N staking -k 2593fdbd97091d0498368626e2b79d7f3bd92d92dc63ddeb137ede571c6a3459990016b25f7f2fad200197db5682aa16.key -z
[ec2-user@ip-172-31-39-108 staging]$ LD_LIBRARY_PATH=. ./harmony -version
Harmony (C) 2020. harmony, version v5595-master-20191208.0-218-g380449bb (jenkins@ 2020-02-25T20:15:22+0000)
I tried on my side, it is working as expected.
We can close this ticket if you want.
Happy to close this and we'll ensure we run the jenkins job when we build OSTN
Currently when building OSTN - There is no ability for validators to build with the correct binary. Want the ability for them to do this
Background 1) Documentation on process being developed can be found here 2) @LeoHChen originally suggested using harmony.one/node2.sh 3) As part of the build the binary should be pushed to AWS bucket - @AndyBoWu is now using this jenkins job to do this 4) Pangea Ops developed a workaround using this script 5) @fxfactorial shared this way of invoking it