-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Scaffold modular Ansible project for OpenStack Nova deployment #55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
onelrian
wants to merge
35
commits into
main
Choose a base branch
from
50-compute-service-nova-automation
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…\n-Add inventory file and separate playbooks for controller and compute nodes \n-Implement roles: common (system prep), nova-db (DB setup),nova-controller (API,scheduler , placement , flavors , quotas , no-compute (KVM/QEMU ,libvirt), nova-cells (cell mapping) , openstack-test (intergration test VM) \n-Centralize all passwrdswith single globalvariable in common /defaults/main.yml\n-Add Jinja2 templates fofr nova.conf (controller and compute) \n-Ensure all roles contain only non-empty, relevant files
9 tasks
…ecks - Authenticate with Keystone using password method - Extract token from response headers - Use token to query Glance image API endpoint - Fail early if either service is unavailable
…lance connection - Add env-based defaults for keystone_url, credentials, project name - Allow override in group_vars or via environment
…vars - Keystone token endpoint (/v3/auth/tokens) - Glance image list check (/v2/images)
- Documents purpose of role - Lists task behaviors and variables - Explains failure behavior for unmet dependencies
…f nova controller services - Create DBs and grant privileges - Register user, role, and endpoints with Keystone - Install and enable nova-api, scheduler, conductor - Sync databases
- Includes api_database, database, keystone_authtoken, and concurrency sections - Uses Jinja2 variables for passwords and connection URIs
… nova-compute - Installs nova-compute and dependencies - Applies nova.conf template - Starts and enables nova-compute service
- Configures messaging, Keystone, VNC, placement, libvirt - Auto-populates with controller and network details
- Installs required virtualization and libvirt packages - Validates hardware support via kvm-ok - Ensures libvirt services are enabled and running - Adds nova to libvirt group
…d meta - Implement Nova cell0 mapping, cell1 creation, and host discovery - Define default variables for nova-manage path and service ownership - Document role purpose, usage, and default variables in README.md - Add meta file for Ansible Galaxy compatibility - Add empty handlers file for consistency
… and meta - Create role to define and provision standard OpenStack flavors - Add default flavor list and scoped variables for region and project - Add role documentation, usage instructions, and variable explanations - Add meta file for Ansible Galaxy support - Add empty handlers file for structural consistency
…ts, docs, and meta - Provision, verify, and delete test VMs for Nova validation - Add default variables for flavor, image, keypair, and cleanup control - Document usage, inputs, and operational expectations in README.md - Add meta file for Ansible Galaxy integration - Add empty handlers file for structural consistency
…r and compute, and docs - Define production inventory with controller and compute groups - Add controller group_vars for Keystone, DB, Glance, and RabbitMQ configuration - Add compute group_vars with virt_type, controller reference, and Nova auth - Document inventory layout and variable purposes across groups
- Restructure site playbook to sequence controller, compute, and test VM stages - Remove redundant roles from controller playbook for compatibility with new site.yml - Update compute playbook for role-only execution - Align README usage examples with new site.yml and modular structure
… duplicates - Added flagged words (e.g. misconfigured, keypair, nova_compute) to accept.txt - Reviewed extended list of regex terms for redundancy - Verified no duplicate or overlapping patterns in spellcheck configuration
…pendencies - Replace hardcoded values with variables for hosts, passwords, and service URLs - Use community and OpenStack Ansible collections for database and service modules - Manage service lists via variables for easier enable/start tasks - Enhance configuration templates to reference variables consistently - Implement idempotent commands with proper error handling in tasks - Add or update README files to clearly document role purpose, variables, and requirements - Define Ansible collections in requirements.yml to handle external dependencies
…pendencies - Replace hardcoded values with variables for hosts, passwords, and service URLs - Use community and OpenStack Ansible collections for database and service modules - Manage service lists via variables for easier enable/start tasks - Enhance configuration templates to reference variables consistently - Implement idempotent commands with proper error handling in tasks - Add or update README files to clearly document role purpose, variables, and requirements - Define Ansible collections in requirements.yml to handle external dependencies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR scaffolds a modular Ansible project for deploying OpenStack Nova across controller and compute nodes.
Key Changes:
Inventory Structure:
inventory
file to define hosts and groups forcontroller
andcompute
nodes.Playbooks:
Created separate playbooks for:
controller-node.yml
compute-node.yml
Roles Implemented:
common
: System prep (packages, users, config)nova-db
: Sets up Nova databases and usersnova-controller
: Deploys API, Scheduler, Placement, flavors, quotasnova-nocompute
: Sets up KVM/QEMU and libvirt (on compute nodes)nova-cells
: Handles cell mapping and cellv2 registrationopenstack-test
: Launches integration test VM to verify deploymentTemplates:
nova.conf
for both controller and compute nodesVariables:
Centralized all sensitive variables (passwords, tokens) under:
common/defaults/main.yml
Cleanup: