Skip to content

Instantly share code, notes, and snippets.

@jbadiapa
Last active February 17, 2022 14:39
Show Gist options
  • Save jbadiapa/9d51eda62aa6c8b8f222a34acabc63f8 to your computer and use it in GitHub Desktop.
Save jbadiapa/9d51eda62aa6c8b8f222a34acabc63f8 to your computer and use it in GitHub Desktop.
tripleo-quickstart-cephadm(pacific-release)
git clone https://github.com/openstack/tripleo-quickstart.git
cd tripleo-quickstart
# Apply patch to use pacific repos on tripleo-quickstart
git fetch "https://review.opendev.org/openstack/tripleo-quickstart" refs/changes/43/782943/2 && git checkout FETCH_HEAD
cp config/nodes/3ctlr_2comp_3ceph.yml ~/myNodes.yml
#Apply the following patch
# Create the patch
cd ~
cat > ~/myNodes.patch <<EOF
--- tripleo-quickstart/config/nodes/3ctlr_2comp_3ceph.yml 2021-03-26 10:02:05.997970444 +0100
+++ /root/myNodes.yml 2021-04-05 11:34:26.503839431 +0200
@@ -4,11 +4,14 @@
# nodes, plus another 12GB for the undercloud, for a total of around
# 60GB.
control_memory: 8192
-compute_memory: 4096
-ceph_memory: 4096
-
+control_disk: 45
+compute_memory: 5120
+compute_disk: 50
+ceph_memory: 5120
+ceph_disk: 55
undercloud_memory: 12288
+
# Giving the undercloud additional CPUs can greatly improve heat's
# performance (and result in a shorter deploy time).
# Using a total of 10 vcpus (1 is the default for overcloud nodes)
@@ -36,23 +39,19 @@
flavor: compute
virtualbmc_port: 6233
- - name: compute_1
- flavor: compute
- virtualbmc_port: 6234
-
- name: ceph_0
flavor: ceph
- virtualbmc_port: 6235
+ virtualbmc_port: 6234
- name: ceph_1
flavor: ceph
- virtualbmc_port: 6236
+ virtualbmc_port: 6235
- name: ceph_2
flavor: ceph
- virtualbmc_port: 6237
+ virtualbmc_port: 6236
-node_count: 8
+node_count: 7
topology_map:
Controller:
@@ -71,7 +70,7 @@
- network: tenant
subnet: tenant_subnet
Compute:
- scale: 2
+ scale: 1
networks:
- network: ctlplane
vif: true
EOF
# Apply the patch
patch myNodes.yml myNodes.patch
#Deploy the environment
##### --extra-vars docker_registry_host="quay.io" --extra-vars container_build_id="current-tripleo"
cd tripleo-quickstart
./quickstart.sh -n -R master-tripleo-ci --tags none -T all --nodes /root/myNodes.yml 127.0.0.2
./quickstart.sh -n -X -R master-tripleo-ci --tags all -T none --extra-vars undercloud_disk=70 --nodes /root/myNodes.yml -p quickstart.yml 127.0.0.2
./quickstart.sh -R master-tripleo-ci --no-clone --tags all -I -T none --nodes /root/myNodes.yml --extra-vars undercloud_enable_swift=true -p quickstart-extras-undercloud.yml 127.0.0.2
./quickstart.sh -R master-tripleo-ci --no-clone --tags all -I -T none --nodes /root/myNodes.yml -p quickstart-extras-overcloud-prep.yml 127.0.0.2
./quickstart.sh -R master-tripleo-ci --no-clone --tags overcloud-scripts -I -T none --nodes /root/myNodes.yml -p quickstart-extras-overcloud.yml 127.0.0.2
###CEPH PART
=============
# Ensure that the ceph nodes use the /dev/vda as a root_device
[stack@undercloud ~]$ source stackrc
(undercloud) [stack@undercloud ~]$ openstack baremetal node set ceph-0 --property root_device="{ \"name\" : \"/dev/vda\" }"
(undercloud) [stack@undercloud ~]$ openstack baremetal node set ceph-1 --property root_device="{ \"name\" : \"/dev/vda\" }"
(undercloud) [stack@undercloud ~]$ openstack baremetal node set ceph-2 --property root_device="{ \"name\" : \"/dev/vda\" }"
# Create the topology where the VMs are going to act as what we want on the overcloud
# The overcloud_baremetal_deploy.yaml does not have the instances, but it has the networks so
# instances need to be added to the line.
[stack@undercloud ~]$ vi overcloud_baremetal_deploy.yaml
- name: Controller
count: 3
instances:
- hostname: overcloud-controller-0
name: control-0
- hostname: overcloud-controller-1
name: control-1
- hostname: overcloud-controller-2
name: control-2
- name: Compute
count: 1
instances:
- hostname: overcloud-novacompute-0
name: compute-0
- name: CephStorage
count: 3
instances:
- hostname: overcloud-cephstorage-0
name: ceph-0
- hostname: overcloud-cephstorage-1
name: ceph-1
- hostname: overcloud-cephstorage-2
name: ceph-2
# Provision the servers properly, I needed to do it until all the servers are deploy properly
### Comment that part on the overcloud-deply.sh script
## * Provision the baremetal nodes
## ::
#openstack overcloud node provision \
# \
# --stack overcloud \
# --output /home/stack/overcloud-baremetal-deployed.yaml /home/stack/overcloud_baremetal_deploy.yaml
#if [ $? -ne 0 ]; then
# exit 1
#fi
(undercloud) [stack@undercloud ~]$ openstack overcloud network provision -y -o overcloud-networks-deployed.yaml /usr/share/openstack-tripleo-heat-templates/ci/network_data.yaml
(undercloud) [stack@undercloud ~]$ openstack overcloud network vip provision -y -o overcloud-vips-deployed.yaml --stack overcloud /usr/share/openstack-tripleo-heat-templates/ci/vip_data.yaml
(undercloud) [stack@undercloud ~]$ openstack overcloud node provision -o overcloud-baremetal-deployed.yaml --stack overcloud overcloud_baremetal_deploy.yaml
(undercloud) [stack@undercloud ~]$ openstack overcloud node provision --stack overcloud --output /home/stack/overcloud-baremetal-deployed.yaml /home/stack/overcloud_baremetal_deploy.yaml
### If there is an error with some servers you can undeploy it manually and redeploy all (only the non-deployed are going to be deployed)
# To check the status
(undercloud) [stack@undercloud ~]$ metalsmith list
# To undeploy one server manually
(undercloud) [stack@undercloud ~]$ metalsmith undeploy NODEID
#Modify the ceph_tag on the containers-prepare-parameter.yaml file
# Set the ceph_tag: "v6.0.0-stable-6.0-pacific-centos-8-x86_64"
#Add the file /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml to the overcloud-deploy.sh script
# "-e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml"
#Execute the overcloud-deploy.sh script
(undercloud) [stack@undercloud ~]$ ./overcloud-deploy.sh
@sidiosidi
Copy link

Hello,
Tried this method many times but fails
Do you have any update on ceph install with controller HA?

Thanks

@jbadiapa
Copy link
Author

hi,
Most of the patches needed to deploy with ceph are already there.
Because the use of master, it depends on the error you hit.
The most common ones:

  • Issues with the repos
  • Some errors with the order of some components which makes to fail
    I'm pretting much using that procedure, with very little change or no changes at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment