Deployment process fails if user named node with non-ASCII chars and if plugin is enabled

Bug #1519916 reported by Igor Zinovik
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel Plugins
Fix Committed
High
Artem Savinov
Fuel for OpenStack
7.0.x
Won't Fix
High
Fuel Plugins Bugs

Bug Description

Problem description:
Fuel plugins are allowed to process and modify data that is supplied in astute.yaml
files. These .yaml files can carry non-ASCII chars, user can give a particulair node
some descriptive name and he or she can use national symbols. This descriptive
name passes unmodifed to /etc/astute.yaml file. network_metadata section
contains 'user_node_name' variable that hold descriptive name that where entered
on web UI.

During deployment phase plugin can access that data and try to modify it. E.g. if plugin
tries to use regsubst function on such data puppet apply run fails with following message:
https://gyazo.com/d166828eb72ba424ac8509d3144e50f7

Environment:
Fuel 7.0 GA (build 301) + fuel-plugin-nsxv (1.1.0)

Reproducable: 100%

Workaround:
rename node using only ASCII chars

This problem might also affect Fuel 8.0

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "7.0"
  openstack_version: "2015.1.0-7.0"
  api: "1.0"
  build_number: "301"
  build_id: "301"
  nailgun_sha: "4162b0c15adb425b37608c787944d1983f543aa8"
  python-fuelclient_sha: "486bde57cda1badb68f915f66c61b544108606f3"
  fuel-agent_sha: "50e90af6e3d560e9085ff71d2950cfbcca91af67"
  fuel-nailgun-agent_sha: "d7027952870a35db8dc52f185bb1158cdd3d1ebd"
  astute_sha: "6c5b73f93e24cc781c809db9159927655ced5012"
  fuel-library_sha: "5d50055aeca1dd0dc53b43825dc4c8f7780be9dd"
  fuel-ostf_sha: "2cd967dccd66cfc3a0abd6af9f31e5b4d150a11c"
  fuelmain_sha: "a65d453215edb0284a2e4761be7a156bb5627677"

Tags: area-plugins
Revision history for this message
Igor Zinovik (izinovik) wrote :

fuel-plugin-nsxv fails because it tries to modify data that is
stored in 'network_metadata':
https://github.com/openstack/fuel-plugin-nsxv/blob/7.0/deployment_scripts/puppet/modules/nsxv/manifests/hiera_override.pp#L69

Maciej Relewicz (rlu)
Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Fuel Python Team (fuel-python)
assignee: Fuel Python Team (fuel-python) → Fuel Library Team (fuel-library)
Revision history for this message
Matthew Mosesohn (raytrac3r) wrote :

Igor, can you include an example astute.yaml with invalid characters?

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Kyrylo Galanov (kgalanov)
Changed in fuel:
status: New → In Progress
Revision history for this message
Igor Zinovik (izinovik) wrote :

Sorry, Matthew, I cannot provide astute.yaml, because cluster is not available.

Revision history for this message
Matthew Mosesohn (raytrac3r) wrote :
Revision history for this message
Kyrylo Galanov (kgalanov) wrote :

Hello,

Puppet is run with explicitly defined locale: http://paste.openstack.org/show/480402/

--
Kyrylo

Revision history for this message
Sergey Vasilenko (xenolog) wrote :

IMHO, we should not allow to naming nodes by non-latin alphabet. Even if Puppet pass internationalized string to config files, downstream appliance software may choke.

Revision history for this message
Kyrylo Galanov (kgalanov) wrote :

Hello Igor,

It is a puppet issue caused by inline_template returns ASCII string instead of UTF-8.
Please take a look at: http://paste.openstack.org/show/480541/

I would kindly advise you to define custom puppet functions covered by tests instead of using dirty hacks like this: https://github.com/openstack/fuel-plugin-nsxv/blob/7.0/deployment_scripts/puppet/modules/nsxv/manifests/hiera_override.pp#L7-L49

As soon as you remove inline_template calls from your code you will get rid of this bug.

Best regards,
Kyrylo

Changed in fuel:
assignee: Kyrylo Galanov (kgalanov) → Fuel Plugins Bugs (fuel-plugins-bugs)
tags: added: area-plugins
removed: area-library
Revision history for this message
Igor Zinovik (izinovik) wrote :

Ok, then marking as 'Wont fix'. This issue will be documented as known issue. Since we stopped development
of 1.x version of the plugin.

Artem Savinov (asavinov)
Changed in fuel:
assignee: Fuel Plugins Bugs (fuel-plugins-bugs) → asavinov (asavinov)
Igor Zinovik (izinovik)
affects: fuel → fuel-plugins
Changed in fuel-plugins:
milestone: 8.0 → none
Revision history for this message
Artem Savinov (asavinov) wrote :
Artem Savinov (asavinov)
Changed in fuel-plugins:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.