rancher / os

Tiny Linux distro that runs the entire OS as Docker containers
https://rancher.com/docs/os/v1.x/en/
Apache License 2.0
6.44k stars 657 forks source link

RancherOS can't fetch metadata from OpenStack's Metadata Agent #2124

Open takaishi opened 7 years ago

takaishi commented 7 years ago

Hello, I want use RancherOS with OpenStack. RancherOS can't fetch metadata and userdata from Metadata Agent(http://169.254.169.254) now. If we create server with parameter "ConfigDrive=False", server can't fetch metadata and userdata. Because, Cloudinit in RancherOS support configdrive, but not support openstack metadata agent.

Thanks,

RancherOS Version: (ros os version)

v1.1.0

Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)

OpenStack

SimonHeimberg commented 4 years ago

Is this still true? Is OpenStack's Metadata Agent not supported?

In the official doc (https://rancher.com/docs/os/v1.x/en/installation/cloud/openstack/), support is not mentioned. But in https://github.com/rancher/os/blob/e2ed976/config/cloudinit/Documentation/cloud-config-locations.md it looks like many locations for cloud-config are supported. But I do not understand if this is valid for RacherOS (because CoreOS is mentioned). And which locations are used on what conditions? (Can I always use kernel parameters? Could I use this in case Metadata Agent is not supported?)

kayrus commented 4 years ago

@SimonHeimberg doc is a pure copy of the coreos cloudinit doc: https://github.com/coreos/coreos-cloudinit/blob/master/Documentation/cloud-config-locations.md rancher cloudinit implementation doesn't detect openstack env at all:

$ find ./config/cloudinit/datasource/metadata -type f | grep -v _test
./config/cloudinit/datasource/metadata/packet/metadata.go
./config/cloudinit/datasource/metadata/exoscale/metadata.go
./config/cloudinit/datasource/metadata/digitalocean/metadata.go
./config/cloudinit/datasource/metadata/test/test.go
./config/cloudinit/datasource/metadata/aliyun/metadata.go
./config/cloudinit/datasource/metadata/azure/metadata.go
./config/cloudinit/datasource/metadata/cloudstack/metadata.go
./config/cloudinit/datasource/metadata/ec2/metadata.go
./config/cloudinit/datasource/metadata/metadata.go
./config/cloudinit/datasource/metadata/gce/metadata.go