172 Commits

Author SHA1 Message Date
Hugo Trippaers
a789e8bf57 Fix a bug that would add updated control ip address instead of replace 2015-03-16 11:35:22 +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
574fa2c0a0 Call update_config.py if it is there 2015-03-16 11:35:21 +01:00
Ian Southam
8abf1a22ab Auto create missing chains
Auto delete superfluous rules
TO DO: Priorities
2015-03-16 11:35:21 +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
3ea63ced68 Added merge for network_acl type message 2015-03-16 11:35:19 +01:00
Ian Southam
fff3964332 Add catchall for unknown types 2015-03-16 11:35:19 +01:00
Hugo Trippaers
9ede758e4d Small update to try do deal with the stuck issue 2015-03-16 11:35:19 +01:00
Ian Southam
98a43d184b Fixed bug in which every run of loadQueueFile would append to the json file (merge)
cloud-early-config now saves its input file to /var/cache/cloud
Execute load cmd_line.json in update_config
Old way of working still in there to stop and possible clash until the base image is made
2015-03-16 11:35:19 +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
Hugo Trippaers
58919dcf50 Change the location for the temporary json files to /var/cache/cloud 2015-03-16 11:35:16 +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
dd6b643ceb Do not use eth0 or eth1 for random tests
One or other will be the control interface of the box
2015-03-16 11:35:15 +01:00
Ian Southam
cc5d72133e Removed chef as we will definitely not go this way 2015-03-16 11:35:14 +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
Leo Simons
cf4cdde291 Fix update_config.py use of subprocess. 2015-03-16 11:35:12 +01:00
Leo Simons
6244265de0 Fancy line editor for Ian 2015-03-16 11:35:11 +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
2a94ca69ce Added some lost lines back using Hugo witchcraft 2015-03-16 11:35:09 +01:00
Ian Southam
ca4887d9cc Test data for ipassociation
These files emulate commands coming from cloudstack itself
2015-03-16 11:35:08 +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
Ian Southam
3811b8dc90 Split Databag in to separate class as I would now need this 2015-03-16 11:35:06 +01:00
Ian Southam
3077eb925b Include the guestnetwork code
This takes the guestnetwork object and also creates an ip object
2015-03-16 11:35:06 +01:00
Ian Southam
9355dd7133 Corrected a hole in my logic 2015-03-16 11:35:05 +01:00
Ian Southam
0bf7d54722 1. Completed provider for ip rules (fwmark)
2.  Added merge routine for guestnetwork config messages
3.  Updated test script
2015-03-16 11:35:05 +01:00
Hugo Trippaers
583f177619 Disable cmdline check until it's fixed 2015-03-16 11:35:04 +01:00
Hugo Trippaers
0027db6cd1 Switch ip associations to new model and update the recipes 2015-03-16 11:35:04 +01:00
Ian Southam
0db157e58f Remove debug code 2015-03-16 11:35:04 +01:00
Ian Southam
d868b0521b Correct small typo in error message 2015-03-16 11:35:03 +01:00
Ian Southam
bcb760e1e2 Can now read the ips out of the cmdline databag (if present) 2015-03-16 11:35:03 +01:00
Ian Southam
0c8f8d945e Only ip_association files for now 2015-03-16 11:35:03 +01:00
Ian Southam
bcbefb2833 Changed from camelCase to json_case 2015-03-16 11:35:03 +01:00
Ian Southam
54b21220db Use json naming standards instead of camelCase 2015-03-16 11:35:02 +01:00
Ian Southam
018b56385c Added cs_ip module
Corrected syntax error in merge.py
2015-03-16 11:35:02 +01:00
Ian Southam
a357e12943 Add the Python bits 2015-03-16 11:35:02 +01:00