Re: [vpp-dev] jvpp core future test failure (gerrit 8743)

2017-10-13 Thread Ole Troan (otroan)
Dear Dave,

I wonder if you forgot to hookup the messages in the CRC dictionary?

#define vl_msg_name_crc_list
#include 
#undef vl_msg_name_crc_list

static void
setup_message_id_table (api_main_t * am)
{
#define _(id,n,crc) vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id);
  foreach_vl_msg_name_crc_map;
#undef _
}

If my guess is correct, I’’ have a chat with the Java guys if we can come up 
with a slightly more user-friendly error message. ;-)

Best regards,
Ole


On 13 Oct 2017, at 19:31, Dave Barach (dbarach) 
mailto:dbar...@cisco.com>> wrote:

Dear Ole,

See https://gerrit.fd.io/r/#/c/8743. It turns out that the java core future 
“make test” test fails as shown below.

The patch adds three xxx_reply_t binary api messages. See 
.../src/vnet/dns/dns.api.

It sure looks like the Java code knows about them, but isn’t doing a very good 
job of registering them. Note that I had to modify the binary API client 
library to keep Java from ASSERTing due to the NULL msg id’s squawked below.

What’s going on here? These messages work like a champ in vpp_api_test...

INFO: Testing Java future API for core plugin
[New Thread 0x7fffd5f9c700 (LWP 4611)]
vl_msg_api_config:671: Trying to register dns_enable_disable_reply with a NULL 
msg id!
vl_msg_api_config:671: Trying to register dns_name_server_add_del_reply with a 
NULL msg id!
vl_msg_api_config:671: Trying to register dns_resolve_name_reply with a NULL 
msg id!
[Thread 0x7fffd5f9c700 (LWP 4611) exited]
Exception in thread "main" java.lang.IllegalStateException: API mismatch 
detected: dns_resolve_name_reply_451ab6c0 is missing
 at io.fd.vpp.jvpp.core.JVppCoreImpl.init0(Native Method)
 at io.fd.vpp.jvpp.core.JVppCoreImpl.init(JVppCoreImpl.java:75)
 at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:72)
 at 
io.fd.vpp.jvpp.core.future.FutureJVppCoreFacade.(FutureJVppCoreFacade.java:25)
 at 
io.fd.vpp.jvpp.core.test.FutureApiTest.testFutureApi(FutureApiTest.java:50)
 at io.fd.vpp.jvpp.core.test.FutureApiTest.main(FutureApiTest.java:44)
[New Thread 0x7fffd54af700 (LWP 4612)]

Thanks… Dave

___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] jvpp core future test failure (gerrit 8743)

2017-10-13 Thread Ole Troan (otroan)
s/map/dns

if you were to cut and paste.


#define vl_msg_name_crc_list
#include 
#undef vl_msg_name_crc_list

static void
setup_message_id_table (api_main_t * am)
{
#define _(id,n,crc) vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id);
  foreach_vl_msg_name_crc_dns;
#undef _
}

Ole

On 13 Oct 2017, at 19:46, Ole Troan mailto:otr...@cisco.com>> 
wrote:

Dear Dave,

I wonder if you forgot to hookup the messages in the CRC dictionary?

#define vl_msg_name_crc_list
#include 
#undef vl_msg_name_crc_list

static void
setup_message_id_table (api_main_t * am)
{
#define _(id,n,crc) vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id);
  foreach_vl_msg_name_crc_map;
#undef _
}

If my guess is correct, I’’ have a chat with the Java guys if we can come up 
with a slightly more user-friendly error message. ;-)

Best regards,
Ole


On 13 Oct 2017, at 19:31, Dave Barach (dbarach) 
mailto:dbar...@cisco.com>> wrote:

Dear Ole,

See https://gerrit.fd.io/r/#/c/8743. It turns out that the java core future 
“make test” test fails as shown below.

The patch adds three xxx_reply_t binary api messages. See 
.../src/vnet/dns/dns.api.

