Whirr
  1. Whirr
  2. WHIRR-233

Change test properties to be less provider bound and improve TemplateBuilder defaults

    Details

      Description

      I talked to Adrian on IRC and concluded that we need to remove the location and instance ID from the test properties but add to the Template class something like:

      minRam(someAmount).os64Bit(true).osFamily(OsFamily.UBUNTU).osVersionMatches("10.04")
      1. WHIRR-233.patch
        14 kB
        Andrei Savu
      2. WHIRR-233.patch
        12 kB
        Andrei Savu
      3. WHIRR-233-min-RAM.patch
        16 kB
        Andrei Savu

        Activity

        Hide
        Lars George added a comment -

        See http://code.google.com/p/jclouds/issues/detail?id=469 for ideas on implementing this very flexible.

        Show
        Lars George added a comment - See http://code.google.com/p/jclouds/issues/detail?id=469 for ideas on implementing this very flexible.
        Hide
        Tom White added a comment -

        This kind of strategy can be implemented in HBaseTemplateBuilderStrategy - no changes are needed to jclouds. This way there are sensible defaults, which can be overridden by expert users by specifying properties.

        Show
        Tom White added a comment - This kind of strategy can be implemented in HBaseTemplateBuilderStrategy - no changes are needed to jclouds. This way there are sensible defaults, which can be overridden by expert users by specifying properties.
        Hide
        Tom White added a comment -

        Marking as a blocker (for 0.5.0) since HBase integration tests will always fail on cloudservers until this is fixed.

        Show
        Tom White added a comment - Marking as a blocker (for 0.5.0) since HBase integration tests will always fail on cloudservers until this is fixed.
        Hide
        Andrei Savu added a comment -

        I believe we should do this for all services not only for HBase.

        Show
        Andrei Savu added a comment - I believe we should do this for all services not only for HBase.
        Hide
        Andrei Savu added a comment -

        Global improved defaults for TemplateBuilder. All integration tests pass on aws-ec2.

        Show
        Andrei Savu added a comment - Global improved defaults for TemplateBuilder. All integration tests pass on aws-ec2.
        Hide
        Adrian Cole added a comment -

        I like the approach. However, it uses more expensive hardware for zookeeper and cassandra. How about if we expose a minRam and minCores property on properties per role?

        Show
        Adrian Cole added a comment - I like the approach. However, it uses more expensive hardware for zookeeper and cassandra. How about if we expose a minRam and minCores property on properties per role?
        Hide
        Andrei Savu added a comment -

        Sounds like a good idea. I will give it a try.

        Show
        Andrei Savu added a comment - Sounds like a good idea. I will give it a try.
        Hide
        Andrei Savu added a comment -

        This patch adds a new ClusterSpec option that allows the user to specify the minimum amount of memory needed. I don't think this is really required; sounds more like an optimisation for testing. I believe in practice an user would specify a hardware-id if he wants a larger or smaller instance.

        Show
        Andrei Savu added a comment - This patch adds a new ClusterSpec option that allows the user to specify the minimum amount of memory needed. I don't think this is really required; sounds more like an optimisation for testing. I believe in practice an user would specify a hardware-id if he wants a larger or smaller instance.
        Hide
        Andrei Savu added a comment -

        Tom, we can push this in the 0.4.0 release if you think it's good enough. I will rebuild the artefacts for 0.4.0 in a few hours and restart the vote. Let me know what you think.

        Show
        Andrei Savu added a comment - Tom, we can push this in the 0.4.0 release if you think it's good enough. I will rebuild the artefacts for 0.4.0 in a few hours and restart the vote. Let me know what you think.
        Hide
        Adrian Cole added a comment -

        +1

        It solves the issue of having test properties being less provider bound.

        As another issue, we should calculate the requirements of the machine based on the roles present and their minimums. Ex. if a host is running 4 roles, it will need more ram, and probably more cores, dependent on the needs of those roles.

        Show
        Adrian Cole added a comment - +1 It solves the issue of having test properties being less provider bound. As another issue, we should calculate the requirements of the machine based on the roles present and their minimums. Ex. if a host is running 4 roles, it will need more ram, and probably more cores, dependent on the needs of those roles.
        Hide
        Tom White added a comment -

        +1

        Nit: this introduces a star import, which we should avoid.

        Show
        Tom White added a comment - +1 Nit: this introduces a star import, which we should avoid.
        Hide
        Andrei Savu added a comment -

        Updated issue description.

        Show
        Andrei Savu added a comment - Updated issue description.
        Hide
        Andrei Savu added a comment -

        Fixed patch: removed some unused imports and expanded the star import.

        Show
        Andrei Savu added a comment - Fixed patch: removed some unused imports and expanded the star import.
        Hide
        Andrei Savu added a comment -

        I've just committed this. Thanks guys for review!

        Show
        Andrei Savu added a comment - I've just committed this. Thanks guys for review!

          People

          • Assignee:
            Andrei Savu
            Reporter:
            Lars George
          • Votes:
            2 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development