cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daan Hoogland <daan.hoogl...@gmail.com>
Subject Re: upgrade path 4.1.1 -> 4.2/master
Date Thu, 01 Aug 2013 21:12:52 GMT
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.patnala@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.hoogland@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.patnala@citrix.com> wrote:
>>> My comments inline.
>>>
>>> Thanks
>>> Harikrishna
>>> On 01-Aug-2013, at 7:05 PM, Daan Hoogland <daan.hoogland@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.patnala@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.hoogland@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
>>>>>
>>>
>

Mime
View raw message