summaryrefslogtreecommitdiffstats
path: root/lib/ansible/playbooks/configure_undercloud.yml
AgeCommit message (Collapse)AuthorFilesLines
2019-03-20Fixes deployment on CentOS 7.6Tim Rozet1-0/+4
Ceph-ansible install is moved from image builder to post undercloud install to ensure the right repo exists and it used. OVS building is now skipped as the build fails with CentOS 7.6. JIRA: APEX-658 Change-Id: I6ec253d5a88eb3cdfa38cf177b6e4b16ac5a16ed Signed-off-by: Tim Rozet <trozet@redhat.com>
2019-01-22Fixes broken compute role updateTim Rozet1-2/+12
We now insert the External network into the compute role after it was removed upstream. However, the format has now changed for the network specification. It no longer uses an Array, but instead uses a Dict. This patch accounts for that case. Also, adds new required arg --role-name to the NIC template merge tool. Additionally, now undercloud is missing iptables rule to allow ssh after undercloud install. This patch adds it via ansible. Change-Id: Id3e4ecdfb1633ec4c58435c294f544a9625a106e Signed-off-by: Tim Rozet <trozet@redhat.com>
2019-01-11Fixes undercloud install failure with setting hostnameTim Rozet1-3/+3
There is a new bug when deploying master/rocky where the OS of the undercloud/overcloud is now upgraded to CentOS 7.6. When the undercloud install runs it fails to configure the hostname using hostnamectl. This is because systemd-hostnamed is not running and fails to start. Simply reloading dbus seems to fix the issue. In the dbus logs there are odd error messages like: dbus-daemon[3230]: Unknown username "root" in message bus configuration file Disabling selinux seems to fix this. This patch also moves to use podman instead of docker for container management and invokes a script in Ansible which updates NIC templates as new variables are added upstream. Furthermore, with the new patches for routed networks in OOO, it is now required that the MTU is set in network-data, as well as adding the External network to the Compute role. Now the External network is removed by default from the Compute role. Change-Id: Ie8b86f6f28d69bda11b1f7a430df882970ac3cb9 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-11-18Bring in aarch64 support in apexCharalampos Kominos1-15/+0
RDO builds packages which are aarch64 compatible but some configuration is needed to succesfully deploy. This change: - Prepares the aarch64 docker.io repo as the source for Kolla Containers - Configures VM sizing for aarch64 undercloud. - Configures VM sizing for aarch64 virtual deploy targets. Vms need to be larger on aarch64 compared to x86 to avoid starvation of resources. (MYSQL) - Configures vda2 as the location of the Linux Kernel in aarch64 in an UEFI system - Configures the vNICs to be on the pci-bus instead of the virtio-mmio bus.This will enalbe the Nics to come up in the same order as the x86 ones, so the extra configuration in ansible is not needed - Configures apex to use a stable version of the ceph:daemon container - Configure apex for containerized undercloud in Rocky - Add extra ansible.cfg file for aarch64 which increases waiting times in ansible for aarch64 - Provide helper scripts for DIB to create aarch64 UEFI images Known limitations: - Selinux is interfering with DHCP requests in ironic and ssh so it must be disabled before the deploy command is ran. - The aarch64 containers are frozen for in this commit: https://trunk.rdoproject.org/centos7-rocky/f3/18/f3180de6439333a2813119ad4b00ef897fcd596f_70883030 - The 600s timeout defined in : https://bugs.launchpad.net/tripleo/+bug/1789680 is not enough for aarch64. A value of 1200s is recommended JIRA: APEX-619 Change-Id: Ia3f067821e12bba44939bbf8c0e4676f2da70239 Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> Signed-off-by: ting wu <ting.wu@enea.com>
2018-11-01Fixes Docker image upload for master/rockyTim Rozet1-0/+7
The API has changed to create/upload the docker container images to be used for deployment. In the past the prepare commands would read the THT environment files passed, to determine which docker images to render into an environment file. The new behavior uses a new "containers-prepare-parameter.yaml" format (included in this patch), which Apex will now configure for deployment. By default docker images will be rendered for all TripleO services identified in the roles_data.yaml file. Therefore we must use several excludes patterns to only pull the docker images needed for a default deployment. JIRA: APEX-642 Change-Id: Iab00fcb874554bb98540dc9a4c3051e58ea68a3b Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-10-31Fixes failure to restart containers post undercloud installTim Rozet1-12/+6
It looks like the docker_container ansible module will recreate the container if it fails to restart it. This is undesired behavior so moving to use shell to restart the containers. Also, fixes mistral executor container not properly mounting the ceph-ansible playbook. Additionally fixes an issue with ceph-ansible by downgrading the package. Related rhbz: https://bugzilla.redhat.com/show_bug.cgi?id=1644713 Change-Id: I3199b4af11a4170d19419f70cb53f7d74def273c Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-10-08Adding support for containerized undercloudRicardo Noriega1-41/+39
Master code only supports containerized undercloud now, so this migration is needed. - Containerized services in undercloud We can still apply patches to THT and other non-docker services, but we will need to add support for patching openstack services on undercloud. Change-Id: I1ca4c6108f144efef7b5889503af265ef0fff8b2 Signed-off-by: Ricardo Noriega <rnoriega@redhat.com> Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-09-17Fix per-network routes to NIC templates dependencyRicardo Noriega1-0/+4
Change-Id: I9e01f1164fc72915b92dfb1c0aad7414c484567e Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
2018-07-26Disable undercloud as containers for nowTim Rozet1-1/+1
Upstream has moved to install undercloud as containers which breaks our post undercloud configuration for some services. Disable it for now and then move to it gracefully in a future patch. Change-Id: I0cd1a8ddac4ba92734750265d2a16d3ef008f236 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-07-06Fix neutron-opendaylight-sriov.yaml pathFeng Pan1-1/+1
In latest THT upstream, environment file neutron-opendaylight-sriov.yaml was moved to services folder. Updating references in Apex to avoid deploy failure. Change-Id: I7065e0d8e13c9add9ead282db2244a27c177e5a4 Signed-off-by: Feng Pan <fpan@redhat.com>
2018-05-30Configure NAT with baremetal when necessaryTim Rozet1-1/+1
We currently only enable NAT on undercloud for virtual deployments. However, there could be a case where a baremetal deployment also needs NAT as it is not using an interface on the overcloud nodes with external access. Therefore this patch changes the behavior to configure NAT when the gateway of either the external or admin (when external is disabled) network matches an IP assigned to the undercloud. JIRA: APEX-605 Change-Id: I9c79af371913e6e5f0d39b433f68205bc7e106c5 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-05-21Migrates master to use direct upstreamTim Rozet1-0/+14
We now move master to deploy from upstream. That means we do not need to build undercloud/overcloud images anymore. Changes-Include: - Remove bash build scripts as we do not need to build anything other than the python package anymore - Remove building images or iso from build.py - Remove building of images and iso from Makefile - Rename/refactor deploy settings files for nosdn and odl. The new convention is that the typical scenario names we use will deploy master. We also support n-1 OS, so in that case we use the branch name for the "feature" in the scenario name: os-odl-queens-noha. - Tacker/Congress are disabled in settings files until we fix that with upstream. Containers are now enabled by default. - Disable TLS for undercloud (was changed upstream to default enabled) - Fix environments docker directory for master THT (was changed upstream) - Includes fix for LP#1768901 - Includes workaround for LP#1770692 - Moves to docker.io for container images as it is more stable and should contain the same images - Removes the term 'common' from apex packaging for referencing the Python Apex package Change-Id: If6b433860b3ff882686c78d0f24a2f0c52b9b57a Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-03-16Enables containerized overcloud deploymentsTim Rozet1-0/+32
Changes Include: - For upstream deployments, Docker local registry will be updated with latest current RDO containers, regular deployments will use latest stable - Upstream container images will then be patched/modified and then re-uploaded into local docker registry with 'apex' tag - Deployment command modified to deploy with containers - Adds a --no-fetch deployment argument to disable pulling latest from upstream, and instead using what already exists in cache - Moves Undercloud NAT setup to just after undercloud is installed. This provides internet during overcloud install which is now required for upstream container deployments. - Creates loop device for Ceph deployment when no device is provided in deploy settings (for container deployment only) - Updates NIC J2 template to use the new format in OOO since the os-apply-config method is now deprecated in > Queens JIRA: APEX-566 JIRA: APEX-549 Change-Id: I0652c194c059b915a942ac7401936e8f5c69d1fa Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-03-15Adding SRIOV scenarioRicardo Noriega1-0/+5
This scenario should enable SRIOV interfaces to be used by Neutron. Only will be supported in baremetal deployments with SRIOV capable NICs. The name of the interface must be known in advance and the physnet of the SRIOV network is set as nfv_sriov. Change-Id: Ie4295413e0be2197bd9ada4f887f6b47cd486765 Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
2018-02-16Add http(s)_proxy handling to apexDan Radez1-0/+12
JIRA: APEX-512 Change-Id: I875bd99203b425e448e7a3f64eb9a8f99d03ddaf Signed-off-by: Dan Radez <dradez@redhat.com>
2018-02-07Allow disabling ipxe for provisioningDan Radez1-3/+0
JIRA: APEX-535 Change-Id: I52d17e962fc4a504db1ddbc20df0ac56a208f34b Signed-off-by: Dan Radez <dradez@redhat.com>
2017-09-11Dup owner, changing to groupDan Radez1-1/+1
Change-Id: I8ca1501949a0e272e928c6b31b08eba2519951ec Signed-off-by: Dan Radez <dradez@redhat.com>
2017-09-06Enabling the aarch check for deploymentDan Radez1-1/+1
Change-Id: Ic5f1fc8a61f74f7aa6b2fabf67169c601a603367 Signed-off-by: Dan Radez <dradez@redhat.com>
2017-08-31Adds Undercloud retry and log fetchTim Rozet1-4/+16
Retry to install the undercloud if it fails due to sometimes failing. Also copy undercloud log over to host temp dir. Change-Id: I50f98c4f0d52fa6bb56d9dcd0766bbe745160452 Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-08-24Updates and additions to handle aarch64Dan Radez1-3/+19
- move patches from x86 only to common virt-customize - updates to undercloud to configure pxe and external network - initial updates to overcloud deploy functions JIRA: APEX-381 Change-Id: I496e196535e63bfd31654d0f501fe3f00fa5ca3f Signed-off-by: Dan Radez <dradez@redhat.com>
2017-08-23Migrates Apex to PythonTim Rozet1-0/+116
Removes all bash libraries and converts almost all of the code to a mixture of Python and Ansible. utils.sh and clean.sh still exist. clean.sh will be migrated fully to clean.py in another patch. The Apex Python package is now built into the opnfv-apex-common RPM. To install locally do 'pip3 install .'. To deploy: opnfv-deploy -d <file> -n <file> --image-dir /root/apex/.build -v --debug Non-python files (THT yaml, settings files, ansible playbooks) are all installed into /usr/share/opnfv-apex/. The RPM will copy settings files into /etc/opnfv-apex/. JIRA: APEX-317 Change-Id: I3232f0329bcd13bce5a28da6a8c9c84d0b048024 Signed-off-by: Tim Rozet <trozet@redhat.com>