incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <bhais...@apache.org>
Subject Re: Watchout: Recent DB deployment changes
Date Sun, 17 Feb 2013 18:22:12 GMT
Thanks Min, fixed on master with 31d6f03308aa10a170d5a37a3d6f8d572cf9e7c7
Will backport all useful db changes for 4.1 as soon as other hackers
can help verify the changes.

Regards.

On Sun, Feb 17, 2013 at 1:55 AM, Min Chen <min.chen@citrix.com> wrote:
> Your fix for create-schema-view is correct, just remove that SQL since I kept them in
upgrade script as well.
>
> Thanks
> -min
>
> Sent from my iPhone
>
> On Feb 16, 2013, at 4:20 AM, "Rohit Yadav" <bhaisaab@apache.org> wrote:
>
>> Hi, I recently fixed some db stuff for 4.1 release but on master,
>> mainly to support rolling release
>> (4.2 goal: https://issues.apache.org/jira/browse/CLOUDSTACK-1019)
>>
>> What was done:
>> - Remove and merge 4.1-new-db-schema.sql to schema-40to410.sql
>> - Fix jetty's classpath so the db files for rolling updates are
>> readable: ${project.build.directory}/utilities/scripts/db/
>> - I've moved changes since 4.0 to: schema-40to410-cleanup.sql
>> schema-40to410.sql
>> - Add stubs for Upgrade410to420, schema-410to420.sql and
>> schema-410to420-cleanup.sql
>> - Fix building and deploy database
>> - Refactor new change in create-schema/premium to schema40-410.sql:
>>    - Move changes since 4.0 to schema upgrade path (schema40-410.sql)
>>    - Comment out some table names where we're trying to copy uuid from id, they
>>      don't exists (which don't exist in 4.0 for example)
>>    - We don't run above step for tables which are newly created for
>> 410 and don't
>>      exist in 4.0 for example autoscale related ones, code is
>> commented and not removed
>>    - Drop indexes which are removed before dropping the column
>>    - Comment out insertion, as for default region we're inserting the same in
>>      code, in ConfigurationServerImpl:createDefaultRegion(), fix same
>> in premium
>>
>> Latest difference between 4.0 and 4.1.0 schema (create-schema-view.sql
>> not included):
>> http://people.apache.org/~bhaisaab/diff40-410.diff
>>
>> Any 4.2 db schema changes should go to:
>>           schema-410to420-cleanup.sql  schema-410to420.sql
>>
>> And upgrade paths must be fixed in the class Upgrade410to420.
>>
>> 4.1 TODOs:
>> - Fix cleaning up path and schema-40to410-cleanup.sql
>> - In sql files, use full names like `cloud`.`table names` (Hugo comment?)
>> - Fix syntax, in some places it's lowercase, some cases it's uppercase
>>
>> Our aim to make sure the schema is same as 4.0s' this means
>> http://people.apache.org/~bhaisaab/diff40-410.diff should be almost
>> None.
>>
>> Edison, I got a conflict in schema40-410.sql (use the one in create-schema.sql):
>>
>> @@ -171,7 +172,7 @@ CREATE TABLE `cloud`.`template_s3_ref` (
>>   CONSTRAINT `uc_template_s3_ref__template_id` UNIQUE (`template_id`),
>>   CONSTRAINT `fk_template_s3_ref__s3_id` FOREIGN KEY
>> `fk_template_s3_ref__s3_id` (`s3_id`) REFERENCES `s3` (`id`) ON DELETE
>> CASCADE,
>>   CONSTRAINT `fk_template_s3_ref__template_id` FOREIGN KEY
>> `fk_template_s3_ref__template_id` (`template_id`) REFERENCES
>> `vm_template` (`id`),
>> -  INDEX `i_template_s3_ref__swift_id`(`s3_id`),
>> +  INDEX `i_template_s3_ref__s3_id`(`s3_id`),
>>   INDEX `i_template_s3_ref__template_id`(`template_id`)
>> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
>>
>> Also, I saw user_vm_temp, what is this table used for, I could not
>> find a creating definition, commented it out:
>>
>> @@ -253,7 +262,7 @@ UPDATE `cloud`.`swift` set uuid=id WHERE uuid is NULL;
>> UPDATE `cloud`.`upload` set uuid=id WHERE uuid is NULL;
>> UPDATE `cloud`.`user` set uuid=id WHERE uuid is NULL;
>> UPDATE `cloud`.`user_ip_address` set uuid=id WHERE uuid is NULL;
>> -UPDATE `cloud`.`user_vm_temp` set uuid=id WHERE uuid is NULL;
>> +-- UPDATE `cloud`.`user_vm_temp` set uuid=id WHERE uuid is NULL;
>> UPDATE `cloud`.`virtual_router_providers` set uuid=id WHERE uuid is NULL;
>>
>> Is it okay, if not pl. advise/fix it?
>>
>> Sheng, can you identify and move any of the ipv6/4.2 stuff to
>> schema-410to420-cleanup.sql  schema-410to420.sql as applicable.
>>
>> Alex, rolling update works, tested for 4.0 to 4.1.0 :)
>> -INSERT INTO `version` (`version`, `updated`, `step`) VALUES('4.1.0',
>> now(), 'Complete');
>> +INSERT INTO `version` (`version`, `updated`, `step`) VALUES('4.0.0',
>> now(), 'Complete');
>>
>> Kishan, for your regions changes, I commented out the default region
>> as this in persisted upon running mgmt server in
>> ConfigurationServerImpl:createDefaultRegion():
>>
>> In schema-40to410.sql:
>> +-- INSERT INTO `cloud`.`region` values
>> ('1','Local','http://localhost:8080/client/api','','');
>> +ALTER TABLE `cloud`.`account` ADD COLUMN `region_id` int unsigned NOT
>> NULL DEFAULT '1';
>>
>> Pl. check?
>>
>> Vijay, for your autoscale changes, I had to comment out in
>> schema-410to420.sql  as these tables did not exist in 4.0, so we don't
>> need to fill uuid column with id.
>>
>> @@ -264,23 +273,258 @@ UPDATE `cloud`.`vpc_gateways` set uuid=id WHERE
>> uuid is NULL;
>> UPDATE `cloud`.`vpc_offerings` set uuid=id WHERE uuid is NULL;
>> UPDATE `cloud`.`vpn_users` set uuid=id WHERE uuid is NULL;
>> UPDATE `cloud`.`volumes` set uuid=id WHERE uuid is NULL;
>> -UPDATE `cloud`.`autoscale_vmgroups` set uuid=id WHERE uuid is NULL;
>> -UPDATE `cloud`.`autoscale_vmprofiles` set uuid=id WHERE uuid is NULL;
>> -UPDATE `cloud`.`autoscale_policies` set uuid=id WHERE uuid is NULL;
>> -UPDATE `cloud`.`counter` set uuid=id WHERE uuid is NULL;
>> -UPDATE `cloud`.`conditions` set uuid=id WHERE uuid is NULL;
>> +-- UPDATE `cloud`.`autoscale_vmgroups` set uuid=id WHERE uuid is NULL;
>> +-- UPDATE `cloud`.`autoscale_vmprofiles` set uuid=id WHERE uuid is NULL;
>> +-- UPDATE `cloud`.`autoscale_policies` set uuid=id WHERE uuid is NULL;
>> +-- UPDATE `cloud`.`counter` set uuid=id WHERE uuid is NULL;
>> +-- UPDATE `cloud`.`conditions` set uuid=id WHERE uuid is NULL;
>>
>> Hugo, I moved 4.0 post changes for ex. nicira_nvp_router_map to
>> schema-40to410.sql See if it's okay.
>>
>> Min, I check both create-schema-view and schema-40to410.sql they were
>> in sync so we can just remove create-schema-view. I moved the create
>> view related definitions at the end of the  schema-40to410.sql  file
>> as it depends on some other tables being created for example counters
>> etc.
>>
>> Changes we need to cherry pick on 4.1 branch if it's verified to work
>> fine; 87b668b71b34c93e9ba85d4708a1c04f4020f6bf..16e81130cca78d2a10ff47856e374d92fa4f3ecc
>> (except 0e354473f799fd3a387747c8fdb85d65ecac8fea)
>>
>>
>> Regards.

Mime
View raw message