It would be great if this could be generated as dynamic ansible inventory. We do this with the output of the node creation. This way it becomes very easy to use ansible to do any follow on tasks once you have the resources. On Wed, May 18, 2016 at 1:04 PM, Clint Savage <herlo at redhat.com> wrote: > I like this concept. I wonder if the base64 encoding is really necessary. > > Here's what our internal tool reads. I would love to see something that > could work in both environments with very little adjustment. > > This example uses openstack, thus the 'user-data-files' is unnecessary, > and the main resources might look different also. > > { > "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, > > herlo > > On Wed, May 18, 2016 at 10:40 AM, Colin Walters <walters at 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 at centos.org >> https://lists.centos.org/mailman/listinfo/ci-users >> > > > _______________________________________________ > Ci-users mailing list > Ci-users at centos.org > https://lists.centos.org/mailman/listinfo/ci-users > > -- -== @ri ==- -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/ci-users/attachments/20160518/c1de0f04/attachment-0005.html>