Skip to content

Instantly share code, notes, and snippets.

@mcallaway
Created March 29, 2016 15:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mcallaway/f9aa9bd9bd34af48d505 to your computer and use it in GitHub Desktop.
Save mcallaway/f9aa9bd9bd34af48d505 to your computer and use it in GitHub Desktop.
heat_template_version: 2013-05-23
resources:
server_port:
type: OS::Neutron::Port
properties:
network: "development"
fixed_ips:
- subnet: "development-subnet"
floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network: "external"
port_id: { get_resource: server_port }
server_cluster:
type: OS::Heat::ResourceGroup
properties:
count: 1
resource_def:
type: OS::Nova::Server
properties:
# Add name and this works. Without name, a name is
# auto-generated, and user-data does not apply.
#name: "coreos-server-%index%"
flavor: "m1.small"
#image: "CoreOS-835.9.0"
#image: "cirros-0.3.4-x86_64"
# Use a snapshot with root's password set
image: "coreos-snapshot"
key_name: "csa-ostack"
config_drive: true
networks:
- port: { get_resource: server_port }
user_data_format: RAW
user_data: |
#cloud-config
users:
- name: "root"
passwd: "$1$1ZVygQax$gVKfLFBHHxoh63PMFM5kP/"
@mcallaway
Copy link
Author

coreos-server-0 ~ # journalctl -b -u oem-cloudinit.service --no-pager
-- Logs begin at Tue 2016-03-29 14:27:36 UTC, end at Tue 2016-03-29 15:03:44 UTC. --
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu systemd[1]: Stopped Cloudinit from EC2-style metadata.
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu systemd[1]: Starting Cloudinit from EC2-style metadata...
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Checking availability of "cloud-drive"
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Checking availability of "ec2-metadata-service"
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Fetching user-data from datasource of type "cloud-drive"
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Attempting to read from "/media/configdrive/openstack/latest/user_data"
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Fetching meta-data from datasource of type "cloud-drive"
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Attempting to read from "/media/configdrive/openstack/latest/meta_data.json"
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Parsing user-data as cloud-config
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Merging cloud-config from meta-data and user-data
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu coreos-cloudinit[687]: 2016/03/29 15:00:31 Failed to apply cloud-config: exit status 1
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu systemd[1]: oem-cloudinit.service: Main process exited, code=exited, status=1/FAILURE
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu systemd[1]: Failed to start Cloudinit from EC2-style metadata.
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu systemd[1]: oem-cloudinit.service: Unit entered failed state.
Mar 29 15:00:31 coreos-server-0.gsc.wustl.edu systemd[1]: oem-cloudinit.service: Failed with result 'exit-code'.

@mcallaway
Copy link
Author

coreos-server-0 latest # pwd
/media/configdrive/openstack/latest
coreos-server-0 latest # ls
meta_data.json user_data vendor_data.json

@mcallaway
Copy link
Author

