Bug 1825315
| Summary: | [OSP16] Overcloud stack deployment with Pre-provised nodes not triggered mistral config-download | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Pradipta Kumar Sahoo <psahoo> |
| Component: | openstack-tripleo-common | Assignee: | Luke Short <lshort> |
| Status: | CLOSED NOTABUG | QA Contact: | David Rosenfeld <drosenfe> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 16.0 (Train) | CC: | emacchi, lshort, mburns, slinaber |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-05-04 17:35:54 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1827695 | ||
| Bug Blocks: | |||
|
Description
Pradipta Kumar Sahoo
2020-04-17 16:37:06 UTC
Hi Luke,
It seems ansible failed to generate the inventory due to no ctlplane network mapping.
As per the upstream guide [2], I guess below env parameters should help. Since these env values not included in our downstream guide[1], so we would like to know thought on before to proceed.
~~~
export OVERCLOUD_ROLES="ControllerDeployedServer ComputeDeployedServer"
export ControllerDeployedServer_hosts="192.168.25.1 192.168.25.2 192.168.25.3"
export ComputeDeployedServer_hosts="192.168.25.4"
~~~
Reproduced steps:
----------------
1. Copied the existing deployment script and updated with the config-download parameter to forcefully trigger ansible inventory.
~~~
$ diff test-deploy.sh test-deploy-config-download.sh
18c18,19
< --overcloud-ssh-key ~/.ssh/id_rsa --log-file overcloud_install.log &> /home/stack/overcloud_install.log
---
> --config-download-only --config-download-timeout 300 \
> --overcloud-ssh-key ~/.ssh/id_rsa --log-file overcloud_install_config.log &> /home/stack/overcloud_install_config.log
~~~
2. Overcloud failed to configure Ansible inventory.
~~~
$ tail -f overcloud_install_config.log
Waiting for messages on queue 'tripleo' with no timeout.
2020-04-20 14:06:49.748 372067 WARNING tripleoclient.plugin [ admin] Waiting for messages on queue 'tripleo' with no timeout.
2020-04-20 14:07:27.419 372067 ERROR openstack [ admin] Overcloud configuration failed.
or Controller role on ctlplane network', action_cls='<class 'mistral.actions.action_factory.AnsibleGenerateInventoryAction'>', attributes='{}', params='{'ansible_ssh_user': 'tripleo-admin', 'ansible_python_interpreter': None, 'work_dir':
'/var/lib/mistral/overcloud', 'plan_name': 'overcloud', 'ssh_network': 'ctlplane', 'undercloud_key_file': '/var/lib/mistral/.ssh/tripleo-admin-rsa'}']
~~~
$ openstack overcloud failures --stack overcloud
Ansible errors file not found at /var/lib/mistral/overcloud/ansible-errors.json
$ openstack action execution list --fit-width|grep -v SUCCESS
+--------------------------------------+--------------------------------------------+-------------------------------------------------------+--------------------+------------------------------+--------------------------------------+---------+----------+---------------------+---------------------+
| ID | Name | Workflow name | Workflow namespace | Task name | Task ID | State | Accepted | Created at | Updated at |
+--------------------------------------+--------------------------------------------+-------------------------------------------------------+--------------------+------------------------------+--------------------------------------+---------+----------+---------------------+---------------------+
| b23cd350-78ed-449c-8b2a-3769d90b8d1a | tripleo.ansible-generate-inventory | tripleo.deployment.v1.config_download_deploy | | generate_inventory | baea976e-6be3-4496-a30b-3d5133afaaaa | ERROR | True | 2020-04-20 14:07:25 | 2020-04-20 14:07:26 |
+--------------------------------------+--------------------------------------------+-------------------------------------------------------+--------------------+------------------------------+--------------------------------------+---------+----------+---------------------+---------------------+
$ openstack action execution show b23cd350-78ed-449c-8b2a-3769d90b8d1a --fit-width
+--------------------+----------------------------------------------+
| Field | Value |
+--------------------+----------------------------------------------+
| ID | b23cd350-78ed-449c-8b2a-3769d90b8d1a |
| Name | tripleo.ansible-generate-inventory |
| Workflow name | tripleo.deployment.v1.config_download_deploy |
| Workflow namespace | |
| Task name | generate_inventory |
| Task ID | baea976e-6be3-4496-a30b-3d5133afaaaa |
| State | ERROR |
| State info | None |
| Accepted | True |
| Created at | 2020-04-20 14:07:25 |
| Updated at | 2020-04-20 14:07:26 |
+--------------------+----------------------------------------------+
$ openstack action execution output show b23cd350-78ed-449c-8b2a-3769d90b8d1a
{
"result": "The action raised an exception [action_ex_id=b23cd350-78ed-449c-8b2a-3769d90b8d1a, msg='No IPs found for Controller role on ctlplane network', action_cls='<class 'mistral.actions.action_factory.AnsibleGenerateInventoryAction'>', attributes='{}', params='{'ansible_ssh_user': 'tripleo-admin', 'ansible_python_interpreter': None, 'work_dir': '/var/lib/mistral/overcloud', 'plan_name': 'overcloud', 'ssh_network': 'ctlplane', 'undercloud_key_file': '/var/lib/mistral/.ssh/tripleo-admin-rsa'}']"
}
[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.0/html-single/director_installation_and_usage/index#configuring-a-basic-overcloud-with-pre-provisioned-nodes
[2] https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/features/deployed_server.html#deployment-command
BR,
Pradipta
The problems outlined here have been addressed outside of the BugZilla. To recap everything so far: 1. The Undercloud does not provide DHCP / IP addressing to pre-provisioned servers. It is expected that those nodes are managed by an external source. 2. NIC configurations can be modified using a custom os-net-config configuration via a "net-config-*.yaml" template. 3. We were able to get the deployment to work with and without network isolation. All the issues have come down to a misunderstanding of the expectations of pre-provisioned nodes and issues with incorrect custom THT settings. |