Thanks Harikrishna, it worked just fine
On Thu, Aug 1, 2013 at 11:12 PM, Daan Hoogland <daan.hoogl...@gmail.com> wrote: > I did a 4.0 -> 4.1.1 -> master > I can/will go back to 4.0 and report my findings tomorrow > > On Thu, Aug 1, 2013 at 8:02 PM, Harikrishna Patnala > <harikrishna.patn...@citrix.com> wrote: >> Have you taken the DB dump before trying to upgrade. >> Then you can build CS in 4.1.1 and apply the dump. >> >> -Harikrishna >> >> On 01-Aug-2013, at 8:42 PM, Daan Hoogland <daan.hoogl...@gmail.com> wrote: >> >>> I have allready run master against this dev env, and added the >>> mentioned entry in the upgrade map. Now I cannot access the database >>> using 4.1.1 anymore because of >>> ERROR [agent.manager.AgentManagerImpl] (AgentTaskPool-1:) Monitor >>> StoragePoolMonitor says there is an error in the connect process for 3 >>> due to DB Exception on: >>> com.mysql.jdbc.JDBC4PreparedStatement@4171352e: SELECT >>> storage_pool.id, storage_pool.name, storage_pool.uuid, >>> storage_pool.pool_type, storage_pool.created, storage_pool.removed, >>> storage_pool.update_time, storage_pool.data_center_id, >>> storage_pool.pod_id, storage_pool.available_bytes, >>> storage_pool.capacity_bytes, storage_pool.status, storage_pool.scope, >>> storage_pool.storage_provider_id, storage_pool.host_address, >>> storage_pool.path, storage_pool.port, storage_pool.user_info, >>> storage_pool.cluster_id FROM storage_pool WHERE >>> storage_pool.data_center_id = 1 AND ( storage_pool.pod_id IS NULL >>> OR storage_pool.pod_id = 1 ) AND ( storage_pool.cluster_id IS NULL >>> OR storage_pool.cluster_id = 1 ) AND storage_pool.removed IS NULL >>> com.cloud.utils.exception.CloudRuntimeException: DB Exception on: >>> com.mysql.jdbc.JDBC4PreparedStatement@4171352e: SELECT >>> storage_pool.id, storage_pool.name, storage_pool.uuid, >>> storage_pool.pool_type, storage_pool.created, storage_pool.removed, >>> storage_pool.update_time, storage_pool.data_center_id, >>> storage_pool.pod_id, storage_pool.available_bytes, >>> storage_pool.capacity_bytes, storage_pool.status, storage_pool.scope, >>> storage_pool.storage_provider_id, storage_pool.host_address, >>> storage_pool.path, storage_pool.port, storage_pool.user_info, >>> storage_pool.cluster_id FROM storage_pool WHERE >>> storage_pool.data_center_id = 1 AND ( storage_pool.pod_id IS NULL >>> OR storage_pool.pod_id = 1 ) AND ( storage_pool.cluster_id IS NULL >>> OR storage_pool.cluster_id = 1 ) AND storage_pool.removed IS NULL >>> at >>> com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:415) >>> at >>> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) >>> at >>> com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:350) >>> ... >>> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: >>> Unknown column 'storage_pool.available_bytes' in 'field list' >>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >>> >>> any change I can salvage this installation to run with master? I.E. >>> add the templates outside cloudstack somehow? (and promise I will >>> never do it again) >>> >>> >>> On Thu, Aug 1, 2013 at 4:43 PM, Harikrishna Patnala >>> <harikrishna.patn...@citrix.com> wrote: >>>> My comments inline. >>>> >>>> Thanks >>>> Harikrishna >>>> On 01-Aug-2013, at 7:05 PM, Daan Hoogland <daan.hoogl...@gmail.com> >>>> wrote: >>>> >>>>> Harikrishna, >>>>> >>>>> I suppose I have to register those templates before upgrading; i.e. in >>>>> the 4.1.1 version management server. >>>> Yes. in 4.1.1 these templates are registered as USER templates. During >>>> upgrade to 4.2 these are converted to SYSTEM templates >>>> >>>>> Is this procedure described somewhere? >>>> Usually upgrade instructions are given in the release notes. >>>> For 4.1 upgrade you can look at Chapter 4 >>>> http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.0/html/Release_Notes/upgrade-instructions.html#upgrade-from-4.0-to-4.1 >>>> >>>>> Do I bake the templates myself first or should I use publicly offered >>>>> templates? >>>> No need to prepare templates. I guess there is some discussion happening >>>> for place to download system templates. >>>> You can download these templates from jenkins URL >>>> http://jenkins.cloudstack.org/view/master/job/build-systemvm-master/ >>>> >>>>> >>>>> thanks, >>>>> Daan >>>>> >>>>> On Thu, Aug 1, 2013 at 3:16 PM, Harikrishna Patnala >>>>> <harikrishna.patn...@citrix.com> wrote: >>>>>> Hi Daan, >>>>>> Before upgrading to 4.2 we need to register the new system templates for >>>>>> each hypervisor with specific names so that during upgrade these new >>>>>> templates are set to the system vms. >>>>>> It is mandatory to upgrade the system vm template if we want upgrade to >>>>>> 4.2. >>>>>> >>>>>> Here seems like you have a Xen cluster. So you need to register xen >>>>>> system template with name systemvm-xenserver-4.2. >>>>>> So for the existing clusters you need to register system vm template per >>>>>> hypervisor. >>>>>> System template names are for each hypervisor are >>>>>> 1) systemvm-xenserver-4.2 >>>>>> 2) systemvm-kvm-4.2 >>>>>> 3) systemvm-vmware-4.2 >>>>>> 4) systemvm-hyperv-4.2 >>>>>> 5) systemvm-lxc-4.2 >>>>>> >>>>>> Thank you >>>>>> Harikrishna >>>>>> >>>>>> On 01-Aug-2013, at 5:29 PM, Daan Hoogland <daan.hoogl...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> H, >>>>>>> >>>>>>> I am testing an upgrade of my code for sdn based vpc private gateways >>>>>>> (not in the mainstream code). It runs on a custom 4.1.1 based on the >>>>>>> 4.1 branch. I have tested it against a 4.0 database and it upgrades >>>>>>> fine. >>>>>>> >>>>>>> Now I try to have a master version to which I applied my code to run >>>>>>> against the same environment. I added >>>>>>> _upgradeMap.put("4.1.1", new DbUpgrade[] {new Upgrade410to420()}); >>>>>>> to the class com.cloud.upgrade.DatabaseUpgradeChecker. >>>>>>> I have the systemvm.iso ready on the hypervisors, but not on my >>>>>>> (windows) development machine. When I start my version in eclipse I >>>>>>> get >>>>>>> >>>>>>> INFO [c.c.u.DatabaseUpgradeChecker] (Timer-2:null) Database upgrade >>>>>>> must be performed from 4.1.1 to 4.2.0-SNAPSHOT >>>>>>> WARN [c.c.u.d.Upgrade410to420] (Timer-2:null) 4.2.0 Hyperv SystemVm >>>>>>> template not found. Hyperv hypervisor is not used, so not failing >>>>>>> upgrade >>>>>>> WARN [c.c.u.d.Upgrade410to420] (Timer-2:null) 4.2.0 KVM SystemVm >>>>>>> template not found. KVM hypervisor is not used, so not failing upgrade >>>>>>> ERROR [c.c.u.DatabaseUpgradeChecker] (Timer-2:null) Unable to upgrade >>>>>>> the database >>>>>>> com.cloud.utils.exception.CloudRuntimeException: 4.2.0 XenServer >>>>>>> SystemVm template not found. Cannot upgrade system Vms >>>>>>> at >>>>>>> com.cloud.upgrade.dao.Upgrade410to420.updateSystemVmTemplates(Upgrade410to420.java:259) >>>>>>> ... >>>>>>> ERROR [c.c.u.c.ComponentContext] (Timer-2:null) System integrity check >>>>>>> failed. Refuse to startup >>>>>>> com.cloud.utils.exception.CloudRuntimeException: Unable to upgrade the >>>>>>> database >>>>>>> at >>>>>>> com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:296) >>>>>>> ... >>>>>>> Caused by: com.cloud.utils.exception.CloudRuntimeException: 4.2.0 >>>>>>> XenServer SystemVm template not found. Cannot upgrade system Vms >>>>>>> at >>>>>>> com.cloud.upgrade.dao.Upgrade410to420.updateSystemVmTemplates(Upgrade410to420.java:259) >>>>>>> ... >>>>>>> ... 5 more >>>>>>> 2013-07-31 21:50:50.802:INFO::Shutdown hook executing >>>>>>> >>>>>>> I found that vm_template should contain a line for this; >>>>>>> >>>>>>> //Get 4.2.0 system Vm template Id for >>>>>>> corresponding hypervisor >>>>>>> pstmt = conn.prepareStatement("select id from >>>>>>> `cloud`.`vm_template` where name = ? and removed is null order by id >>>>>>> desc limit 1"); >>>>>>> pstmt.setString(1, >>>>>>> hypervisorAndTemplateName.getValue()); >>>>>>> rs = pstmt.executeQuery(); >>>>>>> >>>>>>> Should I add a row by hand? >>>>>>> Is there a readme/howto-upgrade, I should read (or create using my >>>>>>> findings)? >>>>>>> Why is this not automatic this time? >>>>>>> >>>>>>> sorry if I missed the mail thread explaining all of this, >>>>>>> Daan Hoogland >>>>>> >>>> >>