It sure looks like the Java code knows about them, but isn’t doing a very good 
job of registering them. Note that I had to modify the binary API client 
library to keep Java from ASSERTing due to the NULL msg id’s squawked below.

What’s going on here? These messages work like a champ in vpp_api_test...

INFO: Testing Java future API for core plugin
[New Thread 0x7fffd5f9c700 (LWP 4611)]
vl_msg_api_config:671: Trying to register dns_enable_disable_reply with a NULL 
msg id!
vl_msg_api_config:671: Trying to register dns_name_server_add_del_reply with a 
NULL msg id!
vl_msg_api_config:671: Trying to register dns_resolve_name_reply with a NULL 
msg id!
[Thread 0x7fffd5f9c700 (LWP 4611) exited]
Exception in thread "main" java.lang.IllegalStateException: API mismatch 
detected: dns_resolve_name_reply_451ab6c0 is missing
 at io.fd.vpp.jvpp.core.JVppCoreImpl.init0(Native Method)
 at io.fd.vpp.jvpp.core.JVppCoreImpl.init(JVppCoreImpl.java:75)
 at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:72)
 at 
io.fd.vpp.jvpp.core.future.FutureJVppCoreFacade.(FutureJVppCoreFacade.java:25)
 at 
io.fd.vpp.jvpp.core.test.FutureApiTest.testFutureApi(FutureApiTest.java:50)
 at io.fd.vpp.jvpp.core.test.FutureApiTest.main(FutureApiTest.java:44)
[New Thread 0x7fffd54af700 (LWP 4612)]

Thanks… Dave


___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Discussion Topic: creating demo branches in git.fd.io/vpp

2017-11-15 Thread Ole Troan (otroan)
> The concern would be that without CI you have very limited visibility into 
> the impact of the patches pre-merge.  The automation at fd.io does a *lot* 
> for you…

Absolutely. For the hackathons CI was an order or two of magnitude too slow. 
And we would be doing the testing there and then.
I don’t know how applicable that experience is for someone who’s buildiing a 
demo though.

Cheers,
Ole



> On Wed, Nov 15, 2017 at 3:50 PM Jon Loeliger  wrote:
> On Wed, Nov 15, 2017 at 4:17 PM, Dave Wallace  wrote:
> Folks,
> 
> Per the action item from this yesterday's VPP weekly meeting, I'm asking for 
> opinions from the VPP community on allowing the creation of demo branches in 
> the VPP git repo.
> 
> ...
> 
> 
> Pro: Will allow utilization of LF infra to utilize CI process
> Pro: Will allow publishing of demo artifacts for ease of reproduction of the 
> demo.
> Con: Will pollute repo with ephemeral code that will rapidly become out of 
> date / dead.
> Con: Sets precedent which may cause large numbers of non-production branches 
> over time.
> 
> Please feel add additional Pro/Con comments here.  Comments are welcome from 
> all members of the VPP community.
> 
> Dave,
> 
> In my opinion, creating a cloned fork and adding demo code there would be a
> better approach.  And that demo code will likely become obsolete and bit-rot 
> over time,
> but it will forever be part of the repo.  Over time it will just be dead 
> weight bloat.
> The core code base should remain as a library and not get tied to any 
> specific application.
> 
> HTH,
> jdl
> 

___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Committer / Maintainer model.

2016-12-21 Thread Ole Troan (otroan)
Ray,

> I suspect the Maintainers versus Committers description was included for my 
> benefit :-)

Most definitely not! :-)
Agreeing on the right words to use for something is half the battle. 

> My 2c is that my experience of this model is that maintainers typically get 
> frustrated and disillusioned over time and become inactive, as they feel they 
> are minions, doing the tough and often invisble review work but with no real 
> authority over a feature. You end up with maintainer churn etc.
> 
> That is why I push for a strong correlation between maintainers and 
> committers. Committers should be a maintainer of something and the number of 
> maintainers who are not committers should be small. A maintainer with no 
> commit rights, should be a committer in waiting with a clear path to 
> graduating to be a committer.

