Install Disk Image Builder.
[hamzy@overcloud ~]$ (cd diskimage-builder/; sudo pip install --upgrade --force-reinstall --requirement requirements.txt; sudo python setup.py install --force)
Configure the repositories that the overcloud building process uses.
[hamzy@overcloud ~]$ cat << __EOF__ | sudo tee -a /etc/yum.repos.d/DLRN.repo [DLRN] name=DLRN baseurl=https://trunk.rdoproject.org/centos7/current-passed-ci/ enabled=1 gpgcheck=0 cost=1 __EOF__ [hamzy@overcloud ~]$ cat << __EOF__ | sudo tee -a /etc/yum.repos.d/cloud7-openstack-common-candidate.repo [cloud7_openstack_common_candidate] name=cloud7_openstack_common_candidate baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-candidate/ppc64le/os/ enabled=1 gpgcheck=0 cost=2 __EOF__ [hamzy@overcloud ~]$ cat << __EOF__ | sudo tee -a /etc/yum.repos.d/cloud7-openstack-common-testing.repo [cloud7_openstack_common_testing] name=cloud7_openstack_common_testing baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-testing/ppc64le/os/ enabled=1 gpgcheck=0 cost=3 __EOF__ [hamzy@overcloud ~]$ cat << __EOF__ | sudo tee -a /etc/yum.repos.d/cloud7-openstack-common-release.repo [cloud7_openstack_common_release] name=cloud7_openstack_common_release baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-release/ppc64le/os/ enabled=1 gpgcheck=0 cost=4 __EOF__ [hamzy@overcloud ~]$ cat << __EOF__ | sudo tee -a /etc/yum.repos.d/cloud7-openstack-pike-candidate.repo [cloud7_openstack_pike_candidate] name=cloud7_openstack_pike_candidate baseurl=http://cbs.centos.org/repos/cloud7-openstack-pike-candidate/ppc64le/os/ enabled=1 gpgcheck=0 cost=5 __EOF__ [hamzy@overcloud ~]$ cat << __EOF__ | sudo tee -a /etc/yum.repos.d/cloud7-openstack-pike-testing.repo [cloud7_openstack_pike_testing] name=cloud7_openstack_pike_testing baseurl=http://cbs.centos.org/repos/cloud7-openstack-pike-testing/ppc64le/os/ enabled=1 gpgcheck=0 cost=6 __EOF__ [hamzy@overcloud ~]$ cat << __EOF__ | sudo tee -a /etc/yum.repos.d/cloud7-openstack-pike-release.repo [cloud7_openstack_pike_release] name=cloud7_openstack_pike_release baseurl=http://cbs.centos.org/repos/cloud7-openstack-pike-release/ppc64le/os/ enabled=1 gpgcheck=0 cost=7 __EOF__ [hamzy@overcloud ~]$ sudo yum clean all; sudo yum update -y
Install python-tripleoclient and apply patch [1] (which allow ppc64le to be built instead of amd64).
[hamzy@overcloud ~]$ sudo yum install -y python-tripleoclient [hamzy@overcloud ~]$ (cd /usr/share/openstack-tripleo-common; wget --quiet -O - 'https://review.openstack.org/changes/489476/revisions/fba2902dc6aacffd04697dc72dfd5e5b8a427eec/patch?download' | base64 --decode | awk '/^diff --git a\/releasenotes\/notes\/default-arch-selection-d5fd2fcdba725dd4/{found=1;} {if (!found) {print;}}' | sudo patch -p1) patching file image-yaml/overcloud-hardened-images-centos7.yaml patching file image-yaml/overcloud-hardened-images-rhel7.yaml patching file image-yaml/overcloud-hardened-images.yaml patching file image-yaml/overcloud-images-centos7.yaml patching file image-yaml/overcloud-images-rhel7.yaml patching file image-yaml/overcloud-images.yaml patching file image-yaml/overcloud-odl-rhel7.yaml [hamzy@overcloud ~]$ (cd /usr/lib/python2.7/site-packages/tripleo_common/; wget --quiet -O - 'https://review.openstack.org/changes/489476/revisions/fba2902dc6aacffd04697dc72dfd5e5b8a427eec/patch?download' | base64 --decode | awk '/^diff --git a\/tripleo_common\/arch.py/{i++}i' | sudo patch -p2) patching file arch.py patching file image/build.py patching file tests/test_arch.py
Run the overcloud building command:
[hamzy@overcloud ~]$ (export DIB_YUM_REPO_CONF="/etc/yum.repos.d/DLRN.repo /etc/yum.repos.d/cloud7-openstack-common-candidate.repo /etc/yum.repos.d/cloud7-openstack-common-testing.repo /etc/yum.repos.d/cloud7-openstack-common-release.repo /etc/yum.repos.d/cloud7-openstack-pike-candidate.repo /etc/yum.repos.d/cloud7-openstack-pike-testing.repo /etc/yum.repos.d/cloud7-openstack-pike-release.repo"; export NODE_ARCH=ppc64le; export DIB_CLOUD_IMAGES="http://ftp.unicamp.br/pub/ppc64el/centos/7/images/"; export BASE_IMAGE_FILE="CentOS-7-ppc64le-GenericCloud-1611.qcow2"; openstack overcloud image build) ... Error: Package: erlang-sd_notify-0.1-9.el7.ppc64le (cloud7_openstack_common_candidate) Requires: erlang(erl_nif_version) = 2.11 Installing: erlang-erts-18.3.4.5-4.el7.ppc64le (cloud7_openstack_common_candidate) erlang(erl_nif_version) = 2.10 ...
erlang-18.3.4.5-4.el7 [2] [3] ( erlang(erl_nif_version) = 2.10 ) ( cloud7-openstack-common-candidate,cloud7-openstack-common-testing,cloud7-openstack-queens-testing )
seems like it has replaced erlang-19.3.6.1-1.el7 [4] [5] ( erlang(erl_nif_version) = 2.11 ) ( cloud7-openstack-common-candidate )