You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by nvazquez <gi...@git.apache.org> on 2016/07/22 15:08:03 UTC
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
GitHub user nvazquez opened a pull request:
https://github.com/apache/cloudstack/pull/1615
CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI
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
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/nvazquez/cloudstack nfsConfigKey
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1615.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1615
----
commit c35d9e6dfc6a886890ce2c1c864ec201884cb84c
Author: nvazquez <ni...@gmail.com>
Date: 2016-07-12T14:41:52Z
CLOUDSTACK-9438: NFS version as ConfigKey
commit 0e44c8571072f67fc53c2851dc06cd0ced2a6755
Author: nvazquez <ni...@gmail.com>
Date: 2016-07-19T21:33:25Z
CLOUDSTACK-9438: Move ImageStoreDaoImpl and ImageStoreDetailsDaoImpl to engine-schema module
commit 8383a36b703b9d5166cb1269f8400ca193f20ea1
Author: nvazquez <ni...@gmail.com>
Date: 2016-07-21T19:14:07Z
CLOUDSTACK-9438: Add display to ImageStoreDetailVO
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73764835
--- Diff: api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java ---
@@ -145,6 +156,9 @@ public void execute() {
if (getAccountId() != null) {
response.setScope("account");
}
+ if (getImageStoreId() != null) {
+ response.setScope("imagestore");
+ }
--- End diff --
Please remove this check and adding ``validations = PositiveNumber`` to the ``imageStoreId @Parameter`` annotation.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Packaging result: \u2714centos6 \u2714centos7 \u2714debian repo: http://packages.shapeblue.com/cloudstack/pr/1615
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73118216
--- Diff: setup/db/db/schema-481to490.sql ---
@@ -545,3 +545,6 @@ INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervis
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.0', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'centos64Guest', 228, now(), 0);
+
+ALTER TABLE `cloud`.`image_store_details` CHANGE COLUMN `value` `value` VARCHAR(255) NULL DEFAULT NULL COMMENT 'value of the detail', ADD COLUMN `display` tinyint(1) NOT
--- End diff --
Any reason to make the value field nullable?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73156809
--- Diff: setup/db/db/schema-481to490.sql ---
@@ -545,3 +545,6 @@ INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervis
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.0', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'centos64Guest', 228, now(), 0);
+
+ALTER TABLE `cloud`.`image_store_details` CHANGE COLUMN `value` `value` VARCHAR(255) NULL DEFAULT NULL COMMENT 'value of the detail', ADD COLUMN `display` tinyint(1) NOT
--- End diff --
We decided to make the default value as null to not impact deployments which didn't specify a NFS version for their secondary storage operations, so they work as they were before.
About *display* column, we added it to make it consistent with `ResourceDetail` as we made `ImageStoreDetailVO` implement `ResourceDetail`, which has the method `isDisplay`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Ping for second review -- @GabrielBrascher, @rhtyd, @wido, @rafaelweingartner
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell Are there any outstanding issues with this PR? It is waiting for second LGTM.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80986927
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -42,12 +43,19 @@
class TestSSVMs(cloudstackTestCase):
def setUp(self):
+ test_case = super(TestSSVMs, self)
self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.cleanup = []
+ self.config = test_case.getClsConfig()
self.services = self.testClient.getParsedTestDataConfig()
self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests())
+ self.logger = logging.getLogger('TestSSVMs')
+ self.stream_handler = logging.StreamHandler()
+ self.logger.setLevel(logging.DEBUG)
+ self.logger.addHandler(self.stream_handler)
+
# Default sleep is set to 90 seconds, which is too long if the SSVM takes up to 2min to start.
# Second sleep in the loop will waste test time.
self.services["sleep"] = 30
--- End diff --
We tested changing it to 5 secs and caused much tests to fail, at least in out environment
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan package
@jburwell @nvazquez since a new code commit was made, we need to call package before we could kick in tests.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
LGTM for code review. We are currently investigating failures on #1692 which is intended to clean up a number of smoke test failures. Once we have those issues resolved, this PR can be rebased and we will execute the regression tests.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r74067226
--- Diff: api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java ---
@@ -145,6 +156,9 @@ public void execute() {
if (getAccountId() != null) {
response.setScope("account");
}
+ if (getImageStoreId() != null) {
+ response.setScope("imagestore");
+ }
--- End diff --
Thanks, done
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by karuturi <gi...@git.apache.org>.
Github user karuturi commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan help
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73114913
--- Diff: engine/schema/src/org/apache/cloudstack/storage/datastore/db/ImageStoreDaoImpl.java ---
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.cloudstack.storage.image.db;
--- End diff --
What is the reason for moving this file to a new location?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan kick
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by GabrielBrascher <gi...@git.apache.org>.
Github user GabrielBrascher commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@serg38 @nvazquez the code seems ok.
Is there anything pending with the _blueorangutan_ test?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan test
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Thanks @koushik-das!
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@serg38 which test cases were added for PR #1361? Looking through the changes for that PR, I don't see any changes to existing Marvin test cases or any added. Am I missing something?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Packaging result: \u2714centos6 \u2714centos7 \u2714debian repo: http://packages.shapeblue.com/cloudstack/pr/1615
Job ID-74
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell I refactored added marvin test based on your comments. I think I shouldn't have squashed commits before pushing because now I can't mark them as solved, but replied on those I've already changed
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73766528
--- Diff: server/src/com/cloud/storage/ImageStoreDetailsUtil.java ---
@@ -20,48 +20,68 @@
import javax.inject.Inject;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
+import com.cloud.capacity.CapacityManager;
+
public class ImageStoreDetailsUtil {
@Inject
protected ImageStoreDao imageStoreDao;
@Inject
protected ImageStoreDetailsDao imageStoreDetailsDao;
+ @Inject
+ protected ConfigurationDao configurationDao;
/**
- * Obtain NFS protocol version (if provided) for a store id.<br/>
- * It can be set by adding an entry in {@code image_store_details} table, providing {@code name=nfs.version} and {@code value=X} (e.g. 3)
+ * Retrieve global secondary storage NFS version default value
+ * @return global default value
+ */
+ protected Integer getGlobalDefaultNfsVersion(){
+ ConfigurationVO globalNfsVersion = configurationDao.findByName(CapacityManager.ImageStoreNFSVersion.key());
+ String value = globalNfsVersion.getValue();
+ return (value != null ? Integer.valueOf(value) : null);
+ }
+ /**
+ * Obtain NFS protocol version (if provided) for a store id, if not use default config value<br/>
* @param storeId image store id
- * @return {@code null} if {@code nfs.version} is not found for storeId <br/>
- * {@code X} if {@code nfs.version} is found found for storeId
+ * @return {@code null} if {@code secstorage.nfs.version} is not found for storeId <br/>
+ * {@code X} if {@code secstorage.nfs.version} is found found for storeId
*/
public Integer getNfsVersion(long storeId) throws NumberFormatException {
- String nfsVersion = null;
+ Integer nfsVersion;
if (imageStoreDetailsDao.getDetails(storeId) != null){
Map<String, String> storeDetails = imageStoreDetailsDao.getDetails(storeId);
--- End diff --
I recognize that this code predates this patch, but it is a double API call. Consider the following refactoring:
```
public Integer getNfsVersion(long storeId) throws NumberFormatException {
final Map<String, String> storeDetails = imageStoreDetailsDao.getDetails(storeId);
if (storeDetails != null && storeDetails.containsKey(CapacityManager.ImageStoreNFSVersion.key())) {
final String version = storeDetails.get(CapacityManager.ImageStoreNFSVersion.key());
return (val != null ? Integer.valueOf(val) : null);
}
return getGlobalDefaultNfsVersion();
}
```
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@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 `value` `value` 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`;
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80937979
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
--- End diff --
Done, thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on the issue:
https://github.com/apache/cloudstack/pull/1615
LGTM based on code review
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
<b>Trillian test result (tid-193)</b>
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)
Test | Result | Time (s) | Test File
--- | --- | --- | ---
test_02_VPC_default_routes | `Failure` | 130.97 | test_vpc_router_nics.py
test_02_redundant_VPC_default_routes | `Failure` | 248.71 | test_vpc_redundant.py
test_router_dhcphosts | `Failure` | 85.95 | test_router_dhcphosts.py
test_04_rvpc_privategw_static_routes | `Failure` | 137.70 | test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanup | `Failure` | 72.29 | test_privategw_acl.py
test_02_vpc_privategw_static_routes | `Failure` | 87.48 | test_privategw_acl.py
test_01_vpc_privategw_acl | `Failure` | 37.02 | test_privategw_acl.py
test_isolate_network_password_server | `Failure` | 55.87 | test_password_server.py
test_oobm_zchange_password | `Failure` | 20.44 | test_outofbandmanagement.py
test_01_vpc_remote_access_vpn | `Error` | 0.08 | test_vpc_vpn.py
ContextSuite context=TestRVPCSite2SiteVpn>:teardown | `Error` | 240.88 | test_vpc_vpn.py
ContextSuite context=TestRouterDHCPHosts>:teardown | `Error` | 131.30 | test_router_dhcphosts.py
test_extendPhysicalNetworkVlan | `Error` | 0.04 | test_non_contigiousvlan.py
test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | `Error` | 741.16 | test_network.py
test_network_rules_acquired_public_ip_2_nat_rule | `Error` | 740.25 | test_network.py
test_network_rules_acquired_public_ip_1_static_nat_rule | `Error` | 730.93 | test_network.py
ContextSuite context=TestDedicateGuestVlanRange>:setup | `Error` | 0.00 | test_guest_vlan_range.py
test_01_vpc_site2site_vpn | Success | 144.87 | test_vpc_vpn.py
test_01_redundant_vpc_site2site_vpn | Success | 235.78 | test_vpc_vpn.py
test_01_VPC_nics_after_destroy | Success | 567.08 | test_vpc_router_nics.py
test_05_rvpc_multi_tiers | Success | 415.30 | test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics | Success | 1516.19 | test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Success | 394.00 | test_vpc_redundant.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Success | 946.00 | test_vpc_redundant.py
test_09_delete_detached_volume | Success | 15.46 | test_volumes.py
test_08_resize_volume | Success | 15.40 | test_volumes.py
test_07_resize_fail | Success | 20.43 | test_volumes.py
test_06_download_detached_volume | Success | 15.26 | test_volumes.py
test_05_detach_volume | Success | 100.22 | test_volumes.py
test_04_delete_attached_volume | Success | 10.21 | test_volumes.py
test_03_download_attached_volume | Success | 15.25 | test_volumes.py
test_02_attach_volume | Success | 43.62 | test_volumes.py
test_01_create_volume | Success | 621.28 | test_volumes.py
test_deploy_vm_multiple | Success | 254.26 | test_vm_life_cycle.py
test_deploy_vm | Success | 0.03 | test_vm_life_cycle.py
test_advZoneVirtualRouter | Success | 0.02 | test_vm_life_cycle.py
test_10_attachAndDetach_iso | Success | 71.79 | test_vm_life_cycle.py
test_09_expunge_vm | Success | 125.16 | test_vm_life_cycle.py
test_08_migrate_vm | Success | 35.89 | test_vm_life_cycle.py
test_07_restore_vm | Success | 0.14 | test_vm_life_cycle.py
test_06_destroy_vm | Success | 125.80 | test_vm_life_cycle.py
test_03_reboot_vm | Success | 125.83 | test_vm_life_cycle.py
test_02_start_vm | Success | 5.13 | test_vm_life_cycle.py
test_01_stop_vm | Success | 35.27 | test_vm_life_cycle.py
test_CreateTemplateWithDuplicateName | Success | 90.70 | test_templates.py
test_08_list_system_templates | Success | 0.03 | test_templates.py
test_07_list_public_templates | Success | 0.06 | test_templates.py
test_05_template_permissions | Success | 0.06 | test_templates.py
test_04_extract_template | Success | 5.19 | test_templates.py
test_03_delete_template | Success | 5.11 | test_templates.py
test_02_edit_template | Success | 90.17 | test_templates.py
test_01_create_template | Success | 55.51 | test_templates.py
test_10_destroy_cpvm | Success | 131.32 | test_ssvm.py
test_09_destroy_ssvm | Success | 163.19 | test_ssvm.py
test_08_reboot_cpvm | Success | 131.31 | test_ssvm.py
test_07_reboot_ssvm | Success | 103.11 | test_ssvm.py
test_06_stop_cpvm | Success | 131.50 | test_ssvm.py
test_05_stop_ssvm | Success | 133.21 | test_ssvm.py
test_04_cpvm_internals | Success | 0.97 | test_ssvm.py
test_03_ssvm_internals | Success | 16.17 | test_ssvm.py
test_02_list_cpvm_vm | Success | 0.13 | test_ssvm.py
test_01_list_sec_storage_vm | Success | 0.13 | test_ssvm.py
test_01_snapshot_root_disk | Success | 66.50 | test_snapshots.py
test_04_change_offering_small | Success | 210.51 | test_service_offerings.py
test_03_delete_service_offering | Success | 0.03 | test_service_offerings.py
test_02_edit_service_offering | Success | 0.06 | test_service_offerings.py
test_01_create_service_offering | Success | 0.14 | test_service_offerings.py
test_02_sys_template_ready | Success | 0.13 | test_secondary_storage.py
test_01_sys_vm_start | Success | 0.21 | test_secondary_storage.py
test_09_reboot_router | Success | 35.48 | test_routers.py
test_08_start_router | Success | 30.26 | test_routers.py
test_07_stop_router | Success | 10.14 | test_routers.py
test_06_router_advanced | Success | 0.05 | test_routers.py
test_05_router_basic | Success | 0.04 | test_routers.py
test_04_restart_network_wo_cleanup | Success | 5.56 | test_routers.py
test_03_restart_network_cleanup | Success | 50.79 | test_routers.py
test_02_router_internal_adv | Success | 0.84 | test_routers.py
test_01_router_internal_basic | Success | 0.45 | test_routers.py
test_router_dns_guestipquery | Success | 76.68 | test_router_dns.py
test_router_dns_externalipquery | Success | 0.05 | test_router_dns.py
test_01_updatevolumedetail | Success | 0.07 | test_resource_detail.py
test_01_reset_vm_on_reboot | Success | 171.13 | test_reset_vm_on_reboot.py
test_createRegion | Success | 0.04 | test_regions.py
test_create_pvlan_network | Success | 5.21 | test_pvlan.py
test_dedicatePublicIpRange | Success | 0.39 | test_public_ip_range.py
test_01_primary_storage_nfs | Success | 35.73 | test_primary_storage.py
test_createPortablePublicIPRange | Success | 15.19 | test_portable_publicip.py
test_createPortablePublicIPAcquire | Success | 15.41 | test_portable_publicip.py
test_UpdateStorageOverProvisioningFactor | Success | 0.12 | test_over_provisioning.py
test_oobm_multiple_mgmt_server_ownership | Success | 16.49 | test_outofbandmanagement.py
test_oobm_issue_power_status | Success | 10.53 | test_outofbandmanagement.py
test_oobm_issue_power_soft | Success | 15.52 | test_outofbandmanagement.py
test_oobm_issue_power_reset | Success | 15.52 | test_outofbandmanagement.py
test_oobm_issue_power_on | Success | 15.52 | test_outofbandmanagement.py
test_oobm_issue_power_off | Success | 15.52 | test_outofbandmanagement.py
test_oobm_issue_power_cycle | Success | 15.52 | test_outofbandmanagement.py
test_oobm_enabledisable_across_clusterzones | Success | 57.25 | test_outofbandmanagement.py
test_oobm_enable_feature_valid | Success | 5.16 | test_outofbandmanagement.py
test_oobm_enable_feature_invalid | Success | 0.10 | test_outofbandmanagement.py
test_oobm_disable_feature_valid | Success | 5.18 | test_outofbandmanagement.py
test_oobm_disable_feature_invalid | Success | 0.12 | test_outofbandmanagement.py
test_oobm_configure_invalid_driver | Success | 0.09 | test_outofbandmanagement.py
test_oobm_configure_default_driver | Success | 0.09 | test_outofbandmanagement.py
test_oobm_background_powerstate_sync | Success | 24.67 | test_outofbandmanagement.py
test_01_nic | Success | 681.32 | test_nic.py
test_releaseIP | Success | 148.03 | test_network.py
test_reboot_router | Success | 409.31 | test_network.py
test_public_ip_user_account | Success | 10.23 | test_network.py
test_public_ip_admin_account | Success | 40.26 | test_network.py
test_delete_account | Success | 298.67 | test_network.py
test_02_port_fwd_on_non_src_nat | Success | 55.64 | test_network.py
test_01_port_fwd_on_src_nat | Success | 111.71 | test_network.py
test_nic_secondaryip_add_remove | Success | 193.41 | test_multipleips_per_nic.py
login_test_saml_user | Success | 24.53 | test_login.py
test_assign_and_removal_lb | Success | 132.65 | test_loadbalance.py
test_02_create_lb_rule_non_nat | Success | 186.79 | test_loadbalance.py
test_01_create_lb_rule_src_nat | Success | 207.21 | test_loadbalance.py
test_03_list_snapshots | Success | 0.05 | test_list_ids_parameter.py
test_02_list_templates | Success | 0.04 | test_list_ids_parameter.py
test_01_list_volumes | Success | 0.03 | test_list_ids_parameter.py
test_07_list_default_iso | Success | 0.14 | test_iso.py
test_05_iso_permissions | Success | 0.06 | test_iso.py
test_04_extract_Iso | Success | 5.17 | test_iso.py
test_03_delete_iso | Success | 95.16 | test_iso.py
test_02_edit_iso | Success | 0.08 | test_iso.py
test_01_create_iso | Success | 66.81 | test_iso.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Success | 223.50 | test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 167.76 | test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Success | 494.64 | test_internal_lb.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Success | 413.47 | test_internal_lb.py
test_UpdateConfigParamWithScope | Success | 0.15 | test_global_settings.py
test_rolepermission_lifecycle_update | Success | 7.14 | test_dynamicroles.py
test_rolepermission_lifecycle_list | Success | 6.84 | test_dynamicroles.py
test_rolepermission_lifecycle_delete | Success | 6.79 | test_dynamicroles.py
test_rolepermission_lifecycle_create | Success | 6.78 | test_dynamicroles.py
test_rolepermission_lifecycle_concurrent_updates | Success | 6.85 | test_dynamicroles.py
test_role_lifecycle_update_role_inuse | Success | 6.85 | test_dynamicroles.py
test_role_lifecycle_update | Success | 11.90 | test_dynamicroles.py
test_role_lifecycle_list | Success | 6.81 | test_dynamicroles.py
test_role_lifecycle_delete | Success | 12.51 | test_dynamicroles.py
test_role_lifecycle_create | Success | 6.95 | test_dynamicroles.py
test_role_inuse_deletion | Success | 7.07 | test_dynamicroles.py
test_role_account_acls_multiple_mgmt_servers | Success | 8.96 | test_dynamicroles.py
test_role_account_acls | Success | 9.10 | test_dynamicroles.py
test_default_role_deletion | Success | 6.85 | test_dynamicroles.py
test_04_create_fat_type_disk_offering | Success | 0.06 | test_disk_offerings.py
test_03_delete_disk_offering | Success | 0.04 | test_disk_offerings.py
test_02_edit_disk_offering | Success | 0.05 | test_disk_offerings.py
test_02_create_sparse_type_disk_offering | Success | 0.06 | test_disk_offerings.py
test_01_create_disk_offering | Success | 0.10 | test_disk_offerings.py
test_deployvm_userdispersing | Success | 20.53 | test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userconcentrated | Success | 20.57 | test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_firstfit | Success | 86.00 | test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userdata_post | Success | 5.34 | test_deploy_vm_with_userdata.py
test_deployvm_userdata | Success | 45.63 | test_deploy_vm_with_userdata.py
test_02_deploy_vm_root_resize | Success | 6.84 | test_deploy_vm_root_resize.py
test_01_deploy_vm_root_resize | Success | 6.96 | test_deploy_vm_root_resize.py
test_00_deploy_vm_root_resize | Success | 228.35 | test_deploy_vm_root_resize.py
test_deploy_vm_from_iso | Success | 243.13 | test_deploy_vm_iso.py
test_DeployVmAntiAffinityGroup | Success | 55.88 | test_affinity_groups.py
test_03_delete_vm_snapshots | Skipped | 0.00 | test_vm_snapshots.py
test_02_revert_vm_snapshots | Skipped | 0.00 | test_vm_snapshots.py
test_01_test_vm_volume_snapshot | Skipped | 0.00 | test_vm_snapshots.py
test_01_create_vm_snapshots | Skipped | 0.00 | test_vm_snapshots.py
test_06_copy_template | Skipped | 0.00 | test_templates.py
test_static_role_account_acls | Skipped | 0.02 | test_staticroles.py
test_11_ss_nfs_version_on_ssvm | Skipped | 0.02 | test_ssvm.py
test_01_scale_vm | Skipped | 0.00 | test_scale_vm.py
test_01_primary_storage_iscsi | Skipped | 0.03 | test_primary_storage.py
test_06_copy_iso | Skipped | 0.00 | test_iso.py
test_deploy_vgpu_enabled_vm | Skipped | 0.03 | test_deploy_vgpu_enabled_vm.py
test_3d_gpu_support | Skipped | 0.04 | test_deploy_vgpu_enabled_vm.py
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
<b>Trillian test result (tid-191)</b>
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)
Test | Result | Time (s) | Test File
--- | --- | --- | ---
test_02_VPC_default_routes | `Failure` | 348.02 | test_vpc_router_nics.py
test_02_redundant_VPC_default_routes | `Failure` | 556.41 | test_vpc_redundant.py
test_02_revert_vm_snapshots | `Failure` | 90.29 | test_vm_snapshots.py
test_router_dhcphosts | `Failure` | 61.07 | test_router_dhcphosts.py
test_04_rvpc_privategw_static_routes | `Failure` | 444.70 | test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanup | `Failure` | 248.37 | test_privategw_acl.py
test_02_vpc_privategw_static_routes | `Failure` | 203.34 | test_privategw_acl.py
test_01_vpc_privategw_acl | `Failure` | 112.56 | test_privategw_acl.py
test_isolate_network_password_server | `Failure` | 60.92 | test_password_server.py
test_oobm_zchange_password | `Failure` | 20.58 | test_outofbandmanagement.py
ContextSuite context=TestVpcSite2SiteVpn>:setup | `Error` | 0.00 | test_vpc_vpn.py
ContextSuite context=TestVpcRemoteAccessVpn>:setup | `Error` | 0.00 | test_vpc_vpn.py
ContextSuite context=TestRVPCSite2SiteVpn>:setup | `Error` | 0.00 | test_vpc_vpn.py
test_06_download_detached_volume | `Error` | 50.59 | test_volumes.py
test_01_test_vm_volume_snapshot | `Error` | 211.64 | test_vm_snapshots.py
test_01_create_vm_snapshots | `Error` | 162.17 | test_vm_snapshots.py
ContextSuite context=TestRouterDHCPHosts>:teardown | `Error` | 81.31 | test_router_dhcphosts.py
test_extendPhysicalNetworkVlan | `Error` | 0.04 | test_non_contigiousvlan.py
ContextSuite context=TestInternalLb>:setup | `Error` | 0.00 | test_internal_lb.py
ContextSuite context=TestDedicateGuestVlanRange>:setup | `Error` | 0.00 | test_guest_vlan_range.py
test_01_VPC_nics_after_destroy | Success | 655.31 | test_vpc_router_nics.py
test_05_rvpc_multi_tiers | Success | 662.42 | test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics | Success | 1621.01 | test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Success | 757.69 | test_vpc_redundant.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Success | 1426.91 | test_vpc_redundant.py
test_09_delete_detached_volume | Success | 20.83 | test_volumes.py
test_05_detach_volume | Success | 100.32 | test_volumes.py
test_04_delete_attached_volume | Success | 10.21 | test_volumes.py
test_03_download_attached_volume | Success | 15.29 | test_volumes.py
test_02_attach_volume | Success | 53.77 | test_volumes.py
test_01_create_volume | Success | 515.39 | test_volumes.py
test_03_delete_vm_snapshots | Success | 275.14 | test_vm_snapshots.py
test_deploy_vm_multiple | Success | 258.62 | test_vm_life_cycle.py
test_deploy_vm | Success | 0.03 | test_vm_life_cycle.py
test_advZoneVirtualRouter | Success | 0.03 | test_vm_life_cycle.py
test_10_attachAndDetach_iso | Success | 71.98 | test_vm_life_cycle.py
test_09_expunge_vm | Success | 125.26 | test_vm_life_cycle.py
test_08_migrate_vm | Success | 66.11 | test_vm_life_cycle.py
test_07_restore_vm | Success | 0.16 | test_vm_life_cycle.py
test_06_destroy_vm | Success | 10.16 | test_vm_life_cycle.py
test_03_reboot_vm | Success | 5.15 | test_vm_life_cycle.py
test_02_start_vm | Success | 20.26 | test_vm_life_cycle.py
test_01_stop_vm | Success | 5.14 | test_vm_life_cycle.py
test_CreateTemplateWithDuplicateName | Success | 251.70 | test_templates.py
test_08_list_system_templates | Success | 0.03 | test_templates.py
test_07_list_public_templates | Success | 0.04 | test_templates.py
test_05_template_permissions | Success | 0.06 | test_templates.py
test_04_extract_template | Success | 15.27 | test_templates.py
test_03_delete_template | Success | 5.11 | test_templates.py
test_02_edit_template | Success | 90.18 | test_templates.py
test_01_create_template | Success | 120.98 | test_templates.py
test_10_destroy_cpvm | Success | 231.75 | test_ssvm.py
test_09_destroy_ssvm | Success | 264.20 | test_ssvm.py
test_08_reboot_cpvm | Success | 156.65 | test_ssvm.py
test_07_reboot_ssvm | Success | 158.63 | test_ssvm.py
test_06_stop_cpvm | Success | 207.15 | test_ssvm.py
test_05_stop_ssvm | Success | 244.13 | test_ssvm.py
test_04_cpvm_internals | Success | 1.78 | test_ssvm.py
test_03_ssvm_internals | Success | 5.86 | test_ssvm.py
test_02_list_cpvm_vm | Success | 0.15 | test_ssvm.py
test_01_list_sec_storage_vm | Success | 0.17 | test_ssvm.py
test_01_snapshot_root_disk | Success | 131.88 | test_snapshots.py
test_04_change_offering_small | Success | 122.60 | test_service_offerings.py
test_03_delete_service_offering | Success | 0.04 | test_service_offerings.py
test_02_edit_service_offering | Success | 0.25 | test_service_offerings.py
test_01_create_service_offering | Success | 0.11 | test_service_offerings.py
test_02_sys_template_ready | Success | 0.14 | test_secondary_storage.py
test_01_sys_vm_start | Success | 0.22 | test_secondary_storage.py
test_09_reboot_router | Success | 125.90 | test_routers.py
test_08_start_router | Success | 151.01 | test_routers.py
test_07_stop_router | Success | 20.26 | test_routers.py
test_06_router_advanced | Success | 0.06 | test_routers.py
test_05_router_basic | Success | 0.04 | test_routers.py
test_04_restart_network_wo_cleanup | Success | 5.65 | test_routers.py
test_03_restart_network_cleanup | Success | 146.00 | test_routers.py
test_02_router_internal_adv | Success | 1.03 | test_routers.py
test_01_router_internal_basic | Success | 0.58 | test_routers.py
test_router_dns_guestipquery | Success | 106.80 | test_router_dns.py
test_router_dns_externalipquery | Success | 0.08 | test_router_dns.py
test_01_updatevolumedetail | Success | 0.10 | test_resource_detail.py
test_01_reset_vm_on_reboot | Success | 25.34 | test_reset_vm_on_reboot.py
test_createRegion | Success | 0.04 | test_regions.py
test_create_pvlan_network | Success | 5.28 | test_pvlan.py
test_dedicatePublicIpRange | Success | 0.47 | test_public_ip_range.py
test_01_primary_storage_nfs | Success | 36.16 | test_primary_storage.py
test_createPortablePublicIPRange | Success | 15.22 | test_portable_publicip.py
test_createPortablePublicIPAcquire | Success | 15.49 | test_portable_publicip.py
test_UpdateStorageOverProvisioningFactor | Success | 0.14 | test_over_provisioning.py
test_oobm_multiple_mgmt_server_ownership | Success | 16.52 | test_outofbandmanagement.py
test_oobm_issue_power_status | Success | 10.52 | test_outofbandmanagement.py
test_oobm_issue_power_soft | Success | 15.51 | test_outofbandmanagement.py
test_oobm_issue_power_reset | Success | 15.52 | test_outofbandmanagement.py
test_oobm_issue_power_on | Success | 15.52 | test_outofbandmanagement.py
test_oobm_issue_power_off | Success | 15.52 | test_outofbandmanagement.py
test_oobm_issue_power_cycle | Success | 10.51 | test_outofbandmanagement.py
test_oobm_enabledisable_across_clusterzones | Success | 57.67 | test_outofbandmanagement.py
test_oobm_enable_feature_valid | Success | 5.18 | test_outofbandmanagement.py
test_oobm_enable_feature_invalid | Success | 0.11 | test_outofbandmanagement.py
test_oobm_disable_feature_valid | Success | 5.22 | test_outofbandmanagement.py
test_oobm_disable_feature_invalid | Success | 0.12 | test_outofbandmanagement.py
test_oobm_configure_invalid_driver | Success | 0.10 | test_outofbandmanagement.py
test_oobm_configure_default_driver | Success | 0.10 | test_outofbandmanagement.py
test_oobm_background_powerstate_sync | Success | 29.66 | test_outofbandmanagement.py
test_01_nic | Success | 652.56 | test_nic.py
test_releaseIP | Success | 269.17 | test_network.py
test_reboot_router | Success | 646.32 | test_network.py
test_public_ip_user_account | Success | 10.27 | test_network.py
test_public_ip_admin_account | Success | 40.30 | test_network.py
test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 76.93 | test_network.py
test_network_rules_acquired_public_ip_2_nat_rule | Success | 61.60 | test_network.py
test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 125.24 | test_network.py
test_delete_account | Success | 298.81 | test_network.py
test_02_port_fwd_on_non_src_nat | Success | 55.67 | test_network.py
test_01_port_fwd_on_src_nat | Success | 141.93 | test_network.py
test_nic_secondaryip_add_remove | Success | 269.11 | test_multipleips_per_nic.py
login_test_saml_user | Success | 24.66 | test_login.py
test_assign_and_removal_lb | Success | 148.45 | test_loadbalance.py
test_02_create_lb_rule_non_nat | Success | 207.58 | test_loadbalance.py
test_01_create_lb_rule_src_nat | Success | 208.64 | test_loadbalance.py
test_03_list_snapshots | Success | 0.08 | test_list_ids_parameter.py
test_02_list_templates | Success | 0.05 | test_list_ids_parameter.py
test_01_list_volumes | Success | 0.05 | test_list_ids_parameter.py
test_07_list_default_iso | Success | 0.06 | test_iso.py
test_05_iso_permissions | Success | 0.06 | test_iso.py
test_04_extract_Iso | Success | 5.18 | test_iso.py
test_03_delete_iso | Success | 95.25 | test_iso.py
test_02_edit_iso | Success | 0.09 | test_iso.py
test_01_create_iso | Success | 66.85 | test_iso.py
test_UpdateConfigParamWithScope | Success | 0.17 | test_global_settings.py
test_rolepermission_lifecycle_update | Success | 7.80 | test_dynamicroles.py
test_rolepermission_lifecycle_list | Success | 7.73 | test_dynamicroles.py
test_rolepermission_lifecycle_delete | Success | 7.09 | test_dynamicroles.py
test_rolepermission_lifecycle_create | Success | 6.77 | test_dynamicroles.py
test_rolepermission_lifecycle_concurrent_updates | Success | 7.20 | test_dynamicroles.py
test_role_lifecycle_update_role_inuse | Success | 6.78 | test_dynamicroles.py
test_role_lifecycle_update | Success | 11.84 | test_dynamicroles.py
test_role_lifecycle_list | Success | 7.02 | test_dynamicroles.py
test_role_lifecycle_delete | Success | 11.87 | test_dynamicroles.py
test_role_lifecycle_create | Success | 6.93 | test_dynamicroles.py
test_role_inuse_deletion | Success | 6.78 | test_dynamicroles.py
test_role_account_acls_multiple_mgmt_servers | Success | 9.10 | test_dynamicroles.py
test_role_account_acls | Success | 9.42 | test_dynamicroles.py
test_default_role_deletion | Success | 6.87 | test_dynamicroles.py
test_04_create_fat_type_disk_offering | Success | 0.08 | test_disk_offerings.py
test_03_delete_disk_offering | Success | 0.04 | test_disk_offerings.py
test_02_edit_disk_offering | Success | 0.05 | test_disk_offerings.py
test_02_create_sparse_type_disk_offering | Success | 0.07 | test_disk_offerings.py
test_01_create_disk_offering | Success | 0.11 | test_disk_offerings.py
test_deployvm_userdispersing | Success | 45.73 | test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userconcentrated | Success | 70.87 | test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_firstfit | Success | 171.59 | test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userdata_post | Success | 30.68 | test_deploy_vm_with_userdata.py
test_deployvm_userdata | Success | 196.62 | test_deploy_vm_with_userdata.py
test_02_deploy_vm_root_resize | Success | 6.72 | test_deploy_vm_root_resize.py
test_01_deploy_vm_root_resize | Success | 6.75 | test_deploy_vm_root_resize.py
test_00_deploy_vm_root_resize | Success | 6.88 | test_deploy_vm_root_resize.py
test_deploy_vm_from_iso | Success | 238.15 | test_deploy_vm_iso.py
test_3d_gpu_support | Success | 430.25 | test_deploy_vgpu_enabled_vm.py
test_DeployVmAntiAffinityGroup | Success | 191.71 | test_affinity_groups.py
test_08_resize_volume | Skipped | 5.12 | test_volumes.py
test_07_resize_fail | Skipped | 10.32 | test_volumes.py
test_06_copy_template | Skipped | 0.00 | test_templates.py
test_static_role_account_acls | Skipped | 0.02 | test_staticroles.py
test_11_ss_nfs_version_on_ssvm | Skipped | 0.02 | test_ssvm.py
test_01_scale_vm | Skipped | 66.60 | test_scale_vm.py
test_01_primary_storage_iscsi | Skipped | 0.04 | test_primary_storage.py
test_06_copy_iso | Skipped | 0.00 | test_iso.py
test_deploy_vgpu_enabled_vm | Skipped | 1.89 | test_deploy_vgpu_enabled_vm.py
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73765448
--- Diff: server/src/com/cloud/configuration/ConfigurationManagerImpl.java ---
@@ -520,6 +528,16 @@ public String updateConfiguration(final long userId, final String name, final St
_accountDetailsDao.update(accountDetailVO.getId(), accountDetailVO);
}
break;
+
+ case ImageStore:
+ final ImageStoreVO imgStore = _imageStoreDao.findById(resourceId);
+ if (imgStore == null) {
+ throw new InvalidParameterValueException("unable to find image store by id " + resourceId);
--- End diff --
``InvalidParameterValueException`` is used to indicate that an invalid parameter was passed by a caller to a method. Since ``imgStore`` was not passed into this method, it does not seem appropriate to use this exception type. ``IllegalStateException`` seems more appropriate. Also, consider using ``Preconditions.checkState`` to replace the ``if`` block with a single line of code for greater concession.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by milamberspace <gi...@git.apache.org>.
Github user milamberspace commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@serg38 Root cause of the issue found.
In the 4.9.1.0 branch, the commit 2e77496601ab5420723ce8b955b3960faaba7d5c (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...
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r74079012
--- Diff: server/src/com/cloud/storage/ImageStoreDetailsUtil.java ---
@@ -20,48 +20,68 @@
import javax.inject.Inject;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
+import com.cloud.capacity.CapacityManager;
+
public class ImageStoreDetailsUtil {
@Inject
protected ImageStoreDao imageStoreDao;
@Inject
protected ImageStoreDetailsDao imageStoreDetailsDao;
+ @Inject
+ protected ConfigurationDao configurationDao;
/**
- * Obtain NFS protocol version (if provided) for a store id.<br/>
- * It can be set by adding an entry in {@code image_store_details} table, providing {@code name=nfs.version} and {@code value=X} (e.g. 3)
+ * Retrieve global secondary storage NFS version default value
+ * @return global default value
+ */
+ protected Integer getGlobalDefaultNfsVersion(){
+ ConfigurationVO globalNfsVersion = configurationDao.findByName(CapacityManager.ImageStoreNFSVersion.key());
+ String value = globalNfsVersion.getValue();
--- End diff --
@nvazquez that seems like a good solution. Also, please use ``Preconditions.checkState(globalNfsVersion !=null, "Unable to find global NFS version for version key" + CapacityManager.ImageStoreNFSVersion.key())`` to help someone understand why it happened in the unlikely event it occurs.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell @koushik-das I added new marvin test. It requires adding "nfsVersion" key and desired value on config file, if it is not provided test is skipped
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell @karuturi I haven't heard anything so assuming that this is good to get merged.
I checked #1692 and all fixes (test and code) are related to network related functionality. So don't see any reason to hold this back. Planning to merge this in the next few hours.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests against packages at http://packages.shapeblue.com/cloudstack/pr/1615
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell I understand these comments: "help", "hello", "thanks", "package", "test"
Authorized contributors for kicking Trillian Jenkins test jobs are: ['rhtyd', 'jburwell', 'murali-reddy', 'abhinandanprateek', 'PaulAngus', 'borisstoyanov', 'karuturi']
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@rhtyd can you add the configuration data to blueorangutan for the changes to `test_ssvm.py`?
@serg38 @nvazquez once my review comments are addressed and blueorganutan has been updated, we will kick test matrix to verify this PR and merge it master once it passes.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by karuturi <gi...@git.apache.org>.
Github user karuturi commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan test
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@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 ?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73281219
--- Diff: engine/schema/src/org/apache/cloudstack/storage/datastore/db/ImageStoreDaoImpl.java ---
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.cloudstack.storage.image.db;
--- End diff --
Missed that out previously, thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on the issue:
https://github.com/apache/cloudstack/pull/1615
I think this has all the necessary LGTMs.
@karuturi @jburwell Should I go ahead and merge this?
I thing fixing #1692 is fine but I see no reason to delay other PRs for that when there is no definite timeline to close #1692.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
A Trillian-Jenkins job has been kicked to build packages and start testing. I'll keep you posted as I make progress.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by milamberspace <gi...@git.apache.org>.
Github user milamberspace commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Hello @nvazquez
Could you see this bug CLOUDSTACK-9671 It's related with this PR and CLOUDSTACK-9438
Thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73154622
--- Diff: engine/schema/src/org/apache/cloudstack/storage/datastore/db/ImageStoreDaoImpl.java ---
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.cloudstack.storage.image.db;
--- End diff --
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
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by cloudmonger <gi...@git.apache.org>.
Github user cloudmonger commented on the issue:
https://github.com/apache/cloudstack/pull/1615
### ACS CI BVT Run
**Sumarry:**
Build Number 124
Hypervisor xenserver
NetworkType Advanced
Passed=98
Failed=4
Skipped=6
_Link to logs Folder (search by build_no):_ https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0
**Failed tests:**
* test_non_contigiousvlan.py
* test_extendPhysicalNetworkVlan Failed
* test_deploy_vm_iso.py
* test_deploy_vm_from_iso Failing since 9 runs
* test_vm_life_cycle.py
* test_10_attachAndDetach_iso Failing since 10 runs
* test_routers_network_ops.py
* test_01_isolate_network_FW_PF_default_routes_egress_true Failed
**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_network.py
test_router_dns.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_disk_offerings.py
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80702685
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
--- End diff --
What is this `for` accomplishing?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell @karuturi @rafaelweingartner Can you check if this PR can be merged by the upcoming release?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r74067494
--- Diff: server/src/com/cloud/storage/ImageStoreDetailsUtil.java ---
@@ -20,48 +20,68 @@
import javax.inject.Inject;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
+import com.cloud.capacity.CapacityManager;
+
public class ImageStoreDetailsUtil {
@Inject
protected ImageStoreDao imageStoreDao;
@Inject
protected ImageStoreDetailsDao imageStoreDetailsDao;
+ @Inject
+ protected ConfigurationDao configurationDao;
/**
- * Obtain NFS protocol version (if provided) for a store id.<br/>
- * It can be set by adding an entry in {@code image_store_details} table, providing {@code name=nfs.version} and {@code value=X} (e.g. 3)
+ * Retrieve global secondary storage NFS version default value
+ * @return global default value
+ */
+ protected Integer getGlobalDefaultNfsVersion(){
+ ConfigurationVO globalNfsVersion = configurationDao.findByName(CapacityManager.ImageStoreNFSVersion.key());
+ String value = globalNfsVersion.getValue();
+ return (value != null ? Integer.valueOf(value) : null);
+ }
+ /**
+ * Obtain NFS protocol version (if provided) for a store id, if not use default config value<br/>
* @param storeId image store id
- * @return {@code null} if {@code nfs.version} is not found for storeId <br/>
- * {@code X} if {@code nfs.version} is found found for storeId
+ * @return {@code null} if {@code secstorage.nfs.version} is not found for storeId <br/>
+ * {@code X} if {@code secstorage.nfs.version} is found found for storeId
*/
public Integer getNfsVersion(long storeId) throws NumberFormatException {
- String nfsVersion = null;
+ Integer nfsVersion;
if (imageStoreDetailsDao.getDetails(storeId) != null){
Map<String, String> storeDetails = imageStoreDetailsDao.getDetails(storeId);
--- End diff --
Done
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan help
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan test
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r79357165
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="false")
--- End diff --
Is it possible to run this test on Simulator? If not please change required_hardware to true.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@koushik-das Yes, an integration test is in the works. I will post results here in few days
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell This PR is waiting for your review
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@karuturi there was a capacity issue at the backend, the tests have been re-fired.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by karuturi <gi...@git.apache.org>.
Github user karuturi commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@rhtyd any update on the tests?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Sure, done
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@karuturi a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@nvazquez @serg38 From last comment looks like there is some open item related to marvin tests. Can you please address it?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Yes LGTM from my side.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80951528
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
+
+ self.assertNotEqual(
+ img_store_id,
+ None,
+ "Check image store id mounted on SSVM"
+ )
+
+ #Update NFS version for image store mounted on SSVM
+ updateConfigurationCmd = updateConfiguration.updateConfigurationCmd()
+ updateConfigurationCmd.name = "secstorage.nfs.version"
+ updateConfigurationCmd.value = nfs_version
+ updateConfigurationCmd.imagestoreuuid = img_store_id
+
+ updateConfigurationResponse = self.apiclient.updateConfiguration(updateConfigurationCmd)
+ self.logger.debug("updated the parameter %s with value %s"%(updateConfigurationResponse.name, updateConfigurationResponse.value))
+
+ #Stop SSVM
+ self.debug("Stopping SSVM: %s" % ssvm.id)
+ cmd = stopSystemVm.stopSystemVmCmd()
+ cmd.id = ssvm.id
+ self.apiclient.stopSystemVm(cmd)
+
+ timeout = self.services["timeout"]
+ while True:
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ id=ssvm.id
+ )
+ if isinstance(list_ssvm_response, list):
+ if list_ssvm_response[0].state == 'Running':
+ break
+ if timeout == 0:
+ raise Exception("List SSVM call failed!")
+
+ time.sleep(self.services["sleep"])
+ timeout = timeout - 1
--- End diff --
Done, thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by karuturi <gi...@git.apache.org>.
Github user karuturi commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan @rhtyd any update on the tests? Is the job running?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80701833
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
--- End diff --
Please add an assertion that `list_ssvm_response` is not `None`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@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.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@rhtyd @jburwell @karuturi What is the easiest way to resolve this merge conflict?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan package
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80702139
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -42,12 +43,19 @@
class TestSSVMs(cloudstackTestCase):
def setUp(self):
+ test_case = super(TestSSVMs, self)
self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.cleanup = []
+ self.config = test_case.getClsConfig()
self.services = self.testClient.getParsedTestDataConfig()
self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests())
+ self.logger = logging.getLogger('TestSSVMs')
+ self.stream_handler = logging.StreamHandler()
+ self.logger.setLevel(logging.DEBUG)
+ self.logger.addHandler(self.stream_handler)
+
# Default sleep is set to 90 seconds, which is too long if the SSVM takes up to 2min to start.
# Second sleep in the loop will waste test time.
self.services["sleep"] = 30
--- End diff --
I recognize that this value is out of the scope of this change. However, would it make sense to reduce this value to 5 seconds?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80951509
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
+
+ self.assertNotEqual(
+ img_store_id,
+ None,
+ "Check image store id mounted on SSVM"
+ )
+
+ #Update NFS version for image store mounted on SSVM
+ updateConfigurationCmd = updateConfiguration.updateConfigurationCmd()
+ updateConfigurationCmd.name = "secstorage.nfs.version"
+ updateConfigurationCmd.value = nfs_version
+ updateConfigurationCmd.imagestoreuuid = img_store_id
+
+ updateConfigurationResponse = self.apiclient.updateConfiguration(updateConfigurationCmd)
+ self.logger.debug("updated the parameter %s with value %s"%(updateConfigurationResponse.name, updateConfigurationResponse.value))
+
+ #Stop SSVM
+ self.debug("Stopping SSVM: %s" % ssvm.id)
+ cmd = stopSystemVm.stopSystemVmCmd()
+ cmd.id = ssvm.id
+ self.apiclient.stopSystemVm(cmd)
+
+ timeout = self.services["timeout"]
+ while True:
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ id=ssvm.id
+ )
+ if isinstance(list_ssvm_response, list):
+ if list_ssvm_response[0].state == 'Running':
+ break
+ if timeout == 0:
+ raise Exception("List SSVM call failed!")
+
+ time.sleep(self.services["sleep"])
+ timeout = timeout - 1
+
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ ssvm = list_ssvm_response[0]
+ self.debug("SSVM state after debug: %s" % ssvm.state)
+ self.assertEqual(
+ ssvm.state,
+ 'Running',
+ "Check whether SSVM is running or not"
+ )
+ # Wait for the agent to be up
+ self.waitForSystemVMAgent(ssvm.name)
+
+ #Check NFS version on mounted image store
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep '%s'"%mounted_img_store_url,
+ hypervisor=self.hypervisor)
--- End diff --
Done, thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73765825
--- Diff: server/src/com/cloud/storage/ImageStoreDetailsUtil.java ---
@@ -20,48 +20,68 @@
import javax.inject.Inject;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
+import com.cloud.capacity.CapacityManager;
+
public class ImageStoreDetailsUtil {
@Inject
protected ImageStoreDao imageStoreDao;
@Inject
protected ImageStoreDetailsDao imageStoreDetailsDao;
+ @Inject
+ protected ConfigurationDao configurationDao;
/**
- * Obtain NFS protocol version (if provided) for a store id.<br/>
- * It can be set by adding an entry in {@code image_store_details} table, providing {@code name=nfs.version} and {@code value=X} (e.g. 3)
+ * Retrieve global secondary storage NFS version default value
+ * @return global default value
+ */
+ protected Integer getGlobalDefaultNfsVersion(){
+ ConfigurationVO globalNfsVersion = configurationDao.findByName(CapacityManager.ImageStoreNFSVersion.key());
+ String value = globalNfsVersion.getValue();
+ return (value != null ? Integer.valueOf(value) : null);
+ }
+ /**
+ * Obtain NFS protocol version (if provided) for a store id, if not use default config value<br/>
* @param storeId image store id
- * @return {@code null} if {@code nfs.version} is not found for storeId <br/>
- * {@code X} if {@code nfs.version} is found found for storeId
+ * @return {@code null} if {@code secstorage.nfs.version} is not found for storeId <br/>
+ * {@code X} if {@code secstorage.nfs.version} is found found for storeId
*/
public Integer getNfsVersion(long storeId) throws NumberFormatException {
- String nfsVersion = null;
+ Integer nfsVersion;
--- End diff --
Variables should always be initialized. Consider initializing to ``null``.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@nvazquez I will review the test case in the morning. In the interim, please squash your commits.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80701705
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
--- End diff --
Relying on the result having only one space seems brittle. Please consider splitting on "on" and trimming the results or using a regular expression.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell Support for NFS version for Secondary storage is already merged via PR 1361. Since there were integration tests developed and executed over there we seem to be needed tests only for new API behavior. Do you agree?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73283060
--- Diff: setup/db/db/schema-481to490.sql ---
@@ -545,3 +545,6 @@ INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervis
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.0', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'centos64Guest', 228, now(), 0);
+
+ALTER TABLE `cloud`.`image_store_details` CHANGE COLUMN `value` `value` VARCHAR(255) NULL DEFAULT NULL COMMENT 'value of the detail', ADD COLUMN `display` tinyint(1) NOT
--- End diff --
About the display field, I didn't see that in cluster details. So looks like detail VOs implementing ResourceDetail have it, others don't. So for this PR it is fine but will be good to make them consistent across all detail VOs.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@karuturi a Trillian-Jenkins test job (centos7 mgmt + vmware-60u2) has been kicked to run smoke tests
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80938033
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
--- End diff --
Done, thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Thanks for the update @jburwell. While I agree that smoke tests needs to be stabilized, I don't quite agree to the idea of blocking master for this.
Lot of commits have already gone to master with unstable smoke tests and now suddenly master is blocked to stabilize tests. A better approach would have been to do the exercise at the start of next release cycle with a dedicated window where only test fixes are allowed.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r79389208
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="false")
--- End diff --
Done, thanks!
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@koushik-das are you LGTM on this PR?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@koushik-das I would encourage you to discuss your concerns/perspective on dev@ in order to allow us a community to find consensus.
There is never a good time to embark on such a freeze. I would have propsed it earlier had the severity of situation been better understood. However, the longer we delay addressing this raft failing tests, the longer it will take to address them. Continuing to merge atop code that has known issues only deepens the instability and, worse, creates a false sense of confidence that the newly merged code is stable.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73156984
--- Diff: engine/schema/src/org/apache/cloudstack/storage/datastore/db/ImageStoreDetailVO.java ---
@@ -23,61 +23,61 @@
import javax.persistence.Id;
import javax.persistence.Table;
-import org.apache.cloudstack.api.InternalIdentity;
+import org.apache.cloudstack.api.ResourceDetail;
@Entity
@Table(name = "image_store_details")
-public class ImageStoreDetailVO implements InternalIdentity {
+public class ImageStoreDetailVO implements ResourceDetail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
long id;
@Column(name = "store_id")
- long storeId;
+ long resourceId;
@Column(name = "name")
String name;
@Column(name = "value")
String value;
+ @Column(name = "display")
--- End diff --
We added it to make it consistent with `ResourceDetail` as we made `ImageStoreDetailVO` implement `ResourceDetail`, which has the method `isDisplay`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by karuturi <gi...@git.apache.org>.
Github user karuturi commented on the issue:
https://github.com/apache/cloudstack/pull/1615
ok. Thank you.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by cloudmonger <gi...@git.apache.org>.
Github user cloudmonger commented on the issue:
https://github.com/apache/cloudstack/pull/1615
### 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
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@nvazquez could you please add Marvin test cases to verify the new API behavior? The tests should not only verify that the endpoints return the versions expected, but that the storage pools honor the version specified.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by milamberspace <gi...@git.apache.org>.
Github user milamberspace commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@serg38 My CS 4.9.1.0 installation is a fresh installation not an upgrade from 4.8.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@nvazquez thanks for updates. The Jenkins build failed. It appears to be due a timeout. Could you please force a rebuild by executing ``git commit --amend --no-edit && git push -f``?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by karuturi <gi...@git.apache.org>.
Github user karuturi commented on the issue:
https://github.com/apache/cloudstack/pull/1615
reran the test for delete account and it passes.
`Test for delete account ... === TestName: test_delete_account | Status : SUCCESS ===
ok`
merging this PR now
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r81019103
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -42,12 +43,19 @@
class TestSSVMs(cloudstackTestCase):
def setUp(self):
+ test_case = super(TestSSVMs, self)
self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.cleanup = []
+ self.config = test_case.getClsConfig()
self.services = self.testClient.getParsedTestDataConfig()
self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests())
+ self.logger = logging.getLogger('TestSSVMs')
+ self.stream_handler = logging.StreamHandler()
+ self.logger.setLevel(logging.DEBUG)
+ self.logger.addHandler(self.stream_handler)
+
# Default sleep is set to 90 seconds, which is too long if the SSVM takes up to 2min to start.
# Second sleep in the loop will waste test time.
self.services["sleep"] = 30
--- End diff --
Thanks for the information. Good to know to know that it has been researched and that it is as low as possible.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73765615
--- Diff: server/src/com/cloud/storage/ImageStoreDetailsUtil.java ---
@@ -20,48 +20,68 @@
import javax.inject.Inject;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
+import com.cloud.capacity.CapacityManager;
+
public class ImageStoreDetailsUtil {
@Inject
protected ImageStoreDao imageStoreDao;
@Inject
protected ImageStoreDetailsDao imageStoreDetailsDao;
+ @Inject
+ protected ConfigurationDao configurationDao;
/**
- * Obtain NFS protocol version (if provided) for a store id.<br/>
- * It can be set by adding an entry in {@code image_store_details} table, providing {@code name=nfs.version} and {@code value=X} (e.g. 3)
+ * Retrieve global secondary storage NFS version default value
+ * @return global default value
+ */
+ protected Integer getGlobalDefaultNfsVersion(){
+ ConfigurationVO globalNfsVersion = configurationDao.findByName(CapacityManager.ImageStoreNFSVersion.key());
+ String value = globalNfsVersion.getValue();
--- End diff --
What if ``globalNfsVersion`` is null?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80951612
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
+
+ self.assertNotEqual(
+ img_store_id,
+ None,
+ "Check image store id mounted on SSVM"
+ )
+
+ #Update NFS version for image store mounted on SSVM
+ updateConfigurationCmd = updateConfiguration.updateConfigurationCmd()
+ updateConfigurationCmd.name = "secstorage.nfs.version"
+ updateConfigurationCmd.value = nfs_version
+ updateConfigurationCmd.imagestoreuuid = img_store_id
+
+ updateConfigurationResponse = self.apiclient.updateConfiguration(updateConfigurationCmd)
+ self.logger.debug("updated the parameter %s with value %s"%(updateConfigurationResponse.name, updateConfigurationResponse.value))
+
+ #Stop SSVM
+ self.debug("Stopping SSVM: %s" % ssvm.id)
+ cmd = stopSystemVm.stopSystemVmCmd()
+ cmd.id = ssvm.id
+ self.apiclient.stopSystemVm(cmd)
+
+ timeout = self.services["timeout"]
+ while True:
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ id=ssvm.id
+ )
+ if isinstance(list_ssvm_response, list):
+ if list_ssvm_response[0].state == 'Running':
+ break
+ if timeout == 0:
+ raise Exception("List SSVM call failed!")
+
+ time.sleep(self.services["sleep"])
+ timeout = timeout - 1
+
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ ssvm = list_ssvm_response[0]
+ self.debug("SSVM state after debug: %s" % ssvm.state)
+ self.assertEqual(
+ ssvm.state,
+ 'Running',
+ "Check whether SSVM is running or not"
+ )
+ # Wait for the agent to be up
+ self.waitForSystemVMAgent(ssvm.name)
+
+ #Check NFS version on mounted image store
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep '%s'"%mounted_img_store_url,
+ hypervisor=self.hypervisor)
--- End diff --
Done, thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Alright, your PR did not break packaging! Packages built and available at: http://packages.shapeblue.com/cloudstack/custom/github-1615
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73118447
--- Diff: engine/schema/src/org/apache/cloudstack/storage/datastore/db/ImageStoreDetailVO.java ---
@@ -23,61 +23,61 @@
import javax.persistence.Id;
import javax.persistence.Table;
-import org.apache.cloudstack.api.InternalIdentity;
+import org.apache.cloudstack.api.ResourceDetail;
@Entity
@Table(name = "image_store_details")
-public class ImageStoreDetailVO implements InternalIdentity {
+public class ImageStoreDetailVO implements ResourceDetail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
long id;
@Column(name = "store_id")
- long storeId;
+ long resourceId;
@Column(name = "name")
String name;
@Column(name = "value")
String value;
+ @Column(name = "display")
--- End diff --
What is the need for this field?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:
https://github.com/apache/cloudstack/pull/1615
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.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80702827
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
+
+ self.assertNotEqual(
+ img_store_id,
+ None,
+ "Check image store id mounted on SSVM"
+ )
+
+ #Update NFS version for image store mounted on SSVM
+ updateConfigurationCmd = updateConfiguration.updateConfigurationCmd()
+ updateConfigurationCmd.name = "secstorage.nfs.version"
+ updateConfigurationCmd.value = nfs_version
+ updateConfigurationCmd.imagestoreuuid = img_store_id
+
+ updateConfigurationResponse = self.apiclient.updateConfiguration(updateConfigurationCmd)
+ self.logger.debug("updated the parameter %s with value %s"%(updateConfigurationResponse.name, updateConfigurationResponse.value))
+
+ #Stop SSVM
+ self.debug("Stopping SSVM: %s" % ssvm.id)
+ cmd = stopSystemVm.stopSystemVmCmd()
+ cmd.id = ssvm.id
+ self.apiclient.stopSystemVm(cmd)
+
+ timeout = self.services["timeout"]
+ while True:
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ id=ssvm.id
+ )
--- End diff --
Please add an assertions to check the following:
* `list_ssvm_response` is not `None`
* `list_ssvm_response` is an instance of `list_ssvm_response`
* `list_ssvm_response` contains one element with an ID equal to `ssvm.id`
Also, why is `list_ssvm_response` being re-used in multiple contexts across this method? Please consider splitting into multiple variables to more clearly express the intent of how each result should be used and avoid overwriting values in a manner that causes inconsistent behavior.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@nvazquez looking good. One small item on the ``checkstate`` comment. Also, could you please squash your commits?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r79419754
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
--- End diff --
Done, thanks @koushik-das
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80700964
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
+
+ self.assertNotEqual(
+ img_store_id,
+ None,
+ "Check image store id mounted on SSVM"
+ )
+
+ #Update NFS version for image store mounted on SSVM
+ updateConfigurationCmd = updateConfiguration.updateConfigurationCmd()
+ updateConfigurationCmd.name = "secstorage.nfs.version"
+ updateConfigurationCmd.value = nfs_version
+ updateConfigurationCmd.imagestoreuuid = img_store_id
+
+ updateConfigurationResponse = self.apiclient.updateConfiguration(updateConfigurationCmd)
+ self.logger.debug("updated the parameter %s with value %s"%(updateConfigurationResponse.name, updateConfigurationResponse.value))
+
+ #Stop SSVM
+ self.debug("Stopping SSVM: %s" % ssvm.id)
+ cmd = stopSystemVm.stopSystemVmCmd()
+ cmd.id = ssvm.id
+ self.apiclient.stopSystemVm(cmd)
+
+ timeout = self.services["timeout"]
+ while True:
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ id=ssvm.id
+ )
+ if isinstance(list_ssvm_response, list):
+ if list_ssvm_response[0].state == 'Running':
+ break
+ if timeout == 0:
+ raise Exception("List SSVM call failed!")
+
+ time.sleep(self.services["sleep"])
+ timeout = timeout - 1
--- End diff --
Please consider replacing this `while` loop (lines 1299-1311) with `utils.waitUntil` as it provides a Pythonic/tested implementation of waiting for a condition to complete. It would also clarify the intent of this section.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80701499
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
+
+ self.assertNotEqual(
+ img_store_id,
+ None,
+ "Check image store id mounted on SSVM"
+ )
+
+ #Update NFS version for image store mounted on SSVM
+ updateConfigurationCmd = updateConfiguration.updateConfigurationCmd()
+ updateConfigurationCmd.name = "secstorage.nfs.version"
+ updateConfigurationCmd.value = nfs_version
+ updateConfigurationCmd.imagestoreuuid = img_store_id
+
+ updateConfigurationResponse = self.apiclient.updateConfiguration(updateConfigurationCmd)
+ self.logger.debug("updated the parameter %s with value %s"%(updateConfigurationResponse.name, updateConfigurationResponse.value))
+
+ #Stop SSVM
+ self.debug("Stopping SSVM: %s" % ssvm.id)
--- End diff --
Please consider changing the log level to `INFO` as this information seems like it would be useful for monitoring the progress of the test.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by koushik-das <gi...@git.apache.org>.
Github user koushik-das commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r73118335
--- Diff: setup/db/db/schema-481to490.sql ---
@@ -545,3 +545,6 @@ INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervis
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.0', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'centos64Guest', 228, now(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'centos64Guest', 228, now(), 0);
+
+ALTER TABLE `cloud`.`image_store_details` CHANGE COLUMN `value` `value` VARCHAR(255) NULL DEFAULT NULL COMMENT 'value of the detail', ADD COLUMN `display` tinyint(1) NOT
--- End diff --
Also what is the purpose of the display field?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/cloudstack/pull/1615
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Done, thanks @jburwell for your review!
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r80704271
--- Diff: test/integration/smoke/test_ssvm.py ---
@@ -1197,3 +1205,148 @@ def test_10_destroy_cpvm(self):
# Call to verify cloud process is running
self.test_04_cpvm_internals()
return
+
+ @attr(
+ tags=[
+ "advanced",
+ "advancedns",
+ "smoke",
+ "basic",
+ "sg"],
+ required_hardware="true")
+ def test_11_ss_nfs_version_on_ssvm(self):
+ """Test NFS Version on Secondary Storage mounted properly on SSVM
+ """
+
+ # 1) List SSVM in zone
+ # 2) Get id and url from mounted nfs store
+ # 3) Update NFS version for previous image store
+ # 4) Stop SSVM
+ # 5) Check NFS version of mounted nfs store after SSVM starts
+
+ nfs_version = self.config.nfsVersion
+ if nfs_version == None:
+ self.skipTest('No NFS version provided in test data')
+
+ #List SSVM for zone id
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ systemvmtype='secondarystoragevm',
+ state='Running',
+ zoneid=self.zone.id
+ )
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ self.assertEqual(
+ len(list_ssvm_response),
+ 1,
+ "Check list System VMs response"
+ )
+
+ ssvm = list_ssvm_response[0]
+ image_stores_response = ImageStore.list(self.apiclient,zoneid=self.zone.id)
+
+ if self.hypervisor.lower() in ('vmware', 'hyperv'):
+ # SSH into SSVMs is done via management server for Vmware and Hyper-V
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep 'type nfs'",
+ hypervisor=self.hypervisor)
+
+ for res in result:
+ split_res = res.split(" on ")
+ mounted_img_store_url = split_res[0]
+ for img_store in image_stores_response:
+ img_store_url = str(img_store.url)
+ if img_store_url.startswith("nfs://"):
+ img_store_url = img_store_url[6:]
+ #Add colon after ip address to match output from mount command
+ first_slash = img_store_url.find('/')
+ img_store_url = img_store_url[0:first_slash] + ':' + img_store_url[first_slash:]
+ if img_store_url == mounted_img_store_url:
+ img_store_id = img_store.id
+ break
+
+ self.assertNotEqual(
+ img_store_id,
+ None,
+ "Check image store id mounted on SSVM"
+ )
+
+ #Update NFS version for image store mounted on SSVM
+ updateConfigurationCmd = updateConfiguration.updateConfigurationCmd()
+ updateConfigurationCmd.name = "secstorage.nfs.version"
+ updateConfigurationCmd.value = nfs_version
+ updateConfigurationCmd.imagestoreuuid = img_store_id
+
+ updateConfigurationResponse = self.apiclient.updateConfiguration(updateConfigurationCmd)
+ self.logger.debug("updated the parameter %s with value %s"%(updateConfigurationResponse.name, updateConfigurationResponse.value))
+
+ #Stop SSVM
+ self.debug("Stopping SSVM: %s" % ssvm.id)
+ cmd = stopSystemVm.stopSystemVmCmd()
+ cmd.id = ssvm.id
+ self.apiclient.stopSystemVm(cmd)
+
+ timeout = self.services["timeout"]
+ while True:
+ list_ssvm_response = list_ssvms(
+ self.apiclient,
+ id=ssvm.id
+ )
+ if isinstance(list_ssvm_response, list):
+ if list_ssvm_response[0].state == 'Running':
+ break
+ if timeout == 0:
+ raise Exception("List SSVM call failed!")
+
+ time.sleep(self.services["sleep"])
+ timeout = timeout - 1
+
+ self.assertEqual(
+ isinstance(list_ssvm_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
+ ssvm = list_ssvm_response[0]
+ self.debug("SSVM state after debug: %s" % ssvm.state)
+ self.assertEqual(
+ ssvm.state,
+ 'Running',
+ "Check whether SSVM is running or not"
+ )
+ # Wait for the agent to be up
+ self.waitForSystemVMAgent(ssvm.name)
+
+ #Check NFS version on mounted image store
+ result = get_process_status(
+ self.apiclient.connection.mgtSvr,
+ 22,
+ self.apiclient.connection.user,
+ self.apiclient.connection.passwd,
+ ssvm.privateip,
+ "mount | grep '%s'"%mounted_img_store_url,
+ hypervisor=self.hypervisor)
--- End diff --
Please add an assert to verify that `result` is not `None`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r74068727
--- Diff: server/src/com/cloud/storage/ImageStoreDetailsUtil.java ---
@@ -20,48 +20,68 @@
import javax.inject.Inject;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
+import com.cloud.capacity.CapacityManager;
+
public class ImageStoreDetailsUtil {
@Inject
protected ImageStoreDao imageStoreDao;
@Inject
protected ImageStoreDetailsDao imageStoreDetailsDao;
+ @Inject
+ protected ConfigurationDao configurationDao;
/**
- * Obtain NFS protocol version (if provided) for a store id.<br/>
- * It can be set by adding an entry in {@code image_store_details} table, providing {@code name=nfs.version} and {@code value=X} (e.g. 3)
+ * Retrieve global secondary storage NFS version default value
+ * @return global default value
+ */
+ protected Integer getGlobalDefaultNfsVersion(){
+ ConfigurationVO globalNfsVersion = configurationDao.findByName(CapacityManager.ImageStoreNFSVersion.key());
+ String value = globalNfsVersion.getValue();
--- End diff --
@jburwell I didn't consider it because configuration will be added and it will be present unless it is explicitly deleted from db. Anyways, I can add `Preconditions.checkState(globalNfsVersion != null)` do you agree?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@koushik-das please see [this thread](http://markmail.org/thread/xp7ckhxhip2rbnr7) regarding the testing freeze discussion. Also, per our [community release schedule](https://cwiki.apache.org/confluence/display/CLOUDSTACK/%5BPROPOSAL%5D+2016-2017+Release+Cycle+and+Calendar), the 4.8, 4.9, and master branches are frozen for testing pre-RC.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Ma...
Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1615#discussion_r74067440
--- Diff: server/src/com/cloud/configuration/ConfigurationManagerImpl.java ---
@@ -520,6 +528,16 @@ public String updateConfiguration(final long userId, final String name, final St
_accountDetailsDao.update(accountDetailVO.getId(), accountDetailVO);
}
break;
+
+ case ImageStore:
+ final ImageStoreVO imgStore = _imageStoreDao.findById(resourceId);
+ if (imgStore == null) {
+ throw new InvalidParameterValueException("unable to find image store by id " + resourceId);
--- End diff --
Thanks, I'll take it into account for next time
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@koushik-das all merges remain on hold until the smoke tests are stabilized. I will be updating the list shortly on status and next steps. In short, #1692 and associated PRs should be moving forward within the next 24 hours.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@jburwell the test pipeline had issues, I'll rekick it once I can get the issues sorted. For now, only package works without any issues. We also found/fixed a blocker that failed all of our kvm environments #1633
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by karuturi <gi...@git.apache.org>.
Github user karuturi commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@blueorangutan test centos7 vmware-60u2
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1615
@karuturi tests are about to finish
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by cloudmonger <gi...@git.apache.org>.
Github user cloudmonger commented on the issue:
https://github.com/apache/cloudstack/pull/1615
### ACS CI BVT Run
**Sumarry:**
Build Number 123
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_deploy_vm_iso.py
* test_deploy_vm_from_iso Failing since 8 runs
* test_vm_life_cycle.py
* test_10_attachAndDetach_iso Failing since 9 runs
* test_routers_network_ops.py
* test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false Failed
**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_network.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_disk_offerings.py
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1615
Packaging result: \u2714centos6 \u2714centos7 \u2714debian. JID-33
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1615: CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS ...
Posted by cloudmonger <gi...@git.apache.org>.
Github user cloudmonger commented on the issue:
https://github.com/apache/cloudstack/pull/1615
### ACS CI BVT Run
**Sumarry:**
Build Number 117
Hypervisor xenserver
NetworkType Advanced
Passed=18
Failed=3
Skipped=2
_Link to logs Folder (search by build_no):_ https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0
**Failed tests:**
* test_service_offerings.py
* ContextSuite context=TestServiceOfferings>:setup Failing since 16 runs
* test_vm_life_cycle.py
* test_10_attachAndDetach_iso Failing since 5 runs
* ContextSuite context=TestVMLifeCycle>:teardown Failed
**Skipped tests:**
test_vm_nic_adapter_vmxnet3
test_static_role_account_acls
**Passed test suits:**
test_over_provisioning.py
test_deploy_vms_with_varied_deploymentplanners.py
test_router_dns.py
test_resource_detail.py
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---