Alex Crawford
9ba25550a1
datasource: use opaque object instead of string
...
Rather than serializing the network config into a string and then later
deserializing it, just pass the object through directly.
2015-08-24 09:03:29 -07:00
Alex Crawford
81ffa056bd
log: use log.Print instead of fmt.Print
2015-08-23 19:30:03 -07:00
Sam Tresler
837d3d3622
datasource: add packethost metadata
2015-07-10 15:13:57 -04:00
Kiril Vladimirov
be53013431
fix(datasource/CloudSigma): Add a test for an empty ssh key
2015-02-22 05:38:57 +02:00
Kiril Vladimirov
c30fc51b03
fix(datasource/CloudSigma): Make sure public ssh key is not empty
...
Even when public ssh key is not set by the user, CloudSigma's server
context has a key `meta.ssh_public_key` which is just an empty string.
So instead of just relying on the "comma ok" idiom I make sure the value
is not an empty string.
2015-02-21 19:31:01 +02:00
Alex Crawford
987aa21883
configdrive: check the network config path
...
Check to make sure that a network config path has been specified before
trying to read from it. Otherwise, it will end up trying to read a
directory.
2015-02-17 13:27:30 -08:00
Alex Crawford
47ac4f6931
test: add directory support to MockFilesystem
2015-02-17 13:27:30 -08:00
Alex Crawford
477053ffde
configdrive: check metadata length before parsing
...
This was lost in some of the recent refactoring.
2015-02-13 10:20:08 -08:00
Alex Crawford
9605b5edf2
datasource: remove FetchNetworkConfig step
...
Its easier to let each datasource grab all metadata in the FetchMetadata
stage than to break it into multiple stages.
2015-01-26 16:08:26 -08:00
Alex Crawford
3e47c09b41
datasource: replace metadata map with struct
...
The loosely-typed metadata map is a load of crap. Make it a struct and
let the compiler help us out.
2015-01-26 15:57:57 -08:00
Alex Crawford
be62a1df66
test: DRY out MockFilesystem
2015-01-26 15:57:51 -08:00
Jonathan Boulle
c093e44049
Merge pull request #305 from jonboulle/copyright
...
*: switch to line comments for copyright
2015-01-25 10:28:52 -08:00
Jonathan Boulle
be68a8e5cc
*: switch to line comments for copyright
...
Build tags are not compatible with block comments. Also adds copyright
header to a few places it was missing.
2015-01-24 19:32:33 -08:00
Kevin Yung
13e4b77130
ec2: allow spaces seperated hostname in metadata
...
AWS hostname metadata will return space seperated hostname and domain
names when DHCPOptionSet is using multiple domain names. This patch will
cater for this scenario.
2015-01-05 16:01:57 +11:00
Alex Crawford
d0d467813d
Merge pull request #251 from Vladimiroff/master
...
metadata: Populate CloudSigma's IPs properly
2014-12-01 14:52:11 -08:00
Kiril Vladimirov
ea95920f31
fix(datasource/CloudSigma): Make sure DHCP has run
2014-11-17 15:35:10 +02:00
Alex Crawford
8be307de49
*: fix warnings from go vet
2014-10-23 11:46:08 -07:00
Kiril Vladimirov
b6062f0644
fix(datasource/CloudSigma): Populate local IPv4 address properly
2014-10-23 15:03:23 +03:00
Kiril Vladimirov
c5fada6e69
fix(datasource/CloudSigma): Populate public IPv4 address properly
2014-10-23 13:21:49 +03:00
Jonathan Boulle
44f0a949c5
*: switch to Godeps
2014-10-20 12:04:03 -07:00
Jonathan Boulle
6c1ba590aa
*: add license header to all source files
2014-10-17 15:36:22 -07:00
Alex Crawford
84e1cb3242
datasource/waagent: add support for WAAgent metadata
2014-10-11 09:19:47 -07:00
Janne Paenkaelae
2f954dcdc2
AWS: Eucalyptus 4.x compatibility fix
...
For Eucalyptus 4.0.1 requesting metadata seem to work differently as with EC2.
In Euca:
> curl http://169.254.169.254/2009-04-04
<?xml version="1.0"?><Response><Errors><Error><Code>404 Not Found</Code><Message>unknown</Message></Error></Errors><RequestID>unknown</RequestID></Response>core@localhost ~ $
> curl http://169.254.169.254/2009-04-04/
dynamic
meta-data
user-data
In AWS EC2
> curl http://169.254.169.254/2009-04-04
"" (zero bytes)
> curl http://169.254.169.254/2009-04-04/
dynamic
meta-data
user-data
As the isAvailable() function in metadata.go tests only for errorcode
it fails in Euca.
2014-09-24 20:33:29 +03:00
Alex Crawford
a0fe6d0884
configdrive: return an empty network config when filename is empty
...
Additionally, don't bother checking for a network config if it isn't going to
be processed.
2014-09-13 21:51:51 -07:00
Alex Crawford
3abd6b2225
digitalocean: Add DigitalOcean metadata service
...
Move debian-related processing into its own file.
2014-09-01 16:53:15 -07:00
Alex Crawford
604ef7ecb4
datasource: Add FetchNetworkConfig
...
FetchNetworkConfig is currently only used by ConfigDrive to read the
network config file from the disk.
2014-08-26 13:04:43 -07:00
Alex Crawford
a923161f4a
metadata: Refactor common parts out of ec2
2014-08-26 12:02:56 -07:00
Alex Crawford
45c20c1dd3
Merge pull request #196 from Vladimiroff/cloudsigma
...
cloudsigma: Add support for CloudSigma datasource
2014-08-15 15:21:33 -07:00
Alex Crawford
f0b9eaf2fe
configdrive: Remove broken support for ec2 metadata
...
As it turns out, certain metadata is only present in the ec2 flavor
of metadata (e.g. public_ipv4) and other data is only present in
the openstack flavor (e.g. network_config). For now, just read the
openstack metadata.
2014-08-15 10:35:21 -07:00
Kiril Vladimirov
7320a2cbf2
feat(datasource/metadata): Add datasource for CloudSigma
2014-08-15 12:08:55 +03:00
Alex Crawford
1cf275bad6
Merge pull request #201 from crawford/configdrive
...
configdrive: fix root path
2014-08-11 20:11:17 -07:00
Alex Crawford
d143904aa9
configdrive: fix root path
2014-08-11 17:57:10 -07:00
Alex Crawford
6b8f82b5d3
datasource: Fix ec2 URLs
...
_ vs -
2014-08-06 21:31:43 -07:00
Alex Crawford
d68ae84b37
metadata: Refactor metadata service into ec2 metadata
...
Added more testing.
2014-08-05 17:19:43 -07:00
Alex Crawford
8566a2c118
datasource: Move datasources into their own packages.
2014-08-04 15:10:07 -07:00
Alex Crawford
4eedca26e9
configdrive: Use the EC2 metadata over OpenStack
...
Standardize on specific EC2 and OpenStack versions and add tests.
2014-08-04 10:18:29 -07:00
Alex Crawford
47748ef4b6
metadata-service: remove check for OpenStack meta_data.json
...
The meta_data.json blob under OpenStack doesn't actually contain all
of the metadata... Fall back to explicitly requesting each attribute.
2014-07-02 14:38:23 -07:00
Alex Crawford
ce6fccfb3c
metadata-service: Handle no user-data
2014-07-01 16:10:18 -07:00
Alex Crawford
276f0b5d99
metadata: Fetch the public and private IP addresses
2014-07-01 14:43:19 -07:00
Alex Crawford
7fcc540154
metadata-service: fix ssh key retrieval and application
...
The metadata service wasn't properly fetching the ssh keys from metadata.
Drop the key traversal in favor of explict key urls.
2014-06-30 17:45:08 -07:00
Alex Crawford
c089216cb5
datasources: Add support for specifying multiple datasources
...
If multiple sources are specified, the first available source is used.
2014-06-26 22:32:39 -07:00
Alex Crawford
68dc902ed1
HttpClient: Refactor timeout into two seperate functions
2014-06-26 15:16:22 -07:00
Alex Crawford
fae81c78f3
metadataService: Check both ec2 and openstack urls more explicitly
...
Remove the root url parameter for -from-metadata-service since this
is a guarenteed value. Additionally, check for both ec2 and openstack
urls for the metadata and userdata. Fix a bug with the -from-url
option and a panic on an empty response.
2014-06-25 11:19:11 -07:00
Jonathan Boulle
ded3bcf122
metadata: add links to metadata source information
2014-06-24 19:26:07 -07:00
Alex Crawford
465bcce72c
metadata_service: Add tests for constructing metadata
2014-06-24 15:08:03 -07:00
Alex Crawford
361edeebc6
metadata-service: Add metadata-service datasource
...
Move the old metadata-service datasource to url datasource. This new datasource
checks for the existance of meta-data.json and if it doesn't exist, walks the
meta-data directory to build a metadata blob.
2014-06-24 15:08:03 -07:00
Alex Crawford
840c208b60
feat(metadata): Distinguish between userdata and metadata for datasources
2014-06-18 12:34:31 -07:00
Alex Crawford
29ed6b38bd
refactor(env): Add the config root and netconf type to datasource and env
2014-06-18 12:27:15 -07:00
Alex Crawford
a4035cffea
feat(config-drive): Add support for reading user-data from config-drive
...
The -config-drive flag tells cloudinit to read the user-data from
within the config-drive (./openstack/latest/user-data).
2014-06-02 14:58:57 -07:00
Brandon Philips
1a295f65c7
Merge pull request #123 from c4milo/shared-http-client
...
feat(util/http_client): Adds generic HTTP client
2014-05-22 14:37:32 -07:00