Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

"openstack overcloud deploy" fail with Error "The environment is not a valid YAML mapping data type."

Hello,

I'm building Openstack Newton Environment by using TripleO on EXSi.

I successed Install-UnderCloud, Introspect-OverCloudNodes.

I created Heat-Templates, and deploying overcloud.

However "openstack overcloud deploy --templates -e (Omitted)" Command fail with Error "The environment is not a valid YAML mapping data type."

Please help me!

Thank you for your help.

Best regards,

Soichiro75

■ Version:

UnderCloudMachine OS: CentOS7.3

OpenStack Installer: TripleO(Director)

OpenStack Version: Newton

Environment: UnderCloud and OverCloud machines are VM on ESXi

■ Log:

(undercloud) [stack@director ~]$ ironic node-list
+--------------------------------------+--------------+---------------+-------------+--------------------+-------------+
| UUID                                 | Name         | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+--------------+---------------+-------------+--------------------+-------------+
| b200275a-891d-41f5-915d-19e1a9e91f0f | Controller00 | None          | power off   | available          | False       |
| f82fbe38-9492-4072-88e1-e7430a01d23f | Compute00    | None          | power off   | available          | False       |
| 4718100e-5007-4878-9384-813c31ac9259 | Compute01    | None          | power off   | available          | False       |
+--------------------------------------+--------------+---------------+-------------+--------------------+-------------+

(undercloud) [stack@director ~]$ openstack overcloud profiles list
+--------------------------------------+--------------+-----------------+-----------------+-------------------+
| Node UUID                            | Node Name    | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+--------------+-----------------+-----------------+-------------------+
| b200275a-891d-41f5-915d-19e1a9e91f0f | Controller00 | available       | control         |                   |
| f82fbe38-9492-4072-88e1-e7430a01d23f | Compute00    | available       | compute         |                   |
| 4718100e-5007-4878-9384-813c31ac9259 | Compute01    | available       | compute         |                   |
+--------------------------------------+--------------+-----------------+-----------------+-------------------+

