Re: [ovs-dev] [PATCH v2 1/2] ovs-numa: Non-consecutively numa nodes and cores

2020-02-06 Thread dwilder

On 2020-02-06 12:58, Ben Pfaff wrote:

On Thu, Feb 06, 2020 at 12:38:16PM -0800, David Wilder wrote:

+char *path;
+
+path = xasprintf( 
"/sys/devices/system/cpu/cpu%d/topology/core_id" ,

+ core_id);
+if (access(path, F_OK) != 0) {
+return 0;
 }
+
+return 1;


I didn't read this whole patch, but I noticed an obvious memory leak
here.


Thanks for the review Ben,  I will fix that in the next version.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 2/3] travis: Move x86-only addon packages to linux-prepare.sh

2019-12-06 Thread dwilder

On 2019-12-05 19:26, Lance Yang wrote:
To enable multiple CPU architectures support, it is necessary to move 
the

x86-only addon packages from .travis.yml file. Otherwise, the x86-only
addon packages will break the builds on some other CPU architectures.

Reviewed-by: Yanqin Wei 
Reviewed-by: Malvika Gupta 
Reviewed-by: Gavin Hu 
Reviewed-by: Ruifeng Wang 
Signed-off-by: Lance Yang 
---
 .travis.yml  | 2 --
 .travis/linux-prepare.sh | 3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 482efd2..2dc4d43 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,7 +14,6 @@ addons:
   apt:
 packages:
   - bc
-  - gcc-multilib
   - libssl-dev
   - llvm-dev
   - libjemalloc1
@@ -26,7 +25,6 @@ addons:
   - libelf-dev
   - selinux-policy-dev
   - libunbound-dev
-  - libunbound-dev:i386
   - libunwind-dev

 before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh
diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh
index 9e3ac0d..6421066 100755
--- a/.travis/linux-prepare.sh
+++ b/.travis/linux-prepare.sh
@@ -18,7 +18,8 @@ pip install --user --upgrade docutils
 if [ "$M32" ]; then
 # 32-bit and 64-bit libunwind can not be installed at the same 
time.
 # This will remove the 64-bit libunwind and install 32-bit 
version.

-sudo apt-get install -y libunwind-dev:i386
+sudo apt-get install -y \
+libunwind-dev:i386 libunbound-dev:i386 gcc-multilib
 fi

 # IPv6 is supported by kernel but disabled in TravisCI images:


LGTM:
With this patch applied ppc64le simply needs to be include into the 
matrix.

I will submit an updated ppc64le patch to be layered on top of this one.

Acked-by: David Wilder 
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [ovs-discuss] [bug-report] Check Python IDL reconnects to leader unit case failed on arm64

2019-11-22 Thread dwilder

Hi-

I started looking at the same test failure on ppc64le.  I found in my 
logs:


"clustered database server has not yet joined cluster; trying another 
server"


I found the same messsage in Lance's logs, so it could be the same 
issue.


I made the following change to check that the cluster was up and running 
before running the test.


diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at
index cc38d69c1..5484fd4c5 100644
--- a/tests/ovsdb-idl.at
+++ b/tests/ovsdb-idl.at
@@ -1802,6 +1802,9 @@ m4_define([OVSDB_CHECK_IDL_LEADER_ONLY_PY],
PARSE_LISTENING_PORT([s2.log], [TCP_PORT_1])
PARSE_LISTENING_PORT([s3.log], [TCP_PORT_2])
PARSE_LISTENING_PORT([s1.log], [TCP_PORT_3])
+   OVS_WAIT_UNTIL([../../../ovsdb/ovsdb-tool check-cluster ./s1.db])
+   OVS_WAIT_UNTIL([../../../ovsdb/ovsdb-tool check-cluster ./s2.db])
+   OVS_WAIT_UNTIL([../../../ovsdb/ovsdb-tool check-cluster ./s3.db])

remotes=tcp:LPBK:$TCP_PORT_1,tcp:LPBK:$TCP_PORT_2,tcp:LPBK:$TCP_PORT_3

pids=$(cat s2.pid s3.pid s1.pid | tr '\n' ',')
echo $pids

This corrected the problem initially,  however on Travis the problem 
returned intermittently, so I did not submit until I could look further.


I hope this helps.

Regards
   David Wilder

On 2019-11-21 17:51, Lance Yang (Arm Technology China) wrote:

Hi Ben,

Thanks for your reply.

I checked the original email I sent. I did attach the logs in my
previous email. However, as you said, they might be stripped
automatically.

At this time, I compress everything into a zip file. I am not sure
whether it would be stripped again. So I also attach a link where you
can find the related logs:
https://urldefense.proofpoint.com/v2/url?u=https-3A__1drv.ms_u_s-21Atj0ulDEFFyaj1ds2QyEmPMkRM9s-3Fe-3DIfr7l9=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=s9G46xQhkGSnSnZ64KeJqqxbxW8T4x8oC7cIXwZmm68=tWpvdvTFaHLkSQpOqJO8B0Qtj6runK-eQvnxwsAhz18=
 .

For convenience,  I also copied the original email content as below in
case that you did not receive the complete message:

I encountered an issue when I was running testsuite on Arm.
The system I tested on was an arm server running Ubuntu 18.04.3 LTS
(GNU/Linux 4.15.0-65-generic aarch64).

After I downloaded the up-to-date source code on master branch and
built ovs, I run the testsuite with TESTSUITEFLAGS="2105" (Unit case
name: Check Python IDL reconnects to leader) I run the unit case for
many times, most of the time I got the following failure:
make check TESTSUITEFLAGS="2105" RECHECK=yes
make  check-recursive
make[1]: Entering directory '/home/lance/ovs'
Making check in datapath
make[2]: Entering directory '/home/lance/ovs/datapath'
make[3]: Entering directory '/home/lance/ovs/datapath'
make[3]: Leaving directory '/home/lance/ovs/datapath'
make[2]: Leaving directory '/home/lance/ovs/datapath'
make[2]: Entering directory '/home/lance/ovs'
make[3]: Entering directory '/home/lance/ovs/datapath'
make[3]: 'distfiles' is up to date.
make[3]: Leaving directory '/home/lance/ovs/datapath'
make  utilities/ovs-appctl-bashcomp.bash
utilities/ovs-vsctl-bashcomp.bash tests/atlocal
make[3]: Entering directory '/home/lance/ovs'
make[3]: Nothing to be done for 'utilities/ovs-appctl-bashcomp.bash'.
make[3]: Nothing to be done for 'utilities/ovs-vsctl-bashcomp.bash'.
make[3]: 'tests/atlocal' is up to date.
make[3]: Leaving directory '/home/lance/ovs'
make  check-local
make[3]: Entering directory '/home/lance/ovs'
set /bin/bash './tests/testsuite' -C tests
AUTOTEST_PATH=utilities:vswitchd:ovsdb:vtep:tests::; \
"$@" -j2 2104-2105 || (test X'' = Xyes && "$@" --recheck)
## --- ##
## openvswitch 2.12.90 test suite. ##
## --- ##

2105: Check Python IDL reconnects to leader - Python3 (leader only)
FAILED (ovsdb-idl.at:1816)

## - ##
## Test results. ##
## - ##

ERROR: All 1 test was run,
1 failed unexpectedly.
## -- ##
## testsuite.log was created. ##
## -- ##

Please send `tests/testsuite.log' and all information you think might 
help:


   To: 
   Subject: [openvswitch 2.12.90] testsuite: 2105 failed

You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point.  Its output may
be found below `tests/testsuite.dir'.

## --- ##
2105: Check Python IDL reconnects to leader - Python3 (leader only)
FAILED (ovsdb-idl.at:1816)

## - ##
## Test results. ##
## - ##

ERROR: 1 test was run,
1 failed unexpectedly.
## -- ##
## testsuite.log was created. ##
## -- ##

Please send `tests/testsuite.log' and all information you think might 
help:


   To: 
   Subject: [openvswitch 2.12.90] testsuite: 2105 failed

You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point.  Its output may
be found below `tests/testsuite.dir'.

Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds

2019-11-18 Thread dwilder

On 2019-11-12 11:30, Ilya Maximets wrote:

On 12.11.2019 18:57, dwilder wrote:

On 2019-11-08 14:52, Ilya Maximets wrote:

On 06.11.2019 20:20, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include an arch: ppc64le build.
- Move package install needed for 32bit builds to 
.travis/linux-prepare.sh.


To keep the total build time at an acceptable level only a single 
build

job is included in the matrix for ppc64le.

A build report example can be found here [1]
[0] 
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= 
[1] 
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= 
Signed-off-by: David Wilder 

---
Addressed review comments:
- Cleaned up linux-prepare.sh (v2)
- Switch from os: linux-ppc64le to arch: ppc64le (v3)


What a wonderful world of undocumented features. :)

Anyway, I just tried this patch and it fails for me because of 
missing pip:


https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60=

pip install --disable-pip-version-check --user six flake8 hacking
./.travis/linux-prepare.sh: line 15: pip: command not found

Restarting the job doesn't help.

I'm wondering what is the base image and who controls preinstalled 
software?
Maybe it makes sense to hold on until travis will start supporting 
ppc64le

officially?

Best regards, Ilya Maximets.


Unfortunately it not just ppc the arm64 image has the same issue :)  
I added a arm64 build on this attempt.


https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_610517731=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=sCvTr8MwXrqa7AEOs60tuqnquBqbRKlp_7-WacGzJWc=

I will attempt to adjust the package list.


I think, you could just report this to TravisCI support and see what 
they
will answer.  It'll be much better if they will just update their 
images.


