[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-18 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325740561
 
 

 ##
 File path: docs/actions-update.md
 ##
 @@ -0,0 +1,75 @@
+
+## Updating Action Language Runtimes
+
+OpenWhisk supports [several languages and 
runtimes](actions.md#languages-and-runtimes) that can be made
+available for usage in an OpenWhisk deployment. This is done via the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+
+Over time, you may have the need for change:
+
+* Update runtimes to address security issues - for example, the latest code 
level of Node.js 10.
+* Remove runtime versions that are no more supported - for example, Node.js 6.
+* Add more languages due to user demand.
+* Remove languages that are no more needed.
+
+While adding and updating languages and runtimes is pretty straightforward, 
removing or renaming languages and runtimes
+requires some caution to prevent problems with existing actions.
+
+### Updating runtimes
+
+Follow these steps to update a particular runtime kind:
+
+1. Update the runtimes' container image.
+2. Update the corresponding `image` property in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest) to use the new container image.
+3. Restart / re-deploy controllers and invokers such that they pick up the 
changed runtimes manifest.
+
+Already existing actions of the changed runtime kind will immediately use the 
new container image when the invoker creates a new action container.
+
+Apparently, this approach should only be used if existing actions do not break 
with the new container image. If a new container image is supposed to break 
existing actions, introduce a new runtime kind.
+
+### Removing runtimes
+
+Follow these steps to remove a particular runtime kind under the assumption 
that actions with the runtime kind exist in the system. Apparently, it makes 
sense to wait some time between accomplishing these steps to give action owners 
time to react.
+
+1. Deprecate the runtime kind by setting `"deprecated": true` in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest). This setting prevents that new 
actions can be created with the deprecated action kind. In addition, existing 
actions cannot be changed to the deprecated action kind any more.
+2. Ask owners of existing actions with runtime kind to be removed to update 
their actions to a different action kind.
+3. Create an automated process that identifies all actions with the runtime 
kind to be removed in the system's action artifact store. Either automatically 
remove these actions or change to a different runtime kind.
+4. Once the system's action artifact store does no more contain actions with 
the runtime kind to be removed, remove the runtime kind from the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+5. TODO - is this correct?: Remove the runtime kind from the list of known 
kinds in the `ActionExec` object of the [controller API's Swagger 
definition](../core/controller/src/main/resources/apiv1swagger.json).
 
 Review comment:
   As discussed on tech exchange, updating the swagger and the implications of 
that is best done in a separate follow up PR.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-18 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325690887
 
 

 ##
 File path: docs/actions-update.md
 ##
 @@ -0,0 +1,75 @@
+
+## Updating Action Language Runtimes
+
+OpenWhisk supports [several languages and 
runtimes](actions.md#languages-and-runtimes) that can be made
+available for usage in an OpenWhisk deployment. This is done via the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+
+Over time, you may have the need for change:
+
+* Update runtimes to address security issues - for example, the latest code 
level of Node.js 10.
+* Remove runtime versions that are no more supported - for example, Node.js 6.
+* Add more languages due to user demand.
+* Remove languages that are no more needed.
+
+While adding and updating languages and runtimes is pretty straightforward, 
removing or renaming languages and runtimes
+requires some caution to prevent problems with existing actions.
+
+### Updating runtimes
+
+Follow these steps to update a particular runtime kind:
+
+1. Update the runtimes' container image.
+2. Update the corresponding `image` property in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest) to use the new container image.
+3. Restart / re-deploy controllers and invokers such that they pick up the 
changed runtimes manifest.
+
+Already existing actions of the changed runtime kind will immediately use the 
new container image when the invoker creates a new action container.
+
+Apparently, this approach should only be used if existing actions do not break 
with the new container image. If a new container image is supposed to break 
existing actions, introduce a new runtime kind.
+
+### Removing runtimes
+
+Follow these steps to remove a particular runtime kind under the assumption 
that actions with the runtime kind exist in the system. Apparently, it makes 
sense to wait some time between accomplishing these steps to give action owners 
time to react.
+
+1. Deprecate the runtime kind by setting `"deprecated": true` in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest). This setting prevents that new 
actions can be created with the deprecated action kind. In addition, existing 
actions cannot be changed to the deprecated action kind any more.
+2. Ask owners of existing actions with runtime kind to be removed to update 
their actions to a different action kind.
+3. Create an automated process that identifies all actions with the runtime 
kind to be removed in the system's action artifact store. Either automatically 
remove these actions or change to a different runtime kind.
+4. Once the system's action artifact store does no more contain actions with 
the runtime kind to be removed, remove the runtime kind from the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+5. TODO - is this correct?: Remove the runtime kind from the list of known 
kinds in the `ActionExec` object of the [controller API's Swagger 
definition](../core/controller/src/main/resources/apiv1swagger.json).
 
 Review comment:
   I agree with @sven-lange-last's  line of thought.  runtimes.json is the 
source of truth, so we should be using it via the controller's REST API, not an 
out-of-synch swagger. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-17 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325135023
 
 

 ##
 File path: docs/actions-update.md
 ##
 @@ -0,0 +1,75 @@
+
+## Updating Action Language Runtimes
+
+OpenWhisk supports [several languages and 
runtimes](actions.md#languages-and-runtimes) that can be made
+available for usage in an OpenWhisk deployment. This is done via the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+
+Over time, you may have the need for change:
+
+* Update runtimes to address security issues - for example, the latest code 
level of Node.js 10.
+* Remove runtime versions that are no more supported - for example, Node.js 6.
+* Add more languages due to user demand.
+* Remove languages that are no more needed.
+
+While adding and updating languages and runtimes is pretty straightforward, 
removing or renaming languages and runtimes
+requires some caution to prevent problems with existing actions.
+
+### Updating runtimes
+
+Follow these steps to update a particular runtime kind:
+
+1. Update the runtimes' container image.
+2. Update the corresponding `image` property in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest) to use the new container image.
+3. Restart / re-deploy controllers and invokers such that they pick up the 
changed runtimes manifest.
+
+Already existing actions of the changed runtime kind will immediately use the 
new container image when the invoker creates a new action container.
+
+Apparently, this approach should only be used if existing actions do not break 
with the new container image. If a new container image is supposed to break 
existing actions, introduce a new runtime kind.
 
 Review comment:
   Apparently ==> Obviously ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-17 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325134733
 
 

 ##
 File path: docs/actions-update.md
 ##
 @@ -0,0 +1,75 @@
+
+## Updating Action Language Runtimes
+
+OpenWhisk supports [several languages and 
runtimes](actions.md#languages-and-runtimes) that can be made
+available for usage in an OpenWhisk deployment. This is done via the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+
+Over time, you may have the need for change:
+
+* Update runtimes to address security issues - for example, the latest code 
level of Node.js 10.
+* Remove runtime versions that are no more supported - for example, Node.js 6.
+* Add more languages due to user demand.
+* Remove languages that are no more needed.
+
+While adding and updating languages and runtimes is pretty straightforward, 
removing or renaming languages and runtimes
+requires some caution to prevent problems with existing actions.
 
 Review comment:
   ...to prevent problems with preexisting actions. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-17 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325135978
 
 

 ##
 File path: docs/actions-update.md
 ##
 @@ -0,0 +1,75 @@
+
+## Updating Action Language Runtimes
+
+OpenWhisk supports [several languages and 
runtimes](actions.md#languages-and-runtimes) that can be made
+available for usage in an OpenWhisk deployment. This is done via the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+
+Over time, you may have the need for change:
+
+* Update runtimes to address security issues - for example, the latest code 
level of Node.js 10.
+* Remove runtime versions that are no more supported - for example, Node.js 6.
+* Add more languages due to user demand.
+* Remove languages that are no more needed.
+
+While adding and updating languages and runtimes is pretty straightforward, 
removing or renaming languages and runtimes
+requires some caution to prevent problems with existing actions.
+
+### Updating runtimes
+
+Follow these steps to update a particular runtime kind:
+
+1. Update the runtimes' container image.
+2. Update the corresponding `image` property in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest) to use the new container image.
+3. Restart / re-deploy controllers and invokers such that they pick up the 
changed runtimes manifest.
+
+Already existing actions of the changed runtime kind will immediately use the 
new container image when the invoker creates a new action container.
+
+Apparently, this approach should only be used if existing actions do not break 
with the new container image. If a new container image is supposed to break 
existing actions, introduce a new runtime kind.
+
+### Removing runtimes
+
+Follow these steps to remove a particular runtime kind under the assumption 
that actions with the runtime kind exist in the system. Apparently, it makes 
sense to wait some time between accomplishing these steps to give action owners 
time to react.
+
+1. Deprecate the runtime kind by setting `"deprecated": true` in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest). This setting prevents that new 
actions can be created with the deprecated action kind. In addition, existing 
actions cannot be changed to the deprecated action kind any more.
+2. Ask owners of existing actions with runtime kind to be removed to update 
their actions to a different action kind.
+3. Create an automated process that identifies all actions with the runtime 
kind to be removed in the system's action artifact store. Either automatically 
remove these actions or change to a different runtime kind.
+4. Once the system's action artifact store does no more contain actions with 
the runtime kind to be removed, remove the runtime kind from the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
 
 Review comment:
   "does no more" ==> "does not"


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-17 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325134141
 
 

 ##
 File path: ansible/files/runtimes-nodeonly.json
 ##
 @@ -1,4 +1,18 @@
 {
+"description": [
+"This file describes the different languages (aka. managed action 
runtimes) supported by the system",
+"as well as blackbox images that support the runtime specification.",
+"Only actions with runtime families / kinds defined here can be 
created / read / updated / deleted / invoked.",
+"Define a list of runtime families (example: 'nodejs') with at least 
one kind per family (example: 'nodejs:10').",
+"Each runtime family needs a default kind (default: true).",
+"When removing or renaming runtime families or runtime kinds from this 
file, all already existing actions",
 
 Review comment:
   Wordsmithing: 
   "When removing or renaming runtime families or runtime kinds from 
this file, all preexisting actions",
   "with the affected kinds can no longer be read / updated / deleted / 
invoked. In order to remove or rename


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-17 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325136281
 
 

 ##
 File path: docs/actions-update.md
 ##
 @@ -0,0 +1,75 @@
+
+## Updating Action Language Runtimes
+
+OpenWhisk supports [several languages and 
runtimes](actions.md#languages-and-runtimes) that can be made
+available for usage in an OpenWhisk deployment. This is done via the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+
+Over time, you may have the need for change:
+
+* Update runtimes to address security issues - for example, the latest code 
level of Node.js 10.
+* Remove runtime versions that are no more supported - for example, Node.js 6.
+* Add more languages due to user demand.
+* Remove languages that are no more needed.
+
+While adding and updating languages and runtimes is pretty straightforward, 
removing or renaming languages and runtimes
+requires some caution to prevent problems with existing actions.
+
+### Updating runtimes
+
+Follow these steps to update a particular runtime kind:
+
+1. Update the runtimes' container image.
+2. Update the corresponding `image` property in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest) to use the new container image.
+3. Restart / re-deploy controllers and invokers such that they pick up the 
changed runtimes manifest.
+
+Already existing actions of the changed runtime kind will immediately use the 
new container image when the invoker creates a new action container.
+
+Apparently, this approach should only be used if existing actions do not break 
with the new container image. If a new container image is supposed to break 
existing actions, introduce a new runtime kind.
+
+### Removing runtimes
+
+Follow these steps to remove a particular runtime kind under the assumption 
that actions with the runtime kind exist in the system. Apparently, it makes 
sense to wait some time between accomplishing these steps to give action owners 
time to react.
+
+1. Deprecate the runtime kind by setting `"deprecated": true` in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest). This setting prevents that new 
actions can be created with the deprecated action kind. In addition, existing 
actions cannot be changed to the deprecated action kind any more.
+2. Ask owners of existing actions with runtime kind to be removed to update 
their actions to a different action kind.
+3. Create an automated process that identifies all actions with the runtime 
kind to be removed in the system's action artifact store. Either automatically 
remove these actions or change to a different runtime kind.
+4. Once the system's action artifact store does no more contain actions with 
the runtime kind to be removed, remove the runtime kind from the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+5. TODO - is this correct?: Remove the runtime kind from the list of known 
kinds in the `ActionExec` object of the [controller API's Swagger 
definition](../core/controller/src/main/resources/apiv1swagger.json).
+
+If you remove a runtime kind from the [runtimes 
manifest](actions-new.md#the-runtimes-manifest), all actions that still use the 
removed runtime kind can no more be read from the system's action artifact 
store and thus, can no more be read, updated, deleted or invoked.
 
 Review comment:
   "can no more" ==> "can no longer"


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-17 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325135738
 
 

 ##
 File path: docs/actions-update.md
 ##
 @@ -0,0 +1,75 @@
+
+## Updating Action Language Runtimes
+
+OpenWhisk supports [several languages and 
runtimes](actions.md#languages-and-runtimes) that can be made
+available for usage in an OpenWhisk deployment. This is done via the [runtimes 
manifest](actions-new.md#the-runtimes-manifest).
+
+Over time, you may have the need for change:
+
+* Update runtimes to address security issues - for example, the latest code 
level of Node.js 10.
+* Remove runtime versions that are no more supported - for example, Node.js 6.
+* Add more languages due to user demand.
+* Remove languages that are no more needed.
+
+While adding and updating languages and runtimes is pretty straightforward, 
removing or renaming languages and runtimes
+requires some caution to prevent problems with existing actions.
+
+### Updating runtimes
+
+Follow these steps to update a particular runtime kind:
+
+1. Update the runtimes' container image.
+2. Update the corresponding `image` property in the [runtimes 
manifest](actions-new.md#the-runtimes-manifest) to use the new container image.
+3. Restart / re-deploy controllers and invokers such that they pick up the 
changed runtimes manifest.
+
+Already existing actions of the changed runtime kind will immediately use the 
new container image when the invoker creates a new action container.
+
+Apparently, this approach should only be used if existing actions do not break 
with the new container image. If a new container image is supposed to break 
existing actions, introduce a new runtime kind.
+
+### Removing runtimes
+
+Follow these steps to remove a particular runtime kind under the assumption 
that actions with the runtime kind exist in the system. Apparently, it makes 
sense to wait some time between accomplishing these steps to give action owners 
time to react.
 
 Review comment:
   Apparently isn't the right word here.  Perhaps change to "Clearly the steps 
below should be spaced out in time to give action owners..." 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [openwhisk] dgrove-oss commented on a change in pull request #4627: Add descriptions how to update, remove or rename runtime kinds and language families

2019-09-17 Thread GitBox
dgrove-oss commented on a change in pull request #4627: Add descriptions how to 
update, remove or rename runtime kinds and language families
URL: https://github.com/apache/openwhisk/pull/4627#discussion_r325136658
 
 

 ##
 File path: ansible/files/runtimes.json
 ##
 @@ -1,4 +1,17 @@
 {
+"description": [
+"This file describes the different languages (aka. managed action 
runtimes) supported by the system",
+"as well as blackbox images that support the runtime specification.",
+"Only actions with runtime families / kinds defined here can be 
created / read / updated / deleted / invoked.",
+"Define a list of runtime families (example: 'nodejs') with at least 
one kind per family (example: 'nodejs:10').",
+"Each runtime family needs a default kind (default: true).",
+"When removing or renaming runtime families or runtime kinds from this 
file, all already existing actions",
+"with the affected kinds can no more be read / updated / deleted / 
invoked. In order to remove or rename",
 
 Review comment:
   Same suggestions as other copy of this text


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services