I like this concept. I wonder if the base64 encoding is really necessary.This example uses openstack, thus the 'user-data-files' is unnecessary, and the main resources might look different also.
Here's what our internal tool reads. I would love to see something that could work in both environments with very little adjustment.
{
"resources": [
{
"name": "openshift-node1",
"count": "1",
"flavor": "m1.medium",
"image": "rhel-guest-image-7.1-20150224.0.x86_64",
"metadata": {
"product_type": "openshift",
"deployment_type": "openshift-enterprise",
"ansible_sudo": "false",
"ansible_ssh_user": "root",
"openshift_override_hostname_check": "true",
"openshift_node_labels": "{'region': 'primary', 'zone': 'east'}",
"openshift_hostname": "__IP__",
"openshift_public_hostname": "__IP__",
"openshift_set_hostname": "true",
"openshift_docker_additional_registries": "my.dockerregistry.com:8888",
"openshift_docker_insecure_registries": "my.dockerregistry.com:8888",
"ansible-group": ["nodes", "OSEv3"]
}
},
{
"name": "openshift-node2",
"count": "1",
"flavor": "m1.medium",
"image": "rhel-guest-image-7.1-20150224.0.x86_64",
"metadata": {
"product_type": "openshift",
"deployment_type": "openshift-enterprise",
"ansible_sudo": "false",
"ansible_ssh_user": "root",
"openshift_override_hostname_check": "true",
"openshift_node_labels": "{'region': 'primary', 'zone': 'west'}",
"openshift_hostname": "__IP__",
"openshift_public_hostname": "__IP__",
"openshift_set_hostname": "true",
"openshift_docker_additional_registries": "my.dockerregistry.com:8888",
"openshift_docker_insecure_registries": "my.dockerregistry.com:8888",
"ansible-group": ["nodes", "OSEv3", "repo_host"]
}
},
{
"name": "openshift-master",
"count": "1",
"flavor": "m1.large",
"image": "rhel-guest-image-7.1-20150224.0.x86_64",
"metadata": {
"product_type": "openshift",
"deployment_type": "openshift-enterprise",
"ansible_sudo": "false",
"ansible_ssh_user": "root",
"openshift_override_hostname_check": "true",
"openshift_node_labels": "{'region': 'infra', 'zone': 'default'}",
"openshift_hostname": "__IP__",
"openshift_public_hostname": "__IP__",
"openshift_set_hostname": "true",
"openshift_docker_additional_registries": "my.dockerregistry.com:8888",
"openshift_docker_insecure_registries": "my.dockerregistry.com:8888",
"ansible-group": ["masters", "nodes", "OSEv3"]
}
}
]
}Cheers,herloOn Wed, May 18, 2016 at 10:40 AM, Colin Walters <walters@verbum.org> wrote:1) Public source code
2) Arbitrary metadata (could be JSON or just a blob) like /Node/get/?key=blah&metadata=<base64 encoded json>
Then a new /InventoryExt verb that returns JSON like:
[
{ "name": "n49.pufty", "ssid": "abcde", "metadata": "<base64 encoded json>" },
{ "name": "a29.pufty", "ssid": "abcde", "metadata": "<base64 encoded json>" }
]
3) Also add a new option to /get/ named "longpoll" which means the machine is automatically deallocated when the requester's TCP connection closes. This would help ensure that e.g. cancelling the job or a Jenkins restart etc. automatically deallocated the machine
_______________________________________________
Ci-users mailing list
Ci-users@centos.org
https://lists.centos.org/mailman/listinfo/ci-users
_______________________________________________
Ci-users mailing list
Ci-users@centos.org
https://lists.centos.org/mailman/listinfo/ci-users