And the good news that ppc64le is officially supported now:
https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.travis-2Dci.com_2019-2D11-2D12-2Dmulti-2Dcpu-2Darchitecture-2Dibm-2Dpower-2Dibm-2Dz=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=CRYw9o6At3rFT_gd_5r1Uw07mv_SEPvQ6LgBLfMyqgg=

Best regards, Ilya Maximets.


Travis-ci.org has resolved the issue with pip not installed in the 
ppc64le and arm64 images (1)
I re-tested my v3 patch against the head of master (2).  It is working 
well.


(1) 
https://travis-ci.community/t/pip-is-not-installed-in-ppc64le-and-arm64-images/5902

(2) https://travis-ci.org/djlwilder/ovs/builds/613638217

Regards, David Wilder



___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds

2019-11-13 Thread dwilder

On 2019-11-12 17:24, Lance Yang (Arm Technology China) wrote:

Hi,

For pip missing issue, we have a workaround.  In
.travis/linux-prepare.sh. You can install pip or something else with
package management commands.

For arm64 on travis, we check the environment variables in the
container and found a variable called "TRAVIS_ARCH". Thus we can use
this variable to install specific software for a specific CPU
architecture.

You can find a successful build here:
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_yzyuestc_ovs_jobs_610716477=DwIGaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=WN9SDoyPaU_O5oa3DAKsM2wYQpKnc2bhF_O-3r50JVs=p5lQOFy_H4apDm3OJqyJFVo04orvtxDBtLgMzLs0cZ4=



Thank you for your workaround Lance.  It would be best if the multi-arch 
images were congruent. I fear this may be an ongoing issue as distro's 
content can very between architectures. I am waiting for travis's 
response on the issue. I will submit an update to my ppc64le commit in a 
few days if travis cant resolve it.



-Original Message-
From: ovs-dev-boun...@openvswitch.org
 On Behalf Of dwilder
Sent: Wednesday, November 13, 2019 8:29 AM
To: Ilya Maximets 
Cc: ovs-dev@openvswitch.org; wil...@us.ibm.com
Subject: Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds

On 2019-11-12 11:30, Ilya Maximets wrote:

On 12.11.2019 18:57, dwilder wrote:

On 2019-11-08 14:52, Ilya Maximets wrote:

On 06.11.2019 20:20, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include an arch: ppc64le build.
- Move package install needed for 32bit builds to
.travis/linux-prepare.sh.

To keep the total build time at an acceptable level only a single
build job is included in the matrix for ppc64le.

A build report example can be found here [1] [0]
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org
_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQ
beAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fB
Os-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54=
[1]
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.or
g_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg&
r=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfg
EiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRb
F74=
Signed-off-by: David Wilder 
---
Addressed review comments:
- Cleaned up linux-prepare.sh (v2)
- Switch from os: linux-ppc64le to arch: ppc64le (v3)


What a wonderful world of undocumented features. :)

Anyway, I just tried this patch and it fails for me because of
missing pip:

https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org
_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndx
yKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT
3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60=

pip install --disable-pip-version-check --user six flake8 hacking
./.travis/linux-prepare.sh: line 15: pip: command not found

Restarting the job doesn't help.

I'm wondering what is the base image and who controls preinstalled
software?
Maybe it makes sense to hold on until travis will start supporting
ppc64le officially?

Best regards, Ilya Maximets.


Unfortunately it not just ppc the arm64 image has the same issue :) I
added a arm64 build on this attempt.

https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_
djlwilder_ovs_builds_610517731=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7n
dxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZ
kWmbO2g7TjgtUe6jws=sCvTr8MwXrqa7AEOs60tuqnquBqbRKlp_7-WacGzJWc=

I will attempt to adjust the package list.


I think, you could just report this to TravisCI support and see what
they will answer.  It'll be much better if they will just update their
images.

And the good news that ppc64le is officially supported now:
https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.travis-2Dci.
com_2019-2D11-2D12-2Dmulti-2Dcpu-2Darchitecture-2Dibm-2Dpower-2Dibm-2D
z=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeA
yz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=CRYw9o6At3
rFT_gd_5r1Uw07mv_SEPvQ6LgBLfMyqgg=


That is great news!
I reported the issue to travis:
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.community_t_pip-2Dis-2Dnot-2Dinstalled-2Din-2Dppc64le-2Dand-2Darm64-2Dimages_5902-3Fu-3Ddjlwilder=DwIGaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=WN9SDoyPaU_O5oa3DAKsM2wYQpKnc2bhF_O-3r50JVs=dIOPvVHVZcpNxq8BgX026yL8uhzxz19lOzjBJhB15xg=

I added a workaround if we need it. This is my latest travis run.
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.travis-2Dci.org_djlwilder_ovs_builds_611123734=DwIGaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=WN9SDoyPaU_O5oa3DAKsM2wYQpKnc2bhF_O-3r50JVs=QcFJcytLX5PkWH1FK5SZDaFwSijTPi01rCNT02pBsms=
___
dev mailing list
d...@openvsw

Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds

2019-11-12 Thread dwilder

On 2019-11-12 11:30, Ilya Maximets wrote:

On 12.11.2019 18:57, dwilder wrote:

On 2019-11-08 14:52, Ilya Maximets wrote:

On 06.11.2019 20:20, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include an arch: ppc64le build.
- Move package install needed for 32bit builds to 
.travis/linux-prepare.sh.


To keep the total build time at an acceptable level only a single 
build

job is included in the matrix for ppc64le.

A build report example can be found here [1]
[0] 
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= 
[1] 
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= 
Signed-off-by: David Wilder 

---
Addressed review comments:
- Cleaned up linux-prepare.sh (v2)
- Switch from os: linux-ppc64le to arch: ppc64le (v3)


What a wonderful world of undocumented features. :)

Anyway, I just tried this patch and it fails for me because of 
missing pip:


https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60=

pip install --disable-pip-version-check --user six flake8 hacking
./.travis/linux-prepare.sh: line 15: pip: command not found

Restarting the job doesn't help.

I'm wondering what is the base image and who controls preinstalled 
software?
Maybe it makes sense to hold on until travis will start supporting 
ppc64le

officially?

Best regards, Ilya Maximets.


Unfortunately it not just ppc the arm64 image has the same issue :)  
I added a arm64 build on this attempt.


https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_610517731=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=sCvTr8MwXrqa7AEOs60tuqnquBqbRKlp_7-WacGzJWc=

I will attempt to adjust the package list.


I think, you could just report this to TravisCI support and see what 
they
will answer.  It'll be much better if they will just update their 
images.


And the good news that ppc64le is officially supported now:
https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.travis-2Dci.com_2019-2D11-2D12-2Dmulti-2Dcpu-2Darchitecture-2Dibm-2Dpower-2Dibm-2Dz=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=CRYw9o6At3rFT_gd_5r1Uw07mv_SEPvQ6LgBLfMyqgg=


That is great news!
I reported the issue to travis:
https://travis-ci.community/t/pip-is-not-installed-in-ppc64le-and-arm64-images/5902?u=djlwilder

I added a workaround if we need it. This is my latest travis run.
https://www.travis-ci.org/djlwilder/ovs/builds/611123734
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds

2019-11-12 Thread dwilder

On 2019-11-08 14:52, Ilya Maximets wrote:

On 06.11.2019 20:20, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include an arch: ppc64le build.
- Move package install needed for 32bit builds to 
.travis/linux-prepare.sh.


To keep the total build time at an acceptable level only a single 
build

job is included in the matrix for ppc64le.

A build report example can be found here [1]
[0] 
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= 
[1] 
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= 
Signed-off-by: David Wilder 

---
Addressed review comments:
- Cleaned up linux-prepare.sh (v2)
- Switch from os: linux-ppc64le to arch: ppc64le (v3)


What a wonderful world of undocumented features. :)

Anyway, I just tried this patch and it fails for me because of missing 
pip:


https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60=

pip install --disable-pip-version-check --user six flake8 hacking
./.travis/linux-prepare.sh: line 15: pip: command not found

Restarting the job doesn't help.

I'm wondering what is the base image and who controls preinstalled 
software?
Maybe it makes sense to hold on until travis will start supporting 
ppc64le

officially?

Best regards, Ilya Maximets.


Unfortunately it not just ppc the arm64 image has the same issue :)  I 
added a arm64 build on this attempt.


https://travis-ci.org/djlwilder/ovs/builds/610517731

I will attempt to adjust the package list.



___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds

2019-11-08 Thread dwilder

On 2019-11-08 14:52, Ilya Maximets wrote:

On 06.11.2019 20:20, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include an arch: ppc64le build.
- Move package install needed for 32bit builds to 
.travis/linux-prepare.sh.


To keep the total build time at an acceptable level only a single 
build

job is included in the matrix for ppc64le.

A build report example can be found here [1]
[0] 
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= 
[1] 
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= 
Signed-off-by: David Wilder 

---
Addressed review comments:
- Cleaned up linux-prepare.sh (v2)
- Switch from os: linux-ppc64le to arch: ppc64le (v3)


What a wonderful world of undocumented features. :)

Anyway, I just tried this patch and it fails for me because of missing 
pip:


https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60=

pip install --disable-pip-version-check --user six flake8 hacking
./.travis/linux-prepare.sh: line 15: pip: command not found

Restarting the job doesn't help.

I'm wondering what is the base image and who controls preinstalled 
software?
Maybe it makes sense to hold on until travis will start supporting 
ppc64le

officially?



