brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aled Sage <aled.s...@gmail.com>
Subject Re: “Virtualization type 'hvm' required” error in Apache Brooklyn
Date Mon, 13 Jul 2015 13:34:46 GMT
Hi Gowri,

It looks like the Chef recipe [1] only supports Ubuntu 10 and 12 (based 
on the files it contains), whereas this AMI is for Ubuntu 14.04.

You can use either force it to use Ubuntu 12, or you could switch to a 
different Chef community recipe that supports Ubuntu. To force the 
Ubuntu version, use either:

    location:
       jclouds:aws-ec2:
          region: us-west-2
          osFamily: UBUNTU
          osVersionRegex: 12.04

Or:

    location:
       jclouds:aws-ec2:
          region: us-west-2
          imageId: us-west-2/ami-70f96e40

---
Note: to find the error, I selected the entity in the tree on the left 
(with name "mysql (chef)"),  then selected the "activites" tab, then 
drilled into the failed task by clicking on:
   start -> start (processes) -> ssh: run chef for launch -> stdout.

---
We'll need to fix this in the brooklyn docs, as the defaults should 
definitely be made to work!

---
Also note that the way this Chef community recipe sets up MySQL is to 
listen on 127.0.0.1:3306 (so does not bind to the correct NIC to be 
accessible externally).

It also is not opening up port 3306 in the AWS security group. For that, 
you could either supply your own security group or you could include 
config indicating that port 3306 should also be opened:

    location:
       jclouds:aws-ec2:
          region: us-west-2
          osFamily: UBUNTU
          osVersionRegex: 12.04
          inboundPorts: [22,3306]

Aled

[1] https://github.com/opscode-cookbooks/mysql/archive/v4.0.12.tar.gz
[2] ubuntu-trusty-14.04-amd64-server-20150629 (ami-975b5da7)


On 13/07/2015 05:51, Gowri LN wrote:
> Hi All,
>
> I am still struggling to get the chef blueprint working for me. I followed
> the link[1] and  tried the following blueprint :
>
> name: chef-mysql-sample
> services:
> - type: chef:mysql
>
>    cookbook_urls:
>      # only needed for chef solo; URL can be local to brooklyn, or github,
> etc...
>      mysql: https://github.com/opscode-cookbooks/mysql/archive/v4.0.12.tar.gz
>      openssl:
> https://github.com/opscode-cookbooks/openssl/archive/v1.1.0.tar.gz
>      build-essential:
> https://github.com/opscode-cookbooks/build-essential/archive/v1.4.4.tar.gz
>
>    launch_run_list: [ "mysql::server" ]
>    launch_attributes:
>      mysql:
>        # these attrs are required by the mysql cookbook under node['mysql']
>        server_root_password: p4ssw0rd
>        server_repl_password: p4ssw0rd
>        server_debian_password: p4ssw0rd
>        # many others are attrs are supported by the cookbook and can be
> passed here...
>
>    # how to determine if the process is running and how to kill it
>    # (supported options are `service_name` and `pid_file`; normally you
> should just pick one.
>    # here we use the pid_file because the service_name varies, mysql on
> centos, mysqld on ubuntu!)
>    #service_name: mysqld
>    pid_file: /var/run/mysqld/mysqld.pid
> location:
>    jclouds:aws-ec2:
>       credential: *************************************
>       identity: ************************************
>       region: us-west-2
>
>
>
> link[1] :
> https://brooklyn.incubator.apache.org/v/0.7.0-M2-incubating/yaml/chef/creating-blueprints.html
>
>
>   I get an error saying "  SSH task ended with exit code 1 when 0 was
> required, in Task[ssh: run chef for launch:kPnFSyK0]: run chef for launch "
>
> Can somebody help me with this ?
>
> Thanks,
> Gowri
>
> On Mon, Apr 27, 2015 at 9:03 AM, Gowri LN <gowri.ln123@gmail.com> wrote:
>
>> Hi,
>>
>> I tried the following blueprint :
>>
>> name: chef-mysql-sample
>> location:
>>   jclouds:aws-ec2:us-west-1
>> services:
>> - type: chef:mysql
>>    cookbook_urls:
>>      # only needed for chef solo; URL can be local to brooklyn, or github,
>> etc...
>>      mysql:
>> https://github.com/opscode-cookbooks/mysql/archive/v4.0.12.tar.gz
>>      openssl:
>> https://github.com/opscode-cookbooks/openssl/archive/v1.1.0.tar.gz
>>      build-essential:
>> https://github.com/opscode-cookbooks/build-essential/archive/v1.4.4.tar.gz
>>
>>    launch_run_list: [ "mysql::server" ]
>>    launch_attributes:
>>      mysql:
>>        # these attrs are required by the mysql cookbook under node['mysql']
>>        server_root_password: p4ssw0rd
>>        server_repl_password: p4ssw0rd
>>        server_debian_password: p4ssw0rd
>>        # many others are attrs are supported by the cookbook and can be
>> passed here...
>>
>>    # how to determine if the process is running and how to kill it
>>    # (supported options are `service_name` and `pid_file`; normally you
>> should just pick one.
>>    # here we use the pid_file because the service_name varies, mysql on
>> centos, mysqld on ubuntu!)
>>    #service_name: mysqld
>>    pid_file: /var/run/mysqld/mysqld.pid
>>    provisioning.properties:
>>      # this will override `minRam` set above
>>      minRam: 5046mb
>>      minCores: 4
>>      minDisk: 1024
>>      imageId: us-west-1/ami-d114f295
>>      extraSshPublicKeyUrls:
>>      - https://path/to/public key/.pub
>>
>>
>>
>> I still have the  error  " InvalidParameterCombination,
>> message='Virtualization type 'hvm' is required for instances of type
>> 't2.small'.', context='{Response=, Errors=}'}"
>>
>>   Sorry about the mistake in my previous blueprint , I did not notice the
>> imageID .
>>
>> The above blueprint has  ' provisioning properties ' at the same level as
>> 'type' and  ' extraSshPublicKeyUrls' is a parameter under 'provisioning
>> properties' .The ami id is a Linux AMI in the region us-west-1.
>>   Is there anything else that I am missing ?
>>
>> Thanks,
>>
>>
>> On Thu, Apr 23, 2015 at 6:13 PM, Aled Sage <aled.sage@gmail.com> wrote:
>>
>>> Also, the imageId does not match the region being specified in the
>>> location: an image in eu-west-1 for the former and region us-west-1 in the
>>> latter.
>>>
>>> Aled
>>>
>>>
>>>
>>> On 23/04/2015 10:14, Alex Heneveld wrote:
>>>
>>>> Hi Gowri-
>>>>
>>>> The YAML indentation on `provisioning.properties` and
>>>> `extraSshPublicKeyUrls` is wrong.  The former needs to be a field at the
>>>> same level as the `type` under service (or you can put it in
>>>> `brookyn.config` underneath).  The latter should be a field under the
>>>> `provisioning.properties`.
>>>>
>>>> You can instead put the properties underneath the
>>>> provisioning.properties under the location.
>>>>
>>>> As a sketch see below, or alternatively in case the YAML gets corrupted
>>>> by mail programs see
>>>> https://gist.github.com/ahgittin/ef8a4b39695f6d4c684e .
>>>>
>>>> name: chef-mysql-sample
>>>> location:
>>>>   jclouds:aws-ec2:us-west-1:
>>>>     minRam: 4gb
>>>> services:
>>>> - type: chef:mysql
>>>>    ...
>>>>    provisioning.properties:
>>>>      # this will override `minRam` set above
>>>>      minRam: 5046mb
>>>>      minCores: 4
>>>>      minDisk: 1024
>>>>      imageId: eu-west-1/ami-3bbaa54f
>>>>      extraSshPublicKeyUrls:
>>>>      - https://link/to/my/....................publickey
>>>>
>>>>
>>>> Best
>>>> Alex
>>>>
>>>>
>>>>
>>>> On 23/04/2015 04:27, Gowri LN wrote:
>>>>
>>>>> Hi ,
>>>>>
>>>>> This are the blueprints I am using :
>>>>>
>>>>> Blueprint 1:
>>>>>
>>>>> name: chef-mysql-sample
>>>>> location:
>>>>>    jclouds:aws-ec2:us-west-1
>>>>> services:
>>>>> - type: chef:mysql
>>>>>     cookbook_urls:
>>>>>       mysql:
>>>>> https://github.com/opscode-cookbooks/mysql/archive/v4.0.12.tar.gz
>>>>>       openssl:
>>>>> https://github.com/opscode-cookbooks/openssl/archive/v1.1.0.tar.gz
>>>>>       build-essential:
>>>>>
>>>>> https://github.com/opscode-cookbooks/build-essential/archive/v1.4.4.tar.gz
>>>>>
>>>>>     launch_run_list: [ "mysql::server" ]
>>>>>     launch_attributes:
>>>>>       mysql:
>>>>>         # these attrs are required by the mysql cookbook under
>>>>> node['mysql']
>>>>>         server_root_password: p4ssw0rd
>>>>>         server_repl_password: p4ssw0rd
>>>>>         server_debian_password: p4ssw0rd
>>>>>
>>>>>     # how to determine if the process is running and how to kill it
>>>>>     # (supported options are `service_name` and `pid_file`; normally
you
>>>>> should just pick one.
>>>>>     # here we use the pid_file because the service_name varies, mysql
on
>>>>> centos, mysqld on ubuntu!)
>>>>>     #service_name: mysqld
>>>>>     pid_file: /var/run/mysqld/mysqld.pid
>>>>> provisioning.properties:
>>>>>       minRam: 5046mb
>>>>>       minCores: 4
>>>>>       minDisk: 1024
>>>>>       imageId: eu-west-1/ami-3bbaa54f
>>>>> extraSshPublicKeyUrls:
>>>>>      - https://link/to/my/....................publickey
>>>>>
>>>>>    blueprint2:
>>>>>
>>>>> id: tomcat-application
>>>>> name: "Tomcat Web Application"
>>>>> origin: "http://brooklyncentral.github.io/"
>>>>> location:
>>>>>    jclouds:aws-ec2:us-west-1
>>>>> provisioning.properties:
>>>>>       osFamily: Ubuntu
>>>>>       minRam: 2000mb
>>>>>       minCores: 2
>>>>>       minDisk: 100gb
>>>>> services:
>>>>> - serviceType: brooklyn.entity.webapp.tomcat.TomcatServer
>>>>>     brooklyn.config:
>>>>>       wars.root:
>>>>>         "https://path/to/my/war/sample.war"
>>>>> extraSshPublicKeyUrls:
>>>>>      - https://link/to/my/....................publickey
>>>>>
>>>>>
>>>>> For both the blueprints, I  get an error
>>>>>
>>>>>   code='InvalidParameterCombination', message='Virtualization type 'hvm'
>>>>>> is
>>>>>> required for instances of type 't2.small'.', context='{Response=,
>>>>>> Errors=}'}
>>>>>>
>>>>> And no instance is being created in AWS .
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Gowri
>>>>>
>>>>> On Wed, Apr 22, 2015 at 3:13 PM, Aled Sage <aled.sage@gmail.com>
wrote:
>>>>>
>>>>>   Hi,
>>>>>> Can you please share the the full yaml you're using so we can reproduce
>>>>>> (either as a gist or just in the e-mail response body).
>>>>>>
>>>>>> I'd have thought that if we're setting the imageId then it would
work
>>>>>> (because we can choose correct compatibility with 'hvm').
>>>>>> It sounds like the imageId isn't being picked up correctly.
>>>>>> You can check that by looking in the AWS web-console. Does it show
the
>>>>>> failed instance, and does that instance have the AMI you expect?
>>>>>>
>>>>>> Aled
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 22/04/2015 05:16, Gowri LN wrote:
>>>>>>
>>>>>>   Hi ,
>>>>>>> Yes, but I am still facing same error :
>>>>>>>
>>>>>>> https://ec2.us-west-1.amazonaws.com/ HTTP/1.1 failed with code
400,
>>>>>>> error:
>>>>>>>
>>>>>>>   AWSError{requestId='0fad3510-236a-4965-b367-9c3ceb1f972e',
>>>>>>>> requestToken='null', code='InvalidParameterCombination',
>>>>>>>> message='Virtualization type 'hvm' is required for instances
of type
>>>>>>>> 't2.small'.', context='{Response=, Errors=}'}
>>>>>>>>
>>>>>>>>   I tried specifying the imageID in provisioning.properties
as well
>>>>>>> but no
>>>>>>> luck .
>>>>>>>
>>>>>>> -Thanks,
>>>>>>> Gowri
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Apr 21, 2015 at 4:16 PM, Aled Sage <aled.sage@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>    Hi,
>>>>>>>
>>>>>>>> Did you try with the location configuration that Andrea suggested
-
>>>>>>>> this
>>>>>>>> syntax (which replaces the one-line "location: ...") says
to use the
>>>>>>>> specific AMI, rather than the defaults of aws-ec2:us-west-1.
>>>>>>>>
>>>>>>>> Unfortunately the default is picking an AMI and image size
that are
>>>>>>>> incompatible. The reason it happens with some configurations
and not
>>>>>>>> others
>>>>>>>> is that the minRam configuration etc changes the images size,
but
>>>>>>>> some
>>>>>>>> pairings of AMI + image size will not work currently.
>>>>>>>>
>>>>>>>> ---
>>>>>>>> Alternatively you could specify the imageId in the entity's
>>>>>>>> provisioning
>>>>>>>> properties (such as the yaml below), but this ties the entity's
>>>>>>>> configuration to a specific location.
>>>>>>>>
>>>>>>>>       name: chef-mysql-sample
>>>>>>>>       location: aws-ec2
>>>>>>>>       services:
>>>>>>>>       - type: chef:mysql
>>>>>>>>
>>>>>>>>       provisioning.properties:
>>>>>>>>            region: eu-west-1
>>>>>>>>            imageId: eu-west-1/ami-3bbaa54f
>>>>>>>>
>>>>>>>>          cookbook_urls:
>>>>>>>>            ...
>>>>>>>>
>>>>>>>> Aled
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 21/04/2015 11:26, Gowri LN wrote:
>>>>>>>>
>>>>>>>>       I tried the same blueprint with multiple brooklyn setup
and I am
>>>>>>>>
>>>>>>>>> facing
>>>>>>>>> this issue in some brooklyn setups (not all) and I could
not figure
>>>>>>>>> out
>>>>>>>>> why
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>> Anyway,Thanks for the response.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Apr 21, 2015 at 12:26 PM, Andrea Turli <
>>>>>>>>> andrea.turli@cloudsoftcorp.com> wrote:
>>>>>>>>>
>>>>>>>>>     Hi
>>>>>>>>>
>>>>>>>>>   unfortunately it is a known issue that starts hitting
us recently.
>>>>>>>>>> We
>>>>>>>>>> have
>>>>>>>>>> already tracked it on this JIRA issue, if you want
to follow/help
>>>>>>>>>> with
>>>>>>>>>> the
>>>>>>>>>> fix.
>>>>>>>>>> Meanwhile, for aws-ec2, I suggest you to use an AMI
that explicitly
>>>>>>>>>> uses
>>>>>>>>>> `hvm` rather than `paravirtual` by adding something
like:
>>>>>>>>>>
>>>>>>>>>> locations:
>>>>>>>>>>        - jclouds:aws-ec2:eu-west-1:
>>>>>>>>>>          imageId: eu-west-1/ami-3bbaa54f # CentOS
6.4 x64 HVM
>>>>>>>>>>
>>>>>>>>>> or equivalent, if you are using a different region.
>>>>>>>>>>
>>>>>>>>>> HTH,
>>>>>>>>>> Andrea
>>>>>>>>>>
>>>>>>>>>> On 21 April 2015 at 06:44, Gowri LN <gowri.ln123@gmail.com>
wrote:
>>>>>>>>>>
>>>>>>>>>>     Hi
>>>>>>>>>>
>>>>>>>>>>   I am trying to create blueprint from chef as per
the link
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> https://brooklyn.incubator.apache.org/v/latest/yaml/chef/creating-blueprints.html
>>>>>>>>>>
>>>>>>>>>>       .
>>>>>>>>>>
>>>>>>>>>>> The location and provisioning.properties for
a large instance is
>>>>>>>>>>> provided
>>>>>>>>>>> through yaml.
>>>>>>>>>>>
>>>>>>>>>>> But when I launch it , I get the following error:
>>>>>>>>>>>
>>>>>>>>>>> Required entity not healthy: ChefEntityImpl{id=aL3U028F}Failure
>>>>>>>>>>> running task invoking
>>>>>>>>>>> start[locations] on 1 node (Aw2cyO4I): Error
invoking start at
>>>>>>>>>>> ChefEntityImpl{id=aL3U028F}:
>>>>>>>>>>> org.jclouds.aws.AWSResponseException: request
POST
>>>>>>>>>>> https://ec2.us-west-1.amazonaws.com/
>>>>>>>>>>>      HTTP/1.1 failed with code 400, error:
>>>>>>>>>>> AWSError{requestId='27baa951-42d1-424d-9bca-c97047207ac3',
>>>>>>>>>>> requestToken='null', code='InvalidParameterCombination',
>>>>>>>>>>> message=**'Virtualization type
>>>>>>>>>>> 'hvm' is required for instances of type 't2.small'.',**
>>>>>>>>>>>
>>>>>>>>>>> Brooklyn is picking up t2.small type of instance
ignoring the
>>>>>>>>>>> provisioning.properties mentioned through yaml
.
>>>>>>>>>>>
>>>>>>>>>>> Is there a way to specify provision.properties
via
>>>>>>>>>>> brooklyn.properties
>>>>>>>>>>>
>>>>>>>>>>>    file
>>>>>>>>>>>
>>>>>>>>>>    or force Brooklyn to override with the configuration
provided via
>>>>>>>>>>
>>>>>>>>>>>    blueprint
>>>>>>>>>>>
>>>>>>>>>>    ?
>>>>>>>>>>
>>>>>>>>>>> Can somebody help me with this ?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message