[placement] running out of VCPU resource
Eugen Block
eblock at nde.ag
Fri Jul 15 22:23:05 UTC 2022
Hi,
we were facing the same issue and my colleague tracked it down:
https://serverfault.com/questions/1064579/openstack-only-building-one-vm-per-machine-in-cluster-then-runs-out-of-resource
We have a customized fixed for us which works nicely, but it would
surely help to get this fixed in general as it seems to be a
reoccurring issue.
Zitat von Przemyslaw Basa <przemyslaw.basa at redge.com>:
> Hi,
>
> Well i think i figured it out. Following Xena deployment
> instructions mariadb was installed in version 10.6.5 and it seems to
> be some kind of bug in this version. Upgrading to 10.6.8 fixed this
> particular issue for me.
>
> I've checked some older and newer versions (10.5.6, 10.8.3) and
> problematic query behaves there like in 10.6.8.
>
> Here's how I've done my tests if someone is interested:
>
> % docker run --rm --detach --name mariadb-10.6.5 --env
> MYSQL_ROOT_PASSWORD=test mariadb:10.6.5
> % docker run --rm --detach --name mariadb-10.6.8 --env
> MYSQL_ROOT_PASSWORD=test mariadb:10.6.8
>
> % docker exec -i mariadb-10.6.5 mysql -u root -ptest < tables_dump.sql
> % docker exec -i mariadb-10.6.8 mysql -u root -ptest < tables_dump.sql
>
> % docker exec -i mariadb-10.6.5 mysql -u root -ptest -t test < test.sql
> +----+--------------------------------------+------------+-------------------+---------+----------+------------------+-------+
> | id | uuid | generation |
> resource_class_id | total | reserved | allocation_ratio | used |
> +----+--------------------------------------+------------+-------------------+---------+----------+------------------+-------+
> | 5 | 16f620c0-8c6f-4984-8d58-e2c00d1b32da | 50 |
> 0 | 128 | 0 | 2 | 13318 |
> | 5 | 16f620c0-8c6f-4984-8d58-e2c00d1b32da | 50 |
> 1 | 1031723 | 2048 | 1 | NULL |
> | 5 | 16f620c0-8c6f-4984-8d58-e2c00d1b32da | 50 |
> 2 | 901965 | 2 | 1 | NULL |
> +----+--------------------------------------+------------+-------------------+---------+----------+------------------+-------+
>
> % docker exec -i mariadb-10.6.8 mysql -u root -ptest -t test < test.sql
> +----+--------------------------------------+------------+-------------------+---------+----------+------------------+-------+
> | id | uuid | generation |
> resource_class_id | total | reserved | allocation_ratio | used |
> +----+--------------------------------------+------------+-------------------+---------+----------+------------------+-------+
> | 5 | 16f620c0-8c6f-4984-8d58-e2c00d1b32da | 50 |
> 0 | 128 | 0 | 2 | 5 |
> | 5 | 16f620c0-8c6f-4984-8d58-e2c00d1b32da | 50 |
> 1 | 1031723 | 2048 | 1 | 13312 |
> | 5 | 16f620c0-8c6f-4984-8d58-e2c00d1b32da | 50 |
> 2 | 901965 | 2 | 1 | 1 |
> +----+--------------------------------------+------------+-------------------+---------+----------+------------------+-------+
>
> % cat tables_dump.sql
> create database test;
> connect test;
>
> CREATE TABLE `allocations` (
> `created_at` datetime DEFAULT NULL,
> `updated_at` datetime DEFAULT NULL,
> `id` int(11) NOT NULL AUTO_INCREMENT,
> `resource_provider_id` int(11) NOT NULL,
> `consumer_id` varchar(36) NOT NULL,
> `resource_class_id` int(11) NOT NULL,
> `used` int(11) NOT NULL,
> PRIMARY KEY (`id`),
> KEY `allocations_resource_provider_class_used_idx`
> (`resource_provider_id`,`resource_class_id`,`used`),
> KEY `allocations_resource_class_id_idx` (`resource_class_id`),
> KEY `allocations_consumer_id_idx` (`consumer_id`)
> ) ENGINE=InnoDB AUTO_INCREMENT=547 DEFAULT CHARSET=utf8mb3;
>
> CREATE TABLE `inventories` (
> `created_at` datetime DEFAULT NULL,
> `updated_at` datetime DEFAULT NULL,
> `id` int(11) NOT NULL AUTO_INCREMENT,
> `resource_provider_id` int(11) NOT NULL,
> `resource_class_id` int(11) NOT NULL,
> `total` int(11) NOT NULL,
> `reserved` int(11) NOT NULL,
> `min_unit` int(11) NOT NULL,
> `max_unit` int(11) NOT NULL,
> `step_size` int(11) NOT NULL,
> `allocation_ratio` float NOT NULL,
> PRIMARY KEY (`id`),
> UNIQUE KEY `uniq_inventories0resource_provider_resource_class`
> (`resource_provider_id`,`resource_class_id`),
> KEY `inventories_resource_class_id_idx` (`resource_class_id`),
> KEY `inventories_resource_provider_id_idx` (`resource_provider_id`),
> KEY `inventories_resource_provider_resource_class_idx`
> (`resource_provider_id`,`resource_class_id`)
> ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb3;
>
> CREATE TABLE `resource_providers` (
> `created_at` datetime DEFAULT NULL,
> `updated_at` datetime DEFAULT NULL,
> `id` int(11) NOT NULL AUTO_INCREMENT,
> `uuid` varchar(36) NOT NULL,
> `name` varchar(200) DEFAULT NULL,
> `generation` int(11) DEFAULT NULL,
> `root_provider_id` int(11) DEFAULT NULL,
> `parent_provider_id` int(11) DEFAULT NULL,
> PRIMARY KEY (`id`),
> UNIQUE KEY `uniq_resource_providers0uuid` (`uuid`),
> UNIQUE KEY `uniq_resource_providers0name` (`name`),
> KEY `resource_providers_name_idx` (`name`),
> KEY `resource_providers_parent_provider_id_idx` (`parent_provider_id`),
> KEY `resource_providers_root_provider_id_idx` (`root_provider_id`),
> KEY `resource_providers_uuid_idx` (`uuid`),
> CONSTRAINT `resource_providers_ibfk_1` FOREIGN KEY
> (`parent_provider_id`) REFERENCES `resource_providers` (`id`),
> CONSTRAINT `resource_providers_ibfk_2` FOREIGN KEY
> (`root_provider_id`) REFERENCES `resource_providers` (`id`)
> ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3;
>
> INSERT INTO `allocations` VALUES ('2022-07-07
> 23:08:10',NULL,329,5,'b6da8a02-a96c-464e-a6c4-19c96c83dd44',1,12288),('2022-07-07 23:08:10',NULL,332,5,'b6da8a02-a96c-464e-a6c4-19c96c83dd44',0,4),('2022-07-08 06:26:28',NULL,335,4,'aec7aaea-10df-451b-b2ce-847099ee0110',1,2048),('2022-07-08 06:26:28',NULL,338,4,'aec7aaea-10df-451b-b2ce-847099ee0110',0,2),('2022-07-12 08:53:21',NULL,400,1,'29cf1131-1bb3-4f06-b339-930a4bb055d4',1,16384),('2022-07-12 08:53:21',NULL,403,1,'29cf1131-1bb3-4f06-b339-930a4bb055d4',0,2),('2022-07-14 08:24:27',NULL,538,5,'9681447d-57ec-45c7-af48-63be3c7201da',2,1),('2022-07-14 08:24:27',NULL,541,5,'9681447d-57ec-45c7-af48-63be3c7201da',1,1024),('2022-07-14
> 08:24:27',NULL,544,5,'9681447d-57ec-45c7-af48-63be3c7201da',0,1);
> INSERT INTO `resource_providers` VALUES ('2022-07-04
> 11:59:49','2022-07-13
> 13:03:08',1,'6ac81bb4-50ef-4784-8a64-9031afeaaa9d','p-os-compute01.openstack.local',50,1,NULL),('2022-07-04 12:00:49','2022-07-13 13:03:07',4,'a324b3b9-f8c8-4279-bf63-a27163fcf792','g-os-compute01.openstack.local',42,4,NULL),('2022-07-04 12:03:57','2022-07-14
> 08:24:27',5,'16f620c0-8c6f-4984-8d58-e2c00d1b32da','t-os-compute01.openstack.local',50,5,NULL);
> INSERT INTO `inventories` VALUES ('2022-07-04 11:59:50','2022-07-11
> 09:24:04',1,1,0,128,0,1,128,1,2),('2022-07-04 11:59:50','2022-07-11
> 09:24:04',4,1,1,1031723,2048,1,1031723,1,1),('2022-07-04
> 11:59:50','2022-07-11
> 09:24:04',7,1,2,901965,2,1,901965,1,1),('2022-07-04
> 12:01:53','2022-07-04 14:59:53',10,4,0,128,0,1,128,1,2),('2022-07-04
> 12:01:53','2022-07-04
> 14:59:53',13,4,1,1031723,2048,1,1031723,1,1),('2022-07-04
> 12:01:53','2022-07-04
> 14:59:53',16,4,2,901965,2,1,901965,1,1),('2022-07-04
> 12:03:57','2022-07-14 07:16:08',17,5,0,128,0,1,128,1,2),('2022-07-04
> 12:03:57','2022-07-14
> 07:09:11',20,5,1,1031723,2048,1,1031723,1,1),('2022-07-04
> 12:03:57','2022-07-14 07:09:11',23,5,2,901965,2,1,901965,1,1);
>
> % cat test.sql
> SELECT
> rp.id, rp.uuid, rp.generation, inv.resource_class_id, inv.total,
> inv.reserved, inv.allocation_ratio, allocs.used
> FROM
> resource_providers AS rp
> JOIN inventories AS inv ON rp.id = inv.resource_provider_id
> LEFT JOIN (
> SELECT
> resource_provider_id, resource_class_id, SUM(used) AS used
> FROM
> allocations
> WHERE
> resource_class_id IN (0, 1, 2)
> AND resource_provider_id IN (5)
> GROUP BY
> resource_provider_id, resource_class_id
> ) AS allocs ON
> inv.resource_provider_id = allocs.resource_provider_id
> AND inv.resource_class_id = allocs.resource_class_id
> WHERE
> rp.id IN (5)
> AND inv.resource_class_id IN (0,1,2)
> ;
>
> Regards,
> Przemyslaw Basa
More information about the openstack-discuss
mailing list