Skip to content

CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI - #1615

Merged
asfgit merged 1 commit into
apache:masterfrom
nvazquez:nfsConfigKey
Oct 27, 2016
Merged

CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI#1615
asfgit merged 1 commit into
apache:masterfrom
nvazquez:nfsConfigKey

Conversation

@nvazquez

Copy link
Copy Markdown
Contributor

JIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9438

Introduction

From #1361 it was possible to configure NFS version for secondary storage mount.
However, changing NFS version requires inserting an new detail on image_store_details table, with name = 'nfs.version' and value = X where X is desired NFS version, and then restarting management server for changes to take effect.

Our improvement aims to make NFS version changeable from UI, instead of previously described workflow.

Proposed solution

Basically, NFS version is defined as an image store ConfigKey, this implied:

  • Adding a new Config scope: ImageStore
  • Make ImageStoreDetailsDao class to extend ResourceDetailsDaoBase and ImageStoreDetailVO implement ResourceDetail
  • Insert 'display' column on image_store_details table
  • Extending ListCfgsCmd and UpdateCfgCmd to support ImageStore scope, which implied:
    ** Injecting ImageStoreDetailsDao and ImageStoreDao on ConfigurationManagerImpl class, on cloud-server module.

Important

It is important to mention that ImageStoreDaoImpl and ImageStoreDetailsDaoImpl classes were moved from cloud-engine-storage to cloud-engine-schema module in order to Spring find those beans to inject on ConfigurationManagerImpl in cloud-server module.

We had this maven dependencies between modules:

  • cloud-server --> cloud-engine-schema
  • cloud-engine-storage --> cloud-secondary-storage --> cloud-server

As ImageStoreDaoImpl and ImageStoreDetailsDao were defined in cloud-engine-storage, and they needed in cloud-server module, to be injected on ConfigurationManagerImpl, if we added dependency from cloud-server to cloud-engine-storage we would introduce a dependency cycle. To avoid this cycle, we moved those classes to cloud-engine-schema module

@nvazquez
nvazquezforce-pushed the nfsConfigKey branch 6 times, most recently from aa02196 to f3a5e12CompareJuly 25, 2016 18:18
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.cloudstack.storage.image.db;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the reason for moving this file to a new location?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @koushik-das, the reason was to avoid a dependency cycle on Maven poms, I tried explaining it under Important section in this PR's description

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missed that out previously, thanks

@koushik-das

Copy link
Copy Markdown
Contributor

LGTM based on code review

@nvazquez

Copy link
Copy Markdown
ContributorAuthor

Thanks @koushik-das!

@serg38

Copy link
Copy Markdown

Ping for second review -- @GabrielBrascher, @rhtyd, @wido, @rafaelweingartner

@blueorangutan

Copy link
Copy Markdown

Alright, your PR did not break packaging! Packages built and available at: http://packages.shapeblue.com/cloudstack/custom/github-1615

@nvazquez
nvazquezforce-pushed the nfsConfigKey branch 2 times, most recently from bb5c7c0 to a8b856cCompareAugust 5, 2016 19:14
@yadvr

yadvr commented Aug 5, 2016

Copy link
Copy Markdown
Member

@blueorangutan kick

@blueorangutan

Copy link
Copy Markdown

A Trillian-Jenkins job has been kicked to build packages and start testing. I'll keep you posted as I make progress.

}
if (getImageStoreId() != null) {
response.setScope("imagestore");
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this check and adding validations = PositiveNumber to the imageStoreId @Parameter annotation.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, done

@blueorangutan

Copy link
Copy Markdown

Packaging result: ✔centos6 ✔centos7 ✔debian repo: http://packages.shapeblue.com/cloudstack/pr/1615

@jburwell

Copy link
Copy Markdown
Contributor

@nvazquez looking good. One small item on the checkstate comment. Also, could you please squash your commits?

@nvazquez

Copy link
Copy Markdown
ContributorAuthor

Done, thanks @jburwell for your review!

@jburwell

jburwell commented Aug 9, 2016

Copy link
Copy Markdown
Contributor

@nvazquez thanks for updates. The Jenkins build failed. It appears to be caused by a timeout (91 minutes). Could you please force a rebuild by executing git commit --amend --no-edit && git push -f? Hopefully, a re-run will resolve the issue.

@nvazquez

Copy link
Copy Markdown
ContributorAuthor

Sure, done

@jburwell

Copy link
Copy Markdown
Contributor

@blueorangutan help

@koushik-das

Copy link
Copy Markdown
Contributor

@jburwell Was there a discussion thread for this on dev@, didn't remember seeing one which mentions about freezing master.

These issues of test stability are known and were raised multiple times in the past as well, so not sure what you mean by severity of the situation. Anyways lets wait for the next 24 hours and after that merge the commits that have the required LGTMs.

@jburwell

Copy link
Copy Markdown
Contributor

@koushik-das please see this thread regarding the testing freeze discussion. Also, per our community release schedule, the 4.8, 4.9, and master branches are frozen for testing pre-RC.

@karuturi

Copy link
Copy Markdown
Member

@blueorangutan help

@blueorangutan

Copy link
Copy Markdown

@karuturi I understand these words: "help", "hello", "thanks", "package", "test"
Test run usage: test (mgmt server, one of: centos6, centos7, ubuntu) (hypervisor, one of: kvm-centos6, kvm-centos7, kvm-ubuntu, xenserver-65sp1, xenserver-62sp1, vmware-60u2, vmware-55u3, vmware-51u1, vmware-50u1)
Authorized contributors for kicking Trillian Jenkins test jobs are: ['rhtyd', 'jburwell', 'murali-reddy', 'abhinandanprateek', 'PaulAngus', 'borisstoyanov', 'karuturi']

@karuturi

Copy link
Copy Markdown
Member

@blueorangutan test centos7 vmware-60u2

@blueorangutan

Copy link
Copy Markdown

@karuturi a Trillian-Jenkins test job (centos7 mgmt + vmware-60u2) has been kicked to run smoke tests

@karuturi

Copy link
Copy Markdown
Member

@blueorangutan @rhtyd any update on the tests? Is the job running?

@yadvr

Copy link
Copy Markdown
Member

@karuturi there was a capacity issue at the backend, the tests have been re-fired.

@karuturi

Copy link
Copy Markdown
Member

@rhtyd any update on the tests?

@yadvr

Copy link
Copy Markdown
Member

@karuturi tests are about to finish

@karuturi

Copy link
Copy Markdown
Member

ok. Thank you.

@karuturi

Copy link
Copy Markdown
Member

@blueorangutan test

@blueorangutan

Copy link
Copy Markdown

@karuturi a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-191)
Environment: vmware-60u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 30139 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1615-t191-vmware-60u2.zip
Test completed. 37 look ok, 11 have error(s)

TestResultTime (s)Test File
test_02_VPC_default_routesFailure348.02test_vpc_router_nics.py
test_02_redundant_VPC_default_routesFailure556.41test_vpc_redundant.py
test_02_revert_vm_snapshotsFailure90.29test_vm_snapshots.py
test_router_dhcphostsFailure61.07test_router_dhcphosts.py
test_04_rvpc_privategw_static_routesFailure444.70test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanupFailure248.37test_privategw_acl.py
test_02_vpc_privategw_static_routesFailure203.34test_privategw_acl.py
test_01_vpc_privategw_aclFailure112.56test_privategw_acl.py
test_isolate_network_password_serverFailure60.92test_password_server.py
test_oobm_zchange_passwordFailure20.58test_outofbandmanagement.py
ContextSuite context=TestVpcSite2SiteVpn>:setupError0.00test_vpc_vpn.py
ContextSuite context=TestVpcRemoteAccessVpn>:setupError0.00test_vpc_vpn.py
ContextSuite context=TestRVPCSite2SiteVpn>:setupError0.00test_vpc_vpn.py
test_06_download_detached_volumeError50.59test_volumes.py
test_01_test_vm_volume_snapshotError211.64test_vm_snapshots.py
test_01_create_vm_snapshotsError162.17test_vm_snapshots.py
ContextSuite context=TestRouterDHCPHosts>:teardownError81.31test_router_dhcphosts.py
test_extendPhysicalNetworkVlanError0.04test_non_contigiousvlan.py
ContextSuite context=TestInternalLb>:setupError0.00test_internal_lb.py
ContextSuite context=TestDedicateGuestVlanRange>:setupError0.00test_guest_vlan_range.py
test_01_VPC_nics_after_destroySuccess655.31test_vpc_router_nics.py
test_05_rvpc_multi_tiersSuccess662.42test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nicsSuccess1621.01test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routersSuccess757.69test_vpc_redundant.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACLSuccess1426.91test_vpc_redundant.py
test_09_delete_detached_volumeSuccess20.83test_volumes.py
test_05_detach_volumeSuccess100.32test_volumes.py
test_04_delete_attached_volumeSuccess10.21test_volumes.py
test_03_download_attached_volumeSuccess15.29test_volumes.py
test_02_attach_volumeSuccess53.77test_volumes.py
test_01_create_volumeSuccess515.39test_volumes.py
test_03_delete_vm_snapshotsSuccess275.14test_vm_snapshots.py
test_deploy_vm_multipleSuccess258.62test_vm_life_cycle.py
test_deploy_vmSuccess0.03test_vm_life_cycle.py
test_advZoneVirtualRouterSuccess0.03test_vm_life_cycle.py
test_10_attachAndDetach_isoSuccess71.98test_vm_life_cycle.py
test_09_expunge_vmSuccess125.26test_vm_life_cycle.py
test_08_migrate_vmSuccess66.11test_vm_life_cycle.py
test_07_restore_vmSuccess0.16test_vm_life_cycle.py
test_06_destroy_vmSuccess10.16test_vm_life_cycle.py
test_03_reboot_vmSuccess5.15test_vm_life_cycle.py
test_02_start_vmSuccess20.26test_vm_life_cycle.py
test_01_stop_vmSuccess5.14test_vm_life_cycle.py
test_CreateTemplateWithDuplicateNameSuccess251.70test_templates.py
test_08_list_system_templatesSuccess0.03test_templates.py
test_07_list_public_templatesSuccess0.04test_templates.py
test_05_template_permissionsSuccess0.06test_templates.py
test_04_extract_templateSuccess15.27test_templates.py
test_03_delete_templateSuccess5.11test_templates.py
test_02_edit_templateSuccess90.18test_templates.py
test_01_create_templateSuccess120.98test_templates.py
test_10_destroy_cpvmSuccess231.75test_ssvm.py
test_09_destroy_ssvmSuccess264.20test_ssvm.py
test_08_reboot_cpvmSuccess156.65test_ssvm.py
test_07_reboot_ssvmSuccess158.63test_ssvm.py
test_06_stop_cpvmSuccess207.15test_ssvm.py
test_05_stop_ssvmSuccess244.13test_ssvm.py
test_04_cpvm_internalsSuccess1.78test_ssvm.py
test_03_ssvm_internalsSuccess5.86test_ssvm.py
test_02_list_cpvm_vmSuccess0.15test_ssvm.py
test_01_list_sec_storage_vmSuccess0.17test_ssvm.py
test_01_snapshot_root_diskSuccess131.88test_snapshots.py
test_04_change_offering_smallSuccess122.60test_service_offerings.py
test_03_delete_service_offeringSuccess0.04test_service_offerings.py
test_02_edit_service_offeringSuccess0.25test_service_offerings.py
test_01_create_service_offeringSuccess0.11test_service_offerings.py
test_02_sys_template_readySuccess0.14test_secondary_storage.py
test_01_sys_vm_startSuccess0.22test_secondary_storage.py
test_09_reboot_routerSuccess125.90test_routers.py
test_08_start_routerSuccess151.01test_routers.py
test_07_stop_routerSuccess20.26test_routers.py
test_06_router_advancedSuccess0.06test_routers.py
test_05_router_basicSuccess0.04test_routers.py
test_04_restart_network_wo_cleanupSuccess5.65test_routers.py
test_03_restart_network_cleanupSuccess146.00test_routers.py
test_02_router_internal_advSuccess1.03test_routers.py
test_01_router_internal_basicSuccess0.58test_routers.py
test_router_dns_guestipquerySuccess106.80test_router_dns.py
test_router_dns_externalipquerySuccess0.08test_router_dns.py
test_01_updatevolumedetailSuccess0.10test_resource_detail.py
test_01_reset_vm_on_rebootSuccess25.34test_reset_vm_on_reboot.py
test_createRegionSuccess0.04test_regions.py
test_create_pvlan_networkSuccess5.28test_pvlan.py
test_dedicatePublicIpRangeSuccess0.47test_public_ip_range.py
test_01_primary_storage_nfsSuccess36.16test_primary_storage.py
test_createPortablePublicIPRangeSuccess15.22test_portable_publicip.py
test_createPortablePublicIPAcquireSuccess15.49test_portable_publicip.py
test_UpdateStorageOverProvisioningFactorSuccess0.14test_over_provisioning.py
test_oobm_multiple_mgmt_server_ownershipSuccess16.52test_outofbandmanagement.py
test_oobm_issue_power_statusSuccess10.52test_outofbandmanagement.py
test_oobm_issue_power_softSuccess15.51test_outofbandmanagement.py
test_oobm_issue_power_resetSuccess15.52test_outofbandmanagement.py
test_oobm_issue_power_onSuccess15.52test_outofbandmanagement.py
test_oobm_issue_power_offSuccess15.52test_outofbandmanagement.py
test_oobm_issue_power_cycleSuccess10.51test_outofbandmanagement.py
test_oobm_enabledisable_across_clusterzonesSuccess57.67test_outofbandmanagement.py
test_oobm_enable_feature_validSuccess5.18test_outofbandmanagement.py
test_oobm_enable_feature_invalidSuccess0.11test_outofbandmanagement.py
test_oobm_disable_feature_validSuccess5.22test_outofbandmanagement.py
test_oobm_disable_feature_invalidSuccess0.12test_outofbandmanagement.py
test_oobm_configure_invalid_driverSuccess0.10test_outofbandmanagement.py
test_oobm_configure_default_driverSuccess0.10test_outofbandmanagement.py
test_oobm_background_powerstate_syncSuccess29.66test_outofbandmanagement.py
test_01_nicSuccess652.56test_nic.py
test_releaseIPSuccess269.17test_network.py
test_reboot_routerSuccess646.32test_network.py
test_public_ip_user_accountSuccess10.27test_network.py
test_public_ip_admin_accountSuccess40.30test_network.py
test_network_rules_acquired_public_ip_3_Load_Balancer_RuleSuccess76.93test_network.py
test_network_rules_acquired_public_ip_2_nat_ruleSuccess61.60test_network.py
test_network_rules_acquired_public_ip_1_static_nat_ruleSuccess125.24test_network.py
test_delete_accountSuccess298.81test_network.py
test_02_port_fwd_on_non_src_natSuccess55.67test_network.py
test_01_port_fwd_on_src_natSuccess141.93test_network.py
test_nic_secondaryip_add_removeSuccess269.11test_multipleips_per_nic.py
login_test_saml_userSuccess24.66test_login.py
test_assign_and_removal_lbSuccess148.45test_loadbalance.py
test_02_create_lb_rule_non_natSuccess207.58test_loadbalance.py
test_01_create_lb_rule_src_natSuccess208.64test_loadbalance.py
test_03_list_snapshotsSuccess0.08test_list_ids_parameter.py
test_02_list_templatesSuccess0.05test_list_ids_parameter.py
test_01_list_volumesSuccess0.05test_list_ids_parameter.py
test_07_list_default_isoSuccess0.06test_iso.py
test_05_iso_permissionsSuccess0.06test_iso.py
test_04_extract_IsoSuccess5.18test_iso.py
test_03_delete_isoSuccess95.25test_iso.py
test_02_edit_isoSuccess0.09test_iso.py
test_01_create_isoSuccess66.85test_iso.py
test_UpdateConfigParamWithScopeSuccess0.17test_global_settings.py
test_rolepermission_lifecycle_updateSuccess7.80test_dynamicroles.py
test_rolepermission_lifecycle_listSuccess7.73test_dynamicroles.py
test_rolepermission_lifecycle_deleteSuccess7.09test_dynamicroles.py
test_rolepermission_lifecycle_createSuccess6.77test_dynamicroles.py
test_rolepermission_lifecycle_concurrent_updatesSuccess7.20test_dynamicroles.py
test_role_lifecycle_update_role_inuseSuccess6.78test_dynamicroles.py
test_role_lifecycle_updateSuccess11.84test_dynamicroles.py
test_role_lifecycle_listSuccess7.02test_dynamicroles.py
test_role_lifecycle_deleteSuccess11.87test_dynamicroles.py
test_role_lifecycle_createSuccess6.93test_dynamicroles.py
test_role_inuse_deletionSuccess6.78test_dynamicroles.py
test_role_account_acls_multiple_mgmt_serversSuccess9.10test_dynamicroles.py
test_role_account_aclsSuccess9.42test_dynamicroles.py
test_default_role_deletionSuccess6.87test_dynamicroles.py
test_04_create_fat_type_disk_offeringSuccess0.08test_disk_offerings.py
test_03_delete_disk_offeringSuccess0.04test_disk_offerings.py
test_02_edit_disk_offeringSuccess0.05test_disk_offerings.py
test_02_create_sparse_type_disk_offeringSuccess0.07test_disk_offerings.py
test_01_create_disk_offeringSuccess0.11test_disk_offerings.py
test_deployvm_userdispersingSuccess45.73test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userconcentratedSuccess70.87test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_firstfitSuccess171.59test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userdata_postSuccess30.68test_deploy_vm_with_userdata.py
test_deployvm_userdataSuccess196.62test_deploy_vm_with_userdata.py
test_02_deploy_vm_root_resizeSuccess6.72test_deploy_vm_root_resize.py
test_01_deploy_vm_root_resizeSuccess6.75test_deploy_vm_root_resize.py
test_00_deploy_vm_root_resizeSuccess6.88test_deploy_vm_root_resize.py
test_deploy_vm_from_isoSuccess238.15test_deploy_vm_iso.py
test_3d_gpu_supportSuccess430.25test_deploy_vgpu_enabled_vm.py
test_DeployVmAntiAffinityGroupSuccess191.71test_affinity_groups.py
test_08_resize_volumeSkipped5.12test_volumes.py
test_07_resize_failSkipped10.32test_volumes.py
test_06_copy_templateSkipped0.00test_templates.py
test_static_role_account_aclsSkipped0.02test_staticroles.py
test_11_ss_nfs_version_on_ssvmSkipped0.02test_ssvm.py
test_01_scale_vmSkipped66.60test_scale_vm.py
test_01_primary_storage_iscsiSkipped0.04test_primary_storage.py
test_06_copy_isoSkipped0.00test_iso.py
test_deploy_vgpu_enabled_vmSkipped1.89test_deploy_vgpu_enabled_vm.py

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-193)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 25817 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1615-t193-kvm-centos7.zip
Test completed. 39 look ok, 9 have error(s)

TestResultTime (s)Test File
test_02_VPC_default_routesFailure130.97test_vpc_router_nics.py
test_02_redundant_VPC_default_routesFailure248.71test_vpc_redundant.py
test_router_dhcphostsFailure85.95test_router_dhcphosts.py
test_04_rvpc_privategw_static_routesFailure137.70test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanupFailure72.29test_privategw_acl.py
test_02_vpc_privategw_static_routesFailure87.48test_privategw_acl.py
test_01_vpc_privategw_aclFailure37.02test_privategw_acl.py
test_isolate_network_password_serverFailure55.87test_password_server.py
test_oobm_zchange_passwordFailure20.44test_outofbandmanagement.py
test_01_vpc_remote_access_vpnError0.08test_vpc_vpn.py
ContextSuite context=TestRVPCSite2SiteVpn>:teardownError240.88test_vpc_vpn.py
ContextSuite context=TestRouterDHCPHosts>:teardownError131.30test_router_dhcphosts.py
test_extendPhysicalNetworkVlanError0.04test_non_contigiousvlan.py
test_network_rules_acquired_public_ip_3_Load_Balancer_RuleError741.16test_network.py
test_network_rules_acquired_public_ip_2_nat_ruleError740.25test_network.py
test_network_rules_acquired_public_ip_1_static_nat_ruleError730.93test_network.py
ContextSuite context=TestDedicateGuestVlanRange>:setupError0.00test_guest_vlan_range.py
test_01_vpc_site2site_vpnSuccess144.87test_vpc_vpn.py
test_01_redundant_vpc_site2site_vpnSuccess235.78test_vpc_vpn.py
test_01_VPC_nics_after_destroySuccess567.08test_vpc_router_nics.py
test_05_rvpc_multi_tiersSuccess415.30test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nicsSuccess1516.19test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routersSuccess394.00test_vpc_redundant.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACLSuccess946.00test_vpc_redundant.py
test_09_delete_detached_volumeSuccess15.46test_volumes.py
test_08_resize_volumeSuccess15.40test_volumes.py
test_07_resize_failSuccess20.43test_volumes.py
test_06_download_detached_volumeSuccess15.26test_volumes.py
test_05_detach_volumeSuccess100.22test_volumes.py
test_04_delete_attached_volumeSuccess10.21test_volumes.py
test_03_download_attached_volumeSuccess15.25test_volumes.py
test_02_attach_volumeSuccess43.62test_volumes.py
test_01_create_volumeSuccess621.28test_volumes.py
test_deploy_vm_multipleSuccess254.26test_vm_life_cycle.py
test_deploy_vmSuccess0.03test_vm_life_cycle.py
test_advZoneVirtualRouterSuccess0.02test_vm_life_cycle.py
test_10_attachAndDetach_isoSuccess71.79test_vm_life_cycle.py
test_09_expunge_vmSuccess125.16test_vm_life_cycle.py
test_08_migrate_vmSuccess35.89test_vm_life_cycle.py
test_07_restore_vmSuccess0.14test_vm_life_cycle.py
test_06_destroy_vmSuccess125.80test_vm_life_cycle.py
test_03_reboot_vmSuccess125.83test_vm_life_cycle.py
test_02_start_vmSuccess5.13test_vm_life_cycle.py
test_01_stop_vmSuccess35.27test_vm_life_cycle.py
test_CreateTemplateWithDuplicateNameSuccess90.70test_templates.py
test_08_list_system_templatesSuccess0.03test_templates.py
test_07_list_public_templatesSuccess0.06test_templates.py
test_05_template_permissionsSuccess0.06test_templates.py
test_04_extract_templateSuccess5.19test_templates.py
test_03_delete_templateSuccess5.11test_templates.py
test_02_edit_templateSuccess90.17test_templates.py
test_01_create_templateSuccess55.51test_templates.py
test_10_destroy_cpvmSuccess131.32test_ssvm.py
test_09_destroy_ssvmSuccess163.19test_ssvm.py
test_08_reboot_cpvmSuccess131.31test_ssvm.py
test_07_reboot_ssvmSuccess103.11test_ssvm.py
test_06_stop_cpvmSuccess131.50test_ssvm.py
test_05_stop_ssvmSuccess133.21test_ssvm.py
test_04_cpvm_internalsSuccess0.97test_ssvm.py
test_03_ssvm_internalsSuccess16.17test_ssvm.py
test_02_list_cpvm_vmSuccess0.13test_ssvm.py
test_01_list_sec_storage_vmSuccess0.13test_ssvm.py
test_01_snapshot_root_diskSuccess66.50test_snapshots.py
test_04_change_offering_smallSuccess210.51test_service_offerings.py
test_03_delete_service_offeringSuccess0.03test_service_offerings.py
test_02_edit_service_offeringSuccess0.06test_service_offerings.py
test_01_create_service_offeringSuccess0.14test_service_offerings.py
test_02_sys_template_readySuccess0.13test_secondary_storage.py
test_01_sys_vm_startSuccess0.21test_secondary_storage.py
test_09_reboot_routerSuccess35.48test_routers.py
test_08_start_routerSuccess30.26test_routers.py
test_07_stop_routerSuccess10.14test_routers.py
test_06_router_advancedSuccess0.05test_routers.py
test_05_router_basicSuccess0.04test_routers.py
test_04_restart_network_wo_cleanupSuccess5.56test_routers.py
test_03_restart_network_cleanupSuccess50.79test_routers.py
test_02_router_internal_advSuccess0.84test_routers.py
test_01_router_internal_basicSuccess0.45test_routers.py
test_router_dns_guestipquerySuccess76.68test_router_dns.py
test_router_dns_externalipquerySuccess0.05test_router_dns.py
test_01_updatevolumedetailSuccess0.07test_resource_detail.py
test_01_reset_vm_on_rebootSuccess171.13test_reset_vm_on_reboot.py
test_createRegionSuccess0.04test_regions.py
test_create_pvlan_networkSuccess5.21test_pvlan.py
test_dedicatePublicIpRangeSuccess0.39test_public_ip_range.py
test_01_primary_storage_nfsSuccess35.73test_primary_storage.py
test_createPortablePublicIPRangeSuccess15.19test_portable_publicip.py
test_createPortablePublicIPAcquireSuccess15.41test_portable_publicip.py
test_UpdateStorageOverProvisioningFactorSuccess0.12test_over_provisioning.py
test_oobm_multiple_mgmt_server_ownershipSuccess16.49test_outofbandmanagement.py
test_oobm_issue_power_statusSuccess10.53test_outofbandmanagement.py
test_oobm_issue_power_softSuccess15.52test_outofbandmanagement.py
test_oobm_issue_power_resetSuccess15.52test_outofbandmanagement.py
test_oobm_issue_power_onSuccess15.52test_outofbandmanagement.py
test_oobm_issue_power_offSuccess15.52test_outofbandmanagement.py
test_oobm_issue_power_cycleSuccess15.52test_outofbandmanagement.py
test_oobm_enabledisable_across_clusterzonesSuccess57.25test_outofbandmanagement.py
test_oobm_enable_feature_validSuccess5.16test_outofbandmanagement.py
test_oobm_enable_feature_invalidSuccess0.10test_outofbandmanagement.py
test_oobm_disable_feature_validSuccess5.18test_outofbandmanagement.py
test_oobm_disable_feature_invalidSuccess0.12test_outofbandmanagement.py
test_oobm_configure_invalid_driverSuccess0.09test_outofbandmanagement.py
test_oobm_configure_default_driverSuccess0.09test_outofbandmanagement.py
test_oobm_background_powerstate_syncSuccess24.67test_outofbandmanagement.py
test_01_nicSuccess681.32test_nic.py
test_releaseIPSuccess148.03test_network.py
test_reboot_routerSuccess409.31test_network.py
test_public_ip_user_accountSuccess10.23test_network.py
test_public_ip_admin_accountSuccess40.26test_network.py
test_delete_accountSuccess298.67test_network.py
test_02_port_fwd_on_non_src_natSuccess55.64test_network.py
test_01_port_fwd_on_src_natSuccess111.71test_network.py
test_nic_secondaryip_add_removeSuccess193.41test_multipleips_per_nic.py
login_test_saml_userSuccess24.53test_login.py
test_assign_and_removal_lbSuccess132.65test_loadbalance.py
test_02_create_lb_rule_non_natSuccess186.79test_loadbalance.py
test_01_create_lb_rule_src_natSuccess207.21test_loadbalance.py
test_03_list_snapshotsSuccess0.05test_list_ids_parameter.py
test_02_list_templatesSuccess0.04test_list_ids_parameter.py
test_01_list_volumesSuccess0.03test_list_ids_parameter.py
test_07_list_default_isoSuccess0.14test_iso.py
test_05_iso_permissionsSuccess0.06test_iso.py
test_04_extract_IsoSuccess5.17test_iso.py
test_03_delete_isoSuccess95.16test_iso.py
test_02_edit_isoSuccess0.08test_iso.py
test_01_create_isoSuccess66.81test_iso.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfacesSuccess223.50test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfacesSuccess167.76test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80Success494.64test_internal_lb.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80Success413.47test_internal_lb.py
test_UpdateConfigParamWithScopeSuccess0.15test_global_settings.py
test_rolepermission_lifecycle_updateSuccess7.14test_dynamicroles.py
test_rolepermission_lifecycle_listSuccess6.84test_dynamicroles.py
test_rolepermission_lifecycle_deleteSuccess6.79test_dynamicroles.py
test_rolepermission_lifecycle_createSuccess6.78test_dynamicroles.py
test_rolepermission_lifecycle_concurrent_updatesSuccess6.85test_dynamicroles.py
test_role_lifecycle_update_role_inuseSuccess6.85test_dynamicroles.py
test_role_lifecycle_updateSuccess11.90test_dynamicroles.py
test_role_lifecycle_listSuccess6.81test_dynamicroles.py
test_role_lifecycle_deleteSuccess12.51test_dynamicroles.py
test_role_lifecycle_createSuccess6.95test_dynamicroles.py
test_role_inuse_deletionSuccess7.07test_dynamicroles.py
test_role_account_acls_multiple_mgmt_serversSuccess8.96test_dynamicroles.py
test_role_account_aclsSuccess9.10test_dynamicroles.py
test_default_role_deletionSuccess6.85test_dynamicroles.py
test_04_create_fat_type_disk_offeringSuccess0.06test_disk_offerings.py
test_03_delete_disk_offeringSuccess0.04test_disk_offerings.py
test_02_edit_disk_offeringSuccess0.05test_disk_offerings.py
test_02_create_sparse_type_disk_offeringSuccess0.06test_disk_offerings.py
test_01_create_disk_offeringSuccess0.10test_disk_offerings.py
test_deployvm_userdispersingSuccess20.53test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userconcentratedSuccess20.57test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_firstfitSuccess86.00test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userdata_postSuccess5.34test_deploy_vm_with_userdata.py
test_deployvm_userdataSuccess45.63test_deploy_vm_with_userdata.py
test_02_deploy_vm_root_resizeSuccess6.84test_deploy_vm_root_resize.py
test_01_deploy_vm_root_resizeSuccess6.96test_deploy_vm_root_resize.py
test_00_deploy_vm_root_resizeSuccess228.35test_deploy_vm_root_resize.py
test_deploy_vm_from_isoSuccess243.13test_deploy_vm_iso.py
test_DeployVmAntiAffinityGroupSuccess55.88test_affinity_groups.py
test_03_delete_vm_snapshotsSkipped0.00test_vm_snapshots.py
test_02_revert_vm_snapshotsSkipped0.00test_vm_snapshots.py
test_01_test_vm_volume_snapshotSkipped0.00test_vm_snapshots.py
test_01_create_vm_snapshotsSkipped0.00test_vm_snapshots.py
test_06_copy_templateSkipped0.00test_templates.py
test_static_role_account_aclsSkipped0.02test_staticroles.py
test_11_ss_nfs_version_on_ssvmSkipped0.02test_ssvm.py
test_01_scale_vmSkipped0.00test_scale_vm.py
test_01_primary_storage_iscsiSkipped0.03test_primary_storage.py
test_06_copy_isoSkipped0.00test_iso.py
test_deploy_vgpu_enabled_vmSkipped0.03test_deploy_vgpu_enabled_vm.py
test_3d_gpu_supportSkipped0.04test_deploy_vgpu_enabled_vm.py

@cloudmonger

Copy link
Copy Markdown

ACS CI BVT Run

Sumarry:
Build Number 125
Hypervisor xenserver
NetworkType Advanced
Passed=102
Failed=3
Skipped=6

Link to logs Folder (search by build_no):https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0

Failed tests:

  • test_network.py
    • test_delete_account Failed
  • test_deploy_vm_iso.py
    • test_deploy_vm_from_iso Failing since 10 runs
  • test_vm_life_cycle.py
    • test_10_attachAndDetach_iso Failing since 11 runs

Skipped tests:
test_01_test_vm_volume_snapshot
test_vm_nic_adapter_vmxnet3
test_static_role_account_acls
test_11_ss_nfs_version_on_ssvm
test_3d_gpu_support
test_deploy_vgpu_enabled_vm

Passed test suits:
test_deploy_vm_with_userdata.py
test_affinity_groups_projects.py
test_portable_publicip.py
test_over_provisioning.py
test_global_settings.py
test_scale_vm.py
test_service_offerings.py
test_routers_iptables_default_policy.py
test_loadbalance.py
test_routers.py
test_reset_vm_on_reboot.py
test_snapshots.py
test_deploy_vms_with_varied_deploymentplanners.py
test_router_dns.py
test_non_contigiousvlan.py
test_login.py
test_list_ids_parameter.py
test_public_ip_range.py
test_multipleips_per_nic.py
test_regions.py
test_affinity_groups.py
test_network_acl.py
test_pvlan.py
test_volumes.py
test_nic.py
test_deploy_vm_root_resize.py
test_resource_detail.py
test_secondary_storage.py
test_routers_network_ops.py
test_disk_offerings.py

@karuturi

Copy link
Copy Markdown
Member

reran the test for delete account and it passes.
Test for delete account ... === TestName: test_delete_account | Status : SUCCESS === ok
merging this PR now

@asfgit
asfgit merged commit 2e77496 into apache:masterOct 27, 2016
asfgit pushed a commit that referenced this pull request Oct 27, 2016
CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UIJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9438
### Introduction
From #1361 it was possible to configure NFS version for secondary storage mount.
However, changing NFS version requires inserting an new detail on `image_store_details` table, with `name = 'nfs.version'` and `value = X` where X is desired NFS version, and then restarting management server for changes to take effect.
Our improvement aims to make NFS version changeable from UI, instead of previously described workflow.
### Proposed solution
Basically, NFS version is defined as an image store ConfigKey, this implied:
* Adding a new Config scope: **ImageStore**
* Make `ImageStoreDetailsDao` class to extend `ResourceDetailsDaoBase` and `ImageStoreDetailVO` implement `ResourceDetail`
* Insert `'display'` column on `image_store_details` table
* Extending `ListCfgsCmd` and `UpdateCfgCmd` to support **ImageStore** scope, which implied:
** Injecting `ImageStoreDetailsDao` and `ImageStoreDao` on `ConfigurationManagerImpl` class, on `cloud-server` module.
### Important
It is important to mention that `ImageStoreDaoImpl` and `ImageStoreDetailsDaoImpl` classes were moved from `cloud-engine-storage` to `cloud-engine-schema` module in order to Spring find those beans to inject on `ConfigurationManagerImpl` in `cloud-server` module.
We had this maven dependencies between modules:
* `cloud-server --> cloud-engine-schema`
* `cloud-engine-storage --> cloud-secondary-storage --> cloud-server`
As `ImageStoreDaoImpl` and `ImageStoreDetailsDao` were defined in `cloud-engine-storage`, and they needed in `cloud-server` module, to be injected on `ConfigurationManagerImpl`, if we added dependency from `cloud-server` to `cloud-engine-storage` we would introduce a dependency cycle. To avoid this cycle, we moved those classes to `cloud-engine-schema` module
* pr/1615:
CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI
Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
@nvazquez
nvazquez deleted the nfsConfigKey branch November 4, 2016 13:23
@milamberspace

Copy link
Copy Markdown
Contributor

Hello @nvazquez
Could you see this bug CLOUDSTACK-9671 It's related with this PR and CLOUDSTACK-9438
Thanks

@serg38

Copy link
Copy Markdown

@milamberspace Column details is supposed to be added during 4.8 to 4.9 schema upgrade. Most likely when you upgraded to 4.9 this PR hadn't been merged yet. You can simply apply this statement before starting the 4.9 to 4.10 upgrade:
ALTER TABLE cloud.image_store_details CHANGE COLUMN valuevalue VARCHAR(255) NULL DEFAULT NULL COMMENT 'value of the detail', ADD COLUMN display tinyint(1) NOT
NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user' AFTER value;

@milamberspace

Copy link
Copy Markdown
Contributor

@serg38 My CS 4.9.1.0 installation is a fresh installation not an upgrade from 4.8.

@serg38

Copy link
Copy Markdown

@milamberspace Can you check if file /usr/share/cloudstack-management/setup/db/schema-481to490.sql in your installation has the SQL alter image_store_details table line ?

@milamberspace

Copy link
Copy Markdown
Contributor

@serg38 Root cause of the issue found.
In the 4.9.1.0 branch, the commit 2e77496 (CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI) hasn't exists, so the schema-481to490.sql file doesn't contains the SQL request...
Probably this issue will be a blocker for the 4.9.1.0 RC1...

@serg38

Copy link
Copy Markdown

@rhtyd @jburwell@karuturi What is the easiest way to resolve this merge conflict?

@nvazquez

Copy link
Copy Markdown
ContributorAuthor

Hi @milamberspace, sorry for my late response, I'm out of work this week but please let me know if there's something I can do to help.

yadvr added a commit to shapeblue/cloudstack that referenced this pull request Dec 15, 2016
- Fixes issue of failing upgrade paths
- Moves schema changes from PR apache#1615 in the 4.9.1.0 to 4.10.0.0 sql path
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
asfgit pushed a commit that referenced this pull request Dec 15, 2016
CLOUDSTACK-9671: Fix sql change to corresponding version paths- Fixes issue of failing upgrade paths
- Moves schema changes from PR #1615 in the 4.9.1.0 to 4.10.0.0 sql path
* pr/1831:
CLOUDSTACK-9671: Fix sql change to corresponding version paths
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@nvazquez@koushik-das@serg38@blueorangutan@yadvr@jburwell@GabrielBrascher@karuturi@cloudmonger@milamberspace@asfgit