MAS DevOps
Welcome to the MAS DevOps documentation! This Python library provides tools and utilities for managing Maximo Application Suite (MAS) deployments and operations.
Overview
The mas-devops package provides a comprehensive set of Python modules and CLI tools for:
- OpenShift/Kubernetes Operations: Manage namespaces, resources, and deployments
- Tekton Pipelines: Install and manage OpenShift Pipelines for MAS automation
- Operator Lifecycle Manager (OLM): Handle operator installations and subscriptions
- MAS Suite Management: Configure and manage MAS instances and applications
- Database Operations: Validate and configure DB2 instances
- SaaS Operations: Clean up jobs and manage SaaS-specific tasks
- User Management: Create and manage initial users for MAS
- Notifications: Send alerts and notifications via Slack
Quick Example
from openshift import dynamic
from kubernetes import config
from kubernetes.client import api_client
from mas.devops.ocp import createNamespace
from mas.devops.tekton import installOpenShiftPipelines, updateTektonDefinitions, launchUpgradePipeline
instanceId = "mymas"
pipelinesNamespace = f"mas-{instanceId}-pipelines"
# Create an OpenShift client
dynClient = dynamic.DynamicClient(
api_client.ApiClient(configuration=config.load_kube_config())
)
# Install OpenShift Pipelines Operator
installOpenShiftPipelines(dynamicClient)
# Create the pipelines namespace and install the MAS tekton definitions
createNamespace(dynamicClient, pipelinesNamespace)
updateTektonDefinitions(pipelinesNamespace, "/mascli/templates/ibm-mas-tekton.yaml")
# Launch the upgrade pipeline and print the URL to view the pipeline run
pipelineURL = launchUpgradePipeline(self.dynamicClient, instanceId)
print(pipelineURL)
Features
Core Modules
- OCP: OpenShift/Kubernetes cluster operations
- Tekton: Pipeline management and execution
- OLM: Operator lifecycle management
- Utils: Common utilities and helper functions
MAS Modules
- Suite: MAS core suite management
- Apps: MAS application configuration and deployment
Service Integrations
- DB2: Database validation and configuration
- SLS: Suite License Service integration
- AI Service: AI/ML service management
- Slack: Notification and alerting
CLI Tools
The package includes several command-line tools:
mas-devops-db2-validate-config: Validate DB2 configurationsmas-devops-create-initial-users-for-saas: Create initial users for SaaS deploymentsmas-devops-saas-job-cleaner: Clean up completed jobs in SaaS environmentsmas-devops-notify-slack: Send notifications to Slack channels
Getting Started
Check out the Installation Guide to get started, or jump straight to the Quick Start guide.
API Reference
Browse the complete API Reference for detailed documentation of all modules, classes, and functions.
Contributing
We welcome contributions! Please see our Contributing Guide for details on how to get involved.
License
This project is licensed under the Eclipse Public License v1.0. See the License page for details.