(undercloud) [stack@director ~]$ ironic node-show Controller00
+------------------------+--------------------------------------------------------------------------+
| Property               | Value                                                                    |
+------------------------+--------------------------------------------------------------------------+
| boot_interface         |                                                                          |
| chassis_uuid           | None                                                                     |
| clean_step             | {}                                                                       |
| console_enabled        | False                                                                    |
| console_interface      |                                                                          |
| created_at             | 2017-06-05T05:11:34+00:00                                                |
| deploy_interface       |                                                                          |
| driver                 | pxe_ssh                                                                  |
| driver_info            | {u'ssh_username': u'root', u'deploy_kernel': u'237ec566-9300-4e83-bbdd-  |
|                        | 27ebf55db0ad', u'libvirt_uri': u'esx://root@192.168.111.10/',            |
|                        | u'deploy_ramdisk': u'f99c42cc-2ee0-4891-8f5e-eba16395d423',              |
|                        | u'ssh_key_contents': u'******', u'ssh_virt_type': u'vmware',             |
|                        | u'ssh_address': u'192.168.111.10'}                                       |
| driver_internal_info   | {u'is_whole_disk_image': False}                                          |
| extra                  | {u'hardware_swift_object': u'extra_hardware-b200275a-891d-41f5-915d-     |
|                        | 19e1a9e91f0f'}                                                           |
| inspect_interface      |                                                                          |
| inspection_finished_at | None                                                                     |
| inspection_started_at  | None                                                                     |
| instance_info          | {}                                                                       |
| instance_uuid          | None                                                                     |
| last_error             | None                                                                     |
| maintenance            | False                                                                    |
| maintenance_reason     | None                                                                     |
| management_interface   |                                                                          |
| name                   | Controller00                                                             |
| network_interface      | flat                                                                     |
| power_interface        |                                                                          |
| power_state            | power off                                                                |
| properties             | {u'memory_mb': u'8192', u'cpu_arch': u'x86_64', u'local_gb': u'49',      |
|                        | u'cpus': u'4', u'capabilities': u'profile:control,cpu_aes:true,cpu_hugep |
|                        | ages:true,boot_option:local,cpu_vt:true,boot_mode:bios'}                 |
| provision_state        | available                                                                |
| provision_updated_at   | 2017-06-09T04:04:47+00:00                                                |
| raid_config            | {}                                                                       |
| raid_interface         |                                                                          |
| reservation            | None                                                                     |
| resource_class         | None                                                                     |
| target_power_state     | None                                                                     |
| target_provision_state | None                                                                     |
| target_raid_config     | {}                                                                       |
| updated_at             | 2017-06-09T04:04:48+00:00                                                |
| uuid                   | b200275a-891d-41f5-915d-19e1a9e91f0f                                     |
| vendor_interface       |                                                                          |
+------------------------+--------------------------------------------------------------------------+

(undercloud) [stack@director ~]$  ls -l ~/templates/
total 16
-rw-r--r--. 1 stack stack 3146 Jun  9 12:21 network-environment.yaml
drwxrwxr-x. 2 stack stack   77 Jun  9 14:17 nic-configs
-rw-r--r--. 1 stack stack 9952 Jun  9 11:29 roles_data.yaml

(undercloud) [stack@director ~]$ ls -l ~/templates/nic-configs/
total 24
-rw-r--r--. 1 stack stack 6079 Jun  9 12:11 compute.yaml
-rw-r--r--. 1 stack stack 6695 Jun  9 12:11 controller.yaml
-rwxr-xr-x. 1 stack stack 4601 Jun  8 18:03 run-os-net-config.sh

(undercloud) [stack@director ~]$ cat ~/templates/roles_data.yaml
# Specifies which roles (groups of nodes) will be deployed
# Note this is used as an input to the various *.j2.yaml
# jinja2 templates, so that they are converted into *.yaml
# during the plan creation (via a mistral action/workflow).
#
# The format is a list, with the following format:
#
# * name: (string) mandatory, name of the role, must be unique
#
# CountDefault: (number) optional, default number of nodes, defaults to 0
# sets the default for the {{role.name}}Count parameter in overcloud.yaml
#
# HostnameFormatDefault: (string) optional default format string for hostname
# defaults to '%stackname%-{{role.name.lower()}}-%index%'
# sets the default for {{role.name}}HostnameFormat parameter in overcloud.yaml
#
# disable_constraints: (boolean) optional, whether to disable Nova and Glance
# constraints for each role specified in the templates.
#
# disable_upgrade_deployment: (boolean) optional, whether to run the
# ansible upgrade steps for all services that are deployed on the role. If set
# to True, the operator will drive the upgrade for this role's nodes.
#
# upgrade_batch_size: (number): batch size for upgrades where tasks are
# specified by services to run in batches vs all nodes at once.
# This defaults to 1, but larger batches may be specified here.
#
# ServicesDefault: (list) optional default list of services to be deployed
# on the role, defaults to an empty list. Sets the default for the
# {{role.name}}Services parameter in overcloud.yaml
#
# tags: (list) list of tags used by other parts of the deployment process to
# find the role for a specific type of functionality. Currently a role
# with both 'primary' and 'controller' is used as the primary role for the
# deployment process. If no roles have have 'primary' and 'controller', the
# first role in this file is used as the primary role.
#
- name: Controller
  CountDefault: 1
  tags:
    - primary
    - controller
  ServicesDefault:
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CertmongerUser
    - OS::TripleO::Services::CephMds
    - OS::TripleO::Services::CephMon
    - OS::TripleO::Services::CephExternal
    - OS::TripleO::Services::CephRbdMirror
    - OS::TripleO::Services::CephRgw
    - OS::TripleO::Services::CinderApi
    - OS::TripleO::Services::CinderBackup
    - OS::TripleO::Services::CinderScheduler
    - OS::TripleO::Services::CinderVolume
    - OS::TripleO::Services::CinderBackendDellPs
    - OS::TripleO::Services::CinderBackendDellSc
    - OS::TripleO::Services::CinderBackendNetApp
    - OS::TripleO::Services::CinderBackendScaleIO
    - OS::TripleO::Services::Congress
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::Keystone
    - OS::TripleO::Services::GlanceApi
    - OS::TripleO::Services::HeatApi
    - OS::TripleO::Services::HeatApiCfn
    - OS::TripleO::Services::HeatApiCloudwatch
    - OS::TripleO::Services::HeatEngine
    - OS::TripleO::Services::MySQL
    - OS::TripleO::Services::MySQLClient
    - OS::TripleO::Services::NeutronBgpVpnApi
    - OS::TripleO::Services::NeutronDhcpAgent
    - OS::TripleO::Services::NeutronL2gwApi
    - OS::TripleO::Services::NeutronL3Agent
    - OS::TripleO::Services::NeutronMetadataAgent
    - OS::TripleO::Services::NeutronApi
    - OS::TripleO::Services::NeutronCorePlugin
    - OS::TripleO::Services::NeutronOvsAgent
    - OS::TripleO::Services::NeutronL2gwAgent
    - OS::TripleO::Services::RabbitMQ
    - OS::TripleO::Services::HAproxy
    - OS::TripleO::Services::Keepalived
    - OS::TripleO::Services::Memcached
    - OS::TripleO::Services::Pacemaker
    - OS::TripleO::Services::Redis
    - OS::TripleO::Services::NovaConductor
    - OS::TripleO::Services::MongoDb
    - OS::TripleO::Services::NovaApi
    - OS::TripleO::Services::NovaPlacement
    - OS::TripleO::Services::NovaMetadata
    - OS::TripleO::Services::NovaScheduler
    - OS::TripleO::Services::NovaConsoleauth
    - OS::TripleO::Services::NovaVncProxy
    - OS::TripleO::Services::Ec2Api
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::SwiftProxy
    - OS::TripleO::Services::ExternalSwiftProxy
    - OS::TripleO::Services::SwiftStorage
    - OS::TripleO::Services::SwiftRingBuilder
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::Sshd
    - OS::TripleO::Services::Securetty
    - OS::TripleO::Services::Timezone
    # FIXME: This service was disabled in Pike and this entry should be removed
    # in Queens.
    - OS::TripleO::Services::CeilometerExpirer
    - OS::TripleO::Services::CeilometerAgentCentral
    - OS::TripleO::Services::CeilometerAgentNotification
    - OS::TripleO::Services::Horizon
    - OS::TripleO::Services::GnocchiApi
    - OS::TripleO::Services::GnocchiMetricd
    - OS::TripleO::Services::GnocchiStatsd
    - OS::TripleO::Services::ManilaApi
    - OS::TripleO::Services::ManilaScheduler
    - OS::TripleO::Services::ManilaBackendGeneric
    - OS::TripleO::Services::ManilaBackendNetapp
    - OS::TripleO::Services::ManilaBackendCephFs
    - OS::TripleO::Services::ManilaShare
    - OS::TripleO::Services::AodhApi
    - OS::TripleO::Services::AodhEvaluator
    - OS::TripleO::Services::AodhNotifier
    - OS::TripleO::Services::AodhListener
    - OS::TripleO::Services::SaharaApi
    - OS::TripleO::Services::SaharaEngine
    - OS::TripleO::Services::IronicApi
    - OS::TripleO::Services::IronicConductor
    - OS::TripleO::Services::NovaIronic
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::OpenDaylightApi
    - OS::TripleO::Services::OpenDaylightOvs
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::Collectd
    - OS::TripleO::Services::BarbicanApi
    - OS::TripleO::Services::PankoApi
    - OS::TripleO::Services::Tacker
    - OS::TripleO::Services::Zaqar
    - OS::TripleO::Services::OVNDBs
    - OS::TripleO::Services::NeutronML2FujitsuCfab
    - OS::TripleO::Services::NeutronML2FujitsuFossw
    - OS::TripleO::Services::CinderHPELeftHandISCSI
    - OS::TripleO::Services::Etcd
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::OctaviaApi
    - OS::TripleO::Services::OctaviaHealthManager
    - OS::TripleO::Services::OctaviaHousekeeping
    - OS::TripleO::Services::OctaviaWorker
    - OS::TripleO::Services::Vpp
    - OS::TripleO::Services::NeutronVppAgent
    - OS::TripleO::Services::Docker

- name: Compute
  CountDefault: 2
  HostnameFormatDefault: '%stackname%-novacompute-%index%'
  disable_upgrade_deployment: True
  ServicesDefault:
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CertmongerUser
    - OS::TripleO::Services::CephClient
    - OS::TripleO::Services::CephExternal
    - OS::TripleO::Services::Timezone
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::Sshd
    - OS::TripleO::Services::Securetty
    - OS::TripleO::Services::NovaCompute
    - OS::TripleO::Services::NovaLibvirt
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::ComputeNeutronCorePlugin
    - OS::TripleO::Services::ComputeNeutronOvsAgent
    - OS::TripleO::Services::ComputeCeilometerAgent
    - OS::TripleO::Services::ComputeNeutronL3Agent
    - OS::TripleO::Services::ComputeNeutronMetadataAgent
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::NeutronSriovAgent
    - OS::TripleO::Services::OpenDaylightOvs
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::Collectd
    - OS::TripleO::Services::Vpp
    - OS::TripleO::Services::NeutronVppAgent
    - OS::TripleO::Services::MySQLClient
    - OS::TripleO::Services::Docker

- name: BlockStorage
  ServicesDefault:
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CertmongerUser
    - OS::TripleO::Services::BlockStorageCinderVolume
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::Timezone
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::Sshd
    - OS::TripleO::Services::Securetty
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::Collectd
    - OS::TripleO::Services::MySQLClient
    - OS::TripleO::Services::Docker

- name: ObjectStorage
  disable_upgrade_deployment: True
  ServicesDefault:
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CertmongerUser
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::SwiftStorage
    - OS::TripleO::Services::SwiftRingBuilder
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::Sshd
    - OS::TripleO::Services::Securetty
    - OS::TripleO::Services::Timezone
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::Collectd
    - OS::TripleO::Services::MySQLClient
    - OS::TripleO::Services::Docker

- name: CephStorage
  ServicesDefault:
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CertmongerUser
    - OS::TripleO::Services::CephOSD
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::Sshd
    - OS::TripleO::Services::Securetty
    - OS::TripleO::Services::Timezone
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::Collectd
    - OS::TripleO::Services::MySQLClient
    - OS::TripleO::Services::Docker

(undercloud) [stack@director ~]$ cat ~/deploy-overcloud.sh
#!/bin/bash

openstack overcloud deploy --templates \
-e /home/stack/templates/roles_data.yaml \
-e /home/stack/templates/network-environment.yaml \
-e /home/stack/templates/nic-configs/controller.yaml \
-e /home/stack/templates/nic-configs/compute.yaml \
--control-flavor control \
--compute-flavor compute \
--debug

(undercloud) [stack@director ~]$ sh ~/deploy-overcloud.sh
START with options: [u'overcloud',
(Omitted)
Instantiating messaging websocket client: ws://192.168.222.90:9000
Waiting for messages on queue '38e60614-d7ab-465f-9202-495b7d9e073f' with no timeout.
SUCCESS: No warnings or errors in deploy configuration, proceeding.

No stack found, will be doing a stack create
Creating temporary templates tree in /tmp/tripleoclient-Cz7KZQ/tripleo-heat-templates
(Omitted)
HTTP POST http://192.168.222.90:8989/v2/action_executions 201
Removing the current plan files
Starting new HTTP connection (1): 192.168.222.90
"GET /v1/AUTH_caa6105d86e148c5ac09ffbcbaa2aaca?format=json HTTP/1.1" 200 310
"GET /v1/AUTH_caa6105d86e148c5ac09ffbcbaa2aaca/overcloud?format=json HTTP/1.1" 200 122597
"DELETE /v1/AUTH_caa6105d86e148c5ac09ffbcbaa2aaca/overcloud/all-nodes-validation.yaml HTTP/1.1" 204 0
(Omitted)
HTTP PUT http://192.168.222.90:8989/v2/environments 200
Uploading new plan files
Creating tarball of /tmp/tripleoclient-Cz7KZQ/tripleo-heat-templates at location /tmp/tmpJiExNY
Running cmd (subprocess): /usr/bin/tar -C /tmp/tripleoclient-Cz7KZQ/tripleo-heat-templates -czf /tmp/tmpJiExNY --exclude .git --exclude .tox --exclude *.pyc --exclude *.pyo .
(Omitted)
Uploading filename /tmp/tmpJiExNY to Swift container overcloud
Instantiating messaging websocket client: ws://192.168.222.90:9000
(Omitted)
HTTP POST http://192.168.222.90:8989/v2/executions 201
Started Mistral Workflow tripleo.plan_management.v1.update_deployment_plan. Execution ID: 93252c0f-7975-4b08-b0df-395c51bfebf7
None
Plan updated
"GET /v1/AUTH_caa6105d86e148c5ac09ffbcbaa2aaca/overcloud?format=json HTTP/1.1" 200 122597
Missing in templates directory, downloading                                docker/post-upgrade.yaml from swift into /tmp/tripleoc
(Omitted)
"GET /v1/AUTH_caa6105d86e148c5ac09ffbcbaa2aaca/overcloud/puppet/post-upgrade.yaml HTTP/1.1" 200 12113
Missing in templates directory, downloading                                puppet/post.yaml from swift into /tmp/tripleoclient-Cz7KZQ/tripleo-heat-templates/puppet/post.yaml
"GET /v1/AUTH_caa6105d86e148c5ac09ffbcbaa2aaca/overcloud/puppet/post.yaml HTTP/1.1" 200 21864
Deploying templates in the directory /tmp/tripleoclient-Cz7KZQ/tripleo-heat-templates
Creating Environment files
Processing environment files [u'/home/stack/templates/roles_data.yaml', u'/home/stack/templates/network-environment.yaml', u'/home/stack/templates/nic-configs/controller.yaml', u'/home/stack/templates/nic-configs/compute.yaml']
Processing environment files /home/stack/templates/roles_data.yaml
The environment is not a valid YAML mapping data type.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 400, in run_subcommand
    result = cmd.run(parsed_args)
(Omitted)
ValueError: The environment is not a valid YAML mapping data type.
clean_up DeployOvercloud: The environment is not a valid YAML mapping data type.
(Omitted)
ValueError: The environment is not a valid YAML mapping data type.

END return value: 1

(undercloud) [stack@director ~]$ openstack stack list
(nothing stack)