[Yahoo-eng-team] [Bug 1569937] [NEW] TypeError: Incorrect padding when setting metadata_encryption_key

2016-04-13 Thread Tom Patzig
Public bug reported:

We are on liberty. We have show_multiple_locations set, to allow swift
locations for images. But when setting metadata_encryption_key to a
random 32 char string, glance throws an internal server error, e.g. on
image-list:

2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi 
[req-fad0e0cb-1094-40ee-a314-ac189c660329 ed12c3c9e4144827bc2b041da22c94b8 
7f0b5f95e9f24cf3924e5aba39fddeca - - -] Caught error: Incorrect padding
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi Traceback (most recent 
call last):
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 879, in __call__
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi request, 
**action_args)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 907, in dispatch
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi return method(*args, 
**kwargs)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/api/v2/images.py", line 116, in index
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi 
member_status=member_status)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/api/authorization.py", line 113, in 
list
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi images = 
self.image_repo.list(*args, **kwargs)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 89, in list
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi items = 
self.base.list(*args, **kwargs)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/api/policy.py", line 123, in list
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi return 
super(ImageRepoProxy, self).list(*args, **kwargs)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 89, in list
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi items = 
self.base.list(*args, **kwargs)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 89, in list
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi items = 
self.base.list(*args, **kwargs)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 89, in list
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi items = 
self.base.list(*args, **kwargs)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/db/__init__.py", line 185, in list
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi image = 
self._format_image_from_db(db_image, db_image['tags'])
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/db/__init__.py", line 201, in 
_format_image_from_db
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi l['url'] = 
crypt.urlsafe_decrypt(key, l['url'])
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/common/crypt.py", line 74, in 
urlsafe_decrypt
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi ciphertext = 
base64.urlsafe_b64decode(six.binary_type(ciphertext))
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib64/python2.7/base64.py", line 112, in urlsafe_b64decode
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi return b64decode(s, 
'-_')
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib64/python2.7/base64.py", line 76, in b64decode
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi raise TypeError(msg)
2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi TypeError: Incorrect 
padding

** Affects: glance
 Importance: Undecided
 Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1569937

Title:
  TypeError: Incorrect padding when setting metadata_encryption_key

Status in Glance:
  New

Bug description:
  We are on liberty. We have show_multiple_locations set, to allow swift
  locations for images. But when setting metadata_encryption_key to a
  random 32 char string, glance throws an internal server error, e.g. on
  image-list:

  2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi 
[req-fad0e0cb-1094-40ee-a314-ac189c660329 ed12c3c9e4144827bc2b041da22c94b8 
7f0b5f95e9f24cf3924e5aba39fddeca - - -] Caught error: Incorrect padding
  2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi Traceback (most recent 
call last):
  2016-04-13 11:11:00.461 1592 ERROR glance.common.wsgi   File 
"/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 879, in __call__
  

[Yahoo-eng-team] [Bug 1539444] [NEW] router-interface-add on external network brings up external gateway ip

2016-01-29 Thread Tom Patzig
Public bug reported:

Having external provider/floating networks (router:external True), you
normally attach them to you're router via: router-gateway-set. Which
will add an ip address from the subnet allocation pool to the router
namespace.

But instead, when users do router-interface-add on that external
network, the defined gateway_ip from the subnet is brought up in the
namespace. Your floating network is instantly unavailable, because your
networks gateway IP is running twice.

The expected behavior for external networks, when (accidentally or
because not known)  using router-interface-add on them, is to behave
like router-gateway-set, or at least to deny that operation and
definitely not bring up the gateway_ip defined in the subnet.

Reproduce:

 neutron net-create --router:external [...]
 neutron subnet-create --gateway  [...]
 neutron router-interface-add  

** Affects: neutron
 Importance: Undecided
 Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1539444

Title:
  router-interface-add on external network brings up external gateway ip

Status in neutron:
  New

