QualiSystems/vCenterShell

View on GitHub
package/cloudshell/cp/vcenter/commands/deploy_vm.py

Summary

Maintainability
D
2 days
Test Coverage

Function execute_deploy_from_image has 9 arguments (exceeds 4 allowed). Consider refactoring.
Open

    def execute_deploy_from_image(self, si, logger, session, vcenter_data_model, reservation_id, deployment_params,
Severity: Major
Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py - About 1 hr to fix

    Function execute_deploy_from_linked_clone has 7 arguments (exceeds 4 allowed). Consider refactoring.
    Open

        def execute_deploy_from_linked_clone(self, si, logger, vcenter_data_model, reservation_id, deployment_params, cancellation_context, folder_manager):
    Severity: Major
    Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py - About 50 mins to fix

      Function execute_deploy_clone_from_vm has 7 arguments (exceeds 4 allowed). Consider refactoring.
      Open

          def execute_deploy_clone_from_vm(self, si, logger, vcenter_data_model, reservation_id, deployment_params, cancellation_context, folder_manager):
      Severity: Major
      Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py - About 50 mins to fix

        Function execute_deploy_from_template has 7 arguments (exceeds 4 allowed). Consider refactoring.
        Open

            def execute_deploy_from_template(self, si, logger, vcenter_data_model, reservation_id, deployment_params, cancellation_context, folder_manager):
        Severity: Major
        Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py - About 50 mins to fix

          Function _prepare_deployed_apps_folder has 5 arguments (exceeds 4 allowed). Consider refactoring.
          Open

              def _prepare_deployed_apps_folder(self, data_holder, si, logger, folder_manager, vcenter_resource_model):
          Severity: Minor
          Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py - About 35 mins to fix

            Function _update_deploy_from_template_vm_location has 5 arguments (exceeds 4 allowed). Consider refactoring.
            Open

                def _update_deploy_from_template_vm_location(self, data_holder, folder_manager, logger, si, vcenter_resource_model):
            Severity: Minor
            Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py - About 35 mins to fix

              Function _update_deploy_from_image_vm_location has 5 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  def _update_deploy_from_image_vm_location(self, data_holder, folder_manager, logger, si, vcenter_resource_model):
              Severity: Minor
              Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py - About 35 mins to fix

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                    def _update_deploy_from_template_vm_location(self, data_holder, folder_manager, logger, si, vcenter_resource_model):
                        vm_location = data_holder.template_resource_model.vm_location or vcenter_resource_model.vm_location
                        folder_path = VMLocation.combine([vcenter_resource_model.default_datacenter, vm_location])
                        folder_manager.get_or_create_vcenter_folder(si,
                                                                    logger,
                Severity: Major
                Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py and 1 other location - About 5 hrs to fix
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 71..79

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 92.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                    def _update_deploy_from_image_vm_location(self, data_holder, folder_manager, logger, si, vcenter_resource_model):
                        vm_location = data_holder.image_params.vm_location or vcenter_resource_model.vm_location
                        folder_path = VMLocation.combine([vcenter_resource_model.default_datacenter, vm_location])
                        folder_manager.get_or_create_vcenter_folder(si,
                                                                    logger,
                Severity: Major
                Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py and 1 other location - About 5 hrs to fix
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 61..69

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 92.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 3 locations. Consider refactoring.
                Open

                    def execute_deploy_from_linked_clone(self, si, logger, vcenter_data_model, reservation_id, deployment_params, cancellation_context, folder_manager):
                        """
                        Calls the deployer to deploy vm from snapshot
                        :param cancellation_context:
                        :param str reservation_id:
                Severity: Major
                Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py and 2 other locations - About 2 hrs to fix
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 38..52
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 81..95

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 50.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 3 locations. Consider refactoring.
                Open

                    def execute_deploy_from_template(self, si, logger, vcenter_data_model, reservation_id, deployment_params, cancellation_context, folder_manager):
                        """
                
                        :param str reservation_id:
                        :param si:
                Severity: Major
                Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py and 2 other locations - About 2 hrs to fix
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 21..36
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 38..52

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 50.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 3 locations. Consider refactoring.
                Open

                    def execute_deploy_clone_from_vm(self, si, logger, vcenter_data_model, reservation_id, deployment_params, cancellation_context, folder_manager):
                        """
                        Calls the deployer to deploy vm from another vm
                        :param cancellation_context:
                        :param str reservation_id:
                Severity: Major
                Found in package/cloudshell/cp/vcenter/commands/deploy_vm.py and 2 other locations - About 2 hrs to fix
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 21..36
                package/cloudshell/cp/vcenter/commands/deploy_vm.py on lines 81..95

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 50.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                There are no issues that match your filters.

                Category
                Status