That is a bummer, I am seeing that error now as well, it worked 
yesterday :(

I agree we should hold off.  I will let you know if I figure it out.



Best regards, Ilya Maximets.

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds

2019-11-08 Thread dwilder

Hi Wei

On 2019-11-08 02:02, Yanqin Wei (Arm Technology China) wrote:

Hi David


-Original Message-
From: David Wilder 
Sent: Thursday, November 7, 2019 3:21 AM
To: ovs-dev@openvswitch.org
Cc: i.maxim...@ovn.org; b...@ovn.org; Yanqin Wei (Arm Technology China)
; wil...@us.ibm.com
Subject: [PATCH v3] travis: support ppc64le builds

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include an arch: ppc64le build.
- Move package install needed for 32bit builds to 
.travis/linux-prepare.sh.


To keep the total build time at an acceptable level only a single 
build job is

included in the matrix for ppc64le.

A build report example can be found here [1] [0] 
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6QTaKFSaP0A5SgshVJPuewRjtEH32pQD2AUjoEnZyTo=IILKkh0Orqnp1nKjHWWCkXSOMpBYjG9WKs8l34TyPts= 
 [1]

https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6QTaKFSaP0A5SgshVJPuewRjtEH32pQD2AUjoEnZyTo=mVCcGr-NWlZzQn2xSnackkm2Aawg7iyvYEyh4lMpjFw=

Signed-off-by: David Wilder 
---
Addressed review comments:
- Cleaned up linux-prepare.sh (v2)
- Switch from os: linux-ppc64le to arch: ppc64le (v3)

 .travis.yml  | 5 +++--
 .travis/linux-prepare.sh | 5 -
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 482efd2d1..308c09635 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,7 +14,6 @@ addons:
   apt:
 packages:
   - bc
-  - gcc-multilib
   - libssl-dev
   - llvm-dev
   - libjemalloc1
@@ -26,7 +25,6 @@ addons:
   - libelf-dev
   - selinux-policy-dev
   - libunbound-dev
-  - libunbound-dev:i386
   - libunwind-dev

 before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh
@@ -52,6 +50,9 @@ matrix:
 - os: osx
   compiler: clang
   env: OPTS="--disable-ssl"
+- arch: ppc64le
+  compiler: gcc
+  env: OPTS="--disable-ssl"

 script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS

diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh index
9e3ac0df7..d66f480c6 100755
--- a/.travis/linux-prepare.sh
+++ b/.travis/linux-prepare.sh
@@ -18,7 +18,10 @@ pip install --user --upgrade docutils  if [ "$M32" 
]; then
 # 32-bit and 64-bit libunwind can not be installed at the same 
time.
 # This will remove the 64-bit libunwind and install 32-bit 
version.

-sudo apt-get install -y libunwind-dev:i386
+sudo apt-get install -y \
+ gcc-multilib \
+ libunwind-dev:i386 \
+ libunbound-dev:i386

[Yanqin] They are x86 specific dependency. It is better to use
"$TRAVIS_ARCH" == "amd64" condition.


[ wilder ] In this case it is not needed as ppc64le is not supporting 
32bit builds (not in the matrix).
If arm64 will support a 32bit build, then you will need to modify this 
section anyway,  to install arm packages.



[Yanqin]  Is gcc-multilib only required for 32bits build?


[ wilder ] Yes.


 fi

 # IPv6 is supported by kernel but disabled in TravisCI images:
--
2.23.0.162.gf1d4a28


IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose
the contents to any other person, use it for any purpose, or store or
copy the information in any medium. Thank you.

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ] travis: support ppc64le builds

2019-11-05 Thread dwilder

Hi Wei

If I change my matrix:include to use "arch: ppc64le" rather than "os: 
linux-ppc64le", will it eliminate your concern?


matrix:
  include:
-   - os: linux-ppc64le
+   - arch: ppc64le
  compiler: gcc
  env: OPTS="--disable-ssl"


Later when we want to enable the full matrix on all arch we would add:

1) arch:
  - amd64
  - ppc64le
  - arm64

2) eliminate the include: -arch: ppc64le

3) Add any exclude: - arch:XXX sections for any tests that dont apply.

For example I would add:

 exclude:
   - arch: ppc64le
 env: M32=1 OPTS="--disable-ssl"

Regards,
  David

On 2019-11-02 02:09, Yanqin Wei (Arm Technology China) wrote:

Hi David,

Thanks for your reply.  Yes, my concern is how to define arch and os
in .travis.yml after we cover all builds and cases for arm and ppc.
This pattern can enable all builds and testsuits for x86 and arm
arch:
  - amd64
  - arm64
os:
  - linux

This can enable all jobs for x86 and ppc.
arch:
  - amd64 //default
os:
  - linux
  - linux-ppc64le

But it does not work to combine them.  This means four kinds of
arch+os combinations in all.   Arm64+linux-ppc64le is invalid.
arch:
  - amd64
  - arm64
os:
  - linux
  - linux-ppc64le

So if we finally cover all the builds and cases for arm/ppc,  we have
to duplicate all jobs for different cpu arch in the matrix include.
matrix:
  include:
- os: linux-ppc64le
  env: job1
- os: linux-ppc64le
  env: job2
...
- arch: arm64
  env: job1
- arch: arm64
  env: job2
...

But currently either arm or ppc has not cover all the cases, so they
can coexist in build-matrix.  And there is no conflict in
build/prepare scripts, because both of them use TRAVIS_ARCH variable
to indicate cpu arch.
The patch series to enable arm CI is under internal review. It will be
submitted when ready.

Best Regards,
Wei Yanqin


-Original Message-
From: dwilder 
Sent: Saturday, November 2, 2019 1:09 AM
To: Yanqin Wei (Arm Technology China) 
Cc: Ilya Maximets ; ovs-dev@openvswitch.org;
wil...@us.ibm.com; nd 
Subject: Re: RE: [ovs-dev] [PATCH ] travis: support ppc64le builds

On 2019-10-30 19:04, Yanqin Wei (Arm Technology China) wrote:

Hi,

We are working to support arm64 build for ovs travis CI. It is indeed
to use arch: arm64 to choose cpu architecture, because travis has
provided native arm64 option now.
But in this patch it seems ppc64 builds run on the ppc-VM + x86 native
machine.
Currently arm only select a part of jobs to run, which is defined in
matrix:include. But the final object is to run all jobs. It means that
 arch: arm64 will be moved out of marix. If ppc plans to do the same
in the future, it will conflict with arm jobs.

Best Regards,
Wei Yanqin


Hi,
I have added a build only test for ppc64le following the model used
for osx. I think this is a good start for getting multi-arch support
into Ci.

I agree that running all jobs on the matrix on every arch is good goal.
I dont completely understand your issue, is your concern the use of os:
vs arch: ?

I am glad to work with you to find a solution. Can you share your
arm64 changes?  We can discuss off-list if you prefer.




-Original Message-
From: ovs-dev-boun...@openvswitch.org
 On Behalf Of dwilder
Sent: Wednesday, October 30, 2019 1:55 AM
To: Ilya Maximets 
Cc: ovs-dev@openvswitch.org; wil...@us.ibm.com
Subject: Re: [ovs-dev] [PATCH ] travis: support ppc64le builds

On 2019-10-29 09:52, Ilya Maximets wrote:

On 28.10.2019 22:22, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include a ppc64le build.
- Added support to install packages needed by specific 
architectures.


To keep the total build time at an acceptable level only a single
build job is included in the matrix for ppc64le.

A build report example can be found here [1] [0]
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_;
d=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAy
z8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=UMYL8rzJNp
h87seC0oJLBiWoe-sUSL80AJy0RMTgBzQ=
[1]
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_
djlwilder_ovs_builds_604098141=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7n
dxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UP
eby0Y8ovgzRDIyJZFo=pyd2yQpQ0snpwGE5El4RYZsatwl74sthM1KLqtIKCnY=
Signed-off-by: David Wilder 


Hi David,
Thanks for working on this. I have a couple of question regarding
ppc64le support by TravisCI.  It seems that they are not supporting
this architecture officially and refusing[1] to solve any issues that
appears while using it. There also no official documentation.
It's kind of a hidden feature that some projects are using for their
own risk [2]. Do you know why this happens or maybe you have some
insights about what is going on/how it works?


Work is going on to increase ppc64le support on Travis by the end of
the year.  I dont have any details yet. My plan is to keep this to
build

Re: [ovs-dev] [PATCH ] travis: support ppc64le builds

2019-11-01 Thread dwilder

On 2019-10-30 19:04, Yanqin Wei (Arm Technology China) wrote:

Hi,

We are working to support arm64 build for ovs travis CI. It is indeed
to use arch: arm64 to choose cpu architecture, because travis has
provided native arm64 option now.
But in this patch it seems ppc64 builds run on the ppc-VM + x86 native
machine.
Currently arm only select a part of jobs to run, which is defined in
matrix:include. But the final object is to run all jobs. It means that
 arch: arm64 will be moved out of marix. If ppc plans to do the same
in the future, it will conflict with arm jobs.

Best Regards,
Wei Yanqin


Hi,
I have added a build only test for ppc64le following the model used for 
osx. I think this is a good start for getting multi-arch support into 
Ci.


I agree that running all jobs on the matrix on every arch is good goal.  
I dont completely understand your issue, is your concern the use of os: 
vs arch: ?


I am glad to work with you to find a solution. Can you share your arm64 
changes?  We can discuss off-list if you prefer.





-Original Message-
From: ovs-dev-boun...@openvswitch.org
 On Behalf Of dwilder
Sent: Wednesday, October 30, 2019 1:55 AM
To: Ilya Maximets 
Cc: ovs-dev@openvswitch.org; wil...@us.ibm.com
Subject: Re: [ovs-dev] [PATCH ] travis: support ppc64le builds

On 2019-10-29 09:52, Ilya Maximets wrote:

On 28.10.2019 22:22, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include a ppc64le build.
- Added support to install packages needed by specific architectures.

To keep the total build time at an acceptable level only a single
build job is included in the matrix for ppc64le.

