Development Process
Here we outline the setup and configuration of OpenStack to establish a secure foundation for the execution environment.
Configuration Management:
- All configurations are described in files (e.g., CSV, YAML, JSON) stored in a Git repository for version control.
- Any changes to the configuration require a formal merge request, which experts review and approve before merging.
- Tools like OpenTofu monitor configuration files and trigger a Jenkins pipeline. This pipeline validates the syntax, formats the files, and compares the new configuration against the previous one to create a change plan.
- This plan must be manually reviewed to prevent unexpected and automated changes to the environment.
Change Management Process:
- The change management process is visualized in a sequence diagram (Figure 8), available here.
OpenStack Domains:
- Function: Organize and isolate identity and authentication information, primarily used for multi-tenancy.
- Needs: Maintain a hierarchical structure for identity management in large-scale and multi-tenant deployments.
ย
Resources:
- Function: Allocate computing, storage, and network components to users or projects, including virtual machines, storage volumes, and network resources.
- Needs: Efficient management and allocation to ensure optimal utilization of the infrastructure, involving provisioning, monitoring, and scaling as required.
Projects:
- Function: Group and isolate resources and users into organizational units, creating isolated workspaces.
- Needs: Achieve multi-tenancy, allowing different teams or entities to have their own segregated space for resource management, enhancing security and control.
ย
ย
Flavors:
- Function: Define resource specifications for instances, including CPU, RAM, disk space, and other parameters.
- Needs: Provide a standardized way to request specific resource configurations, ensuring consistency in resource provisioning.
Security Groups:
- Function: Define networking rules and policies that control traffic to and from instances, acting as virtual firewalls.
- Needs: Ensure network security by controlling and securing communication between instances through defined traffic rules.
Instances:
- Function: Virtual machines created and managed within the OpenStack environment, running the desired operating system and applications.
- Needs: Offer flexible and scalable computing resources. Users can launch instances with specific configurations to meet application requirements, managed dynamically within the infrastructure.
This structured approach to setting up and configuring OpenStack ensures a secure, efficient, and scalable execution environment, essential for the INDIGO project’s success.