Bug description:
  Having external provider/floating networks (router:external True), you
  normally attach them to you're router via: router-gateway-set. Which
  will add an ip address from the subnet allocation pool to the router
  namespace.

  But instead, when users do router-interface-add on that external
  network, the defined gateway_ip from the subnet is brought up in the
  namespace. Your floating network is instantly unavailable, because
  your networks gateway IP is running twice.

  The expected behavior for external networks, when (accidentally or
  because not known)  using router-interface-add on them, is to behave
  like router-gateway-set, or at least to deny that operation and
  definitely not bring up the gateway_ip defined in the subnet.

  Reproduce:

   neutron net-create --router:external [...]
   neutron subnet-create --gateway  [...]
   neutron router-interface-add  

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1516671] [NEW] LiveMigration DBError: ProgrammingError: can't adapt type 'Instance'

2015-11-16 Thread Tom Patzig
Public bug reported:

Postgres as Database + latest stable Kilo; When doing live migrate with
attached volume (rally test
boot_server_attach_created_volume_and_live_migrate):

8<


ERROR oslo_db.sqlalchemy.exc_filters [req-76f003ad-8b12-4e85-902a-a52581fd5611 
c2190adfee124fefb139254ce3df27dc 0b707847d6254b5b9e956e40ae16deca - - -] 
DBAPIError exception wrapped from (ProgrammingError) can't adapt type 
'Instance' 'SELECT block_device_mapping.created_at AS 
block_device_mapping_created_at, block_device_mapping.updated_at AS 
block_device_mapping_updated_at, block_device_mapping.deleted_at AS 
block_device_mapping_deleted_at, block_device_mapping.deleted AS 
block_device_mapping_deleted, block_device_mapping.id AS 
block_device_mapping_id, block_device_mapping.instance_uuid AS 
block_device_mapping_instance_uuid, block_device_mapping.source_type AS 
block_device_mapping_source_type, block_device_mapping.destination_type AS 
block_device_mapping_destination_type, block_device_mapping.guest_format AS 
block_device_mapping_guest_format, block_device_mapping.device_type AS 
block_device_mapping_device_type, block_device_mapping.disk_bus AS 
block_device_mapping_disk_bus, block_dev
 ice_mapping.boot_index AS block_device_mapping_boot_index, 
block_device_mapping.device_name AS block_device_mapping_device_name, 
block_device_mapping.delete_on_termination AS 
block_device_mapping_delete_on_termination, block_device_mapping.snapshot_id AS 
block_device_mapping_snapshot_id, block_device_mapping.volume_id AS 
block_device_mapping_volume_id, block_device_mapping.volume_size AS 
block_device_mapping_volume_size, block_device_mapping.image_id AS 
block_device_mapping_image_id, block_device_mapping.no_device AS 
block_device_mapping_no_device, block_device_mapping.connection_info AS 
block_device_mapping_connection_info \nFROM block_device_mapping \nWHERE 
block_device_mapping.deleted = %(deleted_1)s AND block_device_mapping.volume_id 
= %(volume_id_1)s \n LIMIT %(param_1)s' {'param_1': 1, 'volume_id_1': 
[...]


TRACE oslo_db.sqlalchemy.exc_filters Traceback (most recent call last):
TRACE oslo_db.sqlalchemy.exc_filters   File 
"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1063, in 
_execute_context
TRACE oslo_db.sqlalchemy.exc_filters context)
TRACE oslo_db.sqlalchemy.exc_filters   File 
"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 442, in 
do_execute
TRACE oslo_db.sqlalchemy.exc_filters cursor.execute(statement, parameters)
TRACE oslo_db.sqlalchemy.exc_filters ProgrammingError: can't adapt type 
'Instance'


>8

In nova-compute.log you find the corresponding error:

-8<

TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
Traceback (most recent call last):
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 
5714, in _live_migration
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
dom, finish_event)
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 
5651, in _live_migration_monitor
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
migrate_data)
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/nova/exception.py", line 88, in wrapped
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
payload)
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in 
__exit__
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
six.reraise(self.type_, self.value, self.tb)
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/nova/exception.py", line 71, in wrapped
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
return f(self, context, *args, **kw)
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 361, in 
decorated_function
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
kwargs['instance'], e, sys.exc_info())
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in 
__exit__
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
six.reraise(self.type_, self.value, self.tb)
TRACE nova.virt.libvirt.driver [instance: 70d591fe-cdd8-46c2-bc7c-35ef733c2e1b] 
  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 349, in 