I see that. Interesting to see how it develops. Not suggesting we should cast 
this in stone. . 

I imagined the opposite. That a maintainer had super-powers for his feature, 
but perhaps wasn't so interested in the rest of the system. Then the role of 
the committer is more one of architectural oversight and someone who ensures 
that the right hoops were jumped. 

I kind of think of a maintainer as a committer for a particular 
feature/area/plugin.

Try and then adjust as we go along?

Cheers,
Ole



> 
> Ray K
> 
>> On 21/12/2016 12:18, Ole Troan wrote:
>> Guys,
>> 
>> The discussion we had on the Tuesday meeting about the maintainers file got 
>> me thinking.
>> 
>> I think there are two problems with the current model.
>> - It puts a high burden on the committers, since at least one among the 
>> committer set has to know every piece of the code.
>>  Aka. it doesn't scale very well.
>> - It doesn't allow the code authors aka maintainers of a given component any 
>> control of changes to 'their' component.
>> 
>> Proposal:
>> 1) Each component has a set of owners (or named list).
>> 2) When a change is submitted. A gerrit hook processes the list of changed 
>> files, and automatically adds the component owner lists or individuals to 
>> the reviews list.
>>(e.g. Ole Troan (vnet/map), Neale Ranns (vnet/ip))
>> 3) A committer will then see when maintainers have +1 for each affected 
>> component. And then either submit or chase component owners for review.
>> 
>> A maintainer can then raise a "discuss" by a -1.
>> 
>> If there is support for this we need to:
>> - create maintainer file (and keep this up to date)
>> - write gerrit hook
>> 
>> Btw, Damjan pointed me to the Xen project's definition of maintainers vs 
>> committers:
>> 
>> Maintainers
>> 
>> Maintainers own one or several components in the Xen tree. A maintainer 
>> reviews and approves changes that affect their components. It is a 
>> maintainer's prime responsibility to review, comment on, co-ordinate and 
>> accept patches from other community member's and to maintain the design 
>> cohesion of their components. Maintainers are listed in a MAINTAINERS file 
>> in the root of the source tree.
>> 
>> Committers
>> 
>> Committers are Maintainers that are allowed to commit changes into the 
>> source code repository. The committer acts on the wishes of the maintainers 
>> and applies changes that have been approved by the respective maintainer(s) 
>> to the source tree. Due to their status in the community, committers can 
>> also act as referees should disagreements amongst maintainers arise. 
>> Committers are listed on the sub-project's team portal (e.g. Hypervisor team 
>> portal).
>> 
>> 
>> Views?
>> 
>> Best regards,
>> Ole
>> ___
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vpp-dev
>> 
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev


Re: [vpp-dev] Committer / Maintainer model.

2016-12-21 Thread Ole Troan (otroan)
Ray,

> Well if they are a 'committer' then dispense with the extra bureaucracy and 
> give them commit rights?

It's a matter of granularity really. 
I could certainly imagine myself only having control of vnet/map and  not want 
to have responsibility or authority over anything else. 

When it comes down to it this is all merits based anyway. 

I hoped more less centralized bureaucracy and more distributed power, but I am 
sure that's what the great Russian leaders over the past centuries tried to 
achieve too. :-)

Best regards,
Ole
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev


Re: [vpp-dev] Fix for vpp-verify-master-ubuntu1604 build failures

2017-02-02 Thread Ole Troan (otroan)
Dave,


On a rebased build I just hot the following... related?


O.


08:08:01 + echo IS_CSIT_VPP_JOB=

08:08:01 IS_CSIT_VPP_JOB=

08:08:01 + git log --oneline

08:08:01 + grep 37682e1

08:08:01 + '[' x '!=' xTrue ']'

08:08:01 + echo 'Building using "make verify"'

08:08:01 Building using "make verify"

08:08:01 + '[' x == xTrue ']'

08:08:01 + make UNATTENDED=yes verify

08:08:01 Reading package lists...

08:08:01 Building dependency tree...

08:08:01 Reading state information...

08:08:01 Package pkg-config is not available, but is referred to by another 
package.

08:08:01 This may mean that the package is missing, has been obsoleted, or

08:08:01 is only available from another source

08:08:01

08:08:01 E: Package 'pkg-config' has no installation candidate

08:08:01 E: Unable to locate package chrpath

08:08:01 E: Unable to locate package default-jdk-headless

08:08:01 Makefile:166: recipe for target 'install-dep' failed

08:08:01 make: *** [install-dep] Error 100

08:08:01 Build step 'Execute shell' marked build as failure

08:08:01 [ssh-agent] Stopped.?



From: vpp-dev-boun...@lists.fd.io  on behalf of 
Dave Wallace 
Sent: Thursday, February 2, 2017 4:15 AM
To: vpp-dev
Subject: Re: [vpp-dev] Fix for vpp-verify-master-ubuntu1604 build failures

On 2/1/17 9:55 PM, Dave Wallace wrote:
Folks,

After today's ubuntu mirror issue was resolved, Ed, Vanessa, and I discovered 
another failure mode for the vpp-verify-master-ubuntu1604 verify job.  In the 
process of diagnosing the failure, Ed discovered and fixed a bug in "make 
verify" that was the root cause of this issue.

See https://gerrit.fd.io/r/#/c/4993/ for details.

I merged this patch and verified that it resolved the 
vpp-verify-master-ubuntu1604 failure for https://gerrit.fd.io/r/#/c/4897.  I 
have subsequently rebased all patches in the gerrit:vpp queue that were open 
and current.  Any patch that has merge conflicts will need to be rebased 
manually.

Thanks to Ed for his keen eyesight and Vanessa for cancelling her after hours 
plans to stay and help resolve the issue.

I have also cherry-picked 4993 to stable/1701, but that still requires merging.

Please disregard the following, it appears that the other jobs are waiting in 
the build queue and have not been posted to gerrit yet.
I also noticed that stable/1701 only has verify jobs for ubuntu1404 and 
centos7.  We should add a verify job for ubuntu1604 as well.
-daw-

Please help monitor the status of the verify jobs that are now in progress.

Thanks,
-daw-

___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Traceback Seen in invoke Python APIs with Parameters

2017-02-18 Thread Ole Troan (otroan)
Hi Hang,

You have to use named arguments. 
Change in 17.01. 

Best regards,
Ole

> On 18 Feb 2017, at 19:13, Hang Shi  wrote:
> 
> Hi, 
> 
> I am trying to use VPP python APIs and seeing the tracebacks (see below) for 
> Python APIs with parameters, while Python APIs without parameters are fine. 
> Will anyone help?  The APIs I tried is vpp.sw_interface_add_del_address.
> 
> below is the traceback and code snippets. Whole codes are attached as well. 
> 
> 
>  
> Traceback (most recent call last):
>   File "set_addr_test.py", line 53, in 
> main()
>   File "set_addr_test.py", line 45, in main
> loop = vpp.sw_interface_add_del_address(ifindex, 1, 1, 0, 16, addr)
> TypeError: () takes exactly 0 arguments (6 given)
> Cleaning up VPP on exit
>  
> 
> 
> 
>    
>   loop = vpp.create_loopback()
>   print(loop)
>   ifindex = loop.sw_if_index
>   print('{}'.format(ifindex))
> 
>   addr = str(IPv6Address(u'1::1').packed)
>   loop = vpp.sw_interface_add_del_address(ifindex, 1, 1, 0, 16, addr)
>   ...
>  
> 
> 
> The syntax from help  for this API: 
> 
> sw_interface_add_del_address(**kwargs)
> u16 _vl_msg_id, u32 client_index, u32 context, u32 sw_if_index, u8 
> is_add, u8 is_ipv6, u8 del_all, u8 address_length, u8 address
> 
> 
> 
> regards, 
> Hang
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev