summaryrefslogtreecommitdiffstats
path: root/playbooks/provisioning
Commit message (Collapse)AuthorAgeFilesLines
* Generate static inventory with shade inventory (#538)Bogdan Dobrelya2017-07-208-1028/+43
| | | | | | | | | | | | | | * Autogenerate inventory/hosts when 'inventory: static' (Default), with the shade-inventory tool. * Drop unused anymore: openstack.py and associated GPL notes, an example static inventory, omit manual updates for the inventory DNS names in the deployment guide. * Switch openstack.py formatted inventory hostvars to the shade-inventory format (omit openstack.* from hostvars). * Populate node labels from inventory vars instead of the heat templates combined with inventory vars. * Add app (k8s minions) nodes group for primary node labels. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Merge pull request #560 from Tlacenka/openstackrepoBogdan Dobrelya2017-07-201-0/+6
|\ | | | | Added prerequisity for python-openstackclient installation
| * README: fixKaterina Pilatova2017-07-191-1/+0
| |
| * README: typoKaterina Pilatova2017-07-181-1/+1
| |
| * dependencies: python-heatclient and python-openstackclient added to optional ↵Katerina Pilatova2017-07-181-0/+6
| | | | | | | | dependencies
| * README: added prerequisity for a repository needed for ↵Katerina Pilatova2017-07-181-0/+1
| | | | | | | | python-openstackclient installation
* | Set ansible_become for the OSEv3 groupTomas Sedovic2017-07-192-1/+5
|/ | | | | | | | | | Because openshift-ansible requires root on the cluster nodes, but it doesn't explicitly set it in the playbooks (like we do), let's set it in our inventory instead of requiring to pass `--become` to `ansible-playbook`. That will simplify the installation steps as well as let us include the provisioning and openshift-ansible playbooks in a single playbook.
* Set up NetworkManager automatically (#542)Tomas Sedovic2017-07-142-5/+4
| | | | | | | | | | | | | | | | | | | * Set up NetworkManager automatically This removes the extra step of running the `openshift-ansible/playbooks/byo/openshift-node/network_manager.yml` before installing openshift. In addition, the playbook relies on a host group that the provisioning doesn't provide (oo_all_hosts). Instead, we set up NetworkManager on CentOS nodes automatically. And we restart it on RHEL (which is necessary for the nodes to pick up the new DNS we configured the subnet with). This makes the provisioning easier and more resilient. * Apply the node-network-manager role to every node It makes the code simpler and more consistent across distros.
* Switch the sample inventory to CentOS (#541)Tomas Sedovic2017-07-122-3/+12
| | | | | | | | | | | | | | | | * Switch the sample inventory to CentOS This changes the image name and deployment types to use centos instead of rhel and sets `rhsm_register` to false. With these changes, the inventory should be immediately deployable using the default values (assuming the image, network and flavor names match). Ideally, the upstream CI will just end up using this inventory with little to no changes, too at some point. * Specify the origin openshift_release
* Add defaults values for some openstack vars (#539)Tomas Sedovic2017-07-122-3/+3
| | | | | | | | | | | | | | * Add defaults values for some openstack vars Ansible shows errors when the `rhsm_register` and `openstack_flat_secgrp` values are not present in the inventory even though they have sensible default values. This makes them both default to false when they're not specified. * Comment out the flat security group option in inv It's no longer required to be there so let's comment it out.
* Install DNS roles from casl-infra with galaxy (#529)Bogdan Dobrelya2017-07-123-3/+26
| | | Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Playbook prerequisites.yml checks that prerequisites are met before ↵Tlacenka2017-07-102-0/+78
| | | | | | | | | | | | | | | | | | | provisioning (#518) * prerequisites.yml: check prerequisites on localhost needed for provisioning provision.yml: includes prerequisites.yml * prerequisites: indentation fixed * prerequisites.yml: used ansible_version variable, openstack modules for ansible * prerequisites.yml: os_keypair is not suitable for this purpose * prerequisites.yml: openstack keypair command exchanged for shade - there is no Ansible module for this now - os_keypair is not suitable for this purpose - python-openstackclient dependency is not desirable
* Merge pull request #525 from bogdando/manage_packagesTomas Sedovic2017-06-301-0/+10
|\ | | | | Manage packages to install/update for openstack provider
| * Manage packages to install/update for openstack providerBogdan Dobrelya2017-06-301-0/+10
| | | | | | | | | | | | | | Allow required packages and yum update all steps to be optionally disabled. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* | Persist DNS configuration for nodes for openstack providerBogdan Dobrelya2017-06-304-59/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Firstly, provision a Heat stack with given public resolvers. * After the DNS node configured as an authoritative server, switch the Heat stack's Neutron subnet to that resolver (private_dns_server) the way it to become the first entry pushed into the hosts /etc/resolv.conf. It will be serving the cluster domain requests for OpenShift nodes and workloads. * Drop post-provision /etc/reslov.conf nameserver hacks as not needed anymore. * Fix dns floating IPs output and add the priv IPs output as well. * Update docs, clarify localhost vs servers requirements, add required Network Manager setup step. * Use post-provision task names instead of comments. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* | Fix yaml indentationTomas Sedovic2017-06-291-1/+1
| |
* | Use wait_for_connection for the Heat nodesTomas Sedovic2017-06-291-3/+7
|/ | | | | | | | | | The `wait_for_connection` module is more reliable as it uses Ansible's `ping` to verify the nodes are really accessible. Using `wait_for` and checking that port 22 is open runs into the possibility of SSH being up but the public keys or users not being set up yet (as that's done with cloud-init). In addition, we were gathering facts before running the wait_for task which rendered it useless.
* README.md: fixing typoKaterina Pilatova2017-06-271-1/+1
|
* README.md: list jinja2 as a dependencyKaterina Pilatova2017-06-271-0/+1
|
* Merge pull request #491 from tzumainn/openstack-heat-stack-updateTomas Sedovic2017-06-263-0/+7
|\ | | | | Add node_removal_policies variable to openstack provisioning to allow for scaling down
| * rename node_removal_policies, add some comments and defaultsTzu-Mainn Chen2017-06-233-4/+5
| |
| * Add node_removal_policies variable to allow for scaling downTzu-Mainn Chen2017-06-213-0/+6
| |
* | Merge pull request #499 from Tlacenka/all_yml_remove_whitespaceTomas Sedovic2017-06-261-24/+24
|\ \ | | | | | | all.yml: removed whitespaces in front of variables
| * | all.yml: removed whitespaces in front of variablesKaterina Pilatova2017-06-231-24/+24
| | |
* | | Merge pull request #497 from Tlacenka/masterTomas Sedovic2017-06-231-0/+4
|\| | | | | | | | OSEv3.yml: added option to ignore set hardware limits for RAM and DISK
| * | removed whitespace in front of commented variableKaterina Pilatova2017-06-231-1/+1
| | |
| * | OSEv3.yml: trailing space...Katerina Pilatova2017-06-231-1/+1
| | |
| * | OSEv3.yml: added option to ignore set hardware limits for RAM and DISKKaterina Pilatova2017-06-231-0/+4
| | |
* | | Merge pull request #488 from bogdando/fix_flat_sgBogdan Dobrelya2017-06-231-0/+11
|\ \ \ | |/ / |/| | Fix flat sec group and infra/dns sec rules
| * | Fix flat sec group and infra/dns sec rulesBogdan Dobrelya2017-06-231-0/+11
| |/ | | | | | | | | | | | | | | | | | | Make flat sec group to only merge node/master/etcd sec rules. Add basic dns/ssh sec group and assign it to all but dns node groups. Assign only dns sec group for dns nodes. Assign only infra (and basic) sec groups for ingra nodes. Add security notes for openstack provider. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* / Use cached facts, do not become for localhost (#484)Bogdan Dobrelya2017-06-212-1/+11
|/ | | | | | Prohibit sudoing for localhost played tasks, like DNS setup. Re-use cached facts to speed up deployment. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Add profiling and skippy stdout (#470)Bogdan Dobrelya2017-06-201-0/+2
| | | | | | | Tune an example ansible.cfg to include tasks profiling info and improve displaying of skipped tasks. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Fix flake8 errors with the openstack inventoryTomas Sedovic2017-06-161-5/+5
|
* Fix yamllint errorsTomas Sedovic2017-06-166-13/+6
|
* Update sample inventory with the latest changesTomas Sedovic2017-06-163-16/+31
|
* Gather facts for provision playbookBogdan Dobrelya2017-06-151-0/+1
| | | | | | | | | Provision tasks use facts like ansible_hostname and few others. W/o gathering facts, those expire, and the provision playbook cannot be reapplied in order to update the existing heat stack. Refresh the facts cache by specifying gather_facts: true. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Drop atomic-openshift-utils, update docs for originBogdan Dobrelya2017-06-151-1/+10
| | | | | | | | TODO use with when: ansible_distribution == 'CentOS' Also update docs for origin Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Add ansible.cfg for openstack providerBogdan Dobrelya2017-06-152-0/+23
| | | | Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Add a flat sec group for openstack providerBogdan Dobrelya2017-06-153-4/+12
| | | | | | | | | | Add a openstack_flat_secgroup, defaults to False. When set, merges sec rules for master, node, etcd, infra nodes into a single group. Less secure, but might help to mitigate quota limitations. Update docs. Use timeout 30s to mitigate the error: Timeout (12s) waiting for privilege escalation prompt. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Fix privileges in the pre-install playbookTomas Sedovic2017-06-152-11/+12
|
* Add default values to provision-openstack.ymlTomas Sedovic2017-06-141-8/+8
|
* Move pre_tasks from to the openstack provisionerTomas Sedovic2017-06-141-0/+39
| | | | | We should probably not pollute the role namespace with a name as common as "common". Moving the pre_task.yml to provisioners/openstack instead.
* Add readmeTomas Sedovic2017-06-141-0/+113
|
* Add license for openstack.py in inventoryTomas Sedovic2017-06-141-0/+674
| | | | It's under the GPLv3+ while the rest of the repo is Apache 2.
* Add a sample inventory for openstack provisioningTomas Sedovic2017-06-145-0/+350
|
* Symlink roles to provisioning/openstack/rolesTomas Sedovic2017-06-141-0/+1
|
* Add a single provisioning playbookTomas Sedovic2017-06-141-0/+4
|
* Move the openstack provisioning playbooksTomas Sedovic2017-06-145-0/+227
They'll live in playbooks/provisioning/openstack from now on.