A build report example can be found here [1] [0]
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_;
d=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAy
z8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=UMYL8rzJNp
h87seC0oJLBiWoe-sUSL80AJy0RMTgBzQ=
[1]
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_
djlwilder_ovs_builds_604098141=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7n
dxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UP
eby0Y8ovgzRDIyJZFo=pyd2yQpQ0snpwGE5El4RYZsatwl74sthM1KLqtIKCnY=
Signed-off-by: David Wilder 


Hi David,
Thanks for working on this. I have a couple of question regarding
ppc64le support by TravisCI.  It seems that they are not supporting
this architecture officially and refusing[1] to solve any issues that
appears while using it. There also no official documentation.
It's kind of a hidden feature that some projects are using for their
own risk [2]. Do you know why this happens or maybe you have some
insights about what is going on/how it works?


Work is going on to increase ppc64le support on Travis by the end of
the year.  I dont have any details yet. My plan is to keep this to
build-only ci until then.  Important, ppc64le VM are only available on
travis-ci.org, they are not available on travis-ci.com.


The API is also a bit strange because Travis started to officially
support arm builds, but this is done via 'arch' knob, not the 'os'.
Will it be changed over time for ppc64le?



Sorry, I dont know.


[1]
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.commu
nity_t_ppc64le-2Darch-2Dsupport-2Don-2Dtravis-2Dci-2Dcom-2Dvs-2Dtravis
-2Dci-2Dorg_2898_2=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68
Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIy
JZFo=TrXdSxjvnbbVQz7EzR5r0aE93lZMSdCiIUQT2wt8E3I=
[2]
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openss
l_openssl_commit_13da3ad00c80e1da816ca27f6c15b0ecee1bb0b8=DwICaQ=j
f_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=
6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=RWVuli-BT8E2IsW3rAA9MtqC
VPZahNk8k7yqxEbgTT4=

Few code comments inline.


---
  .travis.yml  |  5 +++--
  .travis/linux-prepare.sh | 18 ++
  2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/.travis.yml b/.travis.yml index 5676d9748..c99f26815
100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,7 +14,6 @@ addons:
apt:
  packages:
- bc
-  - gcc-multilib
- libssl-dev
- llvm-dev
- libjemalloc1
@@ -24,7 +23,6 @@ addons:
- libelf-dev
- selinux-policy-dev
- libunbound-dev
-  - libunbound-dev:i386
- libunwind-dev
before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh
@@ -50,6 +48,9 @@ matrix:
  - os: osx
compiler: clang
env: OPTS="--disable-ssl"
+- os: linux-ppc64le
+  compiler: gcc
+  env: OPTS="--disable-ssl"
script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS
  diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh
index e546d32cb..f3a9a6d44 100755
--- a/.travis/linux-prepare.sh
+++ b/.travis/linux-prepare.sh
@@ -15,8 +15,18 @@ cd ..
  pip install --disable-pip-version-check --user six flake8 hacking
  pip install --use

Re: [ovs-dev] [PATCH ] travis: support ppc64le builds

2019-10-29 Thread dwilder

On 2019-10-29 09:52, Ilya Maximets wrote:

On 28.10.2019 22:22, David Wilder wrote:

Add support for travis-ci ppc64le builds.

- Updated matrix in .travis.yml to include a ppc64le build.
- Added support to install packages needed by specific architectures.

To keep the total build time at an acceptable level only a single 
build

job is included in the matrix for ppc64le.

A build report example can be found here [1]
[0] 
https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=UMYL8rzJNph87seC0oJLBiWoe-sUSL80AJy0RMTgBzQ= 
[1] 
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_604098141=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=pyd2yQpQ0snpwGE5El4RYZsatwl74sthM1KLqtIKCnY= 
Signed-off-by: David Wilder 


Hi David,
Thanks for working on this. I have a couple of question regarding
ppc64le support by TravisCI.  It seems that they are not supporting
this architecture officially and refusing[1] to solve any issues that
appears while using it. There also no official documentation.
It's kind of a hidden feature that some projects are using for their
own risk [2]. Do you know why this happens or maybe you have some
insights about what is going on/how it works?


Work is going on to increase ppc64le support on Travis by the end of the 
year.  I dont have any details yet. My plan is to keep this to 
build-only ci until then.  Important, ppc64le VM are only available on 
travis-ci.org, they are not available on travis-ci.com.



The API is also a bit strange because Travis started to officially
support arm builds, but this is done via 'arch' knob, not the 'os'.
Will it be changed over time for ppc64le?



Sorry, I dont know.


[1]
https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.community_t_ppc64le-2Darch-2Dsupport-2Don-2Dtravis-2Dci-2Dcom-2Dvs-2Dtravis-2Dci-2Dorg_2898_2=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=TrXdSxjvnbbVQz7EzR5r0aE93lZMSdCiIUQT2wt8E3I=
[2]
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openssl_openssl_commit_13da3ad00c80e1da816ca27f6c15b0ecee1bb0b8=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=RWVuli-BT8E2IsW3rAA9MtqCVPZahNk8k7yqxEbgTT4=

Few code comments inline.


---
  .travis.yml  |  5 +++--
  .travis/linux-prepare.sh | 18 ++
  2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5676d9748..c99f26815 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,7 +14,6 @@ addons:
apt:
  packages:
- bc
-  - gcc-multilib
- libssl-dev
- llvm-dev
- libjemalloc1
@@ -24,7 +23,6 @@ addons:
- libelf-dev
- selinux-policy-dev
- libunbound-dev
-  - libunbound-dev:i386
- libunwind-dev
before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh
@@ -50,6 +48,9 @@ matrix:
  - os: osx
compiler: clang
env: OPTS="--disable-ssl"
+- os: linux-ppc64le
+  compiler: gcc
+  env: OPTS="--disable-ssl"
script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS
  diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh
index e546d32cb..f3a9a6d44 100755
--- a/.travis/linux-prepare.sh
+++ b/.travis/linux-prepare.sh
@@ -15,8 +15,18 @@ cd ..
  pip install --disable-pip-version-check --user six flake8 hacking
  pip install --user --upgrade docutils
  -if [ "$M32" ]; then
-# 32-bit and 64-bit libunwind can not be installed at the same 
time.
-# This will remove the 64-bit libunwind and install 32-bit 
version.

-sudo apt-get install -y libunwind-dev:i386
+# Include packages needed by specific architectures.
+if [ $TRAVIS_ARCH == amd64 ]; then
+   sudo apt-get install -y \
+libunbound-dev:i386 \
+gcc-multilib


These packages are only needed for 32bit build, so you may just move 
them

to the command that installs 32bit version of libunwind.
And since you're not building 32bit with ppc64le, the code could look 
like:


if [ "$M32" ]; then
   # install 32 bit libs
fi

if [ $TRAVIS_ARCH == ppc64le ]; then
   # install ppc64le specific things.
fi


Agreed.




+
+if [ "$M32" ]; then
+   # 32-bit and 64-bit libunwind can not be installed at the same 
time.
+   # This will remove the 64-bit libunwind and install 32-bit 
version.

+   sudo apt-get install -y libunwind-dev:i386
+fi
+
+elif [ $TRAVIS_ARCH == ppc64le ]; then
+   sudo apt-get install -y flex


Why 'flex' is needed?


I found that Flex was needed for kernel builds, but since I am not doing 
that yet I can remove it.


Thanks for the review,  I will post a V2 patch shortly.



Best regards, Ilya Maximets.


Re: [ovs-dev] [PATCH lib:] Avoid clobbered variable warning on ppc64le.

2019-10-08 Thread dwilder

On 2019-10-08 12:44, William Tu wrote:

On Tue, Oct 08, 2019 at 10:04:17AM -0700, David Wilder wrote:

Since commit e2ed6fbeb1, Ci on ppc64le with Ubuntu 16.04.6 LTS throws
this error:

lib/fatal-signal.c: In function 'send_backtrace_to_monitor':
lib/fatal-signal.c:168:9: error: variable 'dep' might be clobbered by
'longjmp' or 'vfork' [-Werror=clobbered]
 int dep;

Declaring dep as a volatile int.

Signed-off-by: David Wilder 
---
 lib/fatal-signal.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c
index 7733850d5..09f7c6ecf 100644
--- a/lib/fatal-signal.c
+++ b/lib/fatal-signal.c
@@ -165,7 +165,8 @@ fatal_signal_add_hook(void (*hook_cb)(void *aux), 
void (*cancel_cb)(void *aux),

  */
 static inline void
 send_backtrace_to_monitor(void) {
-int dep;
+/* volatile added to prevent a "clobbered" error on ppc64le with 
gcc */

+volatile int dep;
 struct unw_backtrace unw_bt[UNW_MAX_DEPTH];
 unw_cursor_t cursor;
 unw_context_t uc;
--
2.23.0.162.gf1d4a28


Thank you for testing it on ppc64!
I'm not able to reproduce the issue on x86_64.

And I don't understand where do we call setjmp and longjmp?
Is it the case that:
unw_getcontext/unw_init_local is calling setjmp
and
unw_get_reg/unw_get_proc_name is calling longjmp while it's
scanning back the stack?

Looking at the source code of libunwind, I couldn't quite
understand how setjmp/longjmp is used here.

Regards,
William


Hi William
This is an issue with gcc incorrectly generating the warning. I found 
reports against gcc for this issue. I tried but was unable to isolate 
the problem to a gcc version.  Gcc v8.2.1 in rhel8 did not have the 
problem, however v8 in ubuntu 16.04 still had the issue.  As I was 
unable to flag the version gcc I chose this solution over a #pragma.


PS: I recently starting running Ci against ppc64le, travis_ci.org is now 
supporting (in beta) ppc64le.  I hope to soon push changes to enable a 
ppc64le Ci for ovs.


Regards
David
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev