124 Commits
Author SHA1 Message Date
Alberto Murillo 02d1dd00f6 ciao-webui: Initial support
This role works on clearlinux only for now.

Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-16 13:46:11 -05:00
Alberto Murillo ce291dd639 docker: Add docker role
First implementation of a docker role for Ubuntu.

Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-16 13:28:41 -05:00
Alberto Murillo 0545463144 ciao-controller: update mgmt_net and compute_net vars
mgmt_net and compute_net use to be a scalar value.

They are now a list of networks

Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-16 11:43:36 -05:00
Alberto Murillo 7fa70e9102 examples: ciao: add ansible.cfg
ansible.cfg enables pipelining for an extra boost in speed

Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
4.2
2016-08-16 09:43:12 -05:00
Alberto Murillo d5f15caad2 ceph: sync ceph roles
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-16 08:57:59 -05:00
Alberto Murillo b7ea92a979 examples: add profile_tasks to ansible.cfg
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>
4.1
2016-08-15 16:24:53 -05:00
Alberto Murillo f01de4d9dd ciao-network: Do not compress cnci image during transfer
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>
2016-08-15 16:05:07 -05:00
Alberto Murillo 0c6edeaa28 examples: ciao: cleanup: Remove bundles in clearlinux
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-12 18:05:23 -05:00
Alberto Murillo 92d4df2fda os-keystone: Refactor code
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-11 17:55:12 -05:00
Alberto Murillo 9ef93eff40 ceph: examples: Add cephfs
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>
2016-08-11 17:31:27 -05:00
Alberto Murillo b4b875b544 ciao: examples: Speed things up
- 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>
2016-08-11 15:04:14 -05:00
Alberto Murillo c0a6def082 ciao: Refactor code
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-11 14:51:21 -05:00
Alberto Murillo 20a861ea14 ciao-controller: Add a note on ciao_guest_{user,key} (#31)
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>
4.0
2016-08-04 16:43:17 -05:00
Alberto Murillo ac18e464df ciao-controller: Create the cnci image once.
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>
2016-08-04 16:42:20 -05:00
Alberto Murillo 5ab9fa9606 ciao-controller: Fix CA Certificate handling
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.
2016-08-04 15:42:07 -05:00
Alberto Murillo 73938b5f6e examples: ciao: Create a demo user and project
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>
2016-08-04 13:05:11 -05:00
Alberto Murillo f013bcf820 ciao-controller: Build CIAO from sources is always 'changed'
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>
2016-08-04 13:04:15 -05:00
Alberto Murillo 38dd039c70 examples: ciao: Include ciao_dev var in examples
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>
2016-08-04 12:15:14 -05:00
Alberto Murillo 9f75090e61 examples: ciao: Do not fail if optional variables are missing
- 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>
2016-08-04 10:40:30 -05:00
Alberto Murillo 61d93fe24b examples: ciao: Cleanup now supports Ubuntu 16.04 (Xenial)
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-02 17:56:21 -05:00
Alberto Murillo 07f3b6c99b ciao-network: Add support for Ubuntu 16.04 (Xenial)
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-02 17:53:22 -05:00
Alberto Murillo e1dfb9c4ad ciao-compute: Add support for Ubuntu 16.04 (Xenial)
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-02 17:52:53 -05:00
Alberto Murillo 3a91ad13b1 ciao-controller: Add support for Ubuntu 16.04 (Xenial)
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-02 17:50:10 -05:00
Alberto Murillo 1cb4058703 os-keystone: Add support for Ubuntu 16.04 (Xenial)
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-08-02 13:40:01 -05:00
Alberto Murillo c15fd697e0 ciao-common: Create /usr/local/bin
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>
2016-07-26 15:40:49 -05:00
Alberto Murillo 1e7bc15b39 ciao-controller: Install os-core-dev
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>
2016-07-26 14:00:26 -05:00
Alberto Murillo 48b2fa8326 Mark unchaged task as OK (#29)
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>
3.8
2016-07-20 10:54:09 -05:00
Alberto Murillo 01b62477d6 Sync ceph roles
- Add ceph-mds role
- Sync ceph-* roles with github.com/ceph/ceph-ansible

Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-07-19 17:57:16 -05:00
Alberto Murillo c1d699995e ciao: Install ciao from github sources (#25)
* 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>
3.7
2016-07-15 14:43:07 -05:00
Marcos Simental e058472f53 examples/ciao: remove duplicated ciao_network host (#27)
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>
2016-07-13 17:39:08 -05:00
Marcos Simental 265b1d459e examples/ciao: use consistent FQDN for the group_vars/all file (#26)
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>
2016-07-13 17:04:18 -05:00
Alberto Murillo bcb1c121dd examples: ciao: Provide a reference for variables
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>
3.6
2016-07-11 16:15:36 -05:00
Alberto Murillo c94440c70a ciao-controller: Create compute service and endpoint for OpenStack
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>
2016-07-11 16:10:20 -05:00
Alberto Murillo d8f75164e2 examples: Update ciao examples
- 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>
2016-07-11 15:23:37 -05:00
Alberto Murillo 553b1f04f5 Update documentation
- 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>
2016-07-11 15:23:33 -05:00
Alberto Murillo bb10d701b5 os-* ciao-*: Use service_fqdn for reference of a node.
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>
2016-07-08 11:07:38 -05:00
Alberto Murillo 3a6e6acecc Add white spaces for better readability
- 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>
2016-07-08 11:07:29 -05:00
Alberto Murillo 43d8848ad6 Correct task names on install files
- 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>
2016-07-07 17:30:00 -05:00
Cardona Ruiz, Erick 47b7870ec0 os-cinder: Support a list of devices for lvm setup
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>
3.5
2016-06-30 11:09:06 -05:00
Alberto Murillo 478c523ded os-cinder: Fix cinder role
- 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>
2016-06-30 11:09:06 -05:00
Alberto Murillo 90047e58c3 os-cinder: add licence and readme file
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-06-30 11:09:06 -05:00
Alberto Murillo 35a8eca15a rabbitmq: Add rabbitmq role again
cinder needs rabbitmq to communicate between the
controller and storage nodes.

Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-06-30 11:09:06 -05:00
Alberto Murillo e203b67923 Makefile: copy all plugins from ceph-common
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>
2016-06-29 17:26:39 -05:00
Alberto Murillo c4cc24b86e ceph: Update ceph roles
Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-06-29 15:48:15 -05:00
Alberto Murillo 6e963a56e2 ciao: Install the latest ciao-cnci-agent into cnci image
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>
3.4
2016-06-14 18:34:00 -05:00
Alberto Murillo 490fde6e43 ciao: Make use of ciao configuration
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>
2016-06-14 16:41:02 -05:00
Alberto Murillo d037427cc9 Merge pull request #15 from obedmr/ciao/datastore
Add datastore paths in ciao-controller command
2016-05-30 15:02:34 -05:00
Munoz, Obed N 1454de7742 [ciao-controller] Add datastore paths in ciao-controller command
Signed-off-by: Munoz, Obed N <obed.n.munoz@intel.com>
2016-05-30 14:47:41 -05:00
Alberto Murillo 818ce5b7c5 ciao-controller: rename cloud-init user
- 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>
3.3
2016-05-19 11:12:18 -05:00
Alberto Murillo 49b0cd86b3 os-glance: use fqdn for endpoint url
- 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>
2016-05-19 11:12:15 -05:00