Bug 1507976
| Summary: | OSP11 -> OSP12 upgrade: overcloud upgrade step is failed to finish. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Ziv Greenberg <zgreenbe> | ||||
| Component: | python-tripleoclient | Assignee: | RHOS Maint <rhos-maint> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Marius Cornea <mcornea> | ||||
| Severity: | urgent | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | 12.0 (Pike) | CC: | aasmith, atelang, augol, dbecker, hbrock, jpichon, jschluet, jslagle, mandreou, mbracho, mbultel, mburns, mcornea, morazi, ohochman, rhel-osp-director-maint, rhos-maint, sathlang, shardy, yrachman | ||||
| Target Milestone: | rc | Keywords: | Triaged | ||||
| Target Release: | 12.0 (Pike) | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | python-tripleoclient-7.3.3-5.el7ost | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2017-12-13 22:19:18 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Ziv Greenberg
2017-10-31 15:35:17 UTC
This bug, is a bit misleading, it is not related to InfraRed, it is related to TripleO update/upgrade Deploy command:
[stack@undercloud-0 ~]$ cat overcloud_deploy.sh
#!/bin/bash
openstack overcloud deploy \
--templates \
-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ovs-dpdk.yaml \
-e /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/network-environment.yaml \
--log-file overcloud_install.log &> overcloud_install.log
Upgrade command:
[stack@undercloud-0 ~]$ cat composable_docker_upgrade.sh
#!/bin/bash
openstack overcloud deploy \
--templates \
-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ovs-dpdk.yaml \
-e /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/network-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/major-upgrade-composable-steps-docker.yaml \
-e /home/stack/docker-osp12.yaml \
network-environment.yaml:
[stack@undercloud-0 ~]$ cat /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/network-environment.yaml
resource_registry:
# Specify the relative/absolute path to the config files you want to use for override the default.
OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml
OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml
OS::TripleO::NodeUserData: first-boot.yaml
OS::TripleO::NodeExtraConfigPost: post-install.yaml
# Network isolation configuration
# Service section
OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml
OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api.yaml
OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml
OS::TripleO::Network::Management: OS::Heat::None
OS::TripleO::Network::StorageMgmt: OS::Heat::None
OS::TripleO::Network::Storage: OS::Heat::None
# Port assignments for the VIPs
OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml
OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml
OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
# Port assignments for the controller role
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml
OS::TripleO::Controller::Ports::ManagementPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
# Port assignments for the compute role
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml
OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml
OS::TripleO::Compute::Ports::ManagementPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
# Port assignments for service virtual IPs for the controller role
OS::TripleO::Controller::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml
parameter_defaults:
# MTU global configuration
#NeutronGlobalPhysnetMtu: 2000
# Customize all these values to match the local environment
InternalApiNetCidr: 10.10.125.0/24
TenantNetCidr: 10.10.126.0/24
ExternalNetCidr: 10.35.185.0/28
# CIDR subnet mask length for provisioning network
ControlPlaneSubnetCidr: '24'
InternalApiAllocationPools: [{'start': '10.10.125.10', 'end': '10.10.125.200'}]
TenantAllocationPools: [{'start': '10.10.126.10', 'end': '10.10.126.200'}]
# Use an External allocation pool which will leave room for floating IPs
ExternalAllocationPools: [{'start': '10.35.185.2', 'end': '10.35.185.13'}]
# Set to the router gateway on the external network
ExternalInterfaceDefaultRoute: 10.35.185.14
# Gateway router for the provisioning network (or Undercloud IP)
ControlPlaneDefaultRoute: 192.0.20.1
# Generally the IP of the Undercloud
EC2MetadataIp: 192.0.20.1
InternalApiNetworkVlanID: 525
TenantNetworkVlanID: 526
ExternalNetworkVlanID: 418
# Define the DNS servers (maximum 2) for the overcloud nodes
DnsServers: ["10.35.28.28","8.8.8.8"]
# May set to br-ex if using floating IPs only on native VLAN on bridge br-ex
NeutronExternalNetworkBridge: "''"
# The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling.
NeutronTunnelTypes: ''
# The tenant network type for Neutron (vlan or vxlan).
NeutronNetworkType: 'vlan'
# The OVS logical->physical bridge mappings to use.
NeutronBridgeMappings: 'tenant:br-link'
# The Neutron ML2 and OpenVSwitch vlan mapping range to support.
NeutronNetworkVLANRanges: 'tenant:420:420,tenant:421:421,tenant:527:528'
# Nova flavor to use.
OvercloudControlFlavor: controller
OvercloudComputeFlavor: compute
#Number of nodes to deploy.
ControllerCount: 3
ComputeCount: 1
# NTP server configuration.
NtpServer: clock.redhat.com
# Configure the classname of the firewall driver to use for implementing security groups.
NeutronOVSFirewallDriver: openvswitch
# DHCP provide metadata route to VM
NeutronEnableIsolatedMetadata: True
# DHCP always provides metadata route to VM.
NeutronEnableForceMetadata: True
# Sets overcloud nodes custom names
# http://docs.openstack.org/developer/tripleo-docs/advanced_deployment/node_placement.html#custom-hostnames
ControllerHostnameFormat: 'controller-%index%'
ComputeHostnameFormat: 'compute-%index%'
CephStorageHostnameFormat: 'ceph-%index%'
ObjectStorageHostnameFormat: 'swift-%index%'
##########################
# OVS DPDK configuration #
##########################
## NeutronDpdkCoreList and NeutronDpdkMemoryChannels are REQUIRED settings.
## Attempting to deploy DPDK without appropriate values will cause deployment to fail or lead to unstable deployments.
# List of cores to be used for DPDK Poll Mode Driver
NeutronDpdkCoreList: "4,6,20,22"
# Number of memory channels to be used for DPDK
NeutronDpdkMemoryChannels: "4"
# NeutronDpdkSocketMemory
NeutronDpdkSocketMemory: "1024"
# NeutronDpdkDriverType
NeutronDpdkDriverType: "vfio-pci"
# The vhost-user socket directory for OVS
NeutronVhostuserSocketDir: "/var/lib/vhost_sockets"
########################
# Additional settings #
########################
# Reserved RAM for host processes
NovaReservedHostMemory: 2048
# A list or range of physical CPU cores to reserve for virtual machine processes.
# Example: NovaVcpuPinSet: ['4-12','^8'] will reserve cores from 4-12 excluding 8
NovaVcpuPinSet: "1,2,3,5,7,17,18,19,21,23"
# An array of filters used by Nova to filter a node.These filters will be applied in the order they are listed,
# so place your most restrictive filters first to make the filtering process more efficient.
NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,PciPassthroughFilter,NUMATopologyFilter"
# Kernel arguments for Compute node
ComputeKernelArgs: "default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on"
# A list or range of physical CPU cores to be tuned.
# The given args will be appended to the tuned cpu-partitioning profile.
HostIsolatedCoreList: "1,2,3,4,5,16,17,18,19,20,21"
# List of logical cores to be used by ovs-dpdk processess (dpdk-lcore-mask)
HostCpusList: "6,7,22,23"
Looks like the issue is:
shardy ╡ mcornea: I think the code in tripleoclient which calculates the absolute path is doing the wrong thing when the resource_registry points to another resource instead of a template path:
[stack@undercloud-0 ~]$ cat /home/stack/shdebug/saved_plan/user-environment.yaml
resource_registry:
OS::TripleO::Compute::Net::SoftwareConfig: user-files/home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/nic-configs/compute.yaml
OS::TripleO::Compute::Ports::ExternalPort: network/ports/external.yaml
OS::TripleO::Compute::Ports::InternalApiPort: network/ports/internal_api.yaml
OS::TripleO::Compute::Ports::ManagementPort: network/ports/noop.yaml
OS::TripleO::Compute::Ports::StorageMgmtPort: network/ports/noop.yaml
OS::TripleO::Compute::Ports::StoragePort: network/ports/noop.yaml
OS::TripleO::Compute::Ports::TenantPort: network/ports/tenant.yaml
OS::TripleO::Controller::Net::SoftwareConfig: user-files/home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/nic-configs/controller.yaml
OS::TripleO::Controller::Ports::ExternalPort: network/ports/external.yaml
OS::TripleO::Controller::Ports::InternalApiPort: network/ports/internal_api.yaml
OS::TripleO::Controller::Ports::ManagementPort: network/ports/noop.yaml
OS::TripleO::Controller::Ports::RedisVipPort: network/ports/vip.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: network/ports/noop.yaml
OS::TripleO::Controller::Ports::StoragePort: network/ports/noop.yaml
OS::TripleO::Controller::Ports::TenantPort: network/ports/tenant.yaml
OS::TripleO::Network::External: network/external.yaml
OS::TripleO::Network::InternalApi: network/internal_api.yaml
OS::TripleO::Network::Management: /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/OS::Heat::None
OS::TripleO::Network::Ports::ExternalVipPort: network/ports/external.yaml
OS::TripleO::Network::Ports::InternalApiVipPort: network/ports/internal_api.yaml
OS::TripleO::Network::Ports::RedisVipPort: network/ports/vip.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: network/ports/noop.yaml
OS::TripleO::Network::Ports::StorageVipPort: network/ports/noop.yaml
OS::TripleO::Network::Storage: /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/OS::Heat::None
OS::TripleO::Network::StorageMgmt: /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/OS::Heat::None
OS::TripleO::Network::Tenant: network/tenant.yaml
OS::TripleO::NodeExtraConfigPost: user-files/home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/post-install.yaml
OS::TripleO::NodeUserData: user-files/home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/first-boot.yaml
OS::TripleO::PostDeploySteps: common/major_upgrade_steps.yaml
OS::TripleO::Services::ComputeNeutronOvsDpdk: puppet/services/neutron-ovs-dpdk-agent.yaml
resources:
'*':
'*':
UpdateDeployment:
hooks: []
Workaround: In /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/network-environment.yaml comment out: # OS::TripleO::Network::Management: OS::Heat::None # OS::TripleO::Network::StorageMgmt: OS::Heat::None # OS::TripleO::Network::Storage: OS::Heat::None I reproduced this in an environment provided by Marius, root cause described in https://bugs.launchpad.net/tripleo/+bug/1729039, working on a fix Thank you Steve, I put the untriaged flag since its already on dev. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:3462 |