Description of problem: There seems to be a bug in the documentation at https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/upgrading_red_hat_openstack_platform/#sect-Updating_the_Overcloud $ openstack overcloud deploy --update-plan-only \ --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/templates/network-environment.yaml \ -e /home/stack/templates/storage-environment.yaml \ -e /home/stack/templates/rhel-registration/environment-rhel-registration.yaml \ [-e <environment_file>|...] ... Performing a package update on all nodes using the openstack overcloud update command. For example: $ openstack overcloud update stack -i overcloud The Above to me seems wrong because of one reason: 1) The modified -e files (including network-environment.yaml) are not uploaded to swift if they are not placed within --templates path. Proof: TLDR; --templates by default points to /usr/share/openstack-tripleo-heat-templates which are eventually the files uploaded to swift and the -e are left-out because they are in /home/stack/virt/ [stack@undercloud-0 ~]$ cat overcloud_deploy.sh #!/bin/bash timeout 180m openstack overcloud deploy \ --templates \ --libvirt-type kvm \ --ntp-server clock.redhat.com \ --control-scale 3 \ --control-flavor controller \ --compute-scale 2 \ --compute-flavor compute \ --ceph-storage-scale 3 \ --ceph-storage-flavor ceph \ -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml \ -e /home/stack/virt/internal.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/virt/network/network-environment.yaml \ -e /home/stack/virt/hostnames.yml \ -e /home/stack/virt/debug.yaml \ --log-file overcloud_deployment_72.log [stack@undercloud-0 ~]$ cp overcloud_deploy.sh overcloud_deploy-update-only.sh [stack@undercloud-0 ~]$ vi overcloud_deploy-update-only.sh [stack@undercloud-0 ~]$ cat overcloud_deploy-update-only.sh #!/bin/bash timeout 180m openstack overcloud deploy --update-plan-only \ --templates \ --libvirt-type kvm \ --ntp-server clock.redhat.com \ --control-scale 3 \ --control-flavor controller \ --compute-scale 2 \ --compute-flavor compute \ --ceph-storage-scale 3 \ --ceph-storage-flavor ceph \ -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml \ -e /home/stack/virt/internal.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/virt/network/network-environment.yaml \ -e /home/stack/virt/hostnames.yml \ -e /home/stack/virt/debug.yaml \ --log-file overcloud_deployment_72.log [stack@undercloud-0 ~]$ source stackrc [stack@undercloud-0 ~]$ bash overcloud_deploy-update-only.sh Removing the current plan files Uploading new plan files Started Mistral Workflow. Execution ID: c628b88d-cbab-4472-88e6-abf025d0d7de Plan updated Deploying templates in the directory /tmp/tripleoclient-Q5CLWw/tripleo-heat-templates Overcloud Endpoint: http://10.0.0.107:5000/v2.0 Overcloud Deployed [stack@undercloud-0 ~]$ swift list ov-2veuulxl6r-0-vo2x2ai6lx3k-CephStorage-7ioohfiupxfw ov-2veuulxl6r-1-yxxdnw5qk4xl-CephStorage-efxqwqcb6uxg ov-2veuulxl6r-2-wwukiwnkd6gd-CephStorage-3sct3fzidaut ov-j4ozwfzvrmq-0-arxel3trfste-Controller-udrq4oebk7w4 ov-j4ozwfzvrmq-1-cfn37ouvm5yv-Controller-3sqjwuttaviu ov-j4ozwfzvrmq-2-i6krgjru46mx-Controller-6srk7e5ys5fr ov-me5umuxy7q-0-onfb36nijvbg-NovaCompute-wkhsonrnm5ka ov-me5umuxy7q-1-ounwngkmqx4o-NovaCompute-pnf6qgnfdbeg overcloud overcloud-swift-rings [stack@undercloud-0 ~]$ swift download overcloud environments/network-environment.yaml environments/network-environment.yaml [auth 0.454s, headers 0.617s, total 0.618s, 0.017 MB/s] [stack@undercloud-0 ~]$ diff -u /home/stack/virt/network/network-environment.yaml environments/network-environment.yaml --- /home/stack/virt/network/network-environment.yaml 2017-08-22 04:52:43.139332733 -0400 +++ environments/network-environment.yaml 2017-08-25 05:58:45.273499704 -0400 @@ -1,43 +1,56 @@ -parameter_defaults: - ControlPlaneDefaultRoute: 192.168.24.1 - ControlPlaneSubnetCidr: '24' - DnsServers: - - 10.0.0.1 - EC2MetadataIp: 192.168.24.1 - ExternalAllocationPools: - - end: 10.0.0.149 - start: 10.0.0.101 - ExternalInterfaceDefaultRoute: 10.0.0.1 - ExternalNetCidr: 10.0.0.0/24 - ExternalNetworkVlanID: 10 - InternalApiAllocationPools: - - end: 172.17.1.200 - start: 172.17.1.10 - InternalApiNetCidr: 172.17.1.0/24 - InternalApiNetworkVlanID: 20 - NeutronBridgeMappings: datacentre:br-ex,tenant:br-isolated - NeutronExternalNetworkBridge: '' - NeutronNetworkType: vxlan - NeutronNetworkVLANRanges: tenant:1000:2000 - NeutronTunnelTypes: vxlan - StorageAllocationPools: - - end: 172.17.3.200 - start: 172.17.3.10 - StorageMgmtAllocationPools: - - end: 172.17.4.200 - start: 172.17.4.10 - StorageMgmtNetCidr: 172.17.4.0/24 - StorageMgmtNetworkVlanID: 40 - StorageNetCidr: 172.17.3.0/24 - StorageNetworkVlanID: 30 - TenantAllocationPools: - - end: 172.17.2.200 - start: 172.17.2.10 - TenantNetCidr: 172.17.2.0/24 - TenantNetworkVlanID: 50 +#This file is an example of an environment file for defining the isolated +#networks and related parameters. resource_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: three-nics-vlans/cinder-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: three-nics-vlans/ceph-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: three-nics-vlans/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: three-nics-vlans/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: three-nics-vlans/swift-storage.yaml + # Network Interface templates to use (these files must exist) + OS::TripleO::BlockStorage::Net::SoftwareConfig: + ../network/config/single-nic-vlans/cinder-storage.yaml + OS::TripleO::Compute::Net::SoftwareConfig: + ../network/config/single-nic-vlans/compute.yaml + OS::TripleO::Controller::Net::SoftwareConfig: + ../network/config/single-nic-vlans/controller.yaml + OS::TripleO::ObjectStorage::Net::SoftwareConfig: + ../network/config/single-nic-vlans/swift-storage.yaml + OS::TripleO::CephStorage::Net::SoftwareConfig: + ../network/config/single-nic-vlans/ceph-storage.yaml + +parameter_defaults: + # This section is where deployment-specific configuration is done + # CIDR subnet mask length for provisioning network + ControlPlaneSubnetCidr: '24' + # Gateway router for the provisioning network (or Undercloud IP) + ControlPlaneDefaultRoute: 192.0.2.254 + EC2MetadataIp: 192.0.2.1 # Generally the IP of the Undercloud + # Customize the IP subnets to match the local environment + InternalApiNetCidr: 172.17.0.0/24 + StorageNetCidr: 172.18.0.0/24 + StorageMgmtNetCidr: 172.19.0.0/24 + TenantNetCidr: 172.16.0.0/24 + ExternalNetCidr: 10.0.0.0/24 + # Customize the VLAN IDs to match the local environment + InternalApiNetworkVlanID: 20 + StorageNetworkVlanID: 30 + StorageMgmtNetworkVlanID: 40 + TenantNetworkVlanID: 50 + ExternalNetworkVlanID: 10 + # Customize the IP ranges on each network to use for static IPs and VIPs + InternalApiAllocationPools: [{'start': '172.17.0.10', 'end': '172.17.0.200'}] + StorageAllocationPools: [{'start': '172.18.0.10', 'end': '172.18.0.200'}] + StorageMgmtAllocationPools: [{'start': '172.19.0.10', 'end': '172.19.0.200'}] + TenantAllocationPools: [{'start': '172.16.0.10', 'end': '172.16.0.200'}] + # Leave room if the external network is also used for floating IPs + ExternalAllocationPools: [{'start': '10.0.0.10', 'end': '10.0.0.50'}] + # Gateway router for the external network + ExternalInterfaceDefaultRoute: 10.0.0.1 + # Uncomment if using the Management Network (see network-management.yaml) + # ManagementNetCidr: 10.0.1.0/24 + # ManagementAllocationPools: [{'start': '10.0.1.10', 'end', '10.0.1.50'}] + # Use either this parameter or ControlPlaneDefaultRoute in the NIC templates + # ManagementInterfaceDefaultRoute: 10.0.1.1 + # Define the DNS servers (maximum 2) for the overcloud nodes + DnsServers: ["8.8.8.8","8.8.4.4"] + # Set to empty string to enable multiple external networks or VLANs + NeutronExternalNetworkBridge: "''" + # The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling. + NeutronTunnelTypes: 'vxlan' + # Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100" + BondInterfaceOvsOptions: "bond_mode=active-backup" [stack@undercloud-0 ~]$ swift list overcloud all-nodes-validation.yaml bootstrap-config.yaml capabilities-map.yaml ci/README.rst ci/common/all-nodes-validation-disabled.yaml ci/common/net-config-multinode.yaml ci/environments/multinode-3nodes.yaml ci/environments/multinode-core.yaml ci/environments/multinode.yaml ci/environments/multinode_major_upgrade.yaml ci/environments/scenario001-multinode.yaml ci/environments/scenario002-multinode.yaml ci/environments/scenario003-multinode.yaml ci/environments/scenario004-multinode.yaml ci/pingtests/scenario001-multinode.yaml ci/pingtests/scenario002-multinode.yaml ci/pingtests/scenario003-multinode.yaml ci/pingtests/tenantvm_floatingip.yaml default_passwords.yaml deployed-server/README.rst deployed-server/ctlplane-port.yaml deployed-server/deployed-server-config.yaml deployed-server/deployed-server.yaml deployed-server/scripts/get-occ-config.sh docker/README-containers.md docker/copy-etc.sh docker/copy-json.py docker/firstboot/install_docker_agents.yaml docker/firstboot/start_docker_agents.sh docker/post.j2.yaml docker/post.yaml docker/services/README.rst docker/services/neutron-ovs-agent.yaml docker/services/nova-compute.yaml docker/services/nova-libvirt.yaml docker/services/services.yaml environments/README.md environments/ceph-radosgw.yaml environments/cinder-backup.yaml environments/cinder-dellps-config.yaml environments/cinder-dellsc-config.yaml environments/cinder-eqlx-config.yaml environments/cinder-netapp-config.yaml environments/config-debug.yaml environments/debug.yaml environments/deployed-server-environment.yaml environments/deployed-server-noop-ctlplane.yaml environments/docker-network-isolation.yaml environments/docker-network.yaml environments/docker.yaml environments/enable-swap-partition.yaml environments/enable-swap.yaml environments/enable-tls.yaml environments/external-loadbalancer-vip-v6.yaml environments/external-loadbalancer-vip.yaml environments/hyperconverged-ceph.yaml environments/inject-trust-anchor-hiera.yaml environments/inject-trust-anchor.yaml environments/ips-from-pool-all.yaml environments/ips-from-pool.yaml environments/logging-environment.yaml environments/low-memory-usage.yaml environments/major-upgrade-aodh-migration.yaml environments/major-upgrade-ceilometer-wsgi-mitaka-newton.yaml environments/major-upgrade-pacemaker-converge.yaml environments/major-upgrade-pacemaker-init.yaml environments/major-upgrade-pacemaker.yaml environments/major-upgrade-remove-sahara.yaml environments/manila-cephfsnative-config.yaml environments/manila-generic-config.yaml environments/manila-netapp-config.yaml environments/mongodb-nojournal.yaml environments/monitoring-environment.yaml environments/net-bond-with-vlans-no-external.yaml environments/net-bond-with-vlans-v6.yaml environments/net-bond-with-vlans.yaml environments/net-multiple-nics-v6.yaml environments/net-multiple-nics.yaml environments/net-single-nic-linux-bridge-with-vlans.yaml environments/net-single-nic-with-vlans-no-external.yaml environments/net-single-nic-with-vlans-v6.yaml environments/net-single-nic-with-vlans.yaml environments/network-environment.yaml environments/network-isolation-no-tunneling.yaml environments/network-isolation-v6.yaml environments/network-isolation.yaml environments/network-management-v6.yaml environments/network-management.yaml environments/neutron-midonet.yaml environments/neutron-ml2-bigswitch.yaml environments/neutron-ml2-cisco-n1kv.yaml environments/neutron-ml2-cisco-nexus-ucsm.yaml environments/neutron-ml2-ovn.yaml environments/neutron-nuage-config.yaml environments/neutron-opencontrail.yaml environments/neutron-opendaylight-l3.yaml environments/neutron-opendaylight.yaml environments/neutron-ovs-dpdk.yaml environments/neutron-ovs-dvr.yaml environments/neutron-plumgrid.yaml environments/neutron-sriov.yaml environments/nova-nuage-config.yaml environments/overcloud-steps.yaml environments/puppet-ceph-devel.yaml environments/puppet-ceph-external.yaml environments/puppet-pacemaker-no-restart.yaml environments/puppet-pacemaker.yaml environments/puppet-tenant-vlan.yaml environments/services/ironic.yaml environments/services/mistral.yaml environments/services/sahara.yaml environments/sshd-banner.yaml environments/storage-environment.yaml environments/tls-endpoints-public-dns.yaml environments/tls-endpoints-public-ip.yaml environments/updates/README.md environments/updates/update-from-keystone-admin-internal-api.yaml environments/updates/update-from-overcloud-compute-hostnames.yaml environments/updates/update-from-publicvip-on-ctlplane.yaml environments/use-dns-for-vips.yaml extraconfig/all_nodes/mac_hostname.j2.yaml extraconfig/all_nodes/mac_hostname.yaml extraconfig/all_nodes/random_string.j2.yaml extraconfig/all_nodes/random_string.yaml extraconfig/all_nodes/swap-partition.j2.yaml extraconfig/all_nodes/swap-partition.yaml extraconfig/all_nodes/swap.j2.yaml extraconfig/all_nodes/swap.yaml extraconfig/post_deploy/README extraconfig/post_deploy/default.yaml extraconfig/post_deploy/example.yaml extraconfig/post_deploy/example_run_on_update.yaml extraconfig/pre_deploy/rhel-registration/environment-rhel-registration.yaml extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml extraconfig/pre_deploy/rhel-registration/rhel-registration.yaml extraconfig/pre_deploy/rhel-registration/scripts/rhel-registration extraconfig/pre_deploy/rhel-registration/scripts/rhel-unregistration extraconfig/tasks/aodh_data_migration.sh extraconfig/tasks/major_upgrade_block_storage.sh extraconfig/tasks/major_upgrade_ceilometer_wsgi_mitaka_newton.yaml extraconfig/tasks/major_upgrade_ceph_mon.sh extraconfig/tasks/major_upgrade_ceph_storage.sh extraconfig/tasks/major_upgrade_check.sh extraconfig/tasks/major_upgrade_compute.sh extraconfig/tasks/major_upgrade_controller_pacemaker_1.sh extraconfig/tasks/major_upgrade_controller_pacemaker_2.sh extraconfig/tasks/major_upgrade_controller_pacemaker_3.sh extraconfig/tasks/major_upgrade_controller_pacemaker_4.sh extraconfig/tasks/major_upgrade_controller_pacemaker_5.sh extraconfig/tasks/major_upgrade_controller_pacemaker_6.sh extraconfig/tasks/major_upgrade_object_storage.sh extraconfig/tasks/major_upgrade_pacemaker.yaml extraconfig/tasks/major_upgrade_pacemaker_init.j2.yaml extraconfig/tasks/major_upgrade_pacemaker_init.yaml extraconfig/tasks/major_upgrade_pacemaker_migrations.sh extraconfig/tasks/mitaka_to_newton_aodh_data_migration.yaml extraconfig/tasks/mitaka_to_newton_ceilometer_wsgi_upgrade.pp extraconfig/tasks/pacemaker_common_functions.sh extraconfig/tasks/pacemaker_maintenance_mode.sh extraconfig/tasks/pacemaker_resource_restart.sh extraconfig/tasks/post_puppet_pacemaker.yaml extraconfig/tasks/post_puppet_pacemaker_restart.yaml extraconfig/tasks/pre_puppet_pacemaker.yaml extraconfig/tasks/ssh/host_public_key.yaml extraconfig/tasks/ssh/known_hosts_config.yaml extraconfig/tasks/swift-ring-deploy.yaml extraconfig/tasks/swift-ring-update.yaml extraconfig/tasks/yum_update.sh extraconfig/tasks/yum_update.yaml extraconfig/tasks/yum_update_noop.yaml firstboot/os-net-config-mappings.yaml firstboot/userdata_default.yaml firstboot/userdata_dev_rsync.yaml firstboot/userdata_example.yaml firstboot/userdata_heat_admin.yaml hosts-config.yaml j2_excludes.yaml net-config-bond.yaml net-config-bridge.yaml net-config-linux-bridge.yaml net-config-noop.yaml net-config-static-bridge-with-external-dhcp.yaml net-config-static-bridge.yaml net-config-static.yaml network/config/bond-with-vlans/README.md network/config/bond-with-vlans/ceph-storage.yaml network/config/bond-with-vlans/cinder-storage.yaml network/config/bond-with-vlans/compute-dpdk.yaml network/config/bond-with-vlans/compute.yaml network/config/bond-with-vlans/controller-no-external.yaml network/config/bond-with-vlans/controller-v6.yaml network/config/bond-with-vlans/controller.yaml network/config/bond-with-vlans/swift-storage.yaml network/config/multiple-nics/README.md network/config/multiple-nics/ceph-storage.yaml network/config/multiple-nics/cinder-storage.yaml network/config/multiple-nics/compute.yaml network/config/multiple-nics/controller-v6.yaml network/config/multiple-nics/controller.yaml network/config/multiple-nics/swift-storage.yaml network/config/single-nic-linux-bridge-vlans/README.md network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml network/config/single-nic-linux-bridge-vlans/compute.yaml network/config/single-nic-linux-bridge-vlans/controller-v6.yaml network/config/single-nic-linux-bridge-vlans/controller.yaml network/config/single-nic-linux-bridge-vlans/swift-storage.yaml network/config/single-nic-vlans/README.md network/config/single-nic-vlans/ceph-storage.yaml network/config/single-nic-vlans/cinder-storage.yaml network/config/single-nic-vlans/compute.yaml network/config/single-nic-vlans/controller-no-external.yaml network/config/single-nic-vlans/controller-v6.yaml network/config/single-nic-vlans/controller.yaml network/config/single-nic-vlans/swift-storage.yaml network/endpoints/build_endpoint_map.py network/endpoints/endpoint_data.yaml network/endpoints/endpoint_map.yaml network/external.yaml network/external_v6.yaml network/internal_api.yaml network/internal_api_v6.yaml network/management.yaml network/management_v6.yaml network/networks.yaml network/ports/ctlplane_vip.yaml network/ports/external.yaml network/ports/external_from_pool.yaml network/ports/external_from_pool_v6.yaml network/ports/external_v6.yaml network/ports/from_service.yaml network/ports/from_service_v6.yaml network/ports/internal_api.yaml network/ports/internal_api_from_pool.yaml network/ports/internal_api_from_pool_v6.yaml network/ports/internal_api_v6.yaml network/ports/management.yaml network/ports/management_from_pool.yaml network/ports/management_from_pool_v6.yaml network/ports/management_v6.yaml network/ports/net_ip_list_map.yaml network/ports/net_ip_map.yaml network/ports/net_vip_map_external.yaml network/ports/net_vip_map_external_v6.yaml network/ports/noop.yaml network/ports/storage.yaml network/ports/storage_from_pool.yaml network/ports/storage_from_pool_v6.yaml network/ports/storage_mgmt.yaml network/ports/storage_mgmt_from_pool.yaml network/ports/storage_mgmt_from_pool_v6.yaml network/ports/storage_mgmt_v6.yaml network/ports/storage_v6.yaml network/ports/tenant.yaml network/ports/tenant_from_pool.yaml network/ports/tenant_from_pool_v6.yaml network/ports/tenant_v6.yaml network/ports/vip.yaml network/ports/vip_v6.yaml network/service_net_map.j2.yaml network/service_net_map.yaml network/storage.yaml network/storage_mgmt.yaml network/storage_mgmt_v6.yaml network/storage_v6.yaml network/tenant.yaml network/tenant_v6.yaml overcloud-resource-registry-puppet.j2.yaml overcloud-resource-registry-puppet.yaml overcloud.j2.yaml overcloud.yaml puppet/all-nodes-config.yaml puppet/blockstorage-config.yaml puppet/blockstorage-role.yaml puppet/cephstorage-config.yaml puppet/cephstorage-role.yaml puppet/compute-config.yaml puppet/compute-role.yaml puppet/config.role.j2.yaml puppet/controller-config-pacemaker.yaml puppet/controller-config.yaml puppet/controller-role.yaml puppet/deploy-artifacts.sh puppet/deploy-artifacts.yaml puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml puppet/extraconfig/all_nodes/neutron-ml2-cisco-nexus-ucsm.j2.yaml puppet/extraconfig/all_nodes/neutron-ml2-cisco-nexus-ucsm.yaml puppet/extraconfig/pre_deploy/README puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml puppet/extraconfig/pre_deploy/controller/cinder-eqlx.yaml puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml puppet/extraconfig/pre_deploy/controller/multiple.yaml puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml puppet/extraconfig/pre_deploy/controller/neutron-ml2-cisco-n1kv.yaml puppet/extraconfig/pre_deploy/default.yaml puppet/extraconfig/pre_deploy/per_node.yaml puppet/extraconfig/tls/ca-inject.yaml puppet/extraconfig/tls/tls-cert-inject.yaml puppet/manifests/overcloud_controller_pacemaker.pp puppet/manifests/overcloud_role.pp puppet/objectstorage-config.yaml puppet/objectstorage-role.yaml puppet/post.j2.yaml puppet/post.yaml puppet/role.role.j2.yaml puppet/services/README.rst puppet/services/aodh-api.yaml puppet/services/aodh-base.yaml puppet/services/aodh-evaluator.yaml puppet/services/aodh-listener.yaml puppet/services/aodh-notifier.yaml puppet/services/apache.yaml puppet/services/ca-certs.yaml puppet/services/ceilometer-agent-central.yaml puppet/services/ceilometer-agent-compute.yaml puppet/services/ceilometer-agent-notification.yaml puppet/services/ceilometer-api.yaml puppet/services/ceilometer-base.yaml puppet/services/ceilometer-collector.yaml puppet/services/ceilometer-expirer.yaml puppet/services/ceph-base.yaml puppet/services/ceph-client.yaml puppet/services/ceph-external.yaml puppet/services/ceph-mon.yaml puppet/services/ceph-osd.yaml puppet/services/ceph-rgw.yaml puppet/services/cinder-api.yaml puppet/services/cinder-backend-dellps.yaml puppet/services/cinder-backend-dellsc.yaml puppet/services/cinder-backup.yaml puppet/services/cinder-base.yaml puppet/services/cinder-scheduler.yaml puppet/services/cinder-volume.yaml puppet/services/database/mongodb-base.yaml puppet/services/database/mongodb.yaml puppet/services/database/mysql.yaml puppet/services/database/redis-base.yaml puppet/services/database/redis.yaml puppet/services/glance-api.yaml puppet/services/glance-base.yaml puppet/services/glance-registry.yaml puppet/services/gnocchi-api.yaml puppet/services/gnocchi-base.yaml puppet/services/gnocchi-metricd.yaml puppet/services/gnocchi-statsd.yaml puppet/services/haproxy.yaml puppet/services/heat-api-cfn.yaml puppet/services/heat-api-cloudwatch.yaml puppet/services/heat-api.yaml puppet/services/heat-base.yaml puppet/services/heat-engine.yaml puppet/services/horizon.yaml puppet/services/ironic-api.yaml puppet/services/ironic-base.yaml puppet/services/ironic-conductor.yaml puppet/services/keepalived.yaml puppet/services/kernel.yaml puppet/services/keystone.yaml puppet/services/logging/fluentd-base.yaml puppet/services/logging/fluentd-client.yaml puppet/services/logging/fluentd-config.yaml puppet/services/manila-api.yaml puppet/services/manila-backend-cephfs.yaml puppet/services/manila-backend-generic.yaml puppet/services/manila-backend-netapp.yaml puppet/services/manila-base.yaml puppet/services/manila-scheduler.yaml puppet/services/manila-share.yaml puppet/services/memcached.yaml puppet/services/monitoring/sensu-base.yaml puppet/services/monitoring/sensu-client.yaml puppet/services/network/contrail-analytics.yaml puppet/services/network/contrail-base.yaml puppet/services/network/contrail-config.yaml puppet/services/network/contrail-control.yaml puppet/services/network/contrail-database.yaml puppet/services/network/contrail-webui.yaml puppet/services/neutron-api.yaml puppet/services/neutron-base.yaml puppet/services/neutron-bigswitch-agent.yaml puppet/services/neutron-compute-plugin-midonet.yaml puppet/services/neutron-compute-plugin-nuage.yaml puppet/services/neutron-compute-plugin-opencontrail.yaml puppet/services/neutron-compute-plugin-ovn.yaml puppet/services/neutron-compute-plugin-plumgrid.yaml puppet/services/neutron-dhcp.yaml puppet/services/neutron-l3-compute-dvr.yaml puppet/services/neutron-l3.yaml puppet/services/neutron-metadata.yaml puppet/services/neutron-midonet.yaml puppet/services/neutron-ovs-agent.yaml puppet/services/neutron-ovs-dpdk-agent.yaml puppet/services/neutron-plugin-ml2-ovn.yaml puppet/services/neutron-plugin-ml2.yaml puppet/services/neutron-plugin-nuage.yaml puppet/services/neutron-plugin-opencontrail.yaml puppet/services/neutron-plugin-plumgrid.yaml puppet/services/neutron-sriov-agent.yaml puppet/services/nova-api.yaml puppet/services/nova-base.yaml puppet/services/nova-compute.yaml puppet/services/nova-conductor.yaml puppet/services/nova-consoleauth.yaml puppet/services/nova-ironic.yaml puppet/services/nova-libvirt.yaml puppet/services/nova-metadata.yaml puppet/services/nova-scheduler.yaml puppet/services/nova-vnc-proxy.yaml puppet/services/opendaylight-api.yaml puppet/services/opendaylight-ovs.yaml puppet/services/pacemaker.yaml puppet/services/pacemaker/ceilometer-agent-central.yaml puppet/services/pacemaker/ceilometer-agent-notification.yaml puppet/services/pacemaker/ceilometer-api.yaml puppet/services/pacemaker/ceilometer-collector.yaml puppet/services/pacemaker/cinder-api.yaml puppet/services/pacemaker/cinder-backup.yaml puppet/services/pacemaker/cinder-scheduler.yaml puppet/services/pacemaker/cinder-volume.yaml puppet/services/pacemaker/core.yaml puppet/services/pacemaker/database/mongodb.yaml puppet/services/pacemaker/database/mysql.yaml puppet/services/pacemaker/database/redis.yaml puppet/services/pacemaker/glance-api.yaml puppet/services/pacemaker/glance-registry.yaml puppet/services/pacemaker/gnocchi-api.yaml puppet/services/pacemaker/gnocchi-metricd.yaml puppet/services/pacemaker/gnocchi-statsd.yaml puppet/services/pacemaker/haproxy.yaml puppet/services/pacemaker/heat-api-cfn.yaml puppet/services/pacemaker/heat-api-cloudwatch.yaml puppet/services/pacemaker/heat-api.yaml puppet/services/pacemaker/heat-engine.yaml puppet/services/pacemaker/horizon.yaml puppet/services/pacemaker/keystone.yaml puppet/services/pacemaker/manila-share.yaml puppet/services/pacemaker/memcached.yaml puppet/services/pacemaker/neutron-dhcp.yaml puppet/services/pacemaker/neutron-l3.yaml puppet/services/pacemaker/neutron-metadata.yaml puppet/services/pacemaker/neutron-midonet.yaml puppet/services/pacemaker/neutron-ovs-agent.yaml puppet/services/pacemaker/neutron-plugin-ml2.yaml puppet/services/pacemaker/neutron-plugin-nuage.yaml puppet/services/pacemaker/neutron-plugin-opencontrail.yaml puppet/services/pacemaker/neutron-plugin-plumgrid.yaml puppet/services/pacemaker/neutron-server.yaml puppet/services/pacemaker/nova-api.yaml puppet/services/pacemaker/nova-conductor.yaml puppet/services/pacemaker/nova-consoleauth.yaml puppet/services/pacemaker/nova-scheduler.yaml puppet/services/pacemaker/nova-vnc-proxy.yaml puppet/services/pacemaker/rabbitmq.yaml puppet/services/pacemaker/sahara-api.yaml puppet/services/pacemaker/sahara-engine.yaml puppet/services/rabbitmq.yaml puppet/services/sahara-api.yaml puppet/services/sahara-base.yaml puppet/services/sahara-engine.yaml puppet/services/services.yaml puppet/services/snmp.yaml puppet/services/sshd.yaml puppet/services/swift-base.yaml puppet/services/swift-proxy.yaml puppet/services/swift-ringbuilder.yaml puppet/services/swift-storage.yaml puppet/services/time/ntp.yaml puppet/services/time/timezone.yaml puppet/services/tripleo-firewall.yaml puppet/services/tripleo-packages.yaml puppet/services/vip-hosts.yaml roles_data.yaml user-environment.yaml user-files/home/stack/virt/network/three-nics-vlans/ceph-storage.yaml user-files/home/stack/virt/network/three-nics-vlans/cinder-storage.yaml user-files/home/stack/virt/network/three-nics-vlans/compute.yaml user-files/home/stack/virt/network/three-nics-vlans/controller.yaml user-files/home/stack/virt/network/three-nics-vlans/swift-storage.yaml validation-scripts/all-nodes.sh [stack@undercloud-0 ~]$ swift list overcloud | grep network-environment.yaml environments/network-environment.yaml When I have created copy of the templates in templates directory and included it in --templates the files within -e are uploaded and reflect my changes. [stack@undercloud-0 ~]$ cp -R /usr/share/openstack-tripleo-heat-templates/* templates/ [stack@undercloud-0 ~]$ cp virt/network/network-environment.yaml ~/templates/environments/network-environment.yaml [stack@undercloud-0 ~]$ cat overcloud_deploy-update-only.sh #!/bin/bash timeout 180m openstack overcloud deploy --update-plan-only \ --templates /home/stack/templates \ --libvirt-type kvm \ --ntp-server clock.redhat.com \ --control-scale 3 \ --control-flavor controller \ --compute-scale 2 \ --compute-flavor compute \ --ceph-storage-scale 3 \ --ceph-storage-flavor ceph \ -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml \ -e /home/stack/templates/internal.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/templates/network/network-environment.yaml \ -e /home/stack/templates/hostnames.yml \ -e /home/stack/templates/debug.yaml \ --log-file overcloud_deployment_72.log [stack@undercloud-0 ~]$ bash overcloud_deploy-update-only.sh Removing the current plan files Uploading new plan files Started Mistral Workflow. Execution ID: 90b3ce7a-fd93-464b-b644-8cf1b8d6c0d1 Plan updated Deploying templates in the directory /tmp/tripleoclient-t9Fceo/tripleo-heat-templates Overcloud Endpoint: http://10.0.0.107:5000/v2.0 Overcloud Deployed [stack@undercloud-0 ~]$ swift list overcloud | grep network-environment.yaml environments/network-environment.yaml network/network-environment.yaml network/network-environment.yaml.orig [stack@undercloud-0 ~]$ swift download overcloud environments/network-environment.yaml environments/network-environment.yaml [auth 0.501s, headers 0.651s, total 0.652s, 0.011 MB/s] [stack@undercloud-0 ~]$ diff -u ~/virt/network/network-environment.yaml environments/network-environment.yaml Version-Release number of selected component (if applicable): [stack@undercloud-0 ~]$ rpm -qa | egrep "tripleo|heat" openstack-heat-common-7.0.5-1.el7ost.noarch openstack-tripleo-image-elements-5.3.0-2.el7ost.noarch python-tripleoclient-5.4.2-2.el7ost.noarch openstack-tripleo-0.0.8-0.2.4de13b3git.el7ost.noarch openstack-heat-api-7.0.5-1.el7ost.noarch openstack-tripleo-ui-1.2.0-1.el7ost.noarch python-heat-agent-0-0.12.1e6015dgit.el7ost.noarch openstack-tripleo-heat-templates-5.3.0-4.el7ost.noarch puppet-tripleo-5.6.1-1.el7ost.noarch puppet-heat-9.5.0-1.el7ost.noarch openstack-tripleo-puppet-elements-5.3.0-1.el7ost.noarch openstack-heat-api-cfn-7.0.5-1.el7ost.noarch python-heatclient-1.5.2-1.el7ost.noarch openstack-heat-engine-7.0.5-1.el7ost.noarch heat-cfntools-1.3.0-2.el7ost.noarch openstack-tripleo-validations-5.1.2-1.el7ost.noarch openstack-tripleo-common-5.4.2-3.el7ost.noarch openstack-heat-templates-0-0.12.1e6015dgit.el7ost.noarch How reproducible: See above steps to Reproduce.
Hi, update-plan only changes the templates in the swift but it also splits for user provided env and what templates provided. Your changes should be in user-files and user-environment. Also minor update does not apply any change in networking.
network-environment is uploaded to user-files only if its in path of --templates.
I really don't think the -e are not accounted to swift if are out of --templates, but if you say that minor updates is not doing any network changes that's ok.
Lukas, Is there a requirement for documentation updates here? I'm unsure why the bug is assigned to you; should it be moved to a different component?
I'm sorry for very late reply - no, there shouldn't be any update to docs, the files in swift are supposed to be hidden from the user. The extra environment the user is uploading - in this case network-environment - is placed into user-environment.yaml and user-files. I think we should just close this as not a bug.
Thanks for confirming, Lukas. I'm closing the bug as you suggest.