33 Commits

Author SHA1 Message Date
Mark Goddard
746a2e0900 Fix rabbitmq-env.conf ownership in bifrost
The permissions of rabbitmq-env.conf for bifrost were changed in
I6e32d94d4172dd96d09d8609e8a5221ab5586a31 to 0660. This breaks bifrost
deployment, as the rabbitmq user is no longer able to read the
root-owned file on startup.

This commit changes the ownership of the file in the container to
rabbitmq:rabbitmq after it has been copied.

Change-Id: I53418f5d4e40b7ca57e546e2e92a57f613fd381e
Closes-Bug: #1766196
2018-04-23 09:59:54 +01:00
Eduardo Gonzalez
ea1a1dee0d Verify YAML syntax in gates
This patchset implements yamllint test to all *.yml
files.

Also fixes syntax errors to make jobs to pass.

Change-Id: I3186adf9835b4d0cada272d156b17d1bc9c2b799
2018-03-26 17:56:22 +02:00
Zuul
ee00e3eeb3 Merge "Use www-data user for bifrost nginx log directory" 2018-03-13 08:24:31 +00:00
Zuul
e160734abc Merge "Workaround for Bifrost being unable to write to /etc/hosts" 2018-03-13 08:24:23 +00:00
Zuul
3b27a9fe20 Merge "Don't set mysql_service_name for bifrost" 2018-03-13 08:21:19 +00:00
Duong Ha-Quang
9965cc46ff Specify 'become' for only neccesary tasks (all other roles)
Add become to only neccesary tasks in roles:

- aodh
- barbican
- bifrost
- ceilometer
- ceph
- chrony
- cinder
- cloudkitty
- collectd
- congress
- designate
- elasticsearch
- etcd
- freezer
- gnocchi
- grafana
- influxdb
- ironic
- iscsi
- karbor
- kibana
- kuryr
- magnum
- manila
- mistral
- mongodb
- multipathd
- murano
- octavia
- panko
- qdrouterd
- rally
- sahara
- searchlight
- senlin
- skydive
- solum
- swift
- swift
- tacker
- telegraf
- tempest
- trove
- vmtp
- watcher
- zun

Change-Id: I6e32d94d4172dd96d09d8609e8a5221ab5586a31
Partial-Implements: blueprint ansible-specific-task-become
2018-03-12 09:37:43 +07:00
Mark Goddard
2f8c9f83fa Use www-data user for bifrost nginx log directory
Bifrost uses the www-data user for nginx on debian/ubuntu, and nginx on
other platforms. Kolla-ansible currently uses the nginx user for all
platforms when creating a log directory. This change uses the www-data
user on debian/ubuntu when setting ownership of the bifrost nginx log
directory.

Change-Id: I142a158b6f2e8f8a46b684267f6fbb2a6e22a259
Closes-Bug: #1753750
2018-03-06 13:25:16 +00:00
Mark Goddard
376c607f37 Workaround for Bifrost being unable to write to /etc/hosts
Bifrost cannot modify /etc/hosts from within a container, so add a
host entry during bootstrap.

This was previously fixed by Ied378b4dd755788e75ad1814cecb5700732ba83e
but the logic in bifrost was changed [1], making it out of sync with
kolla-ansible, and triggering a write to /etc/hosts. This change applies
the new logic in bifrost to kolla-ansible, ensuring that the file will
not need to change in the container.

Longer term we should look at ways to make bifrost less eager to modify
/etc/hosts, accepting any file that will work for RabbitMQ.

[1]
60b9a9917e

Change-Id: I0ee05feae3630435b2ec52cfeddf33647a974ee0
Closes-Bug: #1661009
2018-03-05 18:34:20 +00:00
Mark Goddard
6b1ef3ffcb Don't set mysql_service_name for bifrost
Bifrost will determine the name of the service for MySQL based on the OS
distro if mysql_service_name is not set. Setting it explicitly in
extra-vars was causing problems on systems that use mariadb.

Change-Id: I892b1c9cf636b9dfc1bacc92e1e2f0d066018260
Closes-Bug: #1753522
2018-03-05 16:00:55 +00:00
Zuul
589c5dec4c Merge "Workaround for Bifrost being unable to write to /etc/hosts" 2018-02-15 12:13:03 +00:00
Mark Goddard
2f25d43566 Create volumes for Bifrost's persistent data
Using Docker volumes for persistent data in the bifrost container is
necessary for upgrading the bifrost services.

This change adds the following volumes:

* bifrost_httpboot
* bifrost_ironic
* bifrost_mariadb
* bifrost_rabbitmq
* bifrost_tftpboot

Ironic creates hardlinks between the TFTP master image store and the
HTTP root path when iPXE is enabled. With different Docker volumes
used for these locations we run into
https://bugs.launchpad.net/ironic/+bug/1507894 during deployment. If
we use a directory under /httpboot to store the master images this
issue is avoided.

Change-Id: I8653268d3598e7a59d2eb45c8750d45b6fc9e35f
Partially-implements: blueprint bifrost-upgrade
2017-12-30 12:45:43 +00:00
Mark Goddard
bf8eb4809a Mount kolla_logs volume in bifrost_deploy
Using a kolla_logs volume ensures that logs are persistent beyond the
lifespan of the bifrost_deploy container. This is necessary to support
upgrading the bifrost services. It also opens the possibility of log
forwarding, although we do not currently deploy a fluentd container on
the bifrost host.

Change-Id: If3118cd75ccc87b0d003d5f382695aeaa43ed0f8
Partially-implements: blueprint bifrost-upgrade
2017-12-30 12:31:38 +00:00
Mark Goddard
19d4913c45 Workaround for Bifrost being unable to write to /etc/hosts
Bifrost cannot modify /etc/hosts from within a container, so add a
host entry during bootstrap.

Change-Id: Ied378b4dd755788e75ad1814cecb5700732ba83e
Closes-Bug: #1661009
2017-12-21 10:42:06 +00:00
Dai Dang Van
a02e597e58 Mixing binary and source images for A* and B* projects
In case Kolla's users want to deploy with both of
binary and source image, we should have a variable
install type that define install type for each project.

We also add specific image tag for each Openstack project.

This commit is implemented for Aodh, Barbican and Bifrost projects.

Change-Id: I926c9631c860b527941c40addc68896dd27bd1cc
Implements: blueprint mixing-binary-and-source-image
2017-06-02 17:13:44 +07:00
zhuzeyu
a308a2c409 Remove the variable redefined in deploy-servers.yml
The 'ansible_python_interpreter' has already defined in /etc/bifrost/bifrost.yml
we should remove the redundant variable

Change-Id: Ie799170d3318a731d31e1f39bcf940a1b220bd53
2017-04-12 15:53:36 +08:00
Jenkins
9d0daa015a Merge "Enable sanity checks from kolla-ansible" 2017-03-09 17:31:51 +00:00
Paul Bourke
5418ada148 Enable sanity checks from kolla-ansible
Add a new subcommand 'check' to kolla-ansible, used to run the
smoke/sanity checks.

Add stub files to all services that don't currently have checks.

Change-Id: I9f661c5fc51fd5b9b266f23f6c524884613dee48
Partially-implements: blueprint sanity-check-container
2017-03-09 10:37:06 +00:00
Mark Goddard
e6b9249556 Use correct inventory file for Bifrost
Bifrost now targets the play in the install.yml playbook at the
target Ansible group instead of localhost.

This change uses the target inventory file to pick up this group
and avoid a 'noop' playbook.

Change-Id: I850993c9d824b59cfb1eec0d8286098d021d4d5f
Closes-Bug: #1665415
2017-02-16 18:34:56 +00:00
Sayantani Goswami
2c76dd4a26 Fix RabbitMQ server error in bifrost
Update playbooks to ensure rabbitMQ server starts successfully in the
bifrost container.

Change-Id: I73e3d7f2b50221aeff75576d594f64abcea2d43b
Closes-Bug: #1658768
2017-01-26 00:45:36 +00:00
Sayantani Goswami
af199e71fe Fix bootstrap.yml in Bifrost
The bootstrap.yml playbook attempts to source
/opt/stack/ansible/hacking/env-setup and fails because no such file
exists (ansible is not installed in the location /opt/stack/). This step
is not required since the command bash ./scripts/env-setup.sh does not
install ansible from source in the Bifrost container as ansible is
already installed in the base image used by the Bifrost container.

Change-Id: Ibc26b4b77866127e7b57a30d80cd15734dedd85d
Closes-Bug: #1658741
2017-01-24 20:55:51 +00:00
Jenkins
b7bac2fba0 Merge "Add upgrade.yml for bifrost" 2016-11-06 06:45:19 +00:00
Jenkins
9277210734 Merge "Add reconfigure.yml for bifrost" 2016-11-06 05:18:49 +00:00
Jeffrey Zhang
fa45801946 Move precheck into its own role
* Merge prechecks.yml and site.yml playbook
* Create empty precheck.yml into all roles.

Change-Id: I8a138558a26c0a2a66c5fd48ed37be657c99c1dd
Implements: blueprint condition-pre-check
2016-11-03 14:48:58 +08:00
Jenkins
c4d34cf464 Merge "Update the format of bifrost deploy.yml" 2016-11-01 11:28:17 +00:00
caoyuan
df54e88132 Update the task's name
TrivialFix

Change-Id: I2cc1441a5fcf9c09db01d17c840bb784f4db1c0e
2016-10-27 16:17:42 +00:00
caoyuan
5475a8c42d Add upgrade.yml for bifrost
TrivialFix

Change-Id: Iafc232790da728a41dacf4322b3efbb249b58bb9
2016-10-26 15:08:30 +00:00
caoyuan
bfd3e678d0 Add reconfigure.yml for bifrost
TrivialFix

Change-Id: Ib31ef8e1067e4249bb39959aefb5d3de51fad89c
2016-10-26 22:48:16 +08:00
caoyuan
dab70bb504 Update the format of bifrost deploy.yml
TrivialFix

Change-Id: If1c072c1afc56b329fccc034943ababc66020bb7
2016-10-26 13:47:27 +00:00
Mauricio Lima
18785f416c Remove unneeded blank lines
TrivialFix

Change-Id: I778d0a55adf1302c7a6f0702fec3a381d851f3df
2016-10-06 12:42:27 -03:00
Sean Mooney
64c40e20a5 add deploy-servers command
- This change extends kolla-ansible
  with a deploy-server command to enroll and deploy
  physical servers with bifrost.

Change-Id: Iaa9f34b00e676569f6e3df679b7454b1ec0b8e34
Implements: blueprint bifrost-support
2016-08-31 13:12:34 +00:00
Sean Mooney
538dbac24a adds bifrost ssh key generation
- This change extend the genpwd.py
  command to generate an ssh key pair
  bifrost.
- This change bifrost config and bootstrap
  task to install the generated keys.
- This change updates the bifrost guide to
  discribe how to provide your own key.

Change-Id: I05243f58843d9195cace253dff5628fae89c78e8
Implements: blueprint bifrost-support
2016-08-31 13:12:20 +00:00
Sean Mooney
96b3f0ae3e add bifrost deploy ansible support
- This change addes the ability to deploy
  and bootstrap bifrost.
- This change introduces a deploy-bifrost
  command to kolla-ansible.

Change-Id: I62afcf348661add900c98904e90a15a0eddffd4b
Implements: blueprint bifrost-support
2016-08-31 13:11:59 +00:00
Sean Mooney
d7dfae75b2 generate bifrost yaml configs
- This change indroduces a merge_yaml action_plugin
- This change generates bifrost yaml configs.

Change-Id: I9814e6a5d55cbd46c4b60c06ed70ed54a575bd2f
Implements: blueprint bifrost-support
2016-08-31 13:06:41 +00:00