summaryrefslogtreecommitdiffstats
path: root/apex/deploy.py
AgeCommit message (Collapse)AuthorFilesLines
2019-01-11Fixes undercloud install failure with setting hostnameTim Rozet1-0/+7
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-12-14Fix NFS issues with NovaTim Rozet1-1/+3
There are problems with Nova launching instantces due to permissions with nova being able to read/write certain directories on the NFS. The permissions are right on the NFS and the folders the NFS mounts to, but there still seems to be issues. The cause may be using a directory under /root as the NFS mount. This patch moves the NFS mounts to be individual folders under /. The patch also restart nova_compute docker container as NFS problems still persist unless this is done. JIRA: APEX-654 Change-Id: I25eee98c1a6516dfa44c686c2e614f6dc7000d98 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-11-22Use undercloud.qcow2 for UC in aarch64Charalampos Kominos1-2/+12
Commit 1817e62 introduced a side effect for aarch64. The undercloud and overcloud images are not the same for aarch64 due to differences in the partition table and they are not provided by RH or tripleo. Helper scripts to build them are in this repository. For aarch64 undercloud.qcow2,overcloud.tar and ironic-python-agent.tar Are required. Change-Id: Ia79de801e3cb33bbcc78cdc714cb1745c1b57d6b Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
2018-11-18Bring in aarch64 support in apexCharalampos Kominos1-5/+23
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-13Remove downloading undercloud.qcow2Tim Rozet1-2/+22
OOO team is removing the undercloud disk image as it is no longer needed for containerized undercloud deployments. Instead, we can just use the overcloud image as the undercloud image. Additionally, OOO team has recommended we use current-tripleo instead of current-tripleo-rdo. current-tripleo-rdo was previously thought to be more stable with more promotion checks, but now it seems that it is older and current-tripleo now has the same stability/checks. This patch also bumps the undercloud RAM from 8GB to 10GB. With the new containerized undercloud there is more RAM consumption during deployment. Change-Id: I9e6bb2260dbe9f8796ee54d20527c0aad96476ec Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-11-02Fix rocky container preparationTim Rozet1-1/+1
Branch was being passed with the 'stable' prefix which was breaking the docker URL. Change-Id: I802492d407bc18ec2b47212edfe4bb4fde13002a Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-11-01Fixes Docker image upload for master/rockyTim Rozet1-0/+9
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-09-06Updates Calipso deploy settingsTim Rozet1-0/+1
Change-Id: Ibfbd08dc2fa5fca95668fd0590707cfebd92099f Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-08-23Adds deployment via snapshotTim Rozet1-75/+84
New arguments are added to allow snapshot deployment: --snapshot, --snap-cache The previous tripleo-quickstart code has been removed/replaced with the snapshot option. Snapshot deployments are supported on CentOS and Fedora, and snapshot artifacts use a similar caching system as the standard deployment. Snapshots are produced daily by Apex, and include latest as well as n-1 OpenStack versions. The os-odl-nofeature scenario is used for the snapshots. Additionally multiple topology verions of Snapshots are available. The Snapshot pulled at deploy time depends on the deploy-settings and number of virtual-computes used at deploy time. Since there is only one network used with snapshot deployments (admin), there is no reason to pass in network settings for snapshot deployments. That argument is now optional. Previously we required even in Standard virtual deployments that the network settings be provided. However that is also unnecessary, as we can default to the virtual network settings. Includes minor fix to the tox.ini to allow specifying test cases to run (useful for developers writing tests). Default behavior of tox is unchanged. JIRA: APEX-548 Change-Id: I1e08c4e54eac5aae99921f61ab7f69693ed12b47 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-08-22Enable SFC scenarios for GambiaRicardo Noriega1-0/+3
- This patch will install OVS 2.9.2 including its kernel module which allows native NSH headers. - Fix Custom OVS due to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1544892 - Tacker is disable for the time being, tacker-conductor needs to be enabled. JIRA: APEX-630 Change-Id: Ia410309fd7053602ce78eae919839d0f57c9742a Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
2018-08-14Allow common patches fileTim Rozet1-1/+9
This patch adds allowing for common patches that should be applied to every scenario to be included. It by default pulls in a file in the deploy directory 'common-patches.yaml', but can optionally be overridden. This patch also includes a patch upstream to fix OSCLI not working anymore due to breakage with the Cinder version in the overcloudrc. Change-Id: I97b9efb937deff07e085b9ef75b9799fb65bfc57 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-08-10Allow all in one deploymentsTim Rozet1-0/+2
This patch adds the ability to deploy all in one single nodes (Control + Compute). To enable this functionality do the following for each deployment type: - Baremetal: do not tag any nodes as compute in the inventory file - Virtual: use argument '--virtual-computes 0' JIRA: APEX-548 Change-Id: I22525c9eb21d331129c819449316c26a6fcf522d Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-08-02Enable BGPVPN for master deploymentsRicardo Noriega1-2/+5
- Injection of Quagga tarball via overcloud builder. - Extraction and installation of all related packages. - It uses SDNVPN artifact repository to download Quagga tarball, so there is only one source to test. - Modifies bgpvpn scenario files to use OS master branch, ODL master branch and containers. JIRA: APEX-627 Change-Id: Icdbc2853d9531048e23fd6d5e444bd68208d18fc Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
2018-07-26Increasing loop device size for baremetal deploymentsRicardo Noriega1-0/+2
Change-Id: Ib3779733ac27183def6a59f3404cfbe9a3e9a211 Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
2018-07-26Remove obsolete Ceph tagsRicardo Noriega1-4/+1
This patch removes the logic to use an specific tag for Ceph containers. We will use whatever docker image TripleO upstream uses. For aarch64, an ansible task will replace the tag to pull the proper container image. This patch also refactors the preparation of the local registry. In Queens, there is no need to execute twice the overcloud container image prepare command. JIRA: APEX-622 Change-Id: I947d931609e58505675bb460a59d08c1d10d1d0b Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
2018-07-18Add tenant vlan supportFeng Pan1-9/+2
Introduces tenant vlan support through configuration of network settings file. JIRA: APEX-272 Change-Id: Ie8e20a92ca4ebb9e0de4c53b5e03856d19ff660c Signed-off-by: Feng Pan <fpan@redhat.com>
2018-07-06Add support for kubernetes deploymentZenghui Shi1-7/+101
This patch adds capability to deploy kubernetes cluster instead of openstack. Kubernetes will be deployed using kubespray and is run after TripleO bookstraps overcloud nodes. JIRA: APEX-574 Change-Id: If9c171620c933a052b719e7112a50e22bbab667f Signed-off-by: Feng Pan <fpan@redhat.com> Signed-off-by: Zenghui Shi <zshi@redhat.com>
2018-06-25Deprecates the use of '--upstream' argumentTim Rozet1-46/+44
We only support the use of upstream deployments from Gambia onwards. Therefore deprecating the parameter and forcing upstream to always be used. Change-Id: I7926a65a2c32bca2272855ba45fdb6005f67616f Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-06-18Fetch mistral logs from undercloudTim Rozet1-1/+4
/var/lib/mistral path contains logs for when ansible is invoked by TripleO for Ceph configuration as well as config download. This patch now archives and fetches that directory. Logs in previous releases like Queens store the Ceph logs in /var/log/mistral. Change-Id: I50c43e55efaa5dbcf8b7fb00b0e11cd3288fdd05 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-05-21Migrates master to use direct upstreamTim Rozet1-0/+3
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-04-17Fix nosdn fdio scenarioFeng Pan1-1/+1
- Update networking-vpp to use master branch - Update THT vpp ml2 environment file with correct parameters - Update external network creation command to use 'externa' as provider network name. - Remove vpp network settings file as it's not used apex-tripleo-heat-templates: Ia25db8456f1ad6beb96c7b9b5f318b166ef4576a apex-puppet-tripleo: I231054a433eb7e598a6e24f6eaea02d476e776de Change-Id: I4a1f68c75ae3b7d2a5b347d05abf0d025e8b116b Signed-off-by: Feng Pan <fpan@redhat.com>
2018-04-04Adds the ability to fetch logs from deploymentTim Rozet1-7/+6
Usage: opnfv-pyutil --fetch-logs python3 utils.py --fetch-logs --lib-dir ../lib Eventually all utils.sh functions will be migrated here. Note there is no support here for containers. Will be added later. Change-Id: I223b8592ad09e0370e287ee2801072db31f9aa12 Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-03-16Enables containerized overcloud deploymentsTim Rozet1-31/+66
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/+1
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-16Merge "Fixes stale undercloud delorean repos"Feng Pan1-1/+2
2018-02-16Add http(s)_proxy handling to apexDan Radez1-2/+4
JIRA: APEX-512 Change-Id: I875bd99203b425e448e7a3f64eb9a8f99d03ddaf Signed-off-by: Dan Radez <dradez@redhat.com>
2018-02-16Fixes stale undercloud delorean reposTim Rozet1-1/+2
When we build artifacts for release, we try to freeze the disk images and artifacts we use for deployment. This includes the delorean repo which provides OpenStack packages. This repo however expires after a couple months and then if any packages were missing in the Undercloud released artifact, they will attempt to be downloaded during install and fail. This patch adds some logic to detect if there is internet connectivity, and if so then download and update the delorean repo on the undercloud. JIRA: APEX-565 Change-Id: I58c28437fb5c5b179033c939377fd97aefbf427c Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-02-15Fixes python2 docutils req and also installs ansibleTim Rozet1-0/+1
For some reason we were requiring python2-docutils in to build our rpm instead of python34-docutils. Patch also includes some logic to install ansible. JIRA: APEX-515 Change-Id: I1b85e5b4b29f74f5ff5399296f24831c334c289c Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-02-09Merge "Adding L2GW Scenario"Tim Rozet1-0/+1
2018-02-07Allow disabling ipxe for provisioningDan Radez1-1/+1
JIRA: APEX-535 Change-Id: I52d17e962fc4a504db1ddbc20df0ac56a208f34b Signed-off-by: Dan Radez <dradez@redhat.com>
2018-02-07Adding L2GW ScenarioRicardo Noriega1-0/+1
This scenario allows you to install L2GW Neutron driver and point to OpenDaylight as service provider. apex-tripleo-heat-templates: I37039207bc7cf9965d26e6dfa034e84bf9b7224d Change-Id: I0dfd37bcc5060f0ad8caa95e1f87a7411bd6e723 Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
2017-12-05Make introspection optionalDan Radez1-0/+7
- exposes new option to end users to skip introspection - moves the logic to decide to introspect or not into python JIRA: APEX-536 Change-Id: Ieaff11362ff8f906daa98d301d3d473ad549d08f Signed-off-by: Dan Radez <dradez@redhat.com>
2017-11-06Adds ability to deploy from upstream openstackTim Rozet1-14/+89
To deploy with upstream openstack branch, use new deploy setting 'os_version'. A default scenario file for nosdn with pike has been included in this patch. If 'os_version' is a version other than the default version for this OPNFV release, then upstream is used. In order to use upstream with the current OS version use '--upstream' argument to the deploy command, to force an upstream deployment. Also include '-e upstream-environment.yaml' to use default upstream deployment settings. Supports nosdn and odl-nofeature deployments. Change-Id: Ic07e308827b449637b4e86cdd086434e4de2fb69 Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-10-11Adding apex/overcloud/* unittestsDan Radez1-10/+10
Change-Id: I02cd512ba1ddaee2538bee7739e27b136112a0c6 Signed-off-by: Dan Radez <dradez@redhat.com>
2017-09-29Adds Calipso scenarioTim Rozet1-0/+3
Change-Id: Icc8a23e49c9ccc011481f6b97599d4f75873ebb1 Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-09-29Merge "re-enable support for fdio dvr scenario"Tim Rozet1-2/+10
2017-09-28re-enable support for fdio dvr scenarioFeng Pan1-2/+10
- Update FDIO scenarios to use master branch images - Update VPP/HC version to master for all fdio scenarios apex-os-net-config: Ie6aee86eaccad5fc98820a28f10adc7475cc5e33 apex-tripleo-heat-templates: Ie8b284f64bd6491c389129d8afdaeae8a399b607 apex-puppet-tripleo: I9954240529278e74d93fdf89d2ebc2536249245a Change-Id: I31740f97052947b5e4688cca47320bc49a902d7c Signed-off-by: Feng Pan <fpan@redhat.com>
2017-09-28Adding python unittests for apex/virtual/*Dan Radez1-1/+1
Change-Id: I13dd395cd6270cbf0a02855b1d29794ecca06d76 Signed-off-by: Dan Radez <dradez@redhat.com>
2017-09-22Merge "Removing duplicate lib path in ansible_path"Tim Rozet1-8/+5
2017-09-22Merge "Fixes removing inventory keys"Feng Pan1-1/+1
2017-09-21Fixes removing inventory keysTim Rozet1-1/+1
Inventory keys that we want to delete were not being removed for instackenv.json. Also fixes unit tests. Change-Id: I7d6c752342db050d651953633f18e236f60334e3 Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-09-21Revert "Adds Calipso scenario"Tim Rozet1-1/+0
This reverts commit 433961f8c0b816f19aa858654261fa87d2f02a19. Change-Id: Ic8a14d2e0ad8d1006625af401fde2f365890650b Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-09-21Removing duplicate lib path in ansible_pathDan Radez1-8/+5
- deploy line 283 lib is joined with ANSIBLE_PATH then line 285, 347, 418 and 435 it was joined again with ansible_path from 283 already containing lib Change-Id: I6612967d626eeb0668eb43294831447c387f8e93 Signed-off-by: Dan Radez <dradez@redhat.com>
2017-09-20Adds Calipso scenarioTim Rozet1-0/+1
Calipso uses docker containers and is post deployment feature that can be used to monitor pieces of the stack. This patch installs it to the undercloud rather than the jumphost as it is easier to manage for cleanup and dependencies. Change-Id: Ie2dacc4f14b391a864fafb2e75ebcd15facb19f1 Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-09-08Adjustments to tmp dir handlingDan Radez1-2/+3
- prefixing with apex_tmp - removing overcloud qcow on failure JIRA: APEX-513 Change-Id: I766df10c294c31622917bbd5b0597e3373716d8b Signed-off-by: Dan Radez <dradez@redhat.com>
2017-09-06Enabling the aarch check for deploymentDan Radez1-1/+2
Change-Id: Ic5f1fc8a61f74f7aa6b2fabf67169c601a603367 Signed-off-by: Dan Radez <dradez@redhat.com>
2017-08-28Merge "Add argument types for deploy.py"Tim Rozet1-0/+4
2017-08-28Passing deploy_dir through to create_vmDan Radez1-3/+6
Change-Id: I07a1c899d43c5edf1054fc819fff4336d9b3ed16 Signed-off-by: Dan Radez <dradez@redhat.com>
2017-08-28Add argument types for deploy.pyFeng Pan1-0/+4
Add data type for integer arguments to avoid str to int comparison exceptions. Change-Id: Ifa40e1cc8588df6d618185882bba71f7ce7b9a1d Signed-off-by: Feng Pan <fpan@redhat.com>
2017-08-27Fixes external network with baremetal interfaceTim Rozet1-2/+7
Change-Id: Icd65ffbd14dee603e5b2a0a42e9d0cdfd98c694c Signed-off-by: Tim Rozet <trozet@redhat.com>