Re: Who has the experiences to assemble NOTICE file?

2018-03-30 Thread Justin Mclean
Hi,

(sorry forgot to copy the dev list - so resending)

I guess you have read [1]? But basically you should do this:

- Take the boilerplate NOTICE [2]
- Update the year to the current year
- Did your code come in via a software grant, then add that (relocated 
copyrights).[3]
- Is there any 3rd party code contained / bundleded inside the release? If so:
- Is any of the code Apache licensed and do they have a  NOTICE files?  
If so:
- Pplace relevant parts of those NOTICE to your NOTICE file. [4]

(There's also required notices but they are very rare [5] and you probably 
don’t need to worry about them).

Things to watch out for:
- License information should not be mentioned in NOTICE (that information goes 
in license)
- Software dependencies should not be mentioned in NOTICE
- Copyrights from licenses generally do not go in NOTICE.

Take care if you copy one of the more “popular" TLP projects and use that, as 
some are poor examples or are confusing as they have had issues with upstream 
project NOTICE files.

This worked  example may also help [6][7] as may this talk [8] I gave the last 
ApacheCon.

Thanks,
Justin

1. http://www.apache.org/dev/licensing-howto.html
2. https://www.apache.org/licenses/NOTICE-2.0.txt
3. http://www.apache.org/legal/src-headers.html#headers
4. http://www.apache.org/dev/licensing-howto.html#alv2-dep
5. https://www.apache.org/legal/resolved.html#required-third-party-notices
6. https://github.com/justinmclean/ApacheWombat
7. https://vimeo.com/171210141
8. https://www.youtube.com/watch?v=I0-lp1t9ee0


-
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org



Re: Invoker HA on Mesos

2018-03-30 Thread David P Grove

+1.  I like this design.

--dave

Tyson Norris  wrote on 03/30/2018 01:37:43 PM:

> From: Tyson Norris 
> To: "dev@openwhisk.apache.org" 
> Date: 03/30/2018 01:37 PM
> Subject: Re: Invoker HA on Mesos
>
> Hooking into pause/unpause/destroy of containers seems plausible,
> instead of hooking into the Maps in ContainerPool.
>
> So in the existing PR, the ContainerPool uses an alternate impl for
> Map to store freePool and prewarmPool, and that alternate impl
> initiates the attach to existing containers, when it becomes active.
>
> The ContainerPool could instead potentially delegate to the
> ContainerFactory, e.g. a
> ContainerFactory.reviveContainers(childFactory) => (freePool,
> prewarmPool) - we will still need a way to trigger this on demand
> (e.g. when the standby pool becomes active, in our case, but I think
> that is a minor detail).
>
> I can try it out; I will be out next week, but if you test any of
> this in the meantime, let me know.
>
> Thanks
> Tyson
>
>
> > On Mar 30, 2018, at 9:58 AM, David P Grove  wrote:
> >
> >
> > Tyson Norris  wrote on 03/27/2018 06:25:59
PM:
> >>
> >> Do you have an example of the labels working? I guess the labels are
> >> changed over time through the lifecycle of the container?
> >>
> >
> > Apologies for brutally chopping the email chain; my mail client made a
> > horrible hash of it.
> >
> > Right now, all we are doing with Kube labels is to label each action
> > container with its owning invoker on startup.  This lets us delete
orphaned
> > containers if the invoker crashes and needs to be restarted.  The
labeling
> > happens at [1] and the removal of orphans using the labels at [2].
> >
> > I think the Kube-native version of part of what you are doing with the
> > DistributedData for Mesos would be to add and remove additional labels
to
> > give us the option of attaching a new invoker instance to orphaned
> > containers instead of just destroying them.   Interacting with the
> > Kubernetes API server to do a labeling operation takes around 10ms, so
we
> > couldn't do this on a truly hot path.  But we could probably afford to
> > update container labels in parallel with pause/unpause operations,
which
> > could enable re-attachment to any paused containers.
> >
> > --dave
> >
> > [1]
> > https://urldefense.proofpoint.com/v2/url?
>
u=https-3A__na01.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Fgithub.com-252Fapache-252Fincubator-2Dopenwhisk-252Fblob-252F0b20df0f725a671f8e51c9e8793116476fd22f76-252Fcore-252Finvoker-252Fsrc-252Fmain-252Fscala-252Fwhisk-252Fcore-252Fcontainerpool-252Fkubernetes-252FKubernetesContainerFactory.scala-2523L81-26data-3D02-257C01-257Ctnorris-2540adobe.com-257C3ea96a8a416141db52b208d59660052f-257Cfa7b1b5a7b34438794aed2c178decee1-257C0-257C0-257C636580261502275400-26sdata-3D6XagwDT7CnCoj1nOIHK-252B02bincKYogLkKy0vUXh8jY8-253D-26reserved-3D0=DwIFAg=jf_iaSHvJObTbx-

> siA1ZOg=Fe4FicGBU_20P2yihxV-
>
apaNSFb6BSj6AlkptSF2gMk=4UxWSqFWfs8nhAEogipIZa9x4X7JbRZ5gLfuemvqWQI=AiIYyNqL1l96RBLRXVhvdAaIkrJjdZ-

> GRKClR0esbDc=
> > [2]
> > https://urldefense.proofpoint.com/v2/url?
>
u=https-3A__na01.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Fgithub.com-252Fapache-252Fincubator-2Dopenwhisk-252Fblob-252F0b20df0f725a671f8e51c9e8793116476fd22f76-252Fcore-252Finvoker-252Fsrc-252Fmain-252Fscala-252Fwhisk-252Fcore-252Fcontainerpool-252Fkubernetes-252FKubernetesContainerFactory.scala-2523L57-26data-3D02-257C01-257Ctnorris-2540adobe.com-257C3ea96a8a416141db52b208d59660052f-257Cfa7b1b5a7b34438794aed2c178decee1-257C0-257C0-257C636580261502275400-26sdata-3Df6VQl9UMW7gtoFheibT9opXz973hGUVmivlDJg-252FF5Co-253D-26reserved-3D0=DwIFAg=jf_iaSHvJObTbx-

> siA1ZOg=Fe4FicGBU_20P2yihxV-
>
apaNSFb6BSj6AlkptSF2gMk=4UxWSqFWfs8nhAEogipIZa9x4X7JbRZ5gLfuemvqWQI=ISliBvpYptlv9AhbicWZSFptIleHy1-

> XzCcKuqP7e-0=
>


Re: Invoker HA on Mesos

2018-03-30 Thread Dragos Dascalita Haut
"... Interacting with the Kubernetes API server to do a labeling operation 
takes around 10ms, so we
couldn't do this on a truly hot path"


I was gonna make a similar comment for this "data plane" part, imagining that a 
performance optimized LB would be interested to have this visibility in memory, 
w/o relying on other components for each single invocation.


From: David P Grove 
Sent: Friday, March 30, 2018 9:58:05 AM
To: dev@openwhisk.apache.org
Subject: Re: Invoker HA on Mesos


Tyson Norris  wrote on 03/27/2018 06:25:59 PM:
>
> Do you have an example of the labels working? I guess the labels are
> changed over time through the lifecycle of the container?
>

Apologies for brutally chopping the email chain; my mail client made a
horrible hash of it.

Right now, all we are doing with Kube labels is to label each action
container with its owning invoker on startup.  This lets us delete orphaned
containers if the invoker crashes and needs to be restarted.  The labeling
happens at [1] and the removal of orphans using the labels at [2].

I think the Kube-native version of part of what you are doing with the
DistributedData for Mesos would be to add and remove additional labels to
give us the option of attaching a new invoker instance to orphaned
containers instead of just destroying them.   Interacting with the
Kubernetes API server to do a labeling operation takes around 10ms, so we
couldn't do this on a truly hot path.  But we could probably afford to
update container labels in parallel with pause/unpause operations, which
could enable re-attachment to any paused containers.

--dave

[1]
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fincubator-openwhisk%2Fblob%2F0b20df0f725a671f8e51c9e8793116476fd22f76%2Fcore%2Finvoker%2Fsrc%2Fmain%2Fscala%2Fwhisk%2Fcore%2Fcontainerpool%2Fkubernetes%2FKubernetesContainerFactory.scala%23L81=02%7C01%7Cddascal%40adobe.com%7Cefb609bc3ac9496ddccf08d596600540%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636580261504215781=vhkEBD%2BjkTcUDm6csPB5gBg9RZuj%2FViAwGbynBKeE2k%3D=0
[2]
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fincubator-openwhisk%2Fblob%2F0b20df0f725a671f8e51c9e8793116476fd22f76%2Fcore%2Finvoker%2Fsrc%2Fmain%2Fscala%2Fwhisk%2Fcore%2Fcontainerpool%2Fkubernetes%2FKubernetesContainerFactory.scala%23L57=02%7C01%7Cddascal%40adobe.com%7Cefb609bc3ac9496ddccf08d596600540%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636580261504215781=njsaRY%2B1DoYpysh7tTMqTaL0lWyPrL8vdnuo%2Bf0sXZY%3D=0


Re: Invoker HA on Mesos

2018-03-30 Thread David P Grove

Tyson Norris  wrote on 03/27/2018 06:25:59 PM:
>
> Do you have an example of the labels working? I guess the labels are
> changed over time through the lifecycle of the container?
>

Apologies for brutally chopping the email chain; my mail client made a
horrible hash of it.

Right now, all we are doing with Kube labels is to label each action
container with its owning invoker on startup.  This lets us delete orphaned
containers if the invoker crashes and needs to be restarted.  The labeling
happens at [1] and the removal of orphans using the labels at [2].

I think the Kube-native version of part of what you are doing with the
DistributedData for Mesos would be to add and remove additional labels to
give us the option of attaching a new invoker instance to orphaned
containers instead of just destroying them.   Interacting with the
Kubernetes API server to do a labeling operation takes around 10ms, so we
couldn't do this on a truly hot path.  But we could probably afford to
update container labels in parallel with pause/unpause operations, which
could enable re-attachment to any paused containers.

--dave

[1]
https://github.com/apache/incubator-openwhisk/blob/0b20df0f725a671f8e51c9e8793116476fd22f76/core/invoker/src/main/scala/whisk/core/containerpool/kubernetes/KubernetesContainerFactory.scala#L81
[2]
https://github.com/apache/incubator-openwhisk/blob/0b20df0f725a671f8e51c9e8793116476fd22f76/core/invoker/src/main/scala/whisk/core/containerpool/kubernetes/KubernetesContainerFactory.scala#L57


Re: Who has the experiences to assemble NOTICE file?

2018-03-30 Thread Alex Harui
Writing code is error prone too.  Just like code, make a good effort, let
the code reviewers catch things, make more changes, review it again.

The key thing is to do the work and get the reviews in a timely fashion
instead of at release vote time.  No big deal if you miss something.
That's why there are reviewers and at least 2 other people have to ok it.

My 2 cents,
-Alex

On 3/30/18, 7:29 AM, "Ying Chun Guo"  wrote:

>Hi, friends
>
>I'd like to learn from people who has the experience to assemble the
>legal NOTICE file before. I need to do this for Apache OpenWhisk repos. I
>find manually assembling NOTICE is a complex and error-prone task
>especially for a non-legal person like me. Is there a tool to help on
>that ? Does anyone share any experiences on that?
>
>Best regards
>Ying Chun Guo (Daisy)
>
>
>-
>To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
>For additional commands, e-mail: general-h...@incubator.apache.org
>



Who has the experiences to assemble NOTICE file?

2018-03-30 Thread Ying Chun Guo
Hi, friends

I'd like to learn from people who has the experience to assemble the legal 
NOTICE file before. I need to do this for Apache OpenWhisk repos. I find 
manually assembling NOTICE is a complex and error-prone task especially for a 
non-legal person like me. Is there a tool to help on that ? Does anyone share 
any experiences on that?

Best regards
Ying Chun Guo (Daisy)