[Yahoo-eng-team] [Bug 1504033] [NEW] Insecure option missing in nova.conf section ironic

2015-10-08 Thread Tom Patzig
Public bug reported:

For the ironic section in nova.conf the insecure option is not available. 
Mostly all other sections support that.
Seen in stable Kilo.

** Affects: nova
 Importance: Undecided
 Assignee: Tom Patzig (tom-patzig)
 Status: In Progress

** Changed in: nova
 Assignee: (unassigned) => Tom Patzig (tom-patzig)

** Changed in: nova
   Status: New => In Progress

-- 
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/1504033

Title:
  Insecure option missing in nova.conf section ironic

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  For the ironic section in nova.conf the insecure option is not available. 
  Mostly all other sections support that.
  Seen in stable Kilo.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1428542] [NEW] Live Migration (block_migrate): Disk of instance is too large, with cinder LVM based volume

2015-03-05 Thread Tom Patzig
Public bug reported:

When live migrating (block_migrate), an instance, cinder volumes based on LVM, 
that are attached via iscsi to the compute node, are  included within the 
MigrationPreCheck disk-size calculation. 
Because the cinder iscsi volume is just attached to the migration target node, 
these devices need to be skipped.

In the past only devices with type 'file' got included in that disk_size
calculation; But with commit 5fa74bc0b2ab6fe5149a9b684b4beadb67877622
(Adds ephemeral storage encryption for LVM back-end images ), disks with
type 'block' got included as well, which also includes iscsi devices.

I experienced that with stable juno.

I worked around that with this additional check:

diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 0809f09..566b2b2 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -6000,6 +6000,10 @@ class LibvirtDriver(driver.ComputeDriver):
   'volume', {'path': path, 'target': target})
 continue

+if disk_type == 'block' and path.find('iqn.2010-10.org.openstack') 
 0:
+LOG.debug('skipping disk because it looks like an iscsi 
volume', path)
+continue
+
 # get the real disk size or
 # raise a localized error if image is unavailable
 if disk_type == 'file':


If this is the right place to exclude that disks, I can submit that little 
patch for review. Or you can point me to the right location for that and I'll 
give it a try.

What do you think?

** Affects: nova
 Importance: Undecided
 Status: New

-- 
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/1428542

Title:
  Live Migration (block_migrate): Disk of instance is too large, with
  cinder LVM based volume

Status in OpenStack Compute (Nova):
  New

Bug description:
  When live migrating (block_migrate), an instance, cinder volumes based on 
LVM, that are attached via iscsi to the compute node, are  included within the 
MigrationPreCheck disk-size calculation. 
  Because the cinder iscsi volume is just attached to the migration target 
node, these devices need to be skipped.

  In the past only devices with type 'file' got included in that
  disk_size calculation; But with commit
  5fa74bc0b2ab6fe5149a9b684b4beadb67877622 (Adds ephemeral storage
  encryption for LVM back-end images ), disks with type 'block' got
  included as well, which also includes iscsi devices.

  I experienced that with stable juno.

  I worked around that with this additional check:

  diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
  index 0809f09..566b2b2 100644
  --- a/nova/virt/libvirt/driver.py
  +++ b/nova/virt/libvirt/driver.py
  @@ -6000,6 +6000,10 @@ class LibvirtDriver(driver.ComputeDriver):
 'volume', {'path': path, 'target': target})
   continue

  +if disk_type == 'block' and 
path.find('iqn.2010-10.org.openstack')  0:
  +LOG.debug('skipping disk because it looks like an iscsi 
volume', path)
  +continue
  +
   # get the real disk size or
   # raise a localized error if image is unavailable
   if disk_type == 'file':

  
  If this is the right place to exclude that disks, I can submit that little 
patch for review. Or you can point me to the right location for that and I'll 
give it a try.

  What do you think?

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp