48 Commits

Author SHA1 Message Date
Ian Southam
bdda01d269 Countless bug fixes, mostly do do with VR redundancy
Also added some new unit tests and adjusted the code to make them work
2015-03-16 11:38:18 +01:00
Ian Southam
8a6a407114 Dhcp refactor
Loads of tiny bugs squashed and some big ones
Tested with domR needs VPC testing now
TODO:  Unit tests CsDhcp
2015-03-16 11:38:17 +01:00
Hugo Trippaers
75dda0b5b2 Fix imports 2015-03-16 11:38:17 +01:00
Ian Southam
40eb8423b9 Fixed hostname on router 2015-03-16 11:38:16 +01:00
Ian Southam
84624091fd Load balancer config 2015-03-16 11:38:16 +01:00
Ian Southam
7d0df32560 Lots of fixes from the testing
firewallrules implemented sperately from networkacl (ugly but best that can be done ATM)
Some refactoring in CsDHCP as it made no sense to do it that way anymore
processmonitoring implemented
Domain not correctly sourced in VR
2015-03-16 11:38:15 +01:00
Ian Southam
08d2e10cb9 pep8 2015-03-16 11:38:15 +01:00
Ian Southam
0496ba7a00 firewallrules (VR) and metworkacl (VPC) did not as I believe they shgould get combined
in the underlying java code
Have split them out again.
Omce tested this will need some refactorinfg because it is currently PFU
2015-03-16 11:38:15 +01:00
Ian Southam
f924a9755d Adding port forwarding ranges exposes a rather unfortunate typo 2015-03-16 11:38:15 +01:00
Hugo Trippaers
5c4d221c34 Let's stick to CamelCase for now 2015-03-16 11:38:12 +01:00
Hugo Trippaers
9385f071d7 Fix PEP8 compliance 2015-03-16 11:38:07 +01:00
Ian Southam
54f5c53a20 Decided not at this stage to combine VPC and VR code 2015-03-16 11:38:06 +01:00
Hugo Trippaers
4cfe2a32c0 Fix a few things introduced by the rebase 2015-03-16 11:35:35 +01:00
Ian Southam
7b95b78223 backup fault and master implemented
Some more refactoring to decluter the bin directory
New config class to carry around the log, command line and firewall data
2015-03-16 11:35:29 +01:00
Ian Southam
8a2391336c Getting redundancy to work via teh configuration files
Some refactoring to make class loading a little more logical
Removed fw global (does not persist accross modules)
Added first tests
Added command line call to set and disable redundancy
Added command line call to set master
2015-03-16 11:35:29 +01:00
Ian Southam
093749eaae A start on the redundancy code
This will not break anything but also will not work
2015-03-16 11:35:29 +01:00
Ian Southam
a01e9082cd New code for ACLs (VPN configuration) failed functional tests
Some corrections
2015-03-16 11:35:28 +01:00
Ian Southam
f7d0a11a34 Process VPN requests\
No tests (yet)
2015-03-16 11:35:28 +01:00
Ian Southam
725c040d5c Added code to configure netusage for vpc and domR devices
Removed code from existing scripts that does the same
Fixed some more issues with CsNetfilter
Added rsync for/etc/iptables in rsync
2015-03-16 11:35:27 +01:00
Ian Southam
733bc19eac Include base rule sets in Acls
Also made some adjustments to the base rule sets to ensure my parsing routine works
2015-03-16 11:35:26 +01:00
Hugo Trippaers
a7338387c1 Sourcenat is handled differently for routers and vpc routers 2015-03-16 11:35:26 +01:00
Ian Southam
8b38bff962 A lot of corner cases dealt with
Need now to expand the test data to ensure I have got them all
Also failure to match because bizarrely some strings were unicode and some not
2015-03-16 11:35:25 +01:00
Hugo Trippaers
f21b90a73e Add missing sourcenat rule 2015-03-16 11:35:25 +01:00
Hugo Trippaers
6d12d94e0c Add the public source nat rule 2015-03-16 11:35:24 +01:00
Hugo Trippaers
80a149abb7 Add port forwarding and static nat to the convergence infrastructure 2015-03-16 11:35:24 +01:00
Ian Southam
0e8c79c7f1 That is the acls.
Need to check the order stays good
2015-03-16 11:35:23 +01:00
Ian Southam
8f4461567d That should be all the dhcp settings correct
CsGuestNetwork moved out of configure
dnsmasq config all switched to CsDhcp
2015-03-16 11:35:22 +01:00
Ian Southam
b45c71ee31 Acl code linked in
Dhcp code
Test file for dhcp entry
2015-03-16 11:35:22 +01:00
Hugo Trippaers
683e660d60 Small (but important) fixes 2015-03-16 11:35:22 +01:00
Ian Southam
19fd0b4b57 Added logic to create all necessary firewall rules
TODO:  Auto add chains
TODO:  Delete rules that should not be there
TODO: Deal with precidence
2015-03-16 11:35:21 +01:00
Ian Southam
cd0ad69281 Tidied up main to be in line with the newer classes
Added a base classs CsDataBag which will autoload a given databag
2015-03-16 11:35:21 +01:00
Ian Southam
c6d99a45a2 First part of some serious refactoring
The problem is that teh convergence model does not works as it currently is
Firewall rules will get added but not deleted

This builds a table of firewall rules that need to be present
The new CsNetfilter class will then do:
1.  Add rules that are not present
2.  Delete any that were not explicitly in the add list

WIP
2015-03-16 11:35:21 +01:00
Hugo Trippaers
e323d63867 Merge vmmetadata, reuse the code from the existing script to parse it. 2015-03-16 11:35:20 +01:00
Ian Southam
4527519081 Refactored CsHelper into a module
Introduced CsNetfilter module/class
2015-03-16 11:35:20 +01:00
Ian Southam
4e63119873 Moved processing the cmd_line databag into update 2015-03-16 11:35:20 +01:00
Ian Southam
680454dfdf Some bug fixes
Some more tests
store vmpassword functionally working
Tests for store password
2015-03-16 11:35:18 +01:00
Ian Southam
9d73879061 Fixed test (assert in guest check was wrong way around)
Also found condition inw hich apache would be miscobfigured and failed to run (I love tests!!)
Fixed configure.py to cover this case
Added a test to provoke this case!
2015-03-16 11:35:18 +01:00
Ian Southam
4c5f4a1f9f Added vmpassword type (does nothing yet)
Fixed tests to use /var/cache/cloud
Added some test files but will remove them when tests are properly completed
Fixed a bug in configure that did not deal well with databags with empty dev sections
2015-03-16 11:35:17 +01:00
Hugo Trippaers
6a016d5b54 Small fixes 2015-03-16 11:35:17 +01:00
Hugo Trippaers
85434f49b9 Hotfix for lost control interface 2015-03-16 11:35:17 +01:00
Ian Southam
ca2ff2946e Added some tests that test stuff
Specifically checking whether certain ip addresses get added and deleted
Also a rudementary test for the guest network ip
Much more to do!!
2015-03-16 11:35:16 +01:00
Ian Southam
c428d60e6b Stop ignoring eth0 2015-03-16 11:35:15 +01:00
Ian Southam
6a7a832ef5 iDo not do the post configure steps on a control interface 2015-03-16 11:35:14 +01:00
Ian Southam
2aed586bfc Removed merge_cline - no longer required
Added the last pieces of vpc guest network
password server and associated FW rules
Added apache2 config and start of server
Corrected a bug in CsFile
Fixed some of the many pyLint bleats
2015-03-16 11:35:13 +01:00
Leo Simons
295e2caff0 Fix configure::waitForDevice when a device is missing.
Was using non-existing 'ip' variable.
2015-03-16 11:35:12 +01:00
Ian Southam
05702ecd1a Added guest network configuration
Added iptables config (adds but no deletes yet)
Apache config (VPC GN)
DNSMasq config (VPX GN)
2015-03-16 11:35:10 +01:00
Ian Southam
666dc16e58 Moved bag location to /et/cloudstack
Updated test script to also process command line
Added connmark stuff to merge
2015-03-16 11:35:09 +01:00
Ian Southam
c7c1f3202e Plan B
Replace chef with a python script
configure.py will read the bags and (hopefully) create the desired state
At this stage this is ipassociation
This code should work for both VR and VPCrs

TODO:
iptables
ip route throw (present in VR but not in VPCr
Determine default route
Unit tests
2015-03-16 11:35:08 +01:00