linode / cli Goto Github PK
View Code? Open in Web Editor NEWThis is the DEPRECATED Linode CLI. Use https://github.com/linode/linode-cli
Home Page: https://www.linode.com/docs/platform/linode-cli
License: Other
This is the DEPRECATED Linode CLI. Use https://github.com/linode/linode-cli
Home Page: https://www.linode.com/docs/platform/linode-cli
License: Other
I just got linode-cli version 1.1.0 installed on OSX Mavericks, and when trying to run linode configure
it errors out after trying to authenticate to the API. I have tried with and without giving it a API key, note I do have 2 factor auth enabled and not sure how this version handles this (I saw in the changelog that this version supports it just not sure what needs done).
Attempt without a key:
> linode configure
This will walk you through setting default values for common options.
Linode Manager user name
>> vendion
Linode Manager password for vendion
>>
Unexpected error obtaining API key for user vendion
Attempt with a key:
linode --api-key (insert API key here) configure
API unavailable at /usr/local/Cellar/linode-cli/1.1.0/lib/perl5/site_perl/Linode/CLI.pm line 825.
is it possible to use API to set GRUB2 for distro kernel and use API to reboot linode ?
After installing the deb package:
mike@charron:~
$ linode configure
Can't locate Linode/CLI/Util.pm in @INC (you may need to install the Linode::CLI::Util module) (@INC contains: /usr/bin/lib /home/mike/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/x86_64-linux /home/mike/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0 /home/mike/perl5/perlbrew/perls/perl-5.20.0/lib/5.20.0/x86_64-linux /home/mike/perl5/perlbrew/perls/perl-5.20.0/lib/5.20.0 .) at /usr/bin/linode line 14.
BEGIN failed--compilation aborted at /usr/bin/linode line 14.
[2]
mike@charron:~
$ head -n1 `which linode`
#!/usr/bin/env perl
[0]
mike@charron:~
$ which perl
/home/mike/perl5/perlbrew/perls/perl-5.20.0/bin/perl
[0]
Your packaged application should be using the dependencies from the package manager, including the package manager's perl interpreter.
I hope this package doesn't bundle the perl interface in lib/:
Webservice::Linode
As I'm going to package it into Fedora/EPEL, we disallow bundled linraries and thus this will not get approved.
And is there any reason to bundle it but not using it from external?
I can't easily do linode -c linode -a list -j | jq '.[].ips[0]'
because the ips
array is not ordered, [0] could be either an internal or external IP. It would be great if you can expand this IP list the following way:
"ips" : {
"internal_ip": "192.168.205.104",
"external_ip": "45.79.223.140"
},
this way I can easily do linode -c linode -a list -j | jq '.[].ips.external_ip'
to fetch only the external IP without hard-filtering out internal IPs
jooadam@shulur:~$ time curl "https://api.linode.com?api_key=$key&api_action=avail.datacenters"
...
real 0m0.767s
user 0m0.016s
sys 0m0.008s
jooadam@shulur:~$ time linode locations
...
real 0m3.615s
user 0m0.996s
sys 0m0.088s
Although support tries to convince me, I refuse to believe that parsing half a kilobyte of JSON and printing a single line per array item is justified to take nearly three seconds, hence I treat this as a bug.
Please let me know if additional information is needed.
Thanks for adding the json output! It's great!
Could we get the IPv6 address(es) and netmasks in the 'show' action?
We would also like to learn the mac address of the interfaces with this tool, but that's probably not going to be very popular.
I think the IPv6 stuff would be useful for everyone.
Requesting the linode clone method to be implemented in linode-cli.
I was seeing the following error:
Can't call method "nodebalancer_list" on an undefined value at /usr/local/.../Nodebalancer.pm line 56.
I fixed it by tweaking the definition of create
in Nodebalancer.pm
:
my ( $self, %args ) = @_;
my $api_obj = $args{api_obj};
my $options = $args{options};
I am not a Perl speaker, though; otherwise I'd create a pull request immediately. It seems to have worked in any event.
Would need a Linode cli command to help cloning a complete server. It's currently possible to do it from the web interface, and we should be able to do the same from cli.
ex:
$linode clone <source_linode> <destination_linode> <linode_datacenter> <linode_plan>
Regards.
I'm run script
linode rebuild rubyrain1 --distribution "CentOS 7" --password $L_DEFAULT_PW --stackscript $L_STACKSCRIPT_ID --stackscriptjson '{ "privip": "$F_PRIV_IP_DATA", "sslip" : "$L_SSLSERVER_IP", "sslpw" : "$L_SSLSERVER_PW" }' --api-key $L_API_KEY #build new node process with Stackscript
also, I tried single quote
--distribution 'CentOS 7'
But node Installed CentOS 6
[root@li1602-162 ~]# cat /etc/centos-release
CentOS release 6.8 (Final)
[root@li1602-162 ~]#
> linode account show
managed: no
balance: $ -29.91
transfer pool: 3000.00GB
transfer used: 7.00GB
transfer billable: 0.00GB
billing method: metered
> linode --version
linode-cli 1.4.5
Copyright (C) 2015 Linode, LLC
In Linode Manager
Account Balance $29.91 credit
Uninvoiced Balance $3.75 and counting
Development machine with XCode 4.6.3 and command line utils installed.
==> Installing linode-cli from linode/homebrew-cli
==> Downloading https://github.com/linode/cli/archive/v1.3.2.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli-1.3.2.tar.gz
==> Downloading http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--JSON-2.90.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
make
install
make: *** No rule to make target /System/Library/Perl/5.12/darwin-thread-multi-2level/CORE/config.h', needed by
Makefile'. Stop.
don't see it in the docs but json format shows ip's as an array without any method of identifying which is which. one account has public ip first, the other has them second, so it makes scripts a little indeterministic
We're using the linode domain cli tools in web-scripts. The scripts are run as a user with very limited permissions. The user is NOT allowed to create the .linodecli directory in the home directory.
Since the API key is specified via command line arguments, the directory is not necessary at all.
If we remove the mkdir() command from Util.pm::check_configs(), the scripts work without problems.
Would it be possible to add a check that skips the creation of this directory when not needed?
Thanks.
I created a linode with "Debian 7.3". Today I rebuilt it using the below commands. I got an error about "unable to boot 32-bit on this host." Weird since I had picked 64bit distribution. I noticed that as of today it's "Debian 7.4".
Seems to me like the command should report an error and not do anything if one of the arguments to distribution (or location, plan, etc.) aren't valid.
$ linode \
--username xxxxxxx
--action 'rebuild'
--label 'ansible'
--password 'xxxxxxxxx'
--distribution 'Debian 7.3'
--pubkey-file ~/.ssh/id_dsa.pub \Powering down linode 'ansible'.......
Removing existing disk 'ansible-disk'..
Removing existing disk 'ansible-swap'....
Unable to issue boot job for ansible.. API Error 8: Unable to boot 32-bit on this host. Please open a support ticket.
Hi,
I'm a Linode customer and willing to package this perl utility to Fedora and EPEL.
Is it proper to name it linode-cli? Since I don't want to package it as "cli" because this name is too short.
I'm looking forward to your reply.
Thanks.
It seems like this might be an issue with one of linode-cli's dependencies, and not linode-cli itself, but it's preventing me from installing linode-cli.
tl;dr:
http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.38.tar.gz fails to download because it doesn't appear to exist; Scalar-List-Utils-1.39.tar.gz, Scalar-List-Utils-1.40.tar.gz, and Scalar-List-Utils-1.41.tar.gz appear to exist in the http://www.cpan.org/authors/id/P/PE/PEVANS/ directory, though.
Full output:
~ % brew install linode-cli
==> Downloading https://github.com/linode/cli/archive/v1.3.2.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli-1.3.2.tar.gz
==> Downloading http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--JSON-2.90.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/URI-1.60.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--URI-1.60.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--LWP::MediaTypes-6.02.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/Encode-Locale-1.03.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Encode::Locale-1.03.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/C/CJ/CJM/IO-HTML-1.00.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--IO::HTML-1.00.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--HTTP::Date-6.02.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.064.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Compress::Raw::Bzi-2.064.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.065.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Compress::Raw::Zlib-2.065.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PM/PMQS/IO-Compress-2.064.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--IO::Compress-2.064.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Message-6.06.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--HTTP::Message-6.06.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--HTTP::Negotiate-6.01.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--File::Listing-6.04.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--HTML::Tagset-3.20.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTML-Parser-3.71.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--HTML::Parser-3.71.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--HTTP::Daemon-6.01.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/Net-HTTP-6.06.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Net::HTTP-6.06.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Cookies-6.01.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--HTTP::Cookies-6.01.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--WWW::RobotRules-6.02.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/libwww-perl-6.05.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--libwww::perl-6.05.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/A/AB/ABH/Mozilla-CA-20130114.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Mozilla::CA-20130114.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/D/DO/DOY/Try-Tiny-0.19.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Try::Tiny-0.19.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.58.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Net::SSLeay-1.58.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-1.969.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--IO::Socket::SSL-1.969.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/LWP-Protocol-https-6.04.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--LWP::Protocol::https-6.04.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/N/NA/NANIS/Crypt-SSLeay-0.64.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Crypt::SSLeay-0.64.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec -n
==> make install
==> Downloading http://www.cpan.org/authors/id/L/LE/LEONT/Test-Harness-3.30.tar.gz
Already downloaded: /Library/Caches/Homebrew/linode-cli--Test::Harness-3.30.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.3.2/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.38.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
Error: Failed to download resource "linode-cli--Scalar::List::Utils"
Download failed: http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.38.tar.gz
Hello, all I'm getting the following when attempting to install via brew:
Already downloaded: /Users/dky/Library/Caches/Homebrew/linode-cli--JSON::PP-2.27203.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/E/EX/EXODIST/Test-Simple-1.302075.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
Error: Failed to download resource "linode-cli--Test::Simple"
Download failed: http://www.cpan.org/authors/id/E/EX/EXODIST/Test-Simple-1.302075.tar.gz
dky@mba ~ $ brew tap linode/cli && brew install linode-cli^C
Looks like the version of Test-Simple has changed and the one being referenced no longer exist. How would we contribute a fix to this?
I have a feature request for you: I want an easy way to work with multiple Linode accounts. I hate logging in and out of the web panel constantly (well, I prefer CLI to web in general, but this makes it worse) because I manage Linodes for multiple organizations. You'd have this lowly HedgeMage's deepest gratitude if there were an easy way to set up the Linode CLI client to easily manage Linodes across multiple accounts.
Yes, I realize that I could write a wrapper script to run Linode CLI commands with different api keys specified as needed, concatenate the output of, e.g. list from different accounts, but really, do we need another layer of stuff?
Ronaks-MacBook-Pro:Downloads ronak$ brew tap linode/cli
Ronaks-MacBook-Pro:Downloads ronak$ brew install linode-cli
==> Installing linode-cli from linode/cli
==> Downloading https://github.com/linode/cli/archive/v1.4.7.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli-1.4.7.tar.gz
==> Downloading http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--JSON-2.90.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/URI-1.60.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--URI-1.60.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--LWP::MediaTypes-6.02.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/Encode-Locale-1.03.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Encode::Locale-1.03.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/C/CJ/CJM/IO-HTML-1.00.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--IO::HTML-1.00.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--HTTP::Date-6.02.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.064.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Compress::Raw::Bzi-2.064.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.065.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Compress::Raw::Zlib-2.065.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PM/PMQS/IO-Compress-2.064.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--IO::Compress-2.064.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Message-6.06.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--HTTP::Message-6.06.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--HTTP::Negotiate-6.01.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--File::Listing-6.04.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--HTML::Tagset-3.20.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTML-Parser-3.71.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--HTML::Parser-3.71.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--HTTP::Daemon-6.01.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/Net-HTTP-6.06.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Net::HTTP-6.06.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Cookies-6.01.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--HTTP::Cookies-6.01.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--WWW::RobotRules-6.02.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/libwww-perl-6.05.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--libwww::perl-6.05.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/A/AB/ABH/Mozilla-CA-20130114.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Mozilla::CA-20130114.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/D/DO/DOY/Try-Tiny-0.19.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Try::Tiny-0.19.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-1.969.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--IO::Socket::SSL-1.969.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/G/GA/GAAS/LWP-Protocol-https-6.04.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--LWP::Protocol::https-6.04.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/L/LE/LEONT/Test-Harness-3.30.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Test::Harness-3.30.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.47.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--Scalar::List::Utils-1.47.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27203.tar.gz
Already downloaded: /Users/ronak/Library/Caches/Homebrew/linode-cli--JSON::PP-2.27203.tar.gz
==> perl Makefile.PL INSTALL_BASE=/usr/local/Cellar/linode-cli/1.4.7/libexec
==> make install
==> Downloading http://www.cpan.org/authors/id/R/RJ/RJBS/Test-Simple-1.001002.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
Error: Failed to download resource "linode-cli--Test::Simple"
Download failed: http://www.cpan.org/authors/id/R/RJ/RJBS/Test-Simple-1.001002.tar.gz
My linode cli worked normally until 3 days ago, I met this.
I thought it should be a temporary server error, so ignored it for several days. It looks like it's not temporarily issue.
Anyone knows what's up with the Linode's api server?
Hello,
On a beautiful afternoon, I ran this command brew update
and got this:
Error: Failed to update tap: linode/cli
What had happened?
I could not figure out how to update the IP where the domain points. The command requires the -m param but the hostname is blank for that.
Eg it looks like that in the DNS manager:
The same domain looks like that using the CLI:
I try to update the IP with the following command:
linode-domain -a record-update -l my-domain.com -t A -R'[remote_addr]'
but that throws the "The 'record-update' command requires a --match parameter." error.
I do not know what should I put after the -m param in that case. I tried everything I could come up.
For subdomain "-m subdomain" works, but what if I do not want to update a subdomain?
I would like to have a domain pointed to my local machine for testing purposes.
Attempting to create an SSL-terminating configuration fails:
$ linode nodebalancer config-create --protocol="https" \
--label="staging" --port="443" --ssl-cert="..." --ssl-key="..." \
--check-health="http" --check-interval="60" \
--check-timeout="30" --check-attempts="4" --check-path="/version/"
Unable to create NodeBalancer config for staging. API Error 8: SSL private key appears to be incorrectly formatted
(Obviously --ssl-cert
and --ssl-key
have real values, which I checked with openssl -check
; they do contain newlines, not sure if that's an issue despite being quoted).
Creating the configuration by hand in the Lindode Manager by pasting the exact same certificate and key (used cat key | pbcopy
) worked fine. I imagine I'm somehow not constructing my command correctly but the documentation doesn't say anything about the required format.
I have a i386 kernel and i have thist problem:
acald3ron@stark:~$ uname -a
Linux stark 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) i686 GNU/Linux
acald3ron@stark:~$ linode configure
Can't locate Linode/CLI/Util.pm in @inc (you may need to install the Linode::CLI::Util module) (@inc contains: /usr/bin/lib /etc/perl /usr/local/lib/i386-linux-gnu/perl/5.20.1 /usr/local/share/perl/5.20.1 /usr/lib/i386-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /usr/bin/linode line 14.
BEGIN failed--compilation aborted at /usr/bin/linode line 14.
more info:
dpkg -L linode-cli
/.
/usr
/usr/bin
/usr/bin/linode
/usr/bin/linode-account
/usr/bin/linode-domain
/usr/bin/linode-linode
/usr/bin/linode-nodebalancer
/usr/bin/linode-stackscript
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/perl5
/usr/lib/x86_64-linux-gnu/perl5/5.20
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Object.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Object
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Object/Account.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Object/Linode.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Object/Stackscript.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Object/Domain.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Object/Nodebalancer.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/Util.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/Linode/CLI/SystemInfo.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/WebService
/usr/lib/x86_64-linux-gnu/perl5/5.20/WebService/Linode.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/WebService/Linode
/usr/lib/x86_64-linux-gnu/perl5/5.20/WebService/Linode/Base.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/WebService/Linode/DNS.pm
/usr/share
/usr/share/doc
/usr/share/doc/linode-cli
/usr/share/doc/linode-cli/copyright
/usr/share/doc/linode-cli/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/linode-domain.1.gz
/usr/share/man/man1/linode-linode.1.gz
/usr/share/man/man1/linode-stackscript.1.gz
/usr/share/man/man1/linode.1.gz
/usr/share/man/man1/linode-account.1.gz
/usr/share/man/man1/linode-nodebalancer.1.gz
i dont want to used multi-arch !
linode image-list
failing. linode-cli v1.4.6 yosemite. curl works.
$ LINODE_API_KEY=... linode image-list --json
Can't call image_list at /usr/local/Cellar/linode-cli/1.4.6/lib/perl5/site_perl/Linode/CLI/Object/Linode.pm line 1093.
{
"Generic error" : {
"request_action" : "",
"request_error" : "Problem while trying to run 'linode image-list'"
}
}
Current:
$ linode domain record-list --label example.com
Domain records for example.com
+ -------- + ------------------------ + -------------------------------- + -------- +
| type | name | target | port |
| -------- + ------------------------ + -------------------------------- + -------- |
| A | | 1.2.3.4 | 80 |
| A | www | 1.2.3.4 | 80 |
| CNAME | bar | 1.3.5.7 | 80 |
| CNAME | baz | 2.4.6.8 | 80 |
+ -------- + ------------------------ + -------------------------------- + -------- +
Suggestion:
$ linode domain record-list --label example.com
Domain records for example.com
+ -------- + ------------------------ + -------------------------------- + -------- + -------- +
| type | name | target | port | ttl |
| -------- + ------------------------ + -------------------------------- + -------- + -------- +
| A | | 1.2.3.4 | 80 | 1800 |
| A | www | 1.2.3.4 | 80 | 1800 |
| CNAME | bar | 1.3.5.7 | 80 | 300 |
| CNAME | baz | 2.4.6.8 | 80 | 3600 |
+ -------- + ------------------------ + -------------------------------- + -------- + -------- +
Im a Debian testing user for arch 386 and theres no package:
sudo bash -c 'echo "deb http://apt.linode.com/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/linode.list'
[sudo] password for acald3ron:
acald3ron@stark:~$ wget -O- https://apt.linode.com/linode.gpg | sudo apt-key add -
--2015-06-20 13:31:02-- https://apt.linode.com/linode.gpg
Resolving apt.linode.com (apt.linode.com)... 97.107.139.216, 2600:3c03::f03c:91ff:fe70:738c
Connecting to apt.linode.com (apt.linode.com)|97.107.139.216|:443... connected.
GnuTLS: A TLS warning alert has been received.
GnuTLS: received alert [112]: The server name sent was not recognized
HTTP request sent, awaiting response... 200 OK
Length: 1133 (1.1K)
Saving to: ‘STDOUT’
100%[==========================>] 1.11K --.-KB/s in 0s
2015-06-20 13:31:03 (4.77 MB/s) - written to stdout [1133/1133]
OK
acald3ron@stark:~$ sudo apt-get update
Ign http://dl.google.com stable InRelease
Ign http://apt.linode.com stretch InRelease
Hit http://dl.google.com stable Release.gpg
Hit http://security.debian.org testing/updates InRelease
Hit http://dl.google.com stable Release
Ign http://apt.linode.com stretch Release.gpg
Hit http://mirrors.linode.com testing InRelease
Ign http://apt.linode.com stretch Release
Hit http://security.debian.org testing/updates/main Sources
Hit http://dl.google.com stable/main i386 Packages
Hit http://security.debian.org testing/updates/main i386 Packages
Get:1 http://mirrors.linode.com testing/main Sources/DiffIndex [7,876 B]
Hit http://security.debian.org testing/updates/main Translation-en
Get:2 http://mirrors.linode.com testing/contrib Sources/DiffIndex [3,541 B]
Get:3 http://mirrors.linode.com testing/non-free Sources/DiffIndex [3,541 B]
Get:4 http://mirrors.linode.com testing/main i386 Packages/DiffIndex [7,876 B]
Get:5 http://mirrors.linode.com testing/contrib i386 Packages/DiffIndex [4,645 B]
Get:6 http://mirrors.linode.com testing/non-free i386 Packages/DiffIndex [3,541 B]
Get:7 http://mirrors.linode.com testing/contrib Translation-en/DiffIndex [2,161 B]
Get:8 http://mirrors.linode.com testing/main Translation-en/DiffIndex [7,876 B]
Get:9 http://mirrors.linode.com testing/non-free Translation-en/DiffIndex [2,023 B]
Ign http://dl.google.com stable/main Translation-en_US
Ign http://dl.google.com stable/main Translation-en
Err http://apt.linode.com stretch/main i386 Packages
404 Not Found [IP: 97.107.139.216 80]
Ign http://apt.linode.com stretch/main Translation-en_US
Ign http://apt.linode.com stretch/main Translation-en
Fetched 43.1 kB in 7s (5,446 B/s)
W: Failed to fetch http://apt.linode.com/dists/stretch/main/binary-i386/Packages 404 Not Found [IP: 97.107.139.216 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
It appears that the configure step fails when your password has special characters in it.
For example there are ! @ { } . - as well as mixed alphanumeric in my password and pasting it into the CLI at the prompt just results in "Invalid password for username".
Unless this has to do with two-factor auth, but I assumed it would prompt me for my two-factor key after entering the password?
Linode Cli is it possible to get linode created date ?
linode -o linode -a show -l label-1
Hi -
I've tried the following:
linode domain record-create -l example.com -t MX -R example.mail.protection.outlook.com. -P 0
linode domain record-create -l example.com -t MX -R example.mail.protection.outlook.com. -P '0'
linode domain record-create -l example.com -t MX -R example.mail.protection.outlook.com. -P "0"
linode domain record-create -l example.com -t MX -R example.mail.protection.outlook.com. --priority 0
All result in the default priority level of 10 being set.
Not really a big deal as usually setting a priority level of 1 instead of 0 will suffice.
But it's possible to set it to zero in the GUI so I thought I would bring it up here.
I'm trying to create a Linode like this:
linode create --distribution="Ubuntu 12.04 LTS" \
--location="Fremont" --label="..." \
--password="..." --plan="linode2048" \
--group="..." --api-key="..."
Everything goes well, but when I ssh into the machine, it reports itself as being Ubuntu 10.04.2 LTS
. Not sure what could be going wrong?
On a (possibly) related note, I couldn't get the configuration tool (linode configure
) to accept Ubuntu 13.10
as a valid configuration, neither using the written-out name nor the number shown in the configuration tool.
Path to an SSH public key to install when deploying a new Linode. (Optional)
>> /homem^H/^H^H^H
That's just annoying :(
I installed linode-cli through homebrew on OSX Mavericks. When I run linode
command I give an error like that:
dyld: lazy symbol binding failed: Symbol not found: _Perl_xs_apiversion_bootcheck
Referenced from: /usr/local/Cellar/linode-cli/1.0.0/libexec/lib/perl5/darwin-thread-multi-2level/auto/List/Util/Util.bundle
Expected in: flat namespace
dyld: Symbol not found: _Perl_xs_apiversion_bootcheck
Referenced from: /usr/local/Cellar/linode-cli/1.0.0/libexec/lib/perl5/darwin-thread-multi-2level/auto/List/Util/Util.bundle
Expected in: flat namespace
Trace/BPT trap: 5
The code has an if condition that excludes it if stackscript is use, whats the reason for that?
Seems like CPAN has stopped storing this version of Scalar-List-Utils; .42, .43 and .44 are the only ones listed in the cpan repo.
==> Downloading http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.41.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
Error: Failed to download resource "linode-cli--Scalar::List::Utils"
Download failed: http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.41.tar.gz
Tried to install on OS X with: brew tap linode/cli && brew install linode-cli
got error:
Error: Failed to download resource "linode-cli--HTML::Parser"
Download failed: http://www.cpan.org/authors/id/G/GA/GAAS/HTML-Parser-3.71.tar.gz
Trying to delete a configuration fails:
$ linode nodebalancer config-delete --label=staging --port="80"
Missing required argument nodebalancerid for nodebalancer_config_delete at /usr/local/Cellar/linode-cli/1.3.2/lib/perl5/site_perl/Linode/CLI/Object/Nodebalancer.pm line 700.
Unable to delete NodeBalancer config staging 80
However, showing the same configuration works as expected:
$ linode nodebalancer config-show --label=staging --port="80"
port: 80
protocol: tcp
algorithm: roundrobin
stickiness: none
check-health: connection
check-interval: 5
check-timeout: 3
check-attempts: 2
check-path: /
check-body:
Version:
$ linode --version
linode-cli 1.3.2
Copyright (C) 2014 Linode, LLC
The following command:
# linode-domain -a record-create -l DOMAIN.COM -t MX -n test03.DOMAIN.COM -R aspmx.l.google.com -T 86400 -P 111
gives the error
Unable to create Domain Record DOMAIN.COM MX. API Error 500: Something wasn't handled well. Logged.
If I change the -P value to 0 the command works. Every other value I've tried fails.
My current workaround is to create the record and then immediately do a record-update with the correct value, which works.
I'm no PERL expert but will see if I can find something obvious in the code and report back here if I do.
Jason
I created a vm with CentOS 7 system, but a CentOS 6 was installed actually.
linode linode create -l xxx -L xxx -d 'CentOS 7' -p 'Linode 1024' -K ~/.ssh/id_rsa.pub -P xxx
Hello,
I am not seeing here linode.kvmify() method, which is already available. Could you please add it. Thank you.
It appears that there isn't many options to create and manage disks as stated in the API documentation. https://www.linode.com/api/linode
Hi,
I've create script that updates an A record with a dynamic IP, however I've noticed that linode domain record-update
doesn't seem update the record. I've resorted to delete the A entry and creating a new one. Which works, but it's obviously not the best way of going about things.
Here is my script as it currently is (Delete then Create):
#!/bin/bash -e
if [ -z "$1" ]; then
echo "ARG1 Missing: Please provide a sub domain entry. E.g. dev-www";
exit 1;
fi
SUB=$1
DOMAIN="domain-goes-here.com"
PUBLIC_IP=$(curl --silent icanhazip.com)
echo "Proceeding to remove "$SUB"."$DOMAIN
linode domain record-delete $DOMAIN A $SUB
echo "Proceeding to create "$SUB"."$DOMAIN" as "$PUBLIC_IP
linode domain record-create $DOMAIN A $SUB $PUBLIC_IP --ttl 5
exit;
Here is my script as I want it (Update):
#!/bin/bash -e
if [ -z "$1" ]; then
echo "ARG1 Missing: Please provide a sub domain entry. E.g. dev-www";
exit 1;
fi
SUB=$1
DOMAIN="domain-goes-here.com"
PUBLIC_IP=$(curl --silent icanhazip.com)
echo "Proceeding to update "$SUB"."$DOMAIN" to "$PUBLIC_IP
linode domain record-update $DOMAIN A $SUB $PUBLIC_IP --ttl 5
exit;
The second script returns that the A record as been updated, but when I check on DNS Manager on Linone's web UI, it's not updated.
Could someone check if they are getting the same results?
Thanks,
Matan
I follow the instructions from the website: https://www.linode.com/docs/platform/linode-cli
for ubuntu/debian
i got this error:
~$ sudo apt-get update
Get:1 http://mirrors.linode.com/debian testing InRelease [175 kB]
Hit:2 http://security.debian.org/debian-security testing/updates InRelease
Get:3 http://apt.linode.com stable InRelease [3,223 B]
Ign:3 http://apt.linode.com stable InRelease
Get:4 http://apt.linode.com stable/main i386 Packages [759 B]
Fetched 179 kB in 2s (84.4 kB/s)
Reading package lists... Done
W: GPG error: http://apt.linode.com stable InRelease: The following signatures were invalid: D12F8D2C47B4A16917C9A040BED67E64325A043E
W: The repository 'http://apt.linode.com stable InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Hi there.
I'd like to automate deployments of new linodes using the API / CLI, but I want to keep an eye on the actual pending charges, as I'm not using the "credit" system/feature.
As far as I can see, it is impossible to use the API to get the value of Uninvoiced Balance. Please add this value field to the API.
Cheers.
Allow the API key to be passed in via an environment variable(LINODE_API_KEY) in addition to the existing methods. Allows you to keep it off the filesystem and out of ps aux
output.
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.