167 Commits

Author SHA1 Message Date
Will Szumski
302472ad20 Add a .gitreview file
This is needed to connect with gerrit.

TrivialFix

Change-Id: Ib11abb764a0762b669f1e5ee24851e1dfeb7055d
2018-11-02 15:29:48 +00:00
jovial
207bcab1cf
Merge pull request #28 from jovial/fix-ip-breakage
ip on RedHat based distros is at /usr/sbin/ip
2018-10-03 19:27:37 +01:00
Will Szumski
3437bec9cd ip on RedHat based distros is at /usr/sbin/ip
I had accidentally used the wrong path when I added support for
ubuntu
2018-10-03 19:14:32 +01:00
jovial
7a04432226
Merge pull request #25 from jovial/usr-bin
Use /usr/bin/virsh instead of /bin/virsh
2018-10-03 17:40:30 +01:00
jovial
670f3080b2
Merge pull request #24 from jovial/ovs-root
ovs-vsctl list-br requires root privileges
2018-10-03 17:40:18 +01:00
jovial
1fae6d26dc
Merge pull request #23 from jovial/virtualbmc-debian
Support Debian based GNU/Linux distributions
2018-10-03 17:40:04 +01:00
jovial
f3ec7555a6
Merge pull request #22 from jovial/package
Use package instead of yum
2018-10-03 17:39:49 +01:00
jovial
4488618e7b
Merge pull request #21 from jovial/ip-fix
path of `ip` command is system dependent
2018-10-03 17:39:35 +01:00
Will Szumski
bc66151567 Use /usr/bin/virsh instead of /bin/virsh
On RedHat based distros /bin/ is a symlink to /usr/bin:

[will@dev-director ~]$ ls -lia /bin
410146 lrwxrwxrwx. 1 root root 7 Jun 11 12:07 /bin -> usr/bin

Whereas on the Ubuntu it is seperate directory. Using
/usr/bin/virsh should work on both.

ubuntu:

stack@ubuntu:~/ansible-role-libvirt-vm$ whereis virsh
virsh: /usr/bin/virsh /usr/share/man/man1/virsh.1

centos:

[will@dev-director ~]$ whereis virsh
virsh: /usr/bin/virsh /usr/share/man/man1/virsh.1.gz

Also removed a misleading comment. QEMU uses differnt
"instances" for privaleged and user access i.e the
"system" and "session" instances. The comment seemed
to suggest using /bin/virsh would connect to the
system instance (at least that is how I read it).
2018-10-01 13:47:18 +01:00
Will Szumski
90b31afd0f ovs-vsctl list-br requires root privileges
At least this is the case on ubuntu:

(.venv) stack@ubuntu:~/tenks$ ovs-vsctl list-br
ovs-vsctl: unix:/var/run/openvswitch/db.sock: database connection failed (Permission denied)
2018-10-01 12:06:51 +01:00
Will Szumski
7ef64ff974 Support Debian based GNU/Linux distributions
- use package module instead of yum
- libvirt-devel is called libvirt-dev on debian based
  distributions
2018-10-01 09:49:34 +01:00
Will Szumski
41b6e0795f Use package instead of yum
This is with the view that tenks should support multiple
GNU/Linux distributions. The package module abstracts
over the differences between package managers.
2018-10-01 09:47:35 +01:00
Will Szumski
9ccf17a1da path of ip command is system dependent
- on centos: /usr/sbin/ip
- on ubuntu: /sbin/ip
2018-10-01 09:46:44 +01:00
Mark Goddard
cb50ef288a
Merge pull request #19 from jovial/install-steps
Reorder installation steps
2018-09-26 15:55:17 +01:00
Will Szumski
a23e2e2d7e Reorder installation steps
Tenks has a dependency on ansible. We need to make sure this is installed
before we run `ansible-galaxy install`. `pip install .` was therefore moved
above `ansible-galaxy install` in the installation steps.
2018-09-26 15:38:26 +01:00
Mark Goddard
14e508588b
Merge pull request #18 from w-miller/veth-up
Bring each end of veth pair up after creation
2018-09-21 17:58:33 +01:00
Will Miller
f0adf96145 Bring each end of veth pair up after creation 2018-09-21 16:49:45 +00:00
w-miller
d35b240fa2
Merge pull request #17 from w-miller/deploy-image-ids-role
Move deploy image ID finding to enrolment role
2018-09-21 17:27:34 +01:00
Will Miller
e81eb6d6ca Move deploy image ID finding to enrolment role
The OpenStack client Python package is not necessarily installed in the
Tenks virtualenv until the role is run, so we need to query OpenStack
for the image IDs inside the role.
2018-09-21 16:17:11 +00:00
w-miller
84d7b6606b
Merge pull request #16 from w-miller/update-docs
Update docs
2018-09-21 16:54:22 +01:00
Will Miller
de8e6bcd04 Add boot mode configuration to to-do list 2018-09-21 16:25:40 +01:00
Will Miller
7c46f007ba Add assumptions to install 2018-09-21 16:15:38 +01:00
Will Miller
9e7494a901 Add to-do list to development 2018-09-21 16:15:15 +01:00
Will Miller
d1228ca350 Add more substance to README 2018-09-21 16:14:54 +01:00
w-miller
7fe0942a03
Merge pull request #15 from w-miller/deploy-uuids
Allow deploy_kernel/ramdisk names to be specified
2018-09-21 13:51:35 +01:00
Will Miller
3edc58f268 Add flavors and deploy images to example overrides 2018-09-21 13:31:12 +01:00
w-miller
4511ecb959
Merge pull request #14 from w-miller/sphinx
Migrate documentation to Sphinx
2018-09-21 13:09:04 +01:00
Will Miller
36c3756c6c Address doc review comments 2018-09-21 12:25:11 +01:00
Will Miller
5e21655f8b Allow deploy_kernel/ramdisk names to be specified
You can now use either a name or a UUID for these images. Also, remove
the unnecessary setting of node states, which is now handled by the
scheduling plugin.
2018-09-20 16:55:56 +00:00
Will Miller
0bbca02eec Migrate documentation to Sphinx 2018-09-20 17:24:37 +01:00
w-miller
0ff2a038af
Merge pull request #13 from w-miller/prefix-vol-names
Prefix volume names with node name
2018-09-20 13:35:40 +01:00
Will Miller
1f4127c184 Prefix volume names with node name
Each volume needs its own volume, so to ensure separate volumes are
created for every node, give each volume a unique name comprising the
parent node's name and the volume's index within the node's volume list.
2018-09-20 10:52:08 +00:00
w-miller
157d433bde
Merge pull request #11 from w-miller/schedule
Improve scheduling, persist node details and add some tests
2018-09-19 09:53:41 +01:00
w-miller
9228b6c86a
Merge pull request #12 from w-miller/console-log
Document console_log_enabled flag
2018-09-19 09:46:55 +01:00
Will Miller
961972077a Add stestr config file 2018-09-19 08:40:46 +00:00
Will Miller
7c1f7aa56c Document console_log_enabled flag
This flag is present in the libvirt-vm role, so will be passed through
if specified in Tenks. Document it in Tenks so it can be used if needed.
2018-09-19 08:26:52 +00:00
Will Miller
1375df399a Add additional tox environments to Travis 2018-09-18 16:53:20 +00:00
Will Miller
61e884e833 Fix typo in README 2018-09-18 16:29:48 +00:00
Will Miller
c0227d29b4 Move absent node pruning to cleanup section
Add a cleanup_state.yml playbook that is run after every deployment and
teardown. It will remove any nodes marked as 'absent' from the state
file, by calling schedule.py with `prune_only=True`.
2018-09-18 16:28:34 +00:00
w-miller
ea0c147913
Merge pull request #9 from w-miller/2teardown
Implement 'teardown'
2018-09-17 14:52:59 +01:00
Will Miller
56a469ffdf Remove unnecessary test 2018-09-17 08:54:16 +00:00
Will Miller
7f2bfa835f Add additional _process_specs tests 2018-09-17 08:50:24 +00:00
Will Miller
1006415f2e Run coverage testing by default in tox 2018-09-14 16:43:32 +00:00
Will Miller
5e0702ce68 Add _process_specs tests 2018-09-14 16:40:50 +00:00
Will Miller
daccd02158 Add coverage testing 2018-09-14 16:40:39 +00:00
Will Miller
08940e1d94 Save task arguments and vars in object
Rather than passing these args through various sub-routines, make them
accessible through the action plugin object.
2018-09-14 16:39:30 +00:00
Will Miller
3fb33d84f8 Fix mock import for Python 2 2018-09-14 13:51:21 +00:00
Will Miller
794bffd701 Add basis for action plugin tests 2018-09-14 13:35:27 +00:00
Will Miller
78dfa05258 Update documentation
* Improve comments in tenks_update_state
* Add limitations section to README
* Add hosts blurb to README
* Add reconfiguration blurb to README
2018-09-14 11:59:10 +00:00
Will Miller
99eaf48098 Persist physnet indices in state file
Instead of overwriting the physnet mappings specified in the Tenks
configuration, create a separate dict that maps physnet names to their
indices. Like physnet_mappings, this will be present for each
hypervisor.
2018-09-14 10:27:21 +00:00