forked from slchorne/ibcli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
267 lines (196 loc) · 7.4 KB
/
TODO
File metadata and controls
267 lines (196 loc) · 7.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
DVS info
CVS : /export/CVS_Repository/infoblox/src/ibcli
SVN : file:///export/SVN_Repository/src/ibcli/head
missing features :
[x] UTF-8 support
[-] test on non-utf8 systems ?
[x] use Encode ;
[x] $ext_attribute{$name} = encode ("utf8",$cvalue);
[x] move this check to do_Func()
[x] also move decode_comment()
[ ] conf zone "" insert host (add then modify)
[ ] does the parser support '*' in the command hash...
[ ] conf zone "" update host (modify then add)
[ ] Network Views
[ ] report the view name
[ ] show the name in a list of networks
[ ] modify network searches with network views
[ ] test if the 'search' returns more than 1 network.
[ ] EA for networks and other objects
[ ] add EA as a subroutine
[ ] check the args in the commandline
[ ] pass the object to the sub
[ ] add ipam if there are args in the line
[ ] conf net mod xxx insert_option foo=bar
[ ] add/remove an option from the custom list
[ ] ate there other arrays we need to support ?
[ ] re-parent networks
[ ] move the child networks to a different view for short term
[ ] create a network_container in 1 step
[ ] call add, then split
[ ] add a reservation :
[ ] to a HOST
[ ] to a network
$fixed->match_client( )
conf net add reserved 1.2.3.4
conf net add fixed 1.2.3.4 <Client_id>
[ ] Creating a network template in a scripted manner
-----------
[x] TTL for A/PTR/CNAME
[x] modify a fixed address
[x] move network
conf net move xxx member=<yyy>|failover=<name>
- unset the range membership
- remove
[x] cli v1.2
[x] read config files
[x] don't sput prompts
[x] die on errors ?
[x] -f config
[x] connect on commandline :
[x] -s <system>
[x] -p password
[x] -d <debug>
[x] -V (get version)
[x] show version
[x] verify all scripting commands are accessable
[x] show a '*' for pending comitts
[x] set a value = 'configure xxx'
[x] set zone add foo.com
[x] set zone add foo.com auth
[x] set zone delete foo.com
[-] set zone foo.com add nameserver 1.2.3.4
[x] set zone foo.com add host 1.2.3.4
[x] set zone foo.com add bulkhost 1.2.3.4
[x] set zone foo.com add cname 1.2.3.4
[x] set zone foo.com delete host 1.2.3.4
[x] set zone foo.com delete bulkhost 1.2.3.4
[x] set zone foo.com delete cname 1.2.3.4
[x] set network add 1.2.3.4/16
[x] set network delete 1.2.3.4/16
---
[x] set network 1.2.3.4 add network 1.2.3.4/nn
[x] set network 1.2.3.4 add address 1.2.3.4 test.foo.com
[x] set network 1.2.3.4 del address 1.2.3.4
[x] set network 1.2.3.4 split /24
[x] set network 1.2.3.4 split /24 all
[x] set network 1.2.3.4 split /24 required
[x] get a value = 'show xxx'
[x] to get values, don't interrogate the database, just do a AXFR
using dig. this will let you know what is current and what needs
to be comitted.
[x] A GET will only get anything comitted.
get zone
get zone MX
get zone NS
get zone detailed
[x] get host
dig +opts @server <host> A
[-] get blah [verbose]
dig +multiline +nostat +nocmd \
@<server> <zone> <type>
[x] terse mode
dig +noquestion +noauthority +noadditional +nocomments \
+multiline +nostat +nocmd \
@<server> <zone> <type>
[x] DON'T do recursive digs (+norecurse)
[x] need to prettyprint an AXFR
[x] get zone all
[x] get zone soa
[x] get zone mx
[x] get network 1.2.3.4/cidr
[-] get dig to to an 'LS' of the zone files
[-] Can't dp it.
[x] set system default
(ib_erase_dns_data)
[x] cli v1.8
[x] un hardcode 'dig' (use 'dig' not '/usr/bin/dig')
[x] conf server <ip> <password>
[x] if not specified, blank is ok
[x] need to undef the password...
[x] still use 'conf server pass <passwd> to
explicitly set the password
When connected to a DNS One, and then you disconnect, and then connect
to a non-DNS One, the ibcli craps out as it can't connect. When
you disc from one DNS One, and connect to another with a
different scripting password, you also have issues.
[x] more commands
[x] download logs
ib_export_logs
[x] conf zone <zone> import <ipaddress> noptr
ib_import_zone( zone , IP , true | false )
if set to true noptr applies (default is false)
[x] set zone add foo.com delegated svr IP svr IP ...
[x] set zone add foo.com auth dns_server blah.com dns_server foo.com
add a server with additional NS records
[x] conf dhcp 1.2.3.4/16 add range <startip> <endip>
[x] conf network 1.2.3.4/16 add dhcprange <startip> <endip>
[x] conf dhcp 1.2.3.4/16 del range <startip> <endip>
[x] conf dhcp 1.2.3.4/16 add address <ip> <MAC> <options>
[x] conf dhcp 1.2.3.4/16 del fixed <ip>
[x] conf dhcp 1.2.3.4/16 modify options <options>
[x] conf network global <option> <value>
ib_modify_global_dhcp_options(
"dhcp_class", "remote_class3", "true", "ccc", "true", "ddd"
);
if you don't want to define remote id, then is should be:
ib_modify_global_dhcp_options(
"dhcp_class", "remote_class3", "true", "ccc", "false"
);
[-] push all the GOOD commands into a stack
[-] create a -q (queue) option that just adds to the stack
USE this for the shell based CLI version
[-] stack to a $HOME/.ibcli_stack
[-] prepend the IP address of the server for sanity
[-] if there is stack, show a '*'
[-] changing servers will dump the stack
[-] 'commit' processes the stack (and dumps it)
[x] perldoc this crap
[x] Data::Dumper
[ ] Stack control ?
[ ] show stack
displays the pending commits
[ ] conf stack del <num>
delete a stack item
[ ] cli v2.2
[ ] more commands
[ ] set system import <directory>
[ ] Grid commands
[ ] enable dns|dhcp|ldap|radius
[ ] disable ...
[x] help
syntax should always be 'help <command>'
not '<command> help'
[x] show network
[x] show security
[x] show password_hint
[x] reboot
[x] shutdown
CLI commands
[x] set system default
reset to factory defaults
[x] ping (-n)
[x] traceroute (-n)
[x] show cpu <interval> <count>
calls : system("vmsat x y");
[x] show interface eth0
calls : system("ifconfig eth0");
[x] show interface all
calls : system("ifconfig -a");
[x] configure interface eth0 speed auto duplex none
Set port and speed
[x] show connections
calls : system("netstat --inet");
[x] show connections numerical
calls : system("netstat -n --inet");
[x] show disk
pump 'df' through a grep to clean stuff
[x] show diagnostics
gets version info
gets interface info
gets vmstat info
gets whatever else we need
[x] show counters
show counters <param>
conf counters reset
[x] Show arp