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