chef / knife-ec2 Goto Github PK
View Code? Open in Web Editor NEWChef knife plug-in for AWS EC2
License: Apache License 2.0
Chef knife plug-in for AWS EC2
License: Apache License 2.0
For capify-ec2
, I want to put "app,web" as the value of "Roles" tag.
But knife-ec2 doesn't allow putting comma in tag values..
knife ec2 server create -T Name=api.groupin,Roles='app,web' ..
Hi, I noticed the FQDN attribute is empty when using knife ec2 server create
with the --node-name foo
option.
When running ohai fqdn
on the node, the following error is returned:
/usr/lib/ruby/gems/1.8/gems/ohai-0.6.10/lib/ohai/system.rb:221:in `attributes_print': I cannot find an attribute named fqdn! (ArgumentError)
In Chef Client 12 some of the bootstrap options have changed / cleaned up. More information can be found here:
https://github.com/opscode/chef/blob/master/RELEASE_NOTES.md#boostrap-changes
In order to match these at a minimum:
template-file
, distro
options and add bootstrap-template
option.default_bootstrap_template
method.:ssl_verify_mode
& :verify_api_cert
options.We're making sure that Chef Client 12.0.0 works with the latest versions of knife cloud plugins. This change is primarily required to reduce the potential confusion.
@adamedx can we have matching issues for other knife cloud plugins as well?
The Fog version dependency of ~> 1.25.0
guarantees that any other Ruby gem with a dependency on Fog 1.26 or newer will be incompatible with this one (at least if both are being managed by Bundler). I don't think this is what you want.
Normally, I create knife ec2 servers by specifying all the attributes in command, But there is a way to add them in knife.rb.
I am adding
knife[:aws_access_key_id] = "secret"
knife[:aws_secret_access_key] = "secret"
knife[:aws_ssh_key_id] = "ssh-key-name"
knife[:region] = 'us-east-1'
knife[:image] = 'ami-349b495d'
knife[:security_groups] = ["group1"]
knife[:ssh_user] = "ubuntu"
knife[:availability_zone] = 'us-east-1a'
knife[:identity_file] = 'sshkey.pem'
knife[:flavor] = "c1.medium"
knife[:distro] = "ubuntu1"
all the options works fine except :security_groups and :ssh_user,
I always have to specify them in the command by -G and -x option.
is the default parameter names different from what i am using?
Hi,
I cannot install gem 'knife-ec2' latest using chefdk
➜ ~ chef gem install knife-ec2
WARN: Unresolved specs during Gem::Specification.reset:
chef (~> 11.12)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
ERROR: While executing gem ... (Gem::RemoteFetcher::UnknownHostError)
no such name (https://api.rubygems.org/api/v1/dependencies?gems=fog)
➜
Look like, dependency 'fog' gem error.
Please help.
Appreciate
I see that support for GP2 EBS volumes was added (the wiki needs to be updated), but I was wondering if there was support, or a workaround, to take advantage of AWS EBS Volume Encryption in the knife ec2 server create?
When bootstrapping a server, especially from an automated process, I would like to get notified if anything goes wrong. However, knife ec2 server create always returns a good status. I will have to add error checking to my launch scripts, but it kind of surprised me that it didn't handle this on its own.
I'm attempting to use a knife.rb
file to set all config options for the knife ec2 server create
command. When I give
knife[:security_group_ids] = 'sg-xxxxxxxx'
The following error is raised:
/home/ubuntu/.chefdk/gem/ruby/2.1.0/gems/knife-ec2-0.10.0/lib/chef/knife/ec2_server_create.rb:333:in `run': undefined method `join' for "sg-20d6be45":String (NoMethodError)
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.0.alpha.2/lib/chef/knife.rb:408:in `block in run_with_pretty_exceptions'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.0.alpha.2/lib/chef/local_mode.rb:38:in `with_server_connectivity'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.0.alpha.2/lib/chef/knife.rb:407:in `run_with_pretty_exceptions'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.0.alpha.2/lib/chef/knife.rb:206:in `run'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.0.alpha.2/lib/chef/application/knife.rb:139:in `run'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.0.alpha.2/bin/knife:25:in `<top (required)>'
from /opt/chefdk/embedded/bin/knife:23:in `load'
from /opt/chefdk/embedded/bin/knife:23:in `<main>'
If I remove that option from knife.rb
and just give it at the command line, -g sg-xxxxxxx
(same group ID), the create
command works without issue.
Instances can have tags associated with them. It should be possible to set tags and have tags for existing instances stored so we can query on them.
All knife ec2 commands fail when using the us-west-2 region. This is due to the fog gem not supporting us-west-2.
Currently the latest version of fog is out of date. HEAD supports us-west-2.
I got the following error when I first tried knife-ec2. After tracing the code, I figured out knife.rb lacks aws-related settings.
$ knife ec2 server list
ERROR: TypeError: can't convert nil into String
This is because, I just landed this page ( http://wiki.opscode.com/display/chef/Amazon+EC2+AMIs+with+Chef ) and no description about that.
Me again!
Specifying an ssh key with -S or --ssh-key does not work.
knife-ec2 0.8.0
jason key definitely exists. I'm not sure how it's deciding to use mmorris:
$ knife ec2 server create -I ami-f1fdfeb4 -S jason
Instance ID: i-58e5c506
Flavor: m1.large
Image: ami-f1fdfeb4
Region: us-west-1
Availability Zone: us-west-1c
Security Groups: default
Tags: Name: i-58e5c506
SSH Key: mmorris
$ knife ec2 server create -I ami-f1fdfeb4 --ssh-key jason
Instance ID: i-58e5c506
Flavor: m1.large
Image: ami-f1fdfeb4
Region: us-west-1
Availability Zone: us-west-1c
Security Groups: default
Tags: Name: i-58e5c506
SSH Key: mmorris
It doesn't even complain when specifying an ssh key that doesn't exist.
$ knife ec2 server create -I ami-f1fdfeb4 --ssh-key asdasasvva
Instance ID: i-58e5c506
Flavor: m1.large
Image: ami-f1fdfeb4
Region: us-west-1
Availability Zone: us-west-1c
Security Groups: default
Tags: Name: i-58e5c506
SSH Key: mmorris
Is this a bug or am I missing something?
As posted here: http://stackoverflow.com/questions/6078294/how-can-i-tag-an-ec2-instance-using-ruby-in-chef#comment19103559_11485434, it seems that knife ec2 doesn't tag the node in chef context, only in aws context. So, it would be nice if knife ec2 could tag the node in chef context too...
As it stands I have knife-rackspace which requires >= 1.22, and conflicts with knife-ec2. I did test and didn't find any issues (though only manual testing)... any reason why it could not get this bump?
currently -j in chef-client can be used to specify a json FILE whereas -j in knife ec2 only takes a json STRING as an input.
It would be nice for knife ec2 to match chef-client and accept a json file :)
Knife fails as it tries to print out the server statistics
The problem is line 74 in ec2_base.rb. The value variable is set to true when describing the deleteOnTermination setting.
I have set the line to read if value && (value.class ==TrueClass || !value.empty? ) to get it working though I am sure there is a better way.
I have knife[:identity_file] configured in my knife.rb but when I pass the --identity-file option to knife it still uses the knife.rb setting. I feel like this is standard operating procedure with other command-line utilities that have a configuration file. Is this by design with knife-ec2 or is it a bug?
please? ;)
The readme says that when an ec2 instance is deleted it doesn't delete the node & client, but why? At least lets make it an option as it does cause problems as instances are brought up and down....
if you are OK with that I'm more than happy to take a stab at it.
thanks
Hi,
I wanted to point two things regarding the template_file option on server create command:
"knife ec2 server create" command should probably check to see if the name passed with "-N" doesn't already exist on the Chef server. If it does, don't launch anything and fail back to prompt with appropriate error like "That node name already exists" or something like that.
I have my preferred default availability zone defined in my knife.rb as follows
knife[:availability_zone] = "us-west-1b"
If I then create an EC2 instance as follows
knife ec2 server create --availability-zone "us-west-1a" ...
the instance is still created in in zone us-west-1b. If I comment out the default in knife.rb it gets created in zone us-west-1a.
My use case is a script that starts up and ELB in two AZs, then two instances, one in each AZ, and registers them with the ELB. I don't want to specify the AZ while I'm testing, so want it to be defaulted in knife.rb and overridden by the command line in the script. This isn't possible with the current behaviour.
I kept running into this error with any knife ec2
command I tried
$ knife ec2 server list -VV
c:/Users/My Username/.chefdk/gem/ruby/2.0.0/gems/knife-ec2-0.8.0/lib/chef/knife/ec2_base.rb:98:in `[]': odd number of arguments for Hash (ArgumentError)
from c:/Users/My Username/.chefdk/gem/ruby/2.0.0/gems/knife-ec2-0.8.0/lib/chef/knife/ec2_base.rb:98:in `validate!'
from c:/Users/My Username/.chefdk/gem/ruby/2.0.0/gems/knife-ec2-0.8.0/lib/chef/knife/ec2_server_list.rb:98:in `run'
from c:/opscode/chefdk/embedded/apps/chef/lib/chef/knife.rb:493:in `block in run_with_pretty_exceptions'
from c:/opscode/chefdk/embedded/apps/chef/lib/chef/local_mode.rb:38:in `with_server_connectivity'
from c:/opscode/chefdk/embedded/apps/chef/lib/chef/knife.rb:492:in `run_with_pretty_exceptions'
from c:/opscode/chefdk/embedded/apps/chef/lib/chef/knife.rb:175:in `run'
from c:/opscode/chefdk/embedded/apps/chef/lib/chef/application/knife.rb:139:in `run'
from c:/opscode/chefdk/embedded/apps/chef/bin/knife:25:in `<top (required)>'
from c:/opscode/chefdk/bin/knife:45:in `load'
from c:/opscode/chefdk/bin/knife:45:in `<main>'
I finally realized that knife-ec2 was expecting my credential file to be in a slightly different format than AWS CLI had generated for me.
The format it generated my ~/.aws/config
to be was:
[default]
aws_access_key_id = your_access_key_id
aws_secret_access_key = your_secret_access_key
It would be cool if this format was supported by knife-ec2.
I've been trying to figure out why a "knife ec2 server create --bootstrap" does not install the required gems to allow embedded chef to run.
This is happening on 11.12.8 and 11.16.0
Interestingly enough a "knife bootstrap" installs all the required gems. Can anybody help point me in the right direction at resolving this weird issue?
Gem list from "knife ec2 server create --bootstrap"
*** LOCAL GEMS ***
bigdecimal (1.2.0)
json (1.7.7)
psych (2.0.0)
rdoc (4.0.1)
Gem list from "knife bootstrap"
*** LOCAL GEMS ***
bigdecimal (1.2.5, 1.2.0)
chef (11.12.8)
chef-zero (2.0.2)
coderay (1.1.0)
diff-lcs (1.2.5)
erubis (2.7.0)
ffi (1.9.3)
ffi-yajl (1.1.0)
hashie (2.1.2)
highline (1.6.21)
ipaddress (0.8.0)
json (1.8.1, 1.7.7)
libyajl2 (1.0.1)
method_source (0.8.2)
mime-types (2.3, 1.25.1)
mixlib-authentication (1.3.0)
mixlib-cli (1.5.0)
mixlib-config (2.1.0)
mixlib-log (1.6.0)
mixlib-shellout (1.4.0)
net-ssh (2.9.1)
net-ssh-gateway (1.2.0)
net-ssh-multi (1.2.0)
ohai (7.4.0, 7.0.4)
pry (0.10.1)
psych (2.0.6, 2.0.0)
rack (1.5.2)
rdoc (4.1.2, 4.0.1)
rest-client (1.6.8)
rubygems-update (2.4.1)
slop (3.6.0)
systemu (2.6.4, 2.5.2)
wmi-lite (1.0.0)
yajl-ruby (1.2.1)
pleassse help. Thanks.
hi,
please update the fog dependency to at least 1.25 to support the new aws region eu-central
currently it is locked to '~> 1.23.0'
I added the following to my knife.rb:
knife[:secret_file] = '~/.chef/encrypted_data_bag_secret'
Then I did a knife ec2 server create
which resulted in the following error message:
No secret specified to load_secret and no secret found at /etc/chef/encrypted_data_bag_secret
I was able to get it working by providing it on the command line:
knife ec2 server create --secret-file ~/.chef/encrypted_data_bag_secret
Not sure if this is a knife bug or knife-ec2 bug, so hopefully I'm in the right spot.
The command:
knife ec2 server create "recipe[chef-client]" -I ami-97c694d2 -f t1.micro -S knife -i ~/.ssh/knife.pem --ssh-user ubuntu --region us-west-1 -Z us-west-1b -VV
The Error:
/Library/Ruby/Gems/1.8/gems/knife-ec2-0.5.8/lib/chef/knife/ec2_base.rb:77:in `msg_pair': undefined method `empty?' for true:TrueClass (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/knife-ec2-0.5.8/lib/chef/knife/ec2_server_create.rb:233:in `run'
from /Library/Ruby/Gems/1.8/gems/chef-0.10.4/lib/chef/knife.rb:391:in `run_with_pretty_exceptions'
from /Library/Ruby/Gems/1.8/gems/chef-0.10.4/lib/chef/knife.rb:166:in `run'
from /Library/Ruby/Gems/1.8/gems/chef-0.10.4/lib/chef/application/knife.rb:128:in `run'
from /Library/Ruby/Gems/1.8/gems/chef-0.10.4/bin/knife:25
from /usr/bin/knife:19:in `load'
from /usr/bin/knife:19
I put some debugging statements in and it appears to fail on these values:
Root Device Delete on Terminate => true
The ami does not include sudo, (but knife could use su to pkg installl sudo and edit sudoers file)
Not sure if the script also expects other stuff installed such as "bash"
EC2 now supports naming nodes. You can do it after the fact, but it'd be nice if --node-name was passed to EC2 as the name of the node.
make a flag to make the knife ec2 command use the internal IP when launching and bootstrapping a server
I bootstrapped with:
knife ec2 server create -x ubuntu -i ../../.ssh/sprintly_production.pem -E sprintly_production -r "role[sprintly_production_app_server]" -G sprintly_production,sprintly_production_app_server,sprintly_production_http,sprintly_production_https -S "sprintly_production"
The client.rb does not have environment declared to be "sprintly_production". Oddly, the OpsCode backend shows that it's in the right environment.
When running with an Amazon Linux AMI chef client fails to install on the new node. I get the following message:
"
Connecting to ec2-54-152-210-189.compute-1.amazonaws.com
ec2-54-152-210-189.compute-1.amazonaws.com Please login as the user "ec2-user" rather than the user "root".
ec2-54-152-210-189.compute-1.amazonaws.com
"
Basically, Amazon Linux requires you to log in as an "ec2-user", while knife-ec2 tries to log in as root.
Given I am using knife to provision an instance that I would like to have source / destination checks disabled on (e.g. for a router / gateway),
When I provision the instance using knife ec2 server create
Then a flag is available to toggle instance attributes.
Looking at the RunInstance API, it is not possible to provide attributes at this point. However, knife-ec2 doesn't provide a mechanism to modify attributes of existing instances.
In order to achieve this, A) make the launch instance call and wait until the instance attributes can be modified before bootstrapping knife, or B) add a new module to knife ec2 that allows managing instances, e.g. by using the ModifyInstanceAttribute end-point (SourceDestCheck parameter).
Option B would be a nice extension to ec2 for managing instances, and would also allow other modifications, such as changing user data, disabling API termination, security groups.
http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html
http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck
Each EC2 instance performs source/destination checks by default. This means that the instance must be the source or destination of any traffic it sends or receives. However, a NAT instance must be able to send and receive traffic when the source or destination is not itself. Therefore, you must disable source/destination checks on the NAT instance.
referring to https://tickets.opscode.com/browse/KNIFE-177
Seth Vargo added a comment - 11/Jul/13 7:53 PM
We are currently doing a refactor of various knife plugins that would allow this capability without this particular change. We will track this on an internal ticket and try to include this functionality in an upcoming refactor.
What is the current status of this ?
spot instances would be a really nice feature.
Why is the only option to terminate the instance and not simply stop it?
The problem lies with this block of code in ec2_server_create.rb
:
def ssh_connect_host
@ssh_connect_host ||= if config[:server_connect_attribute]
server.send(config[:server_connect_attribute])
else
if vpc_mode? && !config[:associate_public_ip]
server.private_ip_address
else
server.dns_name
end
end
end
If you create an instance with a public IP in a VPC, this assumes that DNS hostnames are enabled and therefore server.dns_name
will be available. If DNS hostnames are disabled, this returns nil and causes downstream failures with confusing complaints about FQDNs or nil arguments.
It would be preferable to use the server's public IP directly rather than relying on the optional DNS names.
The patch for KNIFE-464 was reverted with the following merge: 1e666b5. The original merge happened in f62f79a, the original pull request can be viewed in #211. Was it reverted due to some confusion over the contributor licenses? Please see the notes in the pull request, we'd love to see this issue resolved and merged into the knife-ec2 tool.
Original ticket:
https://tickets.opscode.com/browse/KNIFE-464
New PR:
#289
chef: 11.18.0.rc.1 -- awscli 1.6.5
Attempted multiple variations of the below knife.rb setting (also with single quotes)
knife[:aws_credential_file] = "~/.aws/config"
knife[:aws_credential_file] = "~/.aws/credentials"
All return error on execution knife ec2 server list
ERROR: Errno::ENOENT: No such file or directory @ rb_sysopen - ~/.aws/config
Setting an environment variable for the awscli config file and using this in knife.rb works.
knife[:aws_credential_file] = ENV['AWS_CONFIG_FILE']
Using the option --secret-file
does work for Linux instances, but when launching a Windows server it is not created. Tried different paths (containing ~, absolute ones), specifying --secret
or putting knife[:secret_file]
to knife.rb. Nothing works:
FATAL: ArgumentError: No secret specified to load_secret and no secret found at C:\chef\encrypted_data_bag_secret
Currently I need to log in to the instance using RDP and create C:\chef\encrypted_data_bag_secret
manually, then re-run chef client which is really annoying.
After some wrestling, I finally got knife ec2 to actually create an instance and start trying to boostrap it, only to hit a wall when it came to actually talking to a server.
In $REPO/.chef/knife.rb
:
chef_server_url "https://ec2-54-183-138-149.us-west-1.compute.amazonaws.com/organizations/passare"
Connecting to ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Installing Chef Client...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com --2014-12-17 22:20:50-- https://www.opscode.com/chef/install.sh
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Resolving www.opscode.com (www.opscode.com)... 184.106.28.91
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Connecting to www.opscode.com (www.opscode.com)|184.106.28.91|:443... connected.
ec2-54-183-187-35.us-west-1.compute.amazonaws.com HTTP request sent, awaiting response... 200 OK
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Length: 18285 (18K) [application/x-sh]
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Saving to: ‘STDOUT’
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
100%[======================================>] 18,285 --.-K/s in 0.001s
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com 2014-12-17 22:20:51 (23.2 MB/s) - written to stdout [18285/18285]
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Downloading Chef 12 for ubuntu...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com downloading https://www.opscode.com/chef/metadata?v=12&prerelease=false&nightlies=false&p=ubuntu&pv=14.04&m=x86_64
ec2-54-183-187-35.us-west-1.compute.amazonaws.com to file /tmp/install.sh.1347/metadata.txt
ec2-54-183-187-35.us-west-1.compute.amazonaws.com trying wget...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com url https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/13.04/x86_64/chef_12.0.3-1_amd64.deb
ec2-54-183-187-35.us-west-1.compute.amazonaws.com md5 76910abba3f7902d1b4d176f7a568c3a
ec2-54-183-187-35.us-west-1.compute.amazonaws.com sha256 3e172853aa0bcc27415a14b1013811dd44e5f523f4ba34714b66191ba365e796
ec2-54-183-187-35.us-west-1.compute.amazonaws.com downloaded metadata file looks valid...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com downloading https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/13.04/x86_64/chef_12.0.3-1_amd64.deb
ec2-54-183-187-35.us-west-1.compute.amazonaws.com to file /tmp/install.sh.1347/chef_12.0.3-1_amd64.deb
ec2-54-183-187-35.us-west-1.compute.amazonaws.com trying wget...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Comparing checksum with sha256sum...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Installing Chef 12
ec2-54-183-187-35.us-west-1.compute.amazonaws.com installing with dpkg...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Selecting previously unselected package chef.
(Reading database ... 51091 files and directories currently installed.)
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Preparing to unpack .../chef_12.0.3-1_amd64.deb ...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Unpacking chef (12.0.3-1) ...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Setting up chef (12.0.3-1) ...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Thank you for installing Chef!
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Starting first Chef Client run...
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Starting Chef Client, version 12.0.3
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Creating a new client identity for dev-env-test42 using the validator key.
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:09+00:00] ERROR: Connection refused connecting to http://localhost:8889/clients, retry 1/5
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:14+00:00] ERROR: Connection refused connecting to http://localhost:8889/clients, retry 2/5
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:19+00:00] ERROR: Connection refused connecting to http://localhost:8889/clients, retry 3/5
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:24+00:00] ERROR: Connection refused connecting to http://localhost:8889/clients, retry 4/5
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:29+00:00] ERROR: Connection refused connecting to http://localhost:8889/clients, retry 5/5
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com ================================================================================
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Chef encountered an error attempting to create the client "dev-env-test42"
ec2-54-183-187-35.us-west-1.compute.amazonaws.com ================================================================================
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Network Error:
ec2-54-183-187-35.us-west-1.compute.amazonaws.com --------------
ec2-54-183-187-35.us-west-1.compute.amazonaws.com There was a network error connecting to the Chef Server:
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Connection refused - Connection refused connecting to http://localhost:8889/clients, giving up
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Relevant Config Settings:
ec2-54-183-187-35.us-west-1.compute.amazonaws.com -------------------------
ec2-54-183-187-35.us-west-1.compute.amazonaws.com chef_server_url "http://localhost:8889"
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com If your chef_server_url is correct, your network could be down.
ec2-54-183-187-35.us-west-1.compute.amazonaws.com
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:34+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
ec2-54-183-187-35.us-west-1.compute.amazonaws.com Chef Client failed. 0 resources updated in 26.194483984 seconds
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:34+00:00] ERROR: Connection refused - Connection refused connecting to http://localhost:8889/clients, giving up
ec2-54-183-187-35.us-west-1.compute.amazonaws.com [2014-12-17T22:21:34+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Request to support spot-instance with knife-ec2!
Hi,
I'm trying to use the new eu-central-1 region but getting issues doing anything with eu-central-1, for example
iBrain:~ will$ knife ec2 server list -V --region eu-central-1
ERROR: Fog::Compute::AWS::Error: AuthFailure => AWS was not able to validate the provided access credentials
However
iBrain:~ will$ knife ec2 server list -V --region eu-west-1
works without issue, is there something I'm missing?
Thanks,
Will
There is currently no mention of this option in the README, I only found out about it from a StackOverflow post that mentioned it.
the knife-ec2 knife plugin has a dependency on fog, the latest knife-ec2 version 0.10.0 has a hard coded dependency to fog 1.23.0. fog-1.23.0 references logic that has an incomplete list of aws regions and does not include any AWS gov-cloud regions. so correctly submitted knife-ec2 requests fail when using knife-ec2 0.10.0 with an "unknown region" error
fog 1.27.0 references the fog-aws gem which contains logic that references all of the AWS region codes
could knife-ec2's fog dependency be bumped to 1.27.0?
When I run knife ec2 server list, the output is unaligned and cascaded. The previos version of chef the output was nicely aligned in columns and rows.
Want to specify the placement group, when create server.
It would be nice if the Knife EC2 plugin would support custom API endpoints via the fog parameters :host
and :path
. Then you could use the plugin with other EC2 compliant cloud providers.
looks like this was done by someone in https://github.com/jakeo/knife-ec2/commit/f6232d5d91f5d2239bee77a80eb89e14a2d788d0
but for some reason not merged
i'm working with creating ec2 instances in a VPC and being able to specify a proxy would be nice (i can work around it in other, less elegant ways)
in general, it seems like "knife ec2 server create" should be able to accept most of the same options that "knife bootstrap" takes
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.