Execution environments let you share code between snippets, Dynamic Applications, and PowerPacks. Execution environments have a global unique identifier (GUID), a name, and list of associated libraries. The libraries associated with an execution environment provide a way to bundle reusable code in a self-contained environment available in snippets. You can use different execution environments for different Dynamic Application requirements.
Viewing the List of Execution Environments
The Environment Manager page (System > Customize > ScienceLogic Libraries > Actions > Execution Environments) displays a list of all existing execution environments.
For each execution environment, the page displays the following information:
To sort the list of execution environments, click on a column heading. The list will be sorted by the column value, in ascending order. To sort by descending order, click the column heading again.
- Environment Name. The name of the execution environment.
- Env GUID. The execution environment's globally unique identifier.
- Env Type. The Python runtime version selected for the execution environment.
- Libs. The number of ScienceLogic Libraries aligned with the execution environment. Click the View Aligned Libraries icon () to view the list of ScienceLogic Libraries that are aligned to a particular execution environment.
Searching and Filtering the List of Execution Environments
The Filter-While-You-Type fields appear as a row of blank fields at the top of the list. These fields let you filter the items that appear in the list.
The list is dynamically updated as you select each filter. For each filter, you must make a selection from a drop-down menu or type text to match against. SL1 will search for entries that match the text, including partial matches. Text matches are not case-sensitive, and you can use special characters in each text field.
By default, the cursor is placed in the first Filter-While-You-Type field. You can use the <Tab> key or your mouse to move your cursor through the fields.
You can filter by one or more of the following parameters. Only items that meet all of the filter criteria are displayed on the page.
- Environment Name. You can enter text to match, including special characters, and the Environment Manager page will display only execution environments that have a matching name.
- Env GUID. You can enter text to match, including special characters, and the Environment Manager page will display only execution environments that have a matching GUID.
- Env Type. You can enter text to match, and the Environment Manager page will display only execution environments that have a matching Python runtime version for the execution environment.
- Libs. You can enter text to match, including special characters, and the Environment Manager page will display only execution environments that have a matching number of aligned ScienceLogic Libraries.
Special Characters
You can include the following special characters to filter by each column except those that display date and time:
When searching for a string, SL1 will match substrings by default, even if you do not include any special characters. For example, searching for "hel" will match both "hello" and "helicopter". When searching for a numeric value, SL1 will not match a substring unless you use a special character.
String and Numeric
- , (comma). Specifies an "OR" operation. Works for string and numeric values. For example:
"dell, micro" matches all values that contain the string "dell" OR the string "micro".
- & (ampersand). Specifies an "AND " operation. Works for string and numeric values. For example:
"dell & micro" matches all values that contain both the string "dell" AND the string "micro", in any order.
- ! (exclamation point). Specifies a "not" operation. Works for string and numeric values. For example:
NOTE: You can also use the "!" character in combination with the arithmetical special characters (min-max, >, <, >=, <=, =) described below.
- * (asterisk). Specifies a "match zero or more" operation. Works for string and numeric values. For a string, matches any string that matches the text before and after the asterisk. For a number, matches any number that contains the text. For example:
"hel*er" would match "helpers" and "helicopter" but not "hello".
"325*" would match "325", "32561", and "325000".
"*000" would match "1000", "25000", and "10500000".
- ? (question mark). Specifies "match any one character". Works for string and numeric values. For example:
"l?ver" would match the strings "oliver", "levers", and "lover", but not "believer".
"135?" would match the numbers "1350", "1354", and "1359", but not "135" or "13502"
String
- ^ (caret). For strings only. Specifies "match the beginning". Matches any string that begins with the specified string. For example:
"^sci" would match "scientific" and "sciencelogic", but not "conscious".
"^happy$" would match only the string "happy", with no characters before or after.
"!^micro" would match all values that do not start with "micro".
"!^$" would match all values that are not null.
"!^" would match null values.
- $ (dollar sign). For strings only. Specifies "match the ending". Matches any string that ends with the specified string. For example:
"ter$" would match the string "renter" but not the string "terrific".
"^happy$" would match only the string "happy", with no characters before or after.
"!fer$" would match all values that do not end with "fer".
"!^$" would match all values that are not null.
"!$" would match null values.
NOTE: You can use both ^ and $ if you want to match an entire string and only that string. For example, "^tern$" would match the strings "tern" or "Tern" or "TERN"; it would not match the strings "terne" or "cistern".
Numeric
- min-max. Matches numeric values only. Specifies any value between the minimum value and the maximum value, including the minimum and the maximum. For example:
"1-5 "would match 1, 2, 3, 4, and 5.
- - (dash). Matches numeric values only. A "half open" range. Specifies values including the minimum and greater or including the maximum and lesser. For example:
"1-" matches 1 and greater. So would match 1, 2, 6, 345, etc.
"-5" matches 5 and less. So would match 5, 3, 1, 0, etc.
- > (greater than). Matches numeric values only. Specifies any value "greater than". For example:
">7" would match all values greater than 7.
- < (less than). Matches numeric values only. Specifies any value "less than". For example:
"<12" would match all values less than 12.
- >= (greater than or equal to). Matches numeric values only. Specifies any value "greater than or equal to". For example:
"=>7" would match all values 7 and greater.
- <= (less than or equal to). Matches numeric values only. Specifies any value "less than or equal to". For example:
"=<12" would match all values 12 and less.
- = (equal). Matches numeric values only. For numeric values, allows you to match a negative value. For example:
"=-5 " would match "-5" instead of being evaluated as the "half open range" as described above.
Examples
- "!dell" matches all values that do not contain the string "dell".
- "!^micro" would match all values that do not start with "micro".
- "!fer$" would match all values that do not end with "fer".
- "!^$" would match all values that are not null.
- "!^" would match null values.
- "!$" would match null values.
- "!*" would match null values.
- "happy, !dell" would match values that contain "happy" OR values that do not contain "dell".
- "aio$". Matches only text that ends with "aio".
- "^shu". Matches only text that begins with "shu".
- "^silo$". Matches only the text "silo", with no characters before or after.
- "!silo". Matches only text that does not contains the characters "silo".
- "!^silo". Matches only text that does not start with "silo".
- "!0$". Matches only text that does not end with "0".
- "!^silo$". Matches only text that is not the exact text "silo", with no characters before or after.
- "!^". Matches null values, typically represented as "--" in most pages.
- "!$". Matches null values, typically represented as "--" in most pages.
- "!^$". Matches all text that is not null.
- silo, !aggr". Matches text that contains the characters "silo" and also text that does not contain "aggr".
- "silo, 02, !aggr". Matches text that contains "silo" and also text that contains "02" and also text that does not contain "aggr".
- "silo, 02, !aggr, !01". Matches text that contains "silo" and also text that contains "02" and also text that does not contain "aggr" and also text that does not contain "01".
- "^s*i*l*o$". Matches text that contains the letter "s", "i", "l", "o", in that order. Other letters might lie between these letters. For example "sXiXlXo" would match.
- "!^s*i*l*o$". Matches all text that does not that contains the letter "s", "i", "l", "o", in that order. Other letters might lie between these letters. For example "sXiXlXo" would not match.
- "!vol&!silo". Matches text that does not contain "vol" AND also does not contain "silo". For example, "volume" would match, because it contains "vol" but not "silo".
- "!vol&02". Matches text that does not contain "vol" AND also contains "02". For example, "happy02" would match, because it does not contain "vol' and it does contain "02".
- "aggr,!vol&02". Matches text that contains "aggr" OR text that does not contain "vol" AND also contains "02".
- "aggr,!vol&!infra". Matches text that contains "aggr" OR text that does not contain "vol" AND does not contain "infra".
- "*". Matches all text.
- "!*". Matches null values, typically represented as "--" in most pages.
- "silo". Matches text that contains "silo".
- " !silo ". Matches text that does not contain "silo".
- " !^silo$ ". Matches all text except the text "silo", with no characters before or after.
- "-3,7-8,11,24,50-". Matches numbers 1, 2, 3, 7, 8, 11, 24, 50, and all numbers greater than 50.
- "-3,7-8,11,24,50-,a". Matches numbers 1, 2, 3, 7, 8, 11, 24, 50, and all numbers greater than 50, and text that includes "a".
- "?n". Matches text that contains any single character and the character "n". For example, this string would match "an", "bn", "cn", "1n", and "2n".
- "n*SAN". Matches text the contains "n", zero or any number of any characters and then "SAN". For example, the string would match "nSAN", and "nhamburgerSAN".
- "^?n*SAN$”. Matches text that begins with any single character, is following by "n", and then zero or any number of any characters, and ends in "SAN".
Creating an Execution Environment
SL1 includes several execution environments from preloaded PowerPacks and system updates for your use. If needed, you can also create new execution environments. After you have successfully created an execution environment, it will appear in the list of execution environments available for aligning with Dynamic Applications, credential tests, and Run Book Actions.
The option to use Python 3.9 execution environments is limited to the SL1 12.2.1.1, 12.2.1.2, and 12.2.3 releases.
Additionally, the SL1 12.3.0 release removed support for Python 3.9 entirely and added support for Python 3.11. Any Dynamic Applications that use Python 3.9 execution environments will stop working after upgrading to SL1 12.3.0 or later.
If you are currently using Python 3.9 execution environments, then after updating to 12.3.0 or later, you must create a Python 3.11 execution environment and align any Dynamic Applications that are currently aligned to the Python 3.9 execution environments to Python 3.11 execution environment to make them work again.
To create an execution environment:
-
From the Environment Manager page (System > Customize > ScienceLogic Libraries > Actions > Execution Environments), click the button.
-
On the Environment Editor page, type a name for the new execution environment in the Environment Name field, select a Python version from the Environment Type drop-down, and then click the save icon ().
Each execution environment is assigned an Env GUID, which makes it unique. Since two environments can share a name, it is a best practice to use the Name field to version an environment when updating its contents.
-
The Library Alignment pane appears, displaying a list of ScienceLogic Libraries that you can align with the new execution environment. Click the align icon () for a ScienceLogic Library to align that library to the new execution environment.
You can select the Filter Libraries By Python Version drop-down to filter ScienceLogic libraries compatible with the execution environment runtime. This feature is set to on by default.
-
Align any additional ScienceLogic libraries to the execution environment as needed.
If necessary, you can click the unalign icon () for a ScienceLogic Library to remove that library's alignment with the new execution environment.
- When you are finished, click the save icon () again to save the execution environment with the ScienceLogic Library alignment you selected, and then click .
Editing an Execution Environment
You can edit an execution environment by clicking its wrench icon (). When you do so, you can change the environment's name, align additional ScienceLogic Libraries to the environment, or remove its alignment with one or more libraries.
Do not edit ScienceLogic-created execution environments. You may make a copy of the execution environment, but ScienceLogic often updates these execution environments in a release, which will overwrite any existing execution environment of the same globally unique identifier (GUID).
To edit an execution Environment:
- From the Environment Manager page (System > Customize > ScienceLogic Libraries > Actions > Execution Environments), click the edit icon () for the execution environment that you want to edit.
- On the Environment Editor page, you can do any of the following:
- Change the environment's name in the Environment Name field.
- Align additional ScienceLogic Libraries to the execution environment by clicking the appropriate align icons ().
- Remove the execution environment's alignment with one or more libraries by clicking the appropriate unalign icons ().
- When you are finished, click the save icon () and then click .
Copying an Execution Environment
If you want to create a new execution environment that has traits similar to an existing environment, you can make a copy of the existing execution environment that you can then edit as needed. When you copy an existing execution environment, the new environment includes the same libraries as the original environment, but it will have a new globally unique identifier (GUID).
Making a copy of an execution environment does not mean there will be a duplicate runtime environment. Environments that share a set of libraries will result in the same virtual runtime environment to optimize space on the Data Collector.
To copy an execution environment:
- From the Environment Manager page (System > Customize > ScienceLogic Libraries > Actions > Execution Environments), click the copy icon () for the execution environment that you want to copy. A confirmation message appears.
- Click Environment Manager page. By default, it has the same name as the original execution environment, followed by the word "(copy)". to continue. A copy of the selected execution environment appears on the
Deleting an Execution Environment
If you no longer need an execution environment and it is not currently aligned with a Dynamic Application, credential test, or Run Book Action, then you can delete it. SL1 will not allow you to delete execution environments that are being used by any Dynamic Applications, credential tests, or Run Book Actions.
Do not delete execution environments that are shipped with SL1.
To delete an execution environment:
- From the Environment Manager page (System > Customize > ScienceLogic Libraries > Actions > Execution Environments), click the delete icon () for the execution environment that you want to delete.
- A confirmation message appears. Click to continue.
- The execution environment is deleted from the Environment Manager page.