The following first goal of the project has been accomplished:
- Use TripleO to stand up an Overlcoud (
openstack overcloud deploy ...
) - Deploy overcloud nodes without OpenStack services
- Use Mistral to trigger Ceph-Ansible to install Ceph on the Overcloud nodes without OpenStack services
To see how it looks when run see session1.txt.
It's also possible to use the same process to deplopy ceph in containers see session2.txt.
Suppose I then do the following in subsequent goals:
- Use OS::Mistral::WorflowExecution to start the workflow so all I need to do is
openstack overcloud deploy ...
(Goal2) - Use ceph-ansible docker to deploy Ceph in containers [ done ].
- Use Containerized Compute
- Use External Ceph to make the overcloud talk to the CephCluster stood up on overcloud nodes without OpenStack services.
Then all I would need to do is insert Tendrl in between Mistral and Ceph-Ansible and I would have implemented the main goal of the spec Integrate TripleO with Tendrl for External Storage Deployment/Management.
Assuming the the controller portion of the spec Deploying TripleO in Containers is finished, then I could converge them as follows:
- ContainerHost{1,2,3}: 2 containers: CephMon and OpenStackController
- ContainerHost{4..N}: 2 containers: NovaCompute and CephOSD
In between the above, once Goal2 is achieved is working, I could at least provide a dev environment for a Hackthon between TripleO'ers and Tendrl'ers where we have TripleO standing up a Ceph Cluster not managed by TripleO's Puppet but by something more hands-off like a Mistral workflow. We could then work on inserting a different Mistral workflow which calls Tendrl instead of ceph-ansible But while is working is happening we would have a working example to reference and we would be inserting into an already working larger system.
- Set up TripleO-quickstart undercloud (works-for-me via master.sh)
- Deploy juice-boxes (works-for-me via deploy-jeos.sh)
- Run mistral-ceph-ansible.sh which executes the workflow mistral-ceph-ansible.yaml
I have verified that the above works in my virtual environment. The run takes less than 30 minutes. An example is in session1.txt.
Deploy HCI OpenStack/Ceph where Mistral installed Ceph
- Use deploy-mistral-ceph-hci.sh to deploy OpenStack to use an external Ceph cluster (which it will self-host)
- If the playbook is configured to use br-ex instead of eth0, then the same mistral workflow will install Ceph on the same hosts.
- Then you just need to restart nova, cinder, and glance to have those services use Ceph and you can do a sanity-check.sh.