summaryrefslogtreecommitdiffstats
path: root/playbooks/provisioning
Commit message (Collapse)AuthorAgeFilesLines
* Revert the console hostname changeTomas Sedovic2017-10-182-5/+5
| | | | We'll do it in a separate pull request.
* Merge branch 'master' into openstack-docsTomas Sedovic2017-10-1810-6/+271
|\
| * Add Extra CAs (custom post-provision action) (#801)Tlacenka2017-10-182-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * add cas: playbook adding new CAs created * add CAs: README updated, bug fixes * README: improvements * README: minor fixes * README: removed code snippet * README: fix
| * Add Flannel support (#814)Bogdan Dobrelya2017-10-185-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add flannel support * Document Flannel SDN use case for a separate data network. * Add post install step for flannel SDN * Configure iptables rules as described for OCP 3.4 refarch https://access.redhat.com/documentation/en-us/reference_architectures/2017/html/deploying_red_hat_openshift_container_platform_3.4_on_red_hat_openstack_platform_10/emphasis_manual_deployment_emphasis#run_ansible_installer * Configure flannel interface options Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com> * Use os_firewall from galaxy for required flannel rules For flannel SDN: * Add openshift-ansible as a galaxy dependency module. * Use openshift-ansible/roles/os_firewall to apply DNS rules for flanel SDN. * Apply the remaining advanced rules with direct iptables commands as os_firewall do not support advanced rules. * Persist only iptables rules w/o dynamic KUBe rules. Those are added runtime and need restoration after reboot or iptables restart. * Configure and enable the masked iptables service on the app nodes. Enable it to allow the in-memory rules to be persisted. Disable firewalld, which is the expected default behavior of the os_firewall module. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com> * Allow access from nodes to masters' port 2379 when using flannel Flannel requires to gather information from etcd to configure and assign the subnets in the nodes, therefore, allow access from nodes to port 2379/tcp to the master security group. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
| * Support separate data network for Flannel SDN (#757)Bogdan Dobrelya2017-10-165-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support separate data network for Flannel SDN Document the use case for a separate flannel data network. Allow Nova servers for openshift cluster to be provisioned with that isolated data network created and connected to masters, computes and infra nodes. Do not configure dns nameservers and router for that network. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com> * Fix flannel use cases with provider network Provider network cannot be used with flannel SDN as the latter requires a separate isolated network, while the provider network is an externally managed single network. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com> * Drop unused data_net_name Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
| * Add Extra Docker Registry URLs (custom post-provision action) (#794)Tlacenka2017-10-132-0/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add-docker-registry: playbook that adds docker registries to docker config file (in progress) * indentation fix * docker registries: add check for variable type * another type conversion * docker registry: try another unified formatting * another attempt * type error fix * quotation attempt * docker registry: bug fixes * docker registry: fixed formatting * docker registry: if docker is not available, skip the whole playbook * README updated * README: typo * docker registries: suggested changes applied (in progress) * docker registries: README updated, redundant check removed * removed redundant become:true
* | Merge branch 'master' into openstack-docsTomas Sedovic2017-10-135-5/+46
|\|
| * Allow the specification of server group policies when provisioning openstack ↵tzumainn2017-10-133-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | (#747) * Allow for the specifying of server policies during OpenStack provisioning * documentation for openstack server group policies * add doc link detailing allowed policies * changed default to anti-affinity
| * Attach additional RHN Pools (post-provision custom action) (#753)Tlacenka2017-10-122-4/+37
| | | | | | | | | | | | | | | | | | | | * README, add-rhn-pools.yml: Add new custom post-provision playbook that attaches additional RHN pools - also mention this example in the contrib README * added become true * README update
* | Make the private key examples consistentTomas Sedovic2017-10-131-7/+9
| | | | | | | | | | | | Just like in the README, the Advanced Configuration will now rely on the default `~/.ssh/id_rsa` key and mention Ansible's `--private-key` option when using a different file.
* | Streamline the OpenStack provider READMETomas Sedovic2017-10-124-532/+883
|/ | | | | | | | | | | This moves all the extra configuration options and deployment notes to a new `advanced-configuration.md` file and keeps the README much shorter. The README now presents the simplest workflow with minimal configuration and manual steps on part of the deployer. The advanced configuration is in need of a little more cleanup, but we can do that in another pull request.
* Merge pull request #776 from tomassedovic/dynamic-inventorytzumainn2017-10-064-2/+111
|\ | | | | Add dynamic inventory
| * Set public_v4 to private_v4 if it doesn't existTomas Sedovic2017-10-051-2/+3
| | | | | | | | | | The DNS code expects a `public_v4` even when we use the provider networks. Let's just always export it.
| * Fix flake8 errorsTomas Sedovic2017-10-051-16/+14
| |
| * Add dynamic inventoryTomas Sedovic2017-10-044-2/+112
| | | | | | | | | | | | | | | | | | | | This adds an `inventory.py` script to the `sample-inventory` that lists all the necessary servers and groups dynamically, skipping the `static_inventory` role as well as the `hosts` creation. It also adds an `os_cinder` lookup function which is necessary for a seamless Cinder OpenShift registry integration without a static inventory.
* | Replace the CASL references (#778)Tomas Sedovic2017-10-061-1/+1
|/ | | | | | Following up on the initial port of the OpenStack roles from casl-ansible to openshift-ansible-contrib. One of the points that was brought up in the review was to drop the references to CASL in the code since the code has now wider reach.
* Fix public master cluster DNS record when using bastion (#752)Bogdan Dobrelya2017-09-261-0/+1
| | | | | When using a bastion and a single master, add the bastion node's public IP the public master's IP for the DNS record. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Upscaling OpenShift application nodes (#571)Tlacenka2017-09-263-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * scale-up: playbook for upscaling app nodes * scale-up: removed debug * scale-up: made suggested changes * scale-up: indentation fix * upscaling: process split into two playbooks that are executed by a bash script - upscaling_run.sh: bash script, usage displayed using -h parameter - upscaling_pre-tasks: check that new value is higher, change inventory variable - upscaling_scale-up: rerun provisioning and installation, verify change * upscaling_run: fixed openshift-ansible-contrib directory name * upscaling_run: inventory can be entered as relative path * upscaling_scale-up: fixed formatting * upscaling: minor changes * upscaling: moved to .../provisioning/openstack directory, README updated, minor changes made * README: minor changes * README: formatting * uspcaling: minor fix * upscaling: fix * upscaling: added customisations, fixes - openshift-ansible-contrib and openshift-ansible paths are customisable - fixed implicit incrementation by 1 * upscaling: fixes * upscaling: fixes * upscaling: another fix * upscaling: another fix * upscaling: fix * upscaling: back to a single playbook, README updated * minor fix * pre_tasks: added labels for autoscaling * scale-up: fixes * scale-up: fixed host variables, post-verification is only based on labels * scale-up: added openshift-ansible path customisation - path has to be absolute, cannot contain '/' at the end * scale-up: fix * scale-up: debug removed * README: added docs on openshift_ansible_dir, note about bastion * static_inventory: newly added nodes are added to new_nodes group - note: re-running provisioning fails when trying to install docker * removing new line * scale-up: running byo/config.yml or scaleup.yml based on the situation - (whether there is an existing deployment or not) * openstack.yml: indentation fix * added refresh inventory * upscaling: new_nodes only contains new does, it is not used during the first deployment * static_inventory: make sure that new nodes end up only in their new_nodes group * bug fixes * another fix * fixed condition * scale-up, static_inventory role: all app node data gathered before provisioning * upscaling: bug fixes * upscaling: another fixes * fixes * upscaling: fix * upscaling: fix * upscaling: another logic fix * bug fix for non-scaling deployments
* Docker ansible host (#742)Tomas Sedovic2017-09-191-0/+32
| | | | | | | | * Document using a Docker image for Ansible host * Fix the markdown url syntax * Mention keystonerc as well
* Empty ssh (#729)Tomas Sedovic2017-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * Make `openstack_private_ssh_key` optional Before this, the deployer could not reasonably rely on their own SSH configuration or e.g. using the `--private-key` option to ansible-playbook because we always wrote the `ansible_private_key_file` value in the static inventory. This change makes the `openstack_private_ssh_key` variable truly optional: if it's not set, the static inventory will not configure the SSH key and will just rely on the existing configuration. * Update the openstack e2e CI It no longer sets the SSH keys explicitly -- which should just work with the previous commit. * Put back the `openstack_ssh_public_key` in CI This is the option we actually need to keep. This sholud fix the CI failures.
* Remove the `rhsm_register` value from inventoryTomas Sedovic2017-09-141-2/+3
| | | | It is now commented out since it's no longer necessary.
* Make the `rhsm_register` value optionalTomas Sedovic2017-09-141-1/+1
| | | | | This was a regression -- it used to be optional (defaulting to False), but among some changes we ended up requiring it again.
* Pre-create a Cinder registry volumeTomas Sedovic2017-09-136-91/+123
|
* Support Cinder-backed Openshift registry (#707)Tomas Sedovic2017-09-125-0/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Attach and detach a volume, wait for it to be accessible This is mostly just handling the attach/detach code, making sure the necessary vars are accessible where they need to be as well as finding out the correct device name the volume is attached as. * Create temp directory for mounts, remove some debug info * add the fs actions * Remove debug * Prepare the volume automatically if possible * Add docs and sample inventory * Read OS_* creds from shell in sample inventory * Fix yamlint complaint * Update readme This mentions the potential pitfalls when using devstack. * Better check for the router deployment in CI * Set the openshift_hoster*_wait vars to True * Fix typo
* Point openshift_master_cluster_public_hostname at master or lb if defined (#706)tzumainn2017-09-061-0/+9
| | | | | | | | | | | | | | * Point openshift_master_cluster_public_hostname at master or load balancer if specified * cleanup * remove extraneous brackets * corrections * added doc section * add private records
* Allow using a provider network (#701)Tomas Sedovic2017-09-064-2/+34
| | | | | | | | | | | | | | | | | | * Allow using a provider network This adds a new option `openstack_provider_network_name` which will take a name of an existing network and put the servers there. It will also prevent creating floating IP addresses as the provider network's IPs should already be accessible without any additional routing required. Fixes #622 * Requested changes Don't fail on external/private networks and use role defaults for the provider network. * Add missing endif
* Document global DNS security options (#694)Bogdan Dobrelya2017-09-052-0/+18
| | | | | | | | | | | | | | | | | * Document global DNS security options Related changes: * Do not create a view if externally managed. * Allow to specify the recursion settings for public/private views defined by the dns-view role. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com> * Document public_dns_nameservers better Also use it as the private view forwarder Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Add custom post-provision playbook for adding yum repos (#697)tzumainn2017-08-312-9/+29
| | | | | | | | * Add custom post-provision playbook for adding yum repos * fixed formatting issues * requested corrections and formatting changes
* Support external/pre-provisioned authoritative cluster DNS (#690)Bogdan Dobrelya2017-08-251-6/+50
| | | | | | | | | | | | * Document how to use fully external DNS servers w/o provisioning dns servers group with Heat. * Document how to use a mixed servers setup for dynamic records updates mathing public or private views. * Allow custom nsupdate key names for OSP10 dns service compatibility. The osp-dns configures the named service with the fixed key_name 'update-key'. Add optional key_name for the external_nsupdate_keys public section to allow custom key names.
* Added checks for configured images and flavors (#688)Tlacenka2017-08-253-0/+50
| | | | | | | | * prerequisites, custom_*_check: added checking that specified images/flavors are available - uses stack_params as a source of variable value which is then passed to the HOT * minor fixes
* Do not repeat pre_tasks for post-provision playbook (#689)Bogdan Dobrelya2017-08-242-6/+5
| | | | | | Move repeating pre_tasks to pre-install (OpenShift Pre-Requisites) step. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Fix node label customisation (#679)Tlacenka2017-08-234-7/+34
| | | | | | | | | | | | | | | | | | | | * node labels: add checks for custom labels - README: add more info about customising labels - pre_tasks: add checks for label values, set to empty dict if undefined - group_vars: move labels customisation from OSEv3 to all * pre_tasks: tried a new approach to updating variables * pre_tasks: variable update fixed * pre_tasks: rollback upscaling changes (to be added in upscaling PR) * pre_tasks: blank line removed * pre_tasks: add check for undefined variable (should not happen though) * pre_tasks: be sure to have regions defined
* Add documentation regarding running custom post-provision tasks (#678)tzumainn2017-08-231-0/+38
| | | | | | | | * Add documentation regarding running custom post-provision tasks * moved post-provision doc to openstack README * added reference to OSEv3, clarified some text
* Merge pull request #649 from bogdando/mmsBogdan Dobrelya2017-08-232-0/+17
|\ | | | | [WIP] Add docs and defaults for multi-master setup
| * Add docs and defaults for multi-master setupBogdan Dobrelya2017-08-212-0/+17
| | | | | | | | | | | | | | | | Additionally, add the lb group to contain lb nodes to the static inventory template. Include the lb group into the OSEv3 group, in order to apply the cluster group vars to it. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* | Ignore *.cfg and *.crt in the openstack inventory (#672)Tomas Sedovic2017-08-211-1/+1
|/ | | | | | This allows our users to keep the ansible.cfg file in the inventory as well as putting e.g. LDAP certificates in. Fixes #481
* Update openshift_release in the sample inventory (#647)Tomas Sedovic2017-08-212-2/+0
| | | | | | | * Update openshift_release in the sample inventory This removes setting the version for Openshift Origin, because the only the latest release is actually available. So if a new Origin release comes up, the installation will fail.
* Configure different Docker volume sizes for different roles (#644)Tlacenka2017-08-173-3/+25
| | | | | | | | | | | | * README, all.yml, stack_params.yaml, openstack-stack: added docker volume size customisation - app_volume_size changed to node_volume_size (it is node everywhere else) * all.yml, stack_params.yaml,openstack-stack: added customisation for lb, etcd, dns * README: updated * README: updated info about ephemeral volumes
* Set custom hostnames for servers (#643)Tlacenka2017-08-163-0/+19
| | | | | | | | | | * README, all.yml, stack_params.yml, heat_stack.yaml.j2: hostname customisation added * hostnames customisation: default set in stack_params * heat_stack: bug fix * fixed commented defaults in group_vars/all.yml
* Access UI via a bastion node (#596)Bogdan Dobrelya2017-08-162-0/+19
| | | | | | | | When using a bastion and a single master, use the lb-secgrp to access UI port allowed from the ingress bastion node cidr. For HA (masters>1), UI still should be accessed via the LB node's ingress cidr, omitting the bastion. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* group_vars/all.yml, stack_params.yaml, README: specifying flavors enabled ↵Tlacenka2017-08-153-8/+22
| | | | and documented (#638)
* Specify different image names for roles (#637)Tlacenka2017-08-153-4/+23
| | | | | | | | | | | | * all.yml: set up new variables for specifying images for roles * stack_params.yaml: add image name variables for different roles * more roles added * heat_stack.yaml.j2: openstack_image changed to updated image names * README: updated documentation for specifying image names
* Support multiple private networks for static inventory (#604)Bogdan Dobrelya2017-08-153-0/+6
| | | | | | Add openstack_private_network_name to filter by a wanted private network. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
* Allow using ephemeral volumes for docker storage (#615)Tomas Sedovic2017-08-041-0/+5
| | | | | | | | For testing cases it's sometimes useful to not create Cinder volumes for the VMs. It can also sometimes be a little faster and more robust (but unfit for production). This adds an option called `ephemeral_volumes` that will use the VM's storage instead of creating volumes when set to true.
* Remove clouds.yaml from sample-inventoryTomas Sedovic2017-08-042-9/+0
| | | | | | | | | | | | | With the move to the static inventory, we don't need it anymore so it's now just an unnecessary step in the deployment. Note that the users may still want to use clouds.yaml for openstack credentials instead of sourcing the `OS_*` environment variables, but they can do that at their discression. The reason we had the clouds.yaml here was because the `openstack.py` dynamic inventory used the servers' UUID's as ansible hosts by default and the options we put in caused it to use the hostnames (as desired).
* Moving common DNS roles out of the playbook area (#605)Øystein Bedin2017-08-023-111/+2
|
* Merge pull request #591 from day4skiing/dnspri-wildcardBogdan Dobrelya2017-07-281-0/+5
|\ | | | | Add wildcard record for Private DNS
| * removed openstackDan Jurgensmeyer2017-07-261-1/+1
| |
| * Add wildcard pointer to Private DNSDan Jurgensmeyer2017-07-261-0/+5
| |
* | Note about jmespath requirement for control node (#599)Bogdan Dobrelya2017-07-282-0/+11
| | | | | | Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>