Skip to content

Commit b1dadc0

Browse files
atharvauAtharva
andauthored
[Workload-Orchestration] Added Context-ID in Target Update (#8977)
* Added Changes * Added change * Added Changes * Added * Added * Added CM * Added Change * Made changes * Made changes * Added changes * Changes to accomodate fix * Made changes in history * Made changes * Added * increase version * changes * fixed endp --------- Co-authored-by: Atharva <audapure@microsoft.com>
1 parent 00aa9cc commit b1dadc0

5 files changed

Lines changed: 59 additions & 4 deletions

File tree

src/workload-orchestration/HISTORY.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
Release History
44
===============
55

6+
2.0.0
7+
++++++
8+
* Added required context-id parameter to target create command
9+
* Fixed target update command to preserve contextId property during PUT operations
10+
* Enhanced package description with comprehensive workload orchestration summary
11+
* Improved README documentation with detailed feature descriptions and use cases
12+
* Better formatting and structure in package metadata
13+
614
1.0.0
715
++++++
816
* Initial release.

src/workload-orchestration/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Workload Orchestration
22

3+
## What is Workload Orchestration?
4+
5+
Workload orchestration for Azure Arc is a comprehensive, cloud-native, cross-platform service engine that simplifies the deployment, management, and update of application workloads across edge environments. It addresses typical application lifecycle management problems for customers who need application deployments across multiple fleets with site-specific configurations and natively supports Kubernetes workloads.
6+
7+
## What Problems Does Workload Orchestration Solve?
8+
9+
Workload orchestration addresses several key challenges faced by organizations managing applications at the edge:
10+
11+
- **Distributed Configuration Authoring**: Managing configuration files for multiple applications often requires input from different stakeholders across various edge locations, making collaboration and consistency difficult.
12+
- **Edge Contextualization**: Edge environments typically include diverse devices and complex topologies, each requiring tailored configurations to meet site-specific needs.
13+
- **Configuration Validation**: Ensuring that configuration parameters are correct before deployment is critical to prevent misconfigurations and avoid costly downtime or productivity loss.
14+
- **Version Management**: Maintaining multiple versions of application code and configuration files can complicate auditing and tracking changes across deployments.
15+
- **Lack of Visibility**: Without a unified view of applications and deployment status, identifying failures and optimizing operations becomes a manual, resource-intensive process.
16+
- **Role-Based Access Control (RBAC)**: Enforcing role-based access ensures that only authorized users can manage and operate within their designated scope, improving security and governance.
17+
- **Logging and Traceability**: Comprehensive logging and error tracing are essential for effective debugging, remediation, and compliance.
18+
19+
## Key Features
20+
21+
- **Template Framework and Schema Inheritance**: Define solution configurations and schemas once, then reuse or extend them for multiple deployments. Central IT teams can create a single source of truth for app configurations, which sites can inherit and customize as needed.
22+
- **Dependent Application Management**: Deploy and manage interdependent applications using orchestrated workflows. Supports configuring and deploying apps with dependencies through the CLI or workload orchestration portal.
23+
- **Custom and External Validation Rules**: Administrators can define pre-deployment validation rules to check parameter inputs and settings, preventing misconfigurations. External validation lets you verify templates through services like Azure Functions or webhooks.
24+
- **Integrated Monitoring and Unified Control**: Monitor deployments and workload health from a centralized dashboard. Pause, retry, or roll back deployments as needed, with full logging and compliance visibility.
25+
- **No-Code Authoring Experience with RBAC**: The workload orchestration portal offers a no-code UI for defining and updating application settings, secured with role-based access control and audit logging.
26+
- **CLI and Automation Support**: IT admins and DevOps engineers can use the CLI for scripted deployments, automation, and CI/CD integration, enabling bulk management of application lifecycles across sites.
27+
- **Fast Onboarding and Setup**: Guided workflows help you quickly configure your organizational hierarchy, user roles, and access policies.
28+
29+
## How It Works
30+
31+
Workload orchestration uses both cloud and edge components to deliver a unified management experience. The cloud-based control plane leverages a dedicated Azure resource provider, allowing you to centrally define deployment templates. These templates are then consumed by workload orchestration agents running at edge locations, which automatically adapt and apply the necessary customizations for each site.
32+
33+
All workload orchestration resources are managed through Azure Resource Manager, enabling fine-grained Role-Based Access Control (RBAC) and consistent governance. You can interact with workload orchestration using the CLI and Azure portal, while non-code onsite staff benefit from a user-friendly interface for authoring, monitoring, and deploying solutions with site-specific configurations.
34+
35+
---
36+
37+
## Getting Started
38+
339
This guide will help you get started with Workload Orchestration for authoring, deploying, and monitoring application configurations using the converged object model.
440

541
Key features of the public preview release include end-to-end flows for application dependencies, along with an enhanced UI experience offering additional capabilities like Compare, Copy, Delete, Uninstall, and more.

src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_create.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ def _build_arguments_schema(cls, *args, **kwargs):
7171
options=["--context-id"],
7272
arg_group="Properties",
7373
help="ArmId of Context",
74+
required=True,
7475
)
7576
_args_schema.description = AAZStrArg(
7677
options=["--description"],
7778
arg_group="Properties",
7879
help="Description of target",
79-
required=True,
8080
)
8181
_args_schema.display_name = AAZStrArg(
8282
options=["--display-name"],
@@ -95,6 +95,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
9595
fmt=AAZStrArgFormat(
9696
pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
9797
),
98+
9899
)
99100
_args_schema.state = AAZStrArg(
100101
options=["--state"],

src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_update.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
103103
help="target spec",
104104
)
105105

106+
106107
capabilities = cls._args_schema.capabilities
107108
capabilities.Element = AAZStrArg(
108109
nullable=True,
@@ -466,6 +467,10 @@ def _build_schema_target_read(cls, _schema):
466467
serialized_name="hierarchyLevel",
467468
flags={"required": True},
468469
)
470+
properties.context_id = AAZStrType(
471+
serialized_name="contextId",
472+
flags={"required": True},
473+
)
469474
properties.provisioning_state = AAZStrType(
470475
serialized_name="provisioningState",
471476
flags={"read_only": True},

src/workload-orchestration/setup.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010

1111

1212
# HISTORY.rst entry.
13-
VERSION = '1.0.0'
13+
VERSION = '2.0.0'
1414

1515
# The full list of classifiers is available at
1616
# https://pypi.python.org/pypi?%3Aaction=list_classifiers
1717
CLASSIFIERS = [
18-
'Development Status :: 4 - Beta',
18+
'Development Status :: 5 - Production/Stable',
1919
'Intended Audience :: Developers',
2020
'Intended Audience :: System Administrators',
2121
'Programming Language :: Python',
@@ -33,11 +33,16 @@
3333
with open('HISTORY.rst', 'r', encoding='utf-8') as f:
3434
HISTORY = f.read()
3535

36+
SUMMARY = """
37+
Workload orchestration for Azure Arc is a comprehensive, cloud-native, cross-platform service engine that simplifies the deployment, management, and update of application workloads across edge environments. Workload orchestration addresses typical application lifecycle management problems for customers who need to have application deployments across multiple fleets with site-specific configurations. It natively supports kubernetes workloads.
38+
39+
"""
40+
3641
setup(
3742
name='workload-orchestration',
3843
version=VERSION,
3944
description='Microsoft Azure Command-Line Tools WorkloadOperations Extension.',
40-
long_description=README + '\n\n' + HISTORY,
45+
long_description=SUMMARY,
4146
license='MIT',
4247
author='Microsoft Corporation',
4348
author_email='azpycli@microsoft.com',

0 commit comments

Comments
 (0)