You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Alena Prokharchyk (JIRA)" <ji...@apache.org> on 2013/06/03 20:01:23 UTC

[jira] [Commented] (CLOUDSTACK-2463) CS Upgrade 2.2.14 to 4.1.0 failed due to no public network found (configuration : advanced network with security groups)

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-2463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13673370#comment-13673370 ] 

Alena Prokharchyk commented on CLOUDSTACK-2463:
-----------------------------------------------

Attaching the instructions (as well as limitations) on how to convert Advance SG enabled zone to Advance SG disabled zone, attached to the bug. The instructions can be applied only while being on 2.2.x system.
                
> CS Upgrade 2.2.14 to 4.1.0 failed due to no public network found (configuration : advanced network with security groups)
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-2463
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2463
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: pre-4.0.0
>            Reporter: Nicolas Lamirault
>            Assignee: Alena Prokharchyk
>            Priority: Blocker
>         Attachments: advanceSG_toNonSG_zone_db_conversion
>
>
> According Wei Zhou last patch (https://issues.apache.org/jira/browse/CLOUDSTACK-528), i can add a new secondary storage. The SSVM creation failed due to :
> 2013-05-13 15:17:52,868 DEBUG [storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) Zone 1 is ready to launch secondary storage VM
> 2013-05-13 15:17:52,879 INFO [cloud.secstorage.PremiumSecondaryStorageManagerImpl] (secstorage-1:null) No running secondary storage vms found in datacenter id=1, starting one
> 2013-05-13 15:17:52,889 INFO [storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) No stopped secondary storage vm is available, need to allocate a new secondary storage vm
> 2013-05-13 15:17:52,894 DEBUG [storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) Assign secondary storage vm from a newly started instance for request from data center : 1
> 2013-05-13 15:17:52,922 WARN [cloud.vm.SystemVmLoadScanner] (secstorage-1:null) Unexpected exception Found 22 networks of type Guest when expect to find 1
> com.cloud.utils.exception.CloudRuntimeException: Found 22 networks of type Guest when expect to find 1
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.createSecStorageVmInstance(SecondaryStorageManagerImpl.java:552)
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.startNew(SecondaryStorageManagerImpl.java:499)
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.allocCapacity(SecondaryStorageManagerImpl.java:666)
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.expandPool(SecondaryStorageManagerImpl.java:1300)
>         at com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:121)
>         at com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:52)
>         at com.cloud.vm.SystemVmLoadScanner.loadScan(SystemVmLoadScanner.java:104)
>         at com.cloud.vm.SystemVmLoadScanner.access$100(SystemVmLoadScanner.java:33)
>         at com.cloud.vm.SystemVmLoadScanner$1.reallyRun(SystemVmLoadScanner.java:81)
>         at com.cloud.vm.SystemVmLoadScanner$1.run(SystemVmLoadScanner.java:72)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>         at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
>         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> We 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()); 
> Then the error :
> 2013-05-13 16:56:27,084 INFO [storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) No stopped secondary storage vm is available, need to allocate a new secondary storage vm
> 2013-05-13 16:56:27,090 DEBUG [storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) Assign secondary storage vm from a newly started instance for request from data center : 1
> 2013-05-13 16:56:27,126 WARN [cloud.vm.SystemVmLoadScanner] (secstorage-1:null) Unexpected exception Found 0 networks of type Public when expect to find 1
> com.cloud.utils.exception.CloudRuntimeException: Found 0 networks of type Public when expect to find 1
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.createSecStorageVmInstance(SecondaryStorageManagerImpl.java:555)
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.startNew(SecondaryStorageManagerImpl.java:499)
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.allocCapacity(SecondaryStorageManagerImpl.java:669)
>         at com.cloud.storage.secondary.SecondaryStorageManagerImpl.expandPool(SecondaryStorageManagerImpl.java:1304)
>         at com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:121)
>         at com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:52)
>         at com.cloud.vm.SystemVmLoadScanner.loadScan(SystemVmLoadScanner.java:104)
>         at com.cloud.vm.SystemVmLoadScanner.access$100(SystemVmLoadScanner.java:33)
>         at com.cloud.vm.SystemVmLoadScanner$1.reallyRun(SystemVmLoadScanner.java:81)
>         at com.cloud.vm.SystemVmLoadScanner$1.run(SystemVmLoadScanner.java:72)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>         at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
>         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> Into database :
> select distinct(traffic_type) from networks where data_center_id = 1 and state <> 'DESTROY';
> +--------------+
> | traffic_type |
> +--------------+
> | Management |
> | Control |
> | Storage |
> | Guest |
> +--------------+
>  select count(*) as nb, traffic_type from networks where data_center_id = 1 group by traffic_type;
> +----+--------------+
> | nb | traffic_type |
> +----+--------------+
> | 1 | Control |
> | 25 | Guest |
> | 1 | Management |
> | 1 | Storage |
> +----+--------------+
> In our CS 2.2.13, we've got this configuration :
> select distinct(traffic_type) from networks where data_center_id = 1 and state <> 'DESTROY';
> +--------------+
> | traffic_type |
> +--------------+
> | Management |
> | Control |
> | Storage |
> | Guest |
> +--------------+
> select count(*) as nb, traffic_type from networks where data_center_id = 1 group by traffic_type;
> +-----+--------------+
> | nb | traffic_type |
> +-----+--------------+
> | 1 | Control |
> | 362 | Guest |
> | 1 | Management |
> | 1 | Storage |
> +-----+--------------+

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