systemlink-cli 1.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- slcli/__init__.py +1 -0
- slcli/__main__.py +23 -0
- slcli/_version.py +4 -0
- slcli/asset_click.py +1289 -0
- slcli/cli_formatters.py +218 -0
- slcli/cli_utils.py +504 -0
- slcli/comment_click.py +602 -0
- slcli/completion_click.py +418 -0
- slcli/config.py +81 -0
- slcli/config_click.py +498 -0
- slcli/dff_click.py +979 -0
- slcli/dff_decorators.py +24 -0
- slcli/example_click.py +404 -0
- slcli/example_loader.py +274 -0
- slcli/example_provisioner.py +2777 -0
- slcli/examples/README.md +134 -0
- slcli/examples/_schema/schema-v1.0.json +169 -0
- slcli/examples/demo-complete-workflow/README.md +323 -0
- slcli/examples/demo-complete-workflow/config.yaml +638 -0
- slcli/examples/demo-test-plans/README.md +132 -0
- slcli/examples/demo-test-plans/config.yaml +154 -0
- slcli/examples/exercise-5-1-parametric-insights/README.md +101 -0
- slcli/examples/exercise-5-1-parametric-insights/config.yaml +1589 -0
- slcli/examples/exercise-7-1-test-plans/README.md +93 -0
- slcli/examples/exercise-7-1-test-plans/config.yaml +323 -0
- slcli/examples/spec-compliance-notebooks/README.md +140 -0
- slcli/examples/spec-compliance-notebooks/config.yaml +112 -0
- slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +1553 -0
- slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +1577 -0
- slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +912 -0
- slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
- slcli/feed_click.py +892 -0
- slcli/file_click.py +932 -0
- slcli/function_click.py +1400 -0
- slcli/function_templates.py +85 -0
- slcli/main.py +406 -0
- slcli/mcp_click.py +269 -0
- slcli/mcp_server.py +748 -0
- slcli/notebook_click.py +1770 -0
- slcli/platform.py +345 -0
- slcli/policy_click.py +679 -0
- slcli/policy_utils.py +411 -0
- slcli/profiles.py +411 -0
- slcli/response_handlers.py +359 -0
- slcli/routine_click.py +763 -0
- slcli/skill_click.py +253 -0
- slcli/skills/slcli/SKILL.md +713 -0
- slcli/skills/slcli/references/analysis-recipes.md +474 -0
- slcli/skills/slcli/references/filtering.md +236 -0
- slcli/skills/systemlink-webapp/SKILL.md +744 -0
- slcli/skills/systemlink-webapp/references/deployment.md +123 -0
- slcli/skills/systemlink-webapp/references/nimble-angular.md +380 -0
- slcli/skills/systemlink-webapp/references/systemlink-services.md +192 -0
- slcli/ssl_trust.py +93 -0
- slcli/system_click.py +2216 -0
- slcli/table_utils.py +124 -0
- slcli/tag_click.py +794 -0
- slcli/templates_click.py +599 -0
- slcli/testmonitor_click.py +1667 -0
- slcli/universal_handlers.py +305 -0
- slcli/user_click.py +1218 -0
- slcli/utils.py +832 -0
- slcli/web_editor.py +295 -0
- slcli/webapp_click.py +981 -0
- slcli/workflow_preview.py +287 -0
- slcli/workflows_click.py +988 -0
- slcli/workitem_click.py +2258 -0
- slcli/workspace_click.py +576 -0
- slcli/workspace_utils.py +206 -0
- systemlink_cli-1.3.1.dist-info/METADATA +20 -0
- systemlink_cli-1.3.1.dist-info/RECORD +74 -0
- systemlink_cli-1.3.1.dist-info/WHEEL +4 -0
- systemlink_cli-1.3.1.dist-info/entry_points.txt +7 -0
- systemlink_cli-1.3.1.dist-info/licenses/LICENSE +21 -0
slcli/examples/README.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# SystemLink Examples Directory
|
|
2
|
+
|
|
3
|
+
This directory contains example configurations for quickly setting up demo resources in SystemLink Enterprise (SLE).
|
|
4
|
+
|
|
5
|
+
## Examples
|
|
6
|
+
|
|
7
|
+
### demo-test-plans
|
|
8
|
+
|
|
9
|
+
A complete example demonstrating the end-to-end test planning workflow. Includes:
|
|
10
|
+
|
|
11
|
+
- 1 location (Demo HQ)
|
|
12
|
+
- 1 product (Demo Widget Pro)
|
|
13
|
+
- 2 systems (Test Stand 1 & 2)
|
|
14
|
+
- 2 assets (Asset 1 & 2)
|
|
15
|
+
- 2 DUTs (DUT 1 & 2)
|
|
16
|
+
- 1 test template
|
|
17
|
+
|
|
18
|
+
**Setup time:** ~5 minutes
|
|
19
|
+
|
|
20
|
+
### spec-compliance-notebooks
|
|
21
|
+
|
|
22
|
+
A complete example providing Jupyter notebooks for performing specification compliance analysis on test data. Publishes three notebooks with the File Analysis interface:
|
|
23
|
+
|
|
24
|
+
- Spec Compliance Calculation
|
|
25
|
+
- Spec Analysis & Compliance Calculation
|
|
26
|
+
- Specfile Extraction and Ingestion
|
|
27
|
+
|
|
28
|
+
**Setup time:** ~3 minutes
|
|
29
|
+
|
|
30
|
+
### exercise-5-1-parametric-insights
|
|
31
|
+
|
|
32
|
+
Training data for **Exercise 5-1: Query and Visualize Parametric Test Data**.
|
|
33
|
+
Provisions a six-week dataset of thermal cycle test results for the **Model ABC** battery
|
|
34
|
+
pack product across three test stands, plus distractor products (Model XYZ, Model ABC Rev B)
|
|
35
|
+
to populate the Products table realistically. Includes deliberate anomalies students will
|
|
36
|
+
discover through visualization:
|
|
37
|
+
|
|
38
|
+
- 18 test results (Model ABC) with 11 parametric measurements per result
|
|
39
|
+
- TC-03 runs ~3–4 °C warmer than TC-01/TC-02 (calibration offset)
|
|
40
|
+
- TC-01 Cycle 5: internal resistance spike → FAIL
|
|
41
|
+
- TC-03 Cycle 4: cell temperature spike → FAIL
|
|
42
|
+
|
|
43
|
+
**Setup time:** ~5 minutes
|
|
44
|
+
|
|
45
|
+
## Usage
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# List available examples
|
|
49
|
+
slcli example list
|
|
50
|
+
|
|
51
|
+
# Show details about an example
|
|
52
|
+
slcli example info demo-test-plans
|
|
53
|
+
|
|
54
|
+
# Preview what would be created (dry-run)
|
|
55
|
+
slcli example install demo-test-plans -w <workspace-id> --dry-run
|
|
56
|
+
|
|
57
|
+
# Create resources in a specific workspace (name or ID)
|
|
58
|
+
slcli example install demo-test-plans -w <workspace>
|
|
59
|
+
# Write an audit log of provisioning results
|
|
60
|
+
slcli example install demo-test-plans -w <workspace> --audit-log install-log.json --format json
|
|
61
|
+
|
|
62
|
+
# Delete example resources from a workspace
|
|
63
|
+
slcli example delete demo-test-plans -w <workspace-id> --dry-run
|
|
64
|
+
slcli example delete demo-test-plans -w <workspace>
|
|
65
|
+
# Write an audit log of deletion results
|
|
66
|
+
slcli example delete demo-test-plans -w <workspace> --audit-log delete-log.json --format json
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Creating New Examples
|
|
70
|
+
|
|
71
|
+
1. Create a new directory in `examples/`:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
examples/my-example/
|
|
75
|
+
├── config.yaml # Example configuration
|
|
76
|
+
└── README.md # Optional: Setup guide
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
2. Create `config.yaml` following the schema in `_schema/schema-v1.0.json`
|
|
80
|
+
|
|
81
|
+
3. Test locally:
|
|
82
|
+
```bash
|
|
83
|
+
slcli example info my-example
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Configuration Format
|
|
87
|
+
|
|
88
|
+
All examples use YAML format with the following structure:
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
format_version: "1.0"
|
|
92
|
+
name: "example-slug"
|
|
93
|
+
title: "Example Title"
|
|
94
|
+
description: "Detailed description..."
|
|
95
|
+
author: "Author Name"
|
|
96
|
+
tags: ["training", "demo"]
|
|
97
|
+
estimated_setup_time_minutes: 5
|
|
98
|
+
|
|
99
|
+
resources:
|
|
100
|
+
- type: "location"
|
|
101
|
+
name: "Location Name"
|
|
102
|
+
properties:
|
|
103
|
+
# API-specific fields
|
|
104
|
+
id_reference: "loc_ref"
|
|
105
|
+
tags: ["example"]
|
|
106
|
+
|
|
107
|
+
- type: "system"
|
|
108
|
+
name: "System Name"
|
|
109
|
+
properties:
|
|
110
|
+
location_id: "${loc_ref}" # Reference resolution
|
|
111
|
+
id_reference: "sys_ref"
|
|
112
|
+
tags: ["example"]
|
|
113
|
+
|
|
114
|
+
cleanup:
|
|
115
|
+
order: ["system", "location"]
|
|
116
|
+
filter_tags: ["example"]
|
|
117
|
+
require_confirmation: true
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Resource Types Supported
|
|
121
|
+
|
|
122
|
+
- `location` - Physical location
|
|
123
|
+
- `product` - Product definition
|
|
124
|
+
- `system` - Test system
|
|
125
|
+
- `asset` - Asset on a system
|
|
126
|
+
- `dut` - Device under test
|
|
127
|
+
- `testtemplate` - Test plan template
|
|
128
|
+
|
|
129
|
+
## Notes
|
|
130
|
+
|
|
131
|
+
- Examples are versioned with the `format_version` field (currently 1.0)
|
|
132
|
+
- Resource cleanup is tag-based and order-aware
|
|
133
|
+
- References use `${id_reference}` syntax for interpolation
|
|
134
|
+
- All resources created by an example are tagged with the example name for safe deletion
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "SLE Example Configuration Schema v1.0",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"format_version",
|
|
7
|
+
"name",
|
|
8
|
+
"title",
|
|
9
|
+
"resources"
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"format_version": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"enum": [
|
|
15
|
+
"1.0"
|
|
16
|
+
],
|
|
17
|
+
"description": "Schema version"
|
|
18
|
+
},
|
|
19
|
+
"name": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"pattern": "^[a-z0-9-]+$",
|
|
22
|
+
"description": "Unique slug identifier (lowercase, hyphens, numbers)"
|
|
23
|
+
},
|
|
24
|
+
"title": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "Human-readable example title"
|
|
27
|
+
},
|
|
28
|
+
"description": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Detailed description of what example includes"
|
|
31
|
+
},
|
|
32
|
+
"author": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Author/organization name"
|
|
35
|
+
},
|
|
36
|
+
"created_date": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "ISO 8601 creation date (YYYY-MM-DD)"
|
|
39
|
+
},
|
|
40
|
+
"updated_date": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "ISO 8601 update date (YYYY-MM-DD)"
|
|
43
|
+
},
|
|
44
|
+
"tags": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": {
|
|
47
|
+
"type": "string"
|
|
48
|
+
},
|
|
49
|
+
"description": "Tags for categorization (training, beginner, etc.)"
|
|
50
|
+
},
|
|
51
|
+
"estimated_setup_time_minutes": {
|
|
52
|
+
"type": "integer",
|
|
53
|
+
"minimum": 1,
|
|
54
|
+
"description": "Estimated setup time in minutes"
|
|
55
|
+
},
|
|
56
|
+
"required_systemlink_version": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "Minimum required SLE version (e.g., 2024.1)"
|
|
59
|
+
},
|
|
60
|
+
"target_workspace": {
|
|
61
|
+
"type": [
|
|
62
|
+
"string",
|
|
63
|
+
"null"
|
|
64
|
+
],
|
|
65
|
+
"description": "Target workspace name or null for default"
|
|
66
|
+
},
|
|
67
|
+
"resources": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"items": {
|
|
70
|
+
"$ref": "#/definitions/resource"
|
|
71
|
+
},
|
|
72
|
+
"description": "Resources to provision in order"
|
|
73
|
+
},
|
|
74
|
+
"cleanup": {
|
|
75
|
+
"type": "object",
|
|
76
|
+
"properties": {
|
|
77
|
+
"order": {
|
|
78
|
+
"type": "array",
|
|
79
|
+
"items": {
|
|
80
|
+
"type": "string"
|
|
81
|
+
},
|
|
82
|
+
"description": "Resource types to delete in this order"
|
|
83
|
+
},
|
|
84
|
+
"filter_tags": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"items": {
|
|
87
|
+
"type": "string"
|
|
88
|
+
},
|
|
89
|
+
"description": "Only delete resources with these tags"
|
|
90
|
+
},
|
|
91
|
+
"require_confirmation": {
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"default": true,
|
|
94
|
+
"description": "Require confirmation before cleanup"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"validation": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"properties": {
|
|
101
|
+
"require_workspace": {
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"default": true,
|
|
104
|
+
"description": "Workspace must exist before install"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"post_install": {
|
|
109
|
+
"type": "object",
|
|
110
|
+
"properties": {
|
|
111
|
+
"instructions": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"description": "Post-install instructions for user"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"definitions": {
|
|
119
|
+
"resource": {
|
|
120
|
+
"type": "object",
|
|
121
|
+
"required": [
|
|
122
|
+
"type",
|
|
123
|
+
"name",
|
|
124
|
+
"properties",
|
|
125
|
+
"id_reference"
|
|
126
|
+
],
|
|
127
|
+
"properties": {
|
|
128
|
+
"type": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"enum": [
|
|
131
|
+
"location",
|
|
132
|
+
"product",
|
|
133
|
+
"system",
|
|
134
|
+
"asset",
|
|
135
|
+
"dut",
|
|
136
|
+
"testtemplate",
|
|
137
|
+
"workflow",
|
|
138
|
+
"work_item",
|
|
139
|
+
"work_order",
|
|
140
|
+
"test_result",
|
|
141
|
+
"data_table",
|
|
142
|
+
"file"
|
|
143
|
+
],
|
|
144
|
+
"description": "SLE resource type"
|
|
145
|
+
},
|
|
146
|
+
"name": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"description": "Resource name (displayed in SLE)"
|
|
149
|
+
},
|
|
150
|
+
"properties": {
|
|
151
|
+
"type": "object",
|
|
152
|
+
"description": "Resource-specific properties (API fields)"
|
|
153
|
+
},
|
|
154
|
+
"id_reference": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"pattern": "^[a-z_][a-z0-9_]*$",
|
|
157
|
+
"description": "Internal reference ID for interpolation (${ref_name})"
|
|
158
|
+
},
|
|
159
|
+
"tags": {
|
|
160
|
+
"type": "array",
|
|
161
|
+
"items": {
|
|
162
|
+
"type": "string"
|
|
163
|
+
},
|
|
164
|
+
"description": "Tags for cleanup filtering and organization"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# Demo Complete Workflow Example
|
|
2
|
+
|
|
3
|
+
A **comprehensive example** demonstrating the full SystemLink test execution workflow from resource provisioning through test results and data management.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This example showcases:
|
|
8
|
+
|
|
9
|
+
- **Tier 0 (Foundational)**: Locations, products, test systems
|
|
10
|
+
- **Tier 1 (Cross-cutting)**: DUTs (devices under test), assets, fixtures, reference equipment
|
|
11
|
+
- **Tier 2 (Work & Execution)**: Custom workflows, test templates, work items, work orders
|
|
12
|
+
- **Tier 3 (Data & Results)**: Test results, structured data tables, test logs and reports
|
|
13
|
+
|
|
14
|
+
Perfect for understanding how SystemLink coordinates complex multi-phase test campaigns with complete traceability from planning through data management.
|
|
15
|
+
|
|
16
|
+
## Resource Hierarchy
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Location: Production Test Lab
|
|
20
|
+
├── Product: Advanced Control System v3.0
|
|
21
|
+
│ ├── System: Test Bench 1 → DUT-001
|
|
22
|
+
│ ├── System: Test Bench 2 → DUT-002
|
|
23
|
+
│ ├── Assets: Reference instruments & data logger
|
|
24
|
+
│ │
|
|
25
|
+
│ └── Workflow: ACS Validation Workflow
|
|
26
|
+
│ └── Test Template: ACS Validation Suite
|
|
27
|
+
│ ├── Work Item 1: Validation Run 1 (Unit 001)
|
|
28
|
+
│ │ ├── Test Result 1: Voltage Regulation Test
|
|
29
|
+
│ │ │ └── Data Table: Voltage measurements (25 rows)
|
|
30
|
+
│ │ ├── Test Result 2: Response Time Test
|
|
31
|
+
│ │ │ └── Data Table: Step response measurements (5 rows)
|
|
32
|
+
│ │ ├── Test Result 3: Thermal Test
|
|
33
|
+
│ │ │ └── Data Table: Temperature profile (33 rows)
|
|
34
|
+
│ │ └── Files: Test logs, raw data, waveforms
|
|
35
|
+
│ │
|
|
36
|
+
│ └── Work Item 2: Regression Test (Unit 002)
|
|
37
|
+
│ ├── Test Result 4: Voltage Regression Test
|
|
38
|
+
│ │ └── Data Table: Regression comparison (5 rows)
|
|
39
|
+
│ └── Files: Regression data, comparison report
|
|
40
|
+
│
|
|
41
|
+
└── Work Order: ACS Validation Campaign
|
|
42
|
+
├── Schedules: Work Item 1 & 2
|
|
43
|
+
├── Reserves: Test Bench 1 & 2, DUT-001, DUT-002
|
|
44
|
+
└── Test Result 5: Campaign Summary
|
|
45
|
+
└── Files: Executive report, test matrix
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Key Features
|
|
49
|
+
|
|
50
|
+
### 1. **Custom Workflow** (Tier 2)
|
|
51
|
+
|
|
52
|
+
- Event-driven execution model with 5 sequential procedures
|
|
53
|
+
- Integrates with test template for automated test planning
|
|
54
|
+
- Tracks initialization, testing phases, data collection, and cleanup
|
|
55
|
+
|
|
56
|
+
### 2. **Test Template** (Tier 2)
|
|
57
|
+
|
|
58
|
+
- Reusable test plan for ACS validation
|
|
59
|
+
- Detailed procedures for voltage regulation, response time, and thermal testing
|
|
60
|
+
- Explicit acceptance criteria (< 2% ripple, < 100ms response, < 80°C thermal)
|
|
61
|
+
- References custom workflow for execution coordination
|
|
62
|
+
|
|
63
|
+
### 3. **Work Items & Work Order** (Tier 2)
|
|
64
|
+
|
|
65
|
+
- **Work Item 1**: Validates ACS unit 001 on primary bench (high priority)
|
|
66
|
+
- **Work Item 2**: Regression tests ACS unit 002 on secondary bench (medium priority)
|
|
67
|
+
- **Work Order**: Coordinates both work items with resource reservation (start: 08:00, end: 12:00)
|
|
68
|
+
|
|
69
|
+
### 4. **Test Results** (Tier 3)
|
|
70
|
+
|
|
71
|
+
- **5 result records** capturing execution outcomes:
|
|
72
|
+
- Voltage regulation (Run 1)
|
|
73
|
+
- Response time (Run 1)
|
|
74
|
+
- Thermal performance (Run 1)
|
|
75
|
+
- Voltage regression (Run 2)
|
|
76
|
+
- Campaign summary
|
|
77
|
+
- Each result tracks operator, timestamps, measurements, verdict, and linked files
|
|
78
|
+
|
|
79
|
+
### 5. **Data Tables** (Tier 3)
|
|
80
|
+
|
|
81
|
+
- **Voltage Regulation**: 25 rows of load sweep data (0A-5A)
|
|
82
|
+
- **Response Time**: 5 rows of step response measurements
|
|
83
|
+
- **Thermal Profile**: 33 rows of temperature evolution (0-30 minutes)
|
|
84
|
+
- **Regression Comparison**: 5 rows comparing Run 1 vs Run 2 across load points
|
|
85
|
+
- All structured with proper column definitions, units, and sample data
|
|
86
|
+
|
|
87
|
+
### 6. **Files & Documentation** (Tier 1 & 3)
|
|
88
|
+
|
|
89
|
+
- Raw test data (`.csv` files)
|
|
90
|
+
- Waveform captures (`.tds` oscilloscope format)
|
|
91
|
+
- Test execution logs (`.txt`)
|
|
92
|
+
- Campaign reports (`.pdf`, `.xlsx`)
|
|
93
|
+
- All properly tagged and cross-referenced to test results
|
|
94
|
+
|
|
95
|
+
## Installation
|
|
96
|
+
|
|
97
|
+
### Prerequisites
|
|
98
|
+
|
|
99
|
+
- SystemLink server (v2024.1 or later)
|
|
100
|
+
- Target workspace with product/system/asset management enabled
|
|
101
|
+
- SystemLink CLI configured with valid credentials
|
|
102
|
+
|
|
103
|
+
### Quick Install
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Provision all resources (dry-run first to verify)
|
|
107
|
+
slcli example install demo-complete-workflow -w <workspace> --dry-run
|
|
108
|
+
|
|
109
|
+
# Actual provisioning
|
|
110
|
+
slcli example install demo-complete-workflow -w <workspace>
|
|
111
|
+
|
|
112
|
+
# Cleanup (removes all tagged resources)
|
|
113
|
+
slcli example uninstall demo-complete-workflow -w <workspace> --dry-run
|
|
114
|
+
slcli example uninstall demo-complete-workflow -w <workspace>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Expected Output
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Installation Progress
|
|
121
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
122
|
+
Resource Name Type Action Server ID Error
|
|
123
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
124
|
+
Production Test Lab location create <location-id>
|
|
125
|
+
Advanced Control System v3.0 product create <product-id>
|
|
126
|
+
Control System Test Bench 1 system create <system-id-1>
|
|
127
|
+
Control System Test Bench 2 system create <system-id-2>
|
|
128
|
+
DUT-ACS-001 (Bench 1) dut create <asset-id-1>
|
|
129
|
+
DUT-ACS-002 (Bench 2) dut create <asset-id-2>
|
|
130
|
+
Reference Voltage Source asset create <asset-id-3>
|
|
131
|
+
Data Logger asset create <asset-id-4>
|
|
132
|
+
ACS Validation Workflow workflow create <workflow-id>
|
|
133
|
+
ACS Validation Suite testtemplate create <template-id>
|
|
134
|
+
ACS Validation Run 1 - Unit 001 work_item create <work-item-id-1>
|
|
135
|
+
ACS Regression Test - Unit 002 work_item create <work-item-id-2>
|
|
136
|
+
ACS Validation Campaign work_order create <work-order-id>
|
|
137
|
+
ACS Run 1 - Result 1 test_result create <result-id-1>
|
|
138
|
+
[... 4 more results ...]
|
|
139
|
+
Voltage Regulation Results data_table create <table-id-1>
|
|
140
|
+
[... 3 more data tables ...]
|
|
141
|
+
voltage_regulation_run1.csv file create <file-id-1>
|
|
142
|
+
[... 3 more files ...]
|
|
143
|
+
|
|
144
|
+
Summary: 20 resources successfully created
|
|
145
|
+
Estimated setup time: 10 minutes
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Resource Details
|
|
149
|
+
|
|
150
|
+
### Foundational Resources
|
|
151
|
+
|
|
152
|
+
- **Location**: Production Test Lab (Austin, TX)
|
|
153
|
+
- **Product**: Advanced Control System v3.0 (part # DCS-3000)
|
|
154
|
+
- **Systems**:
|
|
155
|
+
- Test Bench 1 (CSTB-001) → Primary validation bench
|
|
156
|
+
- Test Bench 2 (CSTB-002) → Regression testing bench
|
|
157
|
+
|
|
158
|
+
### Test Assets
|
|
159
|
+
|
|
160
|
+
- **DUT-001**: ACS unit 001 (serial: ACS-SN-20250101-001)
|
|
161
|
+
- **DUT-002**: ACS unit 002 (serial: ACS-SN-20250102-002)
|
|
162
|
+
- **Reference Equipment**:
|
|
163
|
+
- Reference Voltage Source (GPIB-connected)
|
|
164
|
+
- Data Logger (Ethernet-connected)
|
|
165
|
+
|
|
166
|
+
### Test Execution Configuration
|
|
167
|
+
|
|
168
|
+
- **Campaign Duration**: 2 hours (08:00-10:10)
|
|
169
|
+
- **DUTs Tested**: 2
|
|
170
|
+
- **Test Phases**: 3 (voltage, response time, thermal)
|
|
171
|
+
- **Test Results**: 5 (3 for Run 1, 1 for Run 2, 1 summary)
|
|
172
|
+
- **Measurements**: 73 total data points across 4 tables
|
|
173
|
+
|
|
174
|
+
### Acceptance Criteria
|
|
175
|
+
|
|
176
|
+
- **Voltage Regulation**: Ripple < 2% across 0-5A load range
|
|
177
|
+
- **Response Time**: Rise time < 100ms for step input
|
|
178
|
+
- **Thermal**: Peak internal temperature < 80°C at full load
|
|
179
|
+
- **Campaign**: All measurements pass specification limits
|
|
180
|
+
|
|
181
|
+
## Data Exploration
|
|
182
|
+
|
|
183
|
+
After installation, query the resources:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# List all created locations
|
|
187
|
+
slcli location list -w <workspace> --format table
|
|
188
|
+
|
|
189
|
+
# Find the ACS product
|
|
190
|
+
slcli product list -w <workspace> --take 50 | grep "Advanced Control"
|
|
191
|
+
|
|
192
|
+
# View test systems
|
|
193
|
+
slcli system list -w <workspace> | grep "Test Bench"
|
|
194
|
+
|
|
195
|
+
# Query test results
|
|
196
|
+
slcli result list -w <workspace> --take 20
|
|
197
|
+
|
|
198
|
+
# Export measurement data
|
|
199
|
+
slcli datatable export <workspace> <table-id> -o measurements.csv
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Workflow Understanding
|
|
203
|
+
|
|
204
|
+
### Phase 1: Planning (Tier 0-1 Provisioning)
|
|
205
|
+
|
|
206
|
+
Resources created: Location, Product, Systems, Assets
|
|
207
|
+
|
|
208
|
+
### Phase 2: Test Planning (Tier 2 Provisioning)
|
|
209
|
+
|
|
210
|
+
Resources created: Workflow, Test Template, Work Items, Work Order
|
|
211
|
+
|
|
212
|
+
### Phase 3: Test Execution (Tier 2 Execution)
|
|
213
|
+
|
|
214
|
+
- Work Order triggers scheduled start at 08:00
|
|
215
|
+
- Work Item 1 executes on Bench 1 (08:15-09:30)
|
|
216
|
+
- Work Item 2 executes on Bench 2 (09:45-10:10)
|
|
217
|
+
- Each item executes 3 test phases with measurements logged
|
|
218
|
+
|
|
219
|
+
### Phase 4: Results Collection (Tier 3 Population)
|
|
220
|
+
|
|
221
|
+
- Test Results created as executions complete
|
|
222
|
+
- Data Tables populated with measurement data
|
|
223
|
+
- Files stored (logs, reports, raw data)
|
|
224
|
+
- Campaign Summary aggregates all results
|
|
225
|
+
|
|
226
|
+
## Use Cases
|
|
227
|
+
|
|
228
|
+
1. **Learning**: Understand how SystemLink coordinates multi-phase tests with complete traceability
|
|
229
|
+
2. **Testing**: Validate test execution workflow in your environment
|
|
230
|
+
3. **Template**: Adapt for your own validation campaigns
|
|
231
|
+
4. **Benchmarking**: Measure SystemLink performance with realistic workload
|
|
232
|
+
5. **Documentation**: Examples for training and integration documentation
|
|
233
|
+
|
|
234
|
+
## Customization
|
|
235
|
+
|
|
236
|
+
To adapt for your environment:
|
|
237
|
+
|
|
238
|
+
1. **Replace Product Names**: Update `Advanced Control System v3.0` to your product
|
|
239
|
+
2. **Adjust Test Phases**: Modify workflow procedures and test template phases
|
|
240
|
+
3. **Change DUT Count**: Add more work items referencing different DUTs
|
|
241
|
+
4. **Scale Results**: Increase test result count to simulate longer campaigns
|
|
242
|
+
5. **Update Measurements**: Replace sample data with your actual test specifications
|
|
243
|
+
|
|
244
|
+
## Files Included
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
demo-complete-workflow/
|
|
248
|
+
├── config.yaml # Complete resource configuration
|
|
249
|
+
└── README.md # This file
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Cleanup
|
|
253
|
+
|
|
254
|
+
Remove all created resources:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
slcli example uninstall demo-complete-workflow -w <workspace>
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
This removes all resources tagged with `slcli-example:demo-complete-workflow`, leaving your workspace clean.
|
|
261
|
+
|
|
262
|
+
## Troubleshooting
|
|
263
|
+
|
|
264
|
+
### Resources Already Exist
|
|
265
|
+
|
|
266
|
+
If you see "skipped" status:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# List existing resources to verify
|
|
270
|
+
slcli location list -w <workspace> | grep "Production Test Lab"
|
|
271
|
+
|
|
272
|
+
# Either reuse existing IDs or use different resource names
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Partial Installation Failure
|
|
276
|
+
|
|
277
|
+
Resources are created individually. If installation fails mid-way:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
# Check what was created
|
|
281
|
+
slcli location list -w <workspace>
|
|
282
|
+
slcli product list -w <workspace>
|
|
283
|
+
slcli system list -w <workspace>
|
|
284
|
+
|
|
285
|
+
# Run uninstall to clean up and retry
|
|
286
|
+
slcli example uninstall demo-complete-workflow -w <workspace>
|
|
287
|
+
slcli example install demo-complete-workflow -w <workspace>
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Test Results Not Appearing
|
|
291
|
+
|
|
292
|
+
Test results are created as part of the provisioning flow:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
# Verify work items were created
|
|
296
|
+
slcli workitem list -w <workspace>
|
|
297
|
+
|
|
298
|
+
# Check for test results
|
|
299
|
+
slcli result list -w <workspace>
|
|
300
|
+
|
|
301
|
+
# If missing, check error messages in installation output
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
## Additional Resources
|
|
305
|
+
|
|
306
|
+
- **SystemLink API Documentation**: https://dev-api.lifecyclesolutions.ni.com/
|
|
307
|
+
- **Test Monitor Specs**: https://dev-api.lifecyclesolutions.ni.com/nitestmonitor/swagger/
|
|
308
|
+
- **Work Item API**: https://dev-api.lifecyclesolutions.ni.com/niworkitem/swagger/
|
|
309
|
+
- **systemlink-cli GitHub**: https://github.com/ni/systemlink-cli
|
|
310
|
+
|
|
311
|
+
## Contact & Support
|
|
312
|
+
|
|
313
|
+
For issues or questions about this example:
|
|
314
|
+
|
|
315
|
+
- File an issue: [GitHub Issues](https://github.com/ni/systemlink-cli/issues)
|
|
316
|
+
- Check existing examples in `slcli/examples/`
|
|
317
|
+
- Review the CLI help: `slcli example --help`
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
**Created**: 2025-12-18
|
|
322
|
+
**Format Version**: 1.0
|
|
323
|
+
**Recommended SystemLink Version**: 2024.1+
|