incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <rohit.ya...@citrix.com>
Subject RE: [VOTE] how to upgrade CloudStack from 3.0.x to 4.0
Date Fri, 05 Oct 2012 20:58:04 GMT
For the fix: https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=commitdiff;h=f3a9a835d32ceeecaefac70fb9b77272e914f18c
I don't have any opinion about backward compatibility; but if we don't want it, is there any
point in handling upgrade use cases?

Also, use same logic for Debs also?

With present fix, we can do following to make sure it won't affect any functionality;

1. grep and replace all hardcoded links to /usr/<libpath>/cloud/agent to <...>/cloud/common
throughout the codebase
2. fix paths in all confs, same as 1.
3. fix such paths in conf files during upgrades (this will be tricky to automate)

Open for discussion, suggestions or, +1, -1, 0 to above?

________________________________________
From: Wido den Hollander [wido@widodh.nl]
Sent: Saturday, October 06, 2012 12:47 AM
To: cloudstack-dev@incubator.apache.org
Subject: Re: [VOTE] how to upgrade CloudStack from 3.0.x to 4.0

On 10/05/2012 07:58 PM, Edison Su wrote:
> Refer to bug CLOUDSTACK-248, the root cause is :
> we change cloud-agent-scripts to cloud-scripts, and change the installation path from
/usr/lib64/cloud/agent to /usr/lib64/cloud/common.
> But in the source code, there are some other places still use /usr/lib64/cloud/agent.
For backward compatibility, we link /usr/lib64/cloud/common to /usr/lib64/cloud/agent during
the cloud-scripts installation.
> It works for a fresh 4.0 installation, but doesn't work for upgrade:
> During the upgrade, cloud-scripts will be installed first, then link from /usr/lib64/cloud/common
to /usr/lib64/cloud/agent will be created. Then cloud-agent-scripts will be uninstalled automatically,
thus /usr/lib64/cloud/agent will be removed. When mgt server starts, it complains can't find
scripts under /usr/lib64/cloud/agent.
>
> Rohit fixes this issue by manually force upgrade cloud-scripts after the upgrade process,
which will install /usr/lib64/cloud/common and create the link between /usr/lib64/cloud/common
and /usr/lib64/cloud/agent.
>
> Actually we can put this extra installation process into ./install.sh, so it will become
transparent for end users.
> Will it be reasonable/acceptable for the community?
>

Not everybody will use install.sh, people can also download the RPMs or
DEBs manually or use a DEB/RPM repo.

This should be fixed in the packaging itself.

It's something I wanted to fix today, but didn't get to it.

The problem lies in the management server, since I tested running the
agent without the /usr/lib/cloud/agent directory and that runs just fine
as long as "path.scripts" is pointing to the right path.

So it's the management server which should be fixed and the whole
symlink should be removed.

Anything that is still searching in a hardcoded path should be fixed
instead of banded.

We are already seeing that the symlinking is doing, I don't want this to
be haunting us for the next couple of releases.

Regarding the change of the LibvirtComputingResource in
agent.properties, this can be fixed in the postinst of the RPM and DEB
packages by simply running a search and replace with sed on that
particular file?

I'm not really in favour of that however, since you are doing a major
version upgrade as an admin you should take care of your configuration.
Things have changed, we should just have a BIG warning in the upgrade
documentation.

Wido

Mime
View raw message