coreos-server-0 latest # cat meta_data.json
{"admin_pass": "r8cY3FQRE8Mh", "random_seed": "bGqfiOk6l+URnN6L4VxvIXy/EGRF5yGHvBxo2etChNP6s7+EwrLUzNwAYzr14AdboIoDYZoNKSRiw4P5rlJNAJP+HEWfnL+ILuPuWy9srWUWvnvVn+8gQyCaM+GC23aCOOhoAb/TtbkOtqsVpTfg5mRukbk6syw1dNiBPLeDil8oZpk4iTzIL/fuwf594RTn0ce2d24Koh/qQTAFvYWnDfy7KbBPJ0EgKM2NtsHd2mieotllssUEOkUC0CiZ8Yo49bXzvr4Bz1y4H+c5x1YQiYdWv32VPki6pyTfdMMIl2fNZyxG3zNVeyuOuS8eqeG+4qApTsAchgmDMO1LMxoLWhbezovY+QtzNz7g3WbcnU01dlNojpT5Ev8WZKRkgbmRdRTMgWMFUsh/OsQXT7ji+HzWrFtU/m52mms6ZlqAHNcjju8blkzRKgcp08nu41XwvOThFBywiyGtGzNUz6AMw8423gUd+ItodXWvBzZKp4fT+4gFJYBTHDcd7xMb4EdvZUx9QezdOWZ+MIFvt5fnvXCkwsie3INfcWnj3DJdztHn2GMGGFUPrAx9uBuNXazgw4nVhrQmZfz6IN4uH99aTBgNWZ17H/2vLuhwHCdrOfsVxV1gfshBbRvShpsDf4aE7m+M+FAui3dPuR1+9LZRFmagwoZfyKrMZ8Y9FxTtY3w=", "uuid": "6dd43939-740b-405f-b89d-20630cc33ca3", "availability_zone": "nova", "keys": [{"data": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkFePmHvE1Olb99Jd/IwxyQTZTeJoDK5xxdy+JfqgkzcEasvUJyM8kEtO+zw0wdufd3SPylRQa1GmFf1ys95PHlKD9hm2zKB2U/Q55NyVwh5gy+j02NWOJsQUtR+2vCQfyoKhp/+FtNlEnznf3dh7JxWvvcHpudbVhcLAEmSZYKS96CFpRUyeF3uK6X7tkJYVlVbH9hlStvjtHvxXriBLgdhvjb+q8UyOEhB7h3NC55DM5f39MfE3ssV9Y1B5z9a7OMdjn4Q7L6xl/B0mAmW8gMY489DBJPHES1KcxpvLdY9Pm+zj1Mi1QOp2ncRvDpAn+3Y3g2dzdjE4JrIoAhSE3 mcallawa@mcallaway.macbook\n", "type": "ssh", "name": "csa-ostack"}], "hostname": "mc-r-stack-server-cluster-2fnmsxt4aehl-0-qpyiigbbs2z5.gsc.wustl.edu", "launch_index": 0, "public_keys": {"csa-ostack": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkFePmHvE1Olb99Jd/IwxyQTZTeJoDK5xxdy+JfqgkzcEasvUJyM8kEtO+zw0wdufd3SPylRQa1GmFf1ys95PHlKD9hm2zKB2U/Q55NyVwh5gy+j02NWOJsQUtR+2vCQfyoKhp/+FtNlEnznf3dh7JxWvvcHpudbVhcLAEmSZYKS96CFpRUyeF3uK6X7tkJYVlVbH9hlStvjtHvxXriBLgdhvjb+q8UyOEhB7h3NC55DM5f39MfE3ssV9Y1B5z9a7OMdjn4Q7L6xl/B0mAmW8gMY489DBJPHES1KcxpvLdY9Pm+zj1Mi1QOp2ncRvDpAn+3Y3g2dzdjE4JrIoAhSE3 mcallawa@mcallaway.macbook\n"}, "name": "mc-r-stack-server_cluster-2fnmsxt4aehl-0-qpyiigbbs2z5"}coreos-server-0 latest #

@mcallaway
Copy link
Author

coreos-server-0 ~ # journalctl -b -u oem-cloudinit.service --no-pager
-- Logs begin at Tue 2016-03-29 14:27:36 UTC, end at Tue 2016-03-29 15:22:03 UTC. --
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu systemd[1]: Stopped Cloudinit from EC2-style metadata.
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu systemd[1]: Starting Cloudinit from EC2-style metadata...
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Checking availability of "cloud-drive"
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Checking availability of "ec2-metadata-service"
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Checking availability of "cloud-drive"
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Checking availability of "cloud-drive"
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching user-data from datasource of type "ec2-metadata-service"
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching data from http://169.254.169.254/2009-04-04/user-data. Attempt #1
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching meta-data from datasource of type "ec2-metadata-service"
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching data from http://169.254.169.254/2009-04-04/meta-data/public-keys. Attempt #1
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching data from http://169.254.169.254/2009-04-04/meta-data/public-keys/0/openssh-key. Attempt #1
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Found SSH key for "csa-ostack"
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching data from http://169.254.169.254/2009-04-04/meta-data/hostname. Attempt #1
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching data from http://169.254.169.254/2009-04-04/meta-data/local-ipv4. Attempt #1
Mar 29 15:19:16 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:16 Fetching data from http://169.254.169.254/2009-04-04/meta-data/public-ipv4. Attempt #1
Mar 29 15:19:17 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:17 Parsing user-data as cloud-config
Mar 29 15:19:17 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:17 Merging cloud-config from meta-data and user-data
Mar 29 15:19:17 coreos-server-0.gsc.wustl.edu coreos-cloudinit[688]: 2016/03/29 15:19:17 Failed to apply cloud-config: exit status 1
Mar 29 15:19:17 coreos-server-0.gsc.wustl.edu systemd[1]: oem-cloudinit.service: Main process exited, code=exited, status=1/FAILURE
Mar 29 15:19:17 coreos-server-0.gsc.wustl.edu systemd[1]: Failed to start Cloudinit from EC2-style metadata.
Mar 29 15:19:17 coreos-server-0.gsc.wustl.edu systemd[1]: oem-cloudinit.service: Unit entered failed state.
Mar 29 15:19:17 coreos-server-0.gsc.wustl.edu systemd[1]: oem-cloudinit.service: Failed with result 'exit-code'.

@mcallaway
Copy link
Author

Turns out the problem was Openstack Heat hard-coding 53 character hostnames, which when added to my domain, results in a hostname greater than 64 characters, which fails.

@mcallaway
Copy link
Author

Filed this:

https://bugs.launchpad.net/heat/+bug/1563402

Workaround for my case:

diff --git a/heat/engine/resources/openstack/nova/server.py b/heat/engine/resources/openstack/nova/server.py
index 6a1473b..6264b34 100644
--- a/heat/engine/resources/openstack/nova/server.py
+++ b/heat/engine/resources/openstack/nova/server.py
@@ -560,7 +560,7 @@ class Server(stack_user.StackUser, sh.SchedulerHintsMixin,

     # Server host name limit to 53 characters by due to typical default
     # linux HOST_NAME_MAX of 64, minus the .novalocal appended to the name
-    physical_resource_name_limit = 53
+    physical_resource_name_limit = 50

     default_client_name = 'nova'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment