aboutsummaryrefslogtreecommitdiff
path: root/ansible
AgeCommit message (Collapse)AuthorFilesLines
2016-08-26Move rabbitmq precheck from startPaul Bourke2-10/+10
rabbitmq's start task contains a precheck. This should be part of the other prechecks for consistency TrivialFix Change-Id: I7728ec3f5be3248424d74a4387925b72114b8943
2016-08-26Fix toolbox permission issue when enabling cephliyingjun1-0/+3
Directory /home/ansible/.ansible and file /var/log/kolla/ansible.log are not created by default in toolbox image, so when ceph enabled, the directory and file will be created with user 'root' instead of user 'ansible' after running bootstrap osds because it using sudo when bootstraping osds, this will cause permission denied issue for other commands not using sudo. Fixes this issue by initializing ansible by running 'ansible localhost --version' using user 'ansible' TrivialFix Change-Id: Ibac3f98b3b72cbe287ee1d3a69ed9cea7ae3cd9e
2016-08-25Import the Murano core libary as part of setupPaul Bourke1-0/+39
In order for Murano to be operational the core library package must be imported [0] Add Ansible tasks to do this idempotently. [0] http://docs.openstack.org/developer/murano/install/manual.html TrivialFix Change-Id: I2c49e9d663595650b885267839012b543505337a
2016-08-25Add full support for fernetShaun Smekel20-11/+367
This addresses the ansible aspects of fernet key bootstrapping as well as distributed key rotation. - Bootstrapping is handled in the same way as keystone bootstrap. - A new keystone-fernet and keystone-ssh container is created to allow the nodes to communicate with each other (taken from nova-ssh). - The keystone-fernet is a keystone container with crontab installed. This will handle key rotations through keystone-manage and trigger an rsync to push new tokens to other nodes. - Key rotation is setup to be balanced across the keystone nodes using a round-robbin style. This ensures that any node failures will not stop the keys from rotating. This is configured by a desired token expiration time which then determines the cron scheduling for each node as well as the number of fernet tokens in rotation. - Ability for recovered node to resync with the cluster. When a node starts it will run sanity checks to ensure that its fernet tokens are not stale. If they are it will rsync with other nodes to ensure its tokens are up to date. The Docker component is implemented in: https://review.openstack.org/#/c/349366 Change-Id: I15052c25a1d1149d364236f10ced2e2346119738 Implements: blueprint keystone-fernet-token
2016-08-25Set 'balance source' for Horizon in haproxyPaul Bourke1-0/+2
This ensures that the same client IP address will always reach the same server as long as no server goes down or up. [0] Prevents a situation where during Murano package upload - we end up having zip file on one control node but the import continues on another and ends up failing. [0] http://cbonte.github.io/haproxy-dconv/configuration-1.7.html#4-balance TrivialFix Co-Authored-By: Vladislav Belogrudov <vladislav.belogrudov@oracle.com> Change-Id: I5f90d2757f31e8b24459a585153d5aa7fe6ad90a
2016-08-25Move to transport_url for rabbitmq configurationJeffrey Zhang13-78/+24
rabbit_hosts, rabbit_userid and rabbit_password are deprecated for removal.[0] rpc_backend is deprecated for removal.[1] rabbit_ha_queues is deprecated. it is useless when using RabbitMQ >= 3.0 [2] [0] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L112,#L134 [1] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/transport.py#L46 [2] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L163,L174 Closes-Bug: #1614082 Change-Id: I05d318ba6c11c5dbfa9fbf67d088a43ab465be30
2016-08-24Add defaults for interfaces to all.ymlPaul Bourke1-0/+2
The values for 'network_interface' and 'neutron_external_interface' are missing from all.yml, meaning it is impossible to override them on a per node / per group basis. (globals.yml get's top precedence). Make these consistent with the rest of the variables and move the defaults into all.yml. Operators can still override / update these in globals.yml as before, but those wanting more flexibility now have it via host / group variables. Change-Id: I2575921f76a8e245106da765757c70353bd6762c Closes-Bug: #1604129
2016-08-24Fix bug in Elasticsearch roleDuong Ha-Quang3-0/+68
Add Ansbile reconfigure playbook to Elasticsearch role. Add run condition to start playbook in Elasticsearch role. Change-Id: I7862089cae55d392eb2d922f89a382d392cf8b97 Closes-Bug: #1616005
2016-08-24Merge "ironic.conf file missing enabled_drivers info"Jenkins1-0/+2
2016-08-23Merge "add baremetal role to install kolla deps."Jenkins14-1/+414
2016-08-23Merge "Sync the local_settings.j2 with horizon"Jenkins1-60/+203
2016-08-22Fix typo in iscsi pull playbookTin Lam1-3/+3
In ansible/roles/iscsi/tasks/pull.yml, there are references to 'iscsi', which should be 'iscsid' instead. This patchset fixes this typo. Change-Id: Id2c31bf69556ec8dcf66cc1d32d2bfe77f02367b Closes-bug: #1602566
2016-08-20Sync the local_settings.j2 with horizonJeffrey Zhang1-60/+203
local_settings.j2 is out of date, sync with the horizon TrivialFix Change-Id: I4771452504a7f0caeeac7b8801dcc2350e70b6ca
2016-08-20Implement mongodb replication set clusterJeffrey Zhang6-15/+64
Closes-Bug: #1605457 Change-Id: I1a8e746f79f4dfcc5a43e736c3461b316db3f593
2016-08-20Create the nova instances directory when need during startingJeffrey Zhang1-33/+0
The /var/lib/nova/instances should be create if it do not exist during starting nova-compute container. Rather than create it at the bootstrap service stage. Change-Id: Ibcc5fb8eec0b38cf2b4313f48d1beb3ba83b1e85 Closes-Bug: #1614970
2016-08-20Remove unnecessary host at haproxy in site.ymlEduardo Gonzalez1-15/+1
A list of host is not necessary because in haproxy/main.yml [0] the role is only applied to haproxy hosts [0] https://github.com/openstack/kolla/blob/master/ansible/roles/haproxy/tasks/main.yml Change-Id: Id462315dc225d235917093cdf377ec574368a458 Closes-Bug: #1613648 Signed-off-by: Eduardo Gonzalez <dabarren@gmail.com>
2016-08-19Merge "Optimize horizon cache and compress for http response"Jenkins1-0/+44
2016-08-19Merge "Add basic checking for network_interface to prechecks"Jenkins1-0/+16
2016-08-19Merge "Start using orchestration_engine variable"Jenkins1-1/+1
2016-08-19Add basic checking for network_interface to prechecksPaul Bourke1-0/+16
Add the following prechecks for network_interface: * Check it exists on the node * Check its up * Check it has an IP associated TrivialFix Change-Id: I86f1d79d8592a3b108822e7d19541f91a1c0d716 Co-Authored-By: James McCarthy <james.m.mccarthy@oracle.com>
2016-08-19Merge "Fix the variable name mismatch"Jenkins1-5/+5
2016-08-19Merge "Create the _member_ role in the horizon role"Jenkins4-1/+28
2016-08-19Merge "Improve rabbitmq-clusterer template code format"Jenkins1-4/+6
2016-08-19Improve rabbitmq-clusterer template code formatDuong Ha-Quang1-4/+6
TrivialFix Change-Id: I735091c4d044344361e604014f3877b608223204
2016-08-18Merge "Add pull.yml file for tempest"Jenkins1-0/+6
2016-08-18Merge "Fix murano notification driver"Jenkins1-1/+1
2016-08-18Add pull.yml file for tempestJeffrey Zhang1-0/+6
TrivialFix Change-Id: I5ba19671a36eb2aab3bda96dd66486422cbc9cf7
2016-08-18Merge "Remove duplicate items"Jenkins1-1/+0
2016-08-18Fix murano notification driverAlexander Reunov1-1/+1
Notification driver should be configured to avoid timeout failures of murano app deployments while waiting notifications which will never be sent. The required driver is "messagingv2". TrivialFix Change-Id: Id0c753f50d93c81eedb2455a7323d86c08873c5f
2016-08-18Merge "Port with_ loop variable syntax to Ansbile 2 (finish)"Jenkins10-35/+35
2016-08-18Create the _member_ role in the horizon roleJeffrey Zhang4-1/+28
The horizon need a normal exist in the keystone. Change-Id: Ia3e4fb5245b4a943fc833f29a5a8d5eb1ee48fe9 Closes-Bug: #1579822
2016-08-18Port with_ loop variable syntax to Ansbile 2 (finish)Duong Ha-Quang10-35/+35
Migrate to full variable syntax in with_ loop instead of bare variables for: - cinder - haproxy - ironic - magnum - mistral - mongodb - murano - swift - watcher TrivialFix Change-Id: I3ef2e79053cf609aaa710e43ffd0adbc5a97565b
2016-08-18Remove duplicate itemscaowei1-1/+0
Repeated murano-api TrivialFix Change-Id: I170ad6d851f560a22ff8ba58cc9337d13d8789bd
2016-08-18Merge "Fix neutron-server section in AIO sample inventory"Jenkins1-1/+1
2016-08-18Merge "Move the keystone_*_url variable from common role to group vars"Jenkins2-7/+8
2016-08-17Start using orchestration_engine variableSerguei Bezverkhi1-1/+1
This PS switches to use orchestration_engine variable to differentiate between ansible and kubernetes when generating configs. TrivialFix Change-Id: I8e566a9995f49e924614331458d0c81b9925e543
2016-08-17Merge "Replace horizon default config with custom config"Jenkins1-5/+11
2016-08-17Merge "Fix the memcache location value in horizon local settings"Jenkins1-1/+1
2016-08-17Move the keystone_*_url variable from common role to group varsJeffrey Zhang2-7/+8
keystone_*_url are cross role variables. They are used in multi roles. Move them from the common role to the group vars TrivialFix Change-Id: If451823ed7612bfec7bc797ec9dd2597164c6804
2016-08-17ironic.conf file missing enabled_drivers infoZhongShengping1-0/+2
When ironic is deployed using kolla, in ironic.conf file there is no configuration option of enabled_drivers present. Change-Id: I5c9e7533e8ca139addee8cf4cc4084e856ae0306 Closes-Bug: 1610272
2016-08-16Fix neutron-server section in AIO sample inventoryPaul Bourke1-1/+1
neutron-server should run on control nodes, not network (despite the fact on all-in-one it's the same anyway) Co-Authored-By: James McCarthy <james.m.mccarthy@oracle.com> TrivialFix Change-Id: I55f10b0f803c3c1cb91af8f0b7763bbe70fa8b87
2016-08-15Merge "Add heka custom config to define user's log pipline"Jenkins2-0/+17
2016-08-15Merge "Fix the neutron-lbaas-agent container issues"Jenkins4-11/+9
2016-08-15Merge "Modify some spelling mistakes"Jenkins2-4/+5
2016-08-14Merge "Add upgrade tasks for Ceilometer"Jenkins1-0/+6
2016-08-14Fix the memcache location value in horizon local settingsJeffrey Zhang1-1/+1
When setting multi memcached servers, the value should be a list rather then a comma joined string This patch set I586ce1c6c3300254c4e2a398ff46645df576aeb0 set it in wrong TrivialFix Change-Id: Ic612658ab0310c6764310bbca92c925da6d47f6c
2016-08-11Keystone interface address and memcached overrideKen Wronkiewicz2-2/+12
Note: This should not result in any behavior changes in regular Kolla, just Kolla-Kubernetes and only when you've overridden stuff in globals.yml Allows override of interface address and memcached pools, so that Kubernetes can do the right thing. There are some significant architectural issues involved in memcached pooling in the Kolla-kubernetes world. Avoiding them right now. Current working Kolla-Kubernetes globals.yml file, assuming that your memcached servers are available under the DNS alias "memcached": api_interface_address: "0.0.0.0" memcached_servers: "memcached" keystone_database_address: "mariadb" keystone_admin_url: "{{ admin_protocol }}://keystone-admin:{{ keystone_admin_port }}/v3" keystone_internal_url: "{{ internal_protocol }}://keystone-public:{{ keystone_public_port }}/v3" keystone_public_url: "{{ public_protocol }}://keystone-public:{{ keystone_public_port }}/v3" Co-authored-by: Ryan Hallisey <rhallise@redhat.com> Change-Id: I5126f81da7b4d48001b87f73d58bbbfad658209c Partially-implements: blueprint api-interface-bind-address-override
2016-08-11Fix interface address for Neutron-serverKen Wronkiewicz1-5/+9
Note: This should not result in any behavior changes in regular Kolla, just Kolla-Kubernetes and only when you've overridden stuff in globals.yml Binds to the api_interface_address variable and uses the keystone and memcached facts we defined in earlier patches. Co-authored-by: Ryan Hallisey <rhallise@redhat.com> Change-Id: I8610f4adaa557a21fedd05601e10f5c308fd7ce3 Partially-implements: blueprint api-interface-bind-address-override
2016-08-10add baremetal role to install kolla deps.Sean Mooney14-1/+414
Change-Id: Ie70db1b18a73528b1194e4fbcf53d09fed20f4a0 Implements: blueprint kolla-host
2016-08-10Fix intf address for RabbitMQ and disable cluster for KubeKen Wronkiewicz3-7/+11
enable_rabbitmq_cluster is now a "yes" by default but you can set it to "no" if you want to disable clustering under any circumstances. The agreement made at OpenStack in Austin was that Kolla-Kubernetes would concentrate on RabbitMQ and MariaDB without clustering but with persistent storage and workload migration, then examine how to do proper distributed functionality as the project progresses, so I am just following what we'd already agreed upon. First, it helps us deal with issues of version upgrades without dealing with clustered version upgrades and the synchronization thereof. Second, it provides an alternative model for durability when used in Kubernetes. Understand that, if we disable RabbitMQ's clustering, Kubernetes is still able to re-schedule the queue off of a failed node in ways that Kolla-Ansible is not. There are known issues with RabbitMQ clustering, especially with auto-heal turned on. For many small-to-mid-sized clusters, it's going to provide for a better operator experience to have the known potential for a 30 second blip after RabbitMQ node failure than it is to have the known potential for partition and data loss and/or manual operations after you've turned off auto-heal. Kolla-kubernetes has already turned off host networking for the RabbitMQ pod; it's safe to set the interface address in the Kubernetes context. The question was asked why don't I just set the RabbitMQ cluster to be a single instance. It's unlikely that Kubernetes RabbitMQ with a PetSet will be clustered in the same declaritive fashion as the rabbitmq-clusterer plugin. Easier to just disable it and worry about how to configure the kube-friendly clustered RabbitMQ at a later point in time. Furthermore, it's an entirely valid case for many OpenStack control planes hosted atop Kolla-Kubernetes to accept the possibility of a 30-60 second blip in lieu of the long and questionable history of RabbitMQ clustering in production. Co-authored-by: Ryan Hallisey <rhallise@redhat.com> Change-Id: I7f0cb22d29a418fce4af8d69f63739859173d746 Partially-implements: blueprint api-interface-bind-address-override