profile_tasks prints how much time takes each task to run
The feature is disabled by default but can be enabled by
uncommenting the corresponding line in ansible.cfg
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
The synchronize module uses rsync to transfer files between
hosts. The default behaviour is to compress the file before
transfer but tests show that it's faster to just transfer
the cnci image uncompressed.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
Ceph FileSystem requires a metadata server.
This functionallity is already provided.
This commit updates the example to install a metadata server.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- Add an ansible.cfg file to enable pipelining.
Pipelining increases the performance by executing many ansible
modules without actual file transfer.
- Prerun ciao-common
ciao-common role install ciao code and dependencies. By running
this role on all nodes in parallel we can save some time.
- Set strategy: free
By default all hosts will run each task before any host starts the next task
Using the 'free' strategy allows each host to run until the end of the play
as fast as it can.:
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
These variables will setup access to ALL vm launched including
CNCI images.
This is a temporary solution for development/testing purposes
until a formal way to define per VM access from the user
perspective is available
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
This commit creates /var/lib/ciao/images/.cnci_ready file after
it has finished with the configuration of a cnci image.
If the file exists then the cnci image setup will be skipped.
This change prevents the playbook from creating and transfering the cnci
image each time is run and only does it when its necessary.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
Tasks to retrieve and enable the controllers ca root certificate
where being marked as changed every time the playbooks runs
This commit properly handles the copy and enabling of the ca
certificate in both clearlinux and ubuntu.
A demo user and a demo project is included in the example
for testing purposes of a ciao cluster.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
Task Build CIAO from sources is always tagged as 'changed'
even when nothing has changed
This commit tags the task as unchanged when there is no change
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
If ciao_dev is set to false (default) it will try to install
ciao from the operating system packages which is only supported
in Clear Linux.
In order to install ciao in Ubuntu, ciao_dev must be set to
true to build ciao from github master branch.
This commit adds the variable to the examples to have it handy
for users who wants to deploy ciao in Ubuntu.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- ciao_dev might not be defined and should be treated as false by default
- mysql_packages is defined for ubuntu and should not cause a failure
in clearlinux when not defined.
Fixes#30
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
The playbook installs ciao binaries under
/usr/local/bin when ciao_dev is set to True.
This directory is not present by default.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
When building CIAO from sources, gcc is required to compile
the following dependencies.
github.com/01org/ciao/vendor/github.com/vishvananda/netlink
github.com/01org/ciao/vendor/github.com/docker/docker/pkg/term
github.com/01org/ciao/vendor/github.com/mattn/go-sqlite3
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
There are some tasks that are marked as CHANGED even if they
did not change anything.
- os-keystone: Perform a Keystone DB sync
- os-keystone: bootstrap keystone
- os-glance: Perform a Glance DB sync
- os-glance: Retrieve CA certificate
- os-cinder: Retrieve CA certificate
- os-swift: Retrieve CA certificate
- ciao-controller: Get hash from cacert.pem
Fixes#22
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
* ciao: Install ciao from github sources
- Add a new variable ciao_dev to ciao-common
When set to True, it will build ciao from the master branch
and put the binaries in /usr/local/bin
When set to False (default) it will install ciao from the OS
packages
Fixes#21
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
* ciao: Add ciao_cleanup.yml playbook (#28)
- This playbook cleanups a ciao cluster
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
the [ciao_network] group in `examples/ciao/hosts` is
duplicated. This commits removes duplication of such group.
Signed-off-by: Simental Magana, Marcos <marcos.simental.magana@intel.com>
There were usage of different FQDNs for some variables.
this commit use a single FQDN for better understanding of the setup.
Signed-off-by: Simental Magana, Marcos <marcos.simental.magana@intel.com>
Users might not know what is the function of a variable in the
example playbook.
This change adds a reference for a role documentation where the
user can find more information about the variables below.
Fixes#18
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
Rally needs a compute endpoint in order to run.
- Create ciao admin user in openstack by default
- Create ciao compute service in openstack by default
- Create ciao compute endpoint in openstack by default
- Remove optional variables in example playbook to create
the items above.
Fixes#14
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- Update ciao example playbook with newer variables
- Remove glance from the example since it is not yet
supported by ciao.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- Change format for README.md files from rst to githubs markdown
- Document role variables in a table inside README.md files
- Document each variable in defaults/main.yml files
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
There are some places (like certificates) where the
controller hostname should be used.
This was achieved with groups['ciao_controller'][0] which worked
when the host file was defined as:
[ciao_controller]
controller.example.com
But if the IP is defined in the host file instead of the fqdn,
the ip was getting used instead of its fqdn.
- Replace {{ groups['ciao_controller'][0] }}
with {{ ciao_controller_fqdn }}
- Replace {{ groups['openstack_identity'][0] }}
with {{ keystone_fqdn }}
- Replace {{ groups['openstack_object_storage_controller'][0] }}
with {{ swift_fqdn }}
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- Ansible best practices recomends a generous use of whitespaces
to improve readability.
- Variables are normally written as {{ varname }}
- Add spaces around jinja filters
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- Task names on install.yml files where updated:
from: "Install <package-name> bundle"
to: "Install <bundle-name> bundle"
- Task names on install.yml files where updated:
from: "Run swupd verify"
to: "Verify <bundle-name> has been installed"
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
In order to setup cinder, now a list of devices must be provided. It allows
to clear-config-management to handle the lvm setup.
Signed-off-by: Cardona Ruiz, Erick <erick.cardona.ruiz@intel.com>
- cinder_fqdn default value was causing errors
- guess a default value for cinder_public_interface_name
- Fix typos on install_cinder.yml
- Run swup verify if the bundle is installed but the files are not
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
Makefile was installing config_template.py form ceph-common
the new version of ceph playbooks include more plugins which
will be included too with this change.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
The latest ciao cnci image (at the time of this commit) is based
on clearlinux 8260 which contains an old version of cnci agent.
This commit fetchs the latest ciao-cnci-agent binary and its
assosiated service file and injects them into the cnci image
- Update clearlinux image url to 8740
- Update ciao cnci image url to 8260
- Inject ciao-cnci-agent into cnci image
- Inject ciao-cnci-agent.service into cnci image
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
Ciao configuration implements an API for ciao components
to fetch and store cluster configuration data from a
specific storage backend.
ciao-scheduler reads the configuration from the backend
and propagates it to other components through SSNTP
More detailed information can be found at:
https://github.com/01org/ciao/tree/master/configuration
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- let cloud-init create a user named 'demouser' which
describes better the intent of the user and because
'ciao' is already taken by a system user
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
- Use fqdn in the endpoint url no matter if you
defined an ip, hostname or fqdn in the hosts file.
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>