Bug 1320708

Summary: "dictionary update sequence element #2 has length 1; 2 is required" when trying to install the overcloud with latest puddles
Product: Red Hat OpenStack Reporter: David Hill <dhill>
Component: python-rdomanager-oscpluginAssignee: RHOS Maint <rhos-maint>
Status: CLOSED NOTABUG QA Contact: yeylon <yeylon>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 8.0 (Liberty)CC: dhill, hbrock, jslagle, mburns, rhel-osp-director-maint, srevivo
Target Milestone: ---   
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-23 19:20:39 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:

Description David Hill 2016-03-23 19:07:30 UTC
Description of problem:
"dictionary update sequence element #2 has length 1; 2 is required" when trying to install the undercloud with latest puddles

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Install latest puddles
2. Try to install undercloud
3.

Actual results:
Fails

Expected results:
Succeeds

Additional info:
This is a brand new environment.

Comment 1 David Hill 2016-03-23 19:10:54 UTC
I'm using the following command to deploy:

openstack overcloud deploy --templates /home/stack/rhosp8/my-overcloud -e /home/stack/rhosp8/my-overcloud/environments/network-isolation.yaml -e /home/stack/rhosp8/network-environment.yaml --control-scale 3 --compute-scale 1 --ceph-storage-scale 3 --control-flavor control --compute-flavor compute --ceph-storage-flavor ceph-storage --ntp-server pool.ntp.org --neutron-network-type vxlan --neutron-tunnel-types vxlan --libvirt-type qemu

And the following templates:

https://github.com/david-hill/rhosp8/tree/22032016

Comment 3 David Hill 2016-03-23 19:13:40 UTC
dictionary update sequence element #2 has length 1; 2 is required
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 374, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/lib/python2.7/site-packages/cliff/command.py", line 54, in run
    self.take_action(parsed_args)
  File "/usr/lib/python2.7/site-packages/tripleoclient/v1/overcloud_deploy.py", line 835, in take_action
    errors, warnings = self._predeploy_verify_capabilities(parsed_args)
  File "/usr/lib/python2.7/site-packages/tripleoclient/v1/overcloud_deploy.py", line 538, in _predeploy_verify_capabilities
    dry_run=parsed_args.dry_run
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 595, in assign_and_verify_profiles
    for uu, node in bm_nodes.items()}
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 595, in <dictcomp>
    for uu, node in bm_nodes.items()}
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 558, in node_get_capabilities
    return capabilities_to_dict(node.properties.get('capabilities'))
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 546, in capabilities_to_dict
    return dict([key.split(':', 1) for key in caps.split(',')])
ValueError: dictionary update sequence element #2 has length 1; 2 is required
clean_up DeployOvercloud: dictionary update sequence element #2 has length 1; 2 is required
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/openstackclient/shell.py", line 112, in run
    ret_val = super(OpenStackShell, self).run(argv)
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 255, in run
    result = self.run_subcommand(remainder)
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 374, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/lib/python2.7/site-packages/cliff/command.py", line 54, in run
    self.take_action(parsed_args)
  File "/usr/lib/python2.7/site-packages/tripleoclient/v1/overcloud_deploy.py", line 835, in take_action
    errors, warnings = self._predeploy_verify_capabilities(parsed_args)
  File "/usr/lib/python2.7/site-packages/tripleoclient/v1/overcloud_deploy.py", line 538, in _predeploy_verify_capabilities
    dry_run=parsed_args.dry_run
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 595, in assign_and_verify_profiles
    for uu, node in bm_nodes.items()}
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 595, in <dictcomp>
    for uu, node in bm_nodes.items()}
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 558, in node_get_capabilities
    return capabilities_to_dict(node.properties.get('capabilities'))
  File "/usr/lib/python2.7/site-packages/tripleoclient/utils.py", line 546, in capabilities_to_dict
    return dict([key.split(':', 1) for key in caps.split(',')])
ValueError: dictionary update sequence element #2 has length 1; 2 is required

Comment 4 David Hill 2016-03-23 19:15:58 UTC
"capabilities": "profile:control,boot_option:local,boot_mode=bios"},

Comment 5 David Hill 2016-03-23 19:20:39 UTC
It's a typo on my side.  Closing this BZ.

Comment 6 David Hill 2016-10-15 19:43:28 UTC
*** Bug 1320707 has been marked as a duplicate of this bug. ***