[
https://issues.apache.org/jira/browse/CLOUDSTACK-528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13656001#comment-13656001
]
Wei Zhou edited comment on CLOUDSTACK-528 at 5/13/13 2:33 PM:
--------------------------------------------------------------
Hi Nicolas,
Could you try this patch?
diff --git
a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
index fca89dc..d40d22f 100755
--- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
+++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
@@ -541,7 +541,7 @@ public class SecondaryStorageManagerImpl extends
ManagerBase implements Secondar
DataCenter dc = _dcDao.findById(plan.getDataCenterId());
TrafficType defaultTrafficType = TrafficType.Public;
- if (dc.getNetworkType() == NetworkType.Basic ||
dc.isSecurityGroupEnabled()) {
+ if (dc.getNetworkType() == NetworkType.Basic) {
defaultTrafficType = TrafficType.Guest;
}
@@ -1143,7 +1143,7 @@ public class SecondaryStorageManagerImpl extends
ManagerBase implements Secondar
List<NicProfile> nics = profile.getNics();
for (NicProfile nic : nics) {
if ((nic.getTrafficType() == TrafficType.Public &&
dc.getNetworkType() == NetworkType.Advanced)
- || (nic.getTrafficType() == TrafficType.Guest &&
(dc.getNetworkType() == NetworkType.Basic || dc.isSecurityGroupEnabled()))) {
+ || (nic.getTrafficType() == TrafficType.Guest &&
(dc.getNetworkType() == NetworkType.Basic))) {
secVm.setPublicIpAddress(nic.getIp4Address());
secVm.setPublicNetmask(nic.getNetmask());
secVm.setPublicMacAddress(nic.getMacAddress());
was (Author: weizhou):
Hi Nicolas,
Could you try this patch?
diff --git
a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
index fca89dc..145d496 100755
--- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
+++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
@@ -541,7 +541,7 @@ public class SecondaryStorageManagerImpl extends
ManagerBase implements Secondar
DataCenter dc = _dcDao.findById(plan.getDataCenterId());
TrafficType defaultTrafficType = TrafficType.Public;
- if (dc.getNetworkType() == NetworkType.Basic ||
dc.isSecurityGroupEnabled()) {
+ if (dc.getNetworkType() == NetworkType.Basic) {
defaultTrafficType = TrafficType.Guest;
}
> Failed to create secondary storage
> ----------------------------------
>
> Key: CLOUDSTACK-528
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-528
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Storage Controller
> Affects Versions: 4.0.0, 4.1.0
> Environment: CentOS
> Reporter: Tamas Monos
> Priority: Blocker
> Fix For: 4.1.0
>
>
> Hi,
> I cannot add secondary storage to my existing Zone. This prevents the
> platform from operating.
> API call via GUI captured by tcpdump:
> http://sandbox.veber.co.uk/client/api?command=addSecondaryStorage&zoneId=a8d21e6d-bc9e-4dc2-b996-fc22727cd9c1&url=nfs%3A%2F%2F192.168.1.2%2Fwatford_cloud&response=json&sessionkey=DGl3OmkfQRGwuIDZFoOpoF2WBJU%3D&_=1353673985114
> Result:
> Unable to connect due to
> java.lang.IllegalArgumentException: Host 192.168.1.4 sent incorrect data
> center: null
> at
> com.cloud.resource.ResourceManagerImpl.createHostVO(ResourceManagerImpl.java:1501)
> at
> com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1629)
> at
> com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:720)
> at
> com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:551)
> at
> com.cloud.api.commands.AddSecondaryStorageCmd.execute(AddSecondaryStorageCmd.java:79)
> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:138)
> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:543)
> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:422)
> at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304)
> at com.cloud.api.ApiServlet.doGet(ApiServlet.java:63)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> at
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
> at
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2268)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:679)
> 2012-11-23 12:32:58,518 INFO [cloud.resource.ResourceManagerImpl]
> (catalina-exec-23:null) server resources successfully discovered by
> SecondaryStorage
> 2012-11-23 12:32:58,518 WARN [cloud.api.ApiDispatcher]
> (catalina-exec-23:null) class com.cloud.api.ServerApiException : Failed to
> add secondary storage
> Debug:
> mysql> select uuid from data_center where name='Watford';
> +--------------------------------------+
> | uuid |
> +--------------------------------------+
> | a8d21e6d-bc9e-4dc2-b996-fc22727cd9c1 |
> +--------------------------------------+
> The Zone ID matches but API throws exception while the IS is supplied in the
> query.
> Scenario:
> I have upgraded from 3.0.2 to 4.0.0. Due to the upgrade scripts did not
> update the systemVMs to the new template I've applied a workaround and
> recreated the systemVMs with the new templates. After that I've enabled
> storage clean-up and the cleanup script destroyed everything on my primary
> storage including systemVMs. I wanted to re-create them but cannot add
> secondary storage to the Zone.
> The applied workarounds during upgrade:
> 1. Add new vmware template to CS with name systemvm-vmware-4.0 (I have
> re-imported it) 2. Wait till the template is downloaded and installed
> successfully
> 3. Look up id of this template in DB (Name should match the input provided in
> step
> mysql> select id from `cloud`.`vm_template` where name =
> mysql> 'systemvm-vmware-4.0' and removed is null;
> 4. Update template type to SYSTEM
> mysql> update `cloud`.`vm_template` set type='SYSTEM' where id =
> mysql> <id-from-step3>;
> 5. Update template Id for all system Vms
> mysql> update `cloud`.`vm_instance` set vm_template_id = <id-from-step3>
> mysql> where type <> 'User' and hypervisor_type = 'VMware';
> 6. Restart all system Vms
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira