Bug 1576388

Summary: [UPGRADES] WARNING: Following parameters are defined but not used in plan
Product: Red Hat OpenStack Reporter: Yurii Prokulevych <yprokule>
Component: python-tripleoclientAssignee: Marios Andreou <mandreou>
Status: CLOSED NOTABUG QA Contact: Yurii Prokulevych <yprokule>
Severity: high Docs Contact:
Priority: high    
Version: 13.0 (Queens)CC: augol, ccamacho, hbrock, jpichon, jslagle, jstransk, lbezdick, mandreou, mburns, mcornea, rlondhe
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-03 08:52:05 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 Flags
Stack Environment Show none

Description Yurii Prokulevych 2018-05-09 10:56:02 UTC
Created attachment 1433725 [details]
Stack Environment Show

Description of problem:
-----------------------
When 'upgrade prepare' or 'ceph-upgrade run' next message is displayed:

Waiting for messages on queue 'tripleo' with no timeout.
Waiting for messages on queue 'tripleo' with no timeout.
Started Mistral Workflow tripleo.validations.v1.check_pre_deployment_validations. Execution ID: 1c4bc9a0-72b3-4988-80fc-58a283faee8f
Removing the current plan files
Uploading new plan files
Started Mistral Workflow tripleo.plan_management.v1.update_deployment_plan. Execution ID: 19993a8f-abd5-4d51-a45d-ee0f10b533ae
Plan updated.
Processing templates in the directory /tmp/tripleoclient-5uk7Pr/tripleo-heat-templates
Started Mistral Workflow tripleo.plan_management.v1.get_deprecated_parameters. Execution ID: 795e7c67-d97b-470a-aa27-a6f9509528ad
WARNING: Following parameters are defined but not used in plan. Could be possible that parameter is valid but currently not used.
  CephAnsiblePlaybookVerbosity
  TenantNetCidr
  SSLIntermediateCertificate
  StorageAllocationPools
  InternalApiAllocationPools
  OvercloudControlFlavor
  StorageMgmtAllocationPools
  StorageMgmtNetCidr
  ControlPlaneDefaultRoute
  CephAnsibleDisksConfig
  SSLRootCertificate
  DockerMysqlClientConfigImage
  DockerCephDaemonImage
  CephIPv6
  TenantNetworkVlanID
  CephPoolDefaultPgNum
  MongoDbIPv6
  SSLKey
  ExternalNetCidr
  ManilaIPv6
  TenantAllocationPools
  ExternalAllocationPools
  EC2MetadataIp
  InternalApiNetCidr
  DnsServers
  CinderBackupBackend
  StorageNetCidr
  CephAnsiblePlaybook
  ExternalInterfaceDefaultRoute
  ControllerCount
Started Mistral Workflow tripleo.package_update.v1.package_update_plan. Execution ID: 329558e5-aa5f-44d2-aa1d-5f5856bc912a
2018-05-07 11:44:44Z [Networks]: UPDATE_IN_PROGRESS  state changed
...

I'd like to know if this is a real issue/warning or some is wrong.
Deploy command:
===============
openstack overcloud deploy \
  --timeout 100 \
  --templates /usr/share/openstack-tripleo-heat-templates \
  --libvirt-type kvm \
  --stack overcloud \
  -r /home/stack/composable_roles/roles/roles_data.yaml \
  -e /home/stack/composable_roles/roles/nodes.yaml \
-e /home/stack/composable_roles/internal.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml \
-e /home/stack/composable_roles/network/network-environment-v6.yaml \
-e /home/stack/composable_roles/enable-tls.yaml \
-e /home/stack/composable_roles/inject-trust-anchor.yaml \
-e /home/stack/composable_roles/public_vip.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
-e /home/stack/composable_roles/hostnames.yaml \
-e /home/stack/composable_roles/debug.yaml \
-e /home/stack/composable_roles/config_heat.yaml \
-e /home/stack/composable_roles/docker-images.yaml \
--log-file overcloud_deployment_67.log

Upgrade prepare command:
========================
openstack overcloud upgrade prepare --templates --stack overcloud \
     --container-registry-file /home/stack/composable_roles/docker-images.yaml \
     -e /home/stack/composable_roles/roles/nodes.yaml \
     -e /home/stack/composable_roles/internal.yaml \
     -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml \
          -e /home/stack/composable_roles/network/network-environment-v6.yaml \
            -e /home/stack/composable_roles/enable-tls.yaml \
            -e /home/stack/composable_roles/inject-trust-anchor.yaml \
            -e /home/stack/composable_roles/public_vip.yaml \
            -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml \
            -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
            -e /home/stack/composable_roles/hostnames.yaml \
        -e /home/stack/composable_roles/debug.yaml \
        -e /home/stack/composable_roles/config_heat.yaml \
        -e /home/stack/composable_roles/docker-images.yaml \
        --roles-file /home/stack/composable_roles/roles/roles_data.yaml 2>&1

Ceph upgrade command:
=====================
openstack overcloud ceph-upgrade run \
    --templates /usr/share/openstack-tripleo-heat-templates \
                -e /home/stack/composable_roles/roles/nodes.yaml \
            -e /home/stack/composable_roles/internal.yaml \
            -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml \
            -e /home/stack/composable_roles/network/network-environment-v6.yaml \
            -e /home/stack/composable_roles/enable-tls.yaml \
            -e /home/stack/composable_roles/inject-trust-anchor.yaml \
            -e /home/stack/composable_roles/public_vip.yaml \
            -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml \
            -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
            -e /home/stack/composable_roles/hostnames.yaml \
            -e /home/stack/composable_roles/debug.yaml \
            -e /home/stack/composable_roles/config_heat.yaml \
            -e /home/stack/composable_roles/docker-images.yaml \
            --container-registry-file /home/stack/composable_roles/docker-images.yaml \
    --roles-file /home/stack/composable_roles/roles/roles_data.yaml 2>&1


Version-Release number of selected component (if applicable):
-------------------------------------------------------------
openstack-tripleo-heat-templates-8.0.2-14.el7ost.noarch
python-tripleoclient-9.2.1-5.el7ost.noarch

How reproducible:
-----------------
So far 100%


Steps to Reproduce:
-------------------
1. Upgrade UC to RHOS-13
2. Run 'overcloud upgrade prepare' command
3. Check output

Comment 1 Marios Andreou 2018-05-10 12:57:56 UTC
o/ yprokule taking this for triage. I digged a bit to understand the problem some more. I think this is OK, i.e. just a warning (and we may want to revisit the code which is checking the params here, added there [0] for more context).

AFAICS the warning is happening at [1][2][3] (At [3] there is a warning about this possibly showing up false positives). 

Please first can we confirm that this is a false positive? Can you check the values of those params, e.g. for the DnsServers you might confirm the contents of etc/resolv.conf on controller after you have completed the operation. For the 'upgrade prepare' case.. you would need to check this value after the upgrade run is completed (i.e. where the configuration will be applied to the controller)... if you check it immediately after the prepare it will likely have the correct (old) value. Marking triaged.

thanks


[0]
[1] https://github.com/openstack/python-tripleoclient/blob/858529b4a7f0f8f3f63159ab1208601655fef731/tripleoclient/v1/overcloud_deploy.py#L218
[2] https://github.com/openstack/python-tripleoclient/blob/858529b4a7f0f8f3f63159ab1208601655fef731/tripleoclient/workflows/parameters.py#L93
[3] https://github.com/openstack/tripleo-common/blob/53513666974657f120def7811c95b36a30782b89/workbooks/plan_management.yaml#L536

Comment 2 Marios Andreou 2018-05-10 12:58:59 UTC
[0] was this fwiw https://review.openstack.org/#/c/491753/
for comment #1

Comment 3 Marios Andreou 2018-05-14 13:22:06 UTC
o/ yprokule some more specific things to check on the environment please. The idea is to make sure that the things you asked for are the things your overcloud ends up with. We can check the environment itself and the config values, and we can also check the swift stored plan:

    1. Check the environment. One example is DnsServers, e.g. my network-environment.yaml has:

        parameter_defaults:
        "DnsServers": [
            "38.145.33.91", 
            "38.145.32.66", 
            "38.145.32.79"
        ], 
        ...
          "StorageMgmtNetCidr": "172.19.0.0/24", 
        ...
        
       For the DnsServers you can check /etc/resolv.conf on the overcloud nodes, and for the StorageMgmtNetCidr you can check undercloud neutron:
       
       (undercloud) [stack@521-m--undercloud ~]$ openstack network list


        | ID                                   | Name         | Subnets                              |

        | 37ded5c3-cc3a-4b77-9782-df1b2cf502b5 | storage_mgmt | d69e86c1-9c3e-4f8d-bc41-a88e9597f1c7 |

        (undercloud) [stack@521-m--undercloud ~]$ openstack subnet show d69e86c1-9c3e-4f8d-bc41-a88e9597f1c7
        +-------------------+--------------------------------------+
        | Field             | Value                                |
        +-------------------+--------------------------------------+
        | allocation_pools  | 172.19.0.10-172.19.0.250             |
        | cidr              | 172.19.0.0/24


    2. Check the plan. 

        # undercloud source stackrc:
        # you may want to mkdir DELME && cd DELME first ;) 
        swift download overcloud plan-environment.yaml #omit plan-environment.yaml to get all the overcloud files
        # check plan-environment.yaml 
        grep -ni -A 3 DnsServers: plan-environment.yaml 
            28:  DnsServers:
            29-  - 38.145.33.91
            30-  - 38.145.32.66
            31-  - 38.145.32.79
            --
            141:  TenantNetCidr: 172.16.0.0/24

Next steps. If we confirm this is a false positive then at least the urgency decreases. We can revisit that validation ([3] in comment #1) and/or consider documentation.

Comment 5 Lukas Bezdicka 2019-05-03 08:52:05 UTC
On OSP13z6 env I get this:
WARNING: Following parameters are defined but not used in plan. Could be possible that parameter is valid but currently not used.
  SSLIntermediateCertificate
  DockerMysqlClientConfigImage
  SSLKey
and all of the WARNINGs are correct.