← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1669979] [NEW] failed to boot instance when user data is larger than 65535 bytes

 

Public bug reported:

Description
===========
I failed to boot instance when user data is larger than 65535 bytes
it notified  that "User data must be no larger tahn 65535 bytes once base64 encoded.your data is 69512 bytes."

I use MYSQL as database.

Investigation
===========
1)I saw this codes in nova/nova/compute/api.py:
MAX_USERDATA_SIZE = 65536
if user_data:
    l = len(user_data)
    if l > MAX_USERDATA_SIZE:
    	# NOTE(mikal): user_data is stored in a text column, and
    	# the database might silently truncate if its over length.
    	raise exception.InstanceUserDataTooLarge(length=l, maxsize=MAX_USERDATA_SIZE)

I find this came from this commit: 
https://review.openstack.org/#/c/11220
https://bugs.launchpad.net/nova/+bug/1035055

At that time user_data is a Text field, which up to 65535 characters in
MYSQL.

2)、I also saw this codes in nova/nova/db/sqlalchemy/models.py:
user_data = Column(MediumText())

I find this came from this commit: 
https://review.openstack.org/#/c/38522/

Now user_data is a MediumText field, which up to 16777215 characters in
MYSQL.


Should we change MAX_USERDATA_SIZE to 16777215?

** Affects: nova
     Importance: Undecided
     Assignee: wind (better)
         Status: New


** Tags: nova

** Tags added: nova

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1669979

Title:
  failed to boot instance when user data is larger than 65535 bytes

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========
  I failed to boot instance when user data is larger than 65535 bytes
  it notified  that "User data must be no larger tahn 65535 bytes once base64 encoded.your data is 69512 bytes."

  I use MYSQL as database.

  Investigation
  ===========
  1)I saw this codes in nova/nova/compute/api.py:
  MAX_USERDATA_SIZE = 65536
  if user_data:
      l = len(user_data)
      if l > MAX_USERDATA_SIZE:
      	# NOTE(mikal): user_data is stored in a text column, and
      	# the database might silently truncate if its over length.
      	raise exception.InstanceUserDataTooLarge(length=l, maxsize=MAX_USERDATA_SIZE)

  I find this came from this commit: 
  https://review.openstack.org/#/c/11220
  https://bugs.launchpad.net/nova/+bug/1035055

  At that time user_data is a Text field, which up to 65535 characters
  in MYSQL.

  2)、I also saw this codes in nova/nova/db/sqlalchemy/models.py:
  user_data = Column(MediumText())

  I find this came from this commit: 
  https://review.openstack.org/#/c/38522/

  Now user_data is a MediumText field, which up to 16777215 characters
  in MYSQL.

  
  Should we change MAX_USERDATA_SIZE to 16777215?

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1669979/+subscriptions


Follow ups