3094 Commits

Author SHA1 Message Date
Toshio Koide
32336182cc Initial implementation of unit tests for SimpleLinkResourceStore. 2014-10-30 13:02:47 -07:00
Yuta HIGUCHI
38b4d9d9ec Device Mastership
try to fix Masteship recognition mismatch when MastershipEvent suggest different view.

Change-Id: If1aba3d330978c48e8c4053fb47f4d149d57966e
2014-10-30 12:10:24 -07:00
Yuta HIGUCHI
dfe6e3bd05 allow null Master in MastershipTerm
Change-Id: I840354eb6d0b5a1bac91887a41626c33c49d592c
2014-10-30 12:10:24 -07:00
Toshio Koide
69e5257d32 Fix bugs on SimpleLinkResourceStore. 2014-10-30 11:14:56 -07:00
Toshio Koide
bce7425092 Add javadocs for ResourceType. 2014-10-30 11:14:56 -07:00
Jonathan Hart
4f60f98bd8 Implemented multi-instance packet out.
We've defined a PacketStore abstraction through which outbound packets are
sent. The packet store has a simple implementation (basically a no-op) and a
distributed implementation on top of the cluster messaging service.

Change-Id: Ib32753314fe518ef1fd67c858db744b004539938
2014-10-30 11:02:52 -07:00
Toshio Koide
07df706db1 Add javadocs for LinkResourceStore interface. 2014-10-30 10:54:25 -07:00
Yuta HIGUCHI
b5b71b3ce1 DistributedMastershipStore
- try to avoid unnecessary remote writes
- avoid reads from blocking if possible
- atomically read term info

Change-Id: I50badc718726261ccb14a6feefc578b420d28923
2014-10-30 08:21:27 -07:00
Yuta HIGUCHI
4b0ca2cfb1 Add constructor to create empty RoleInfo
Change-Id: If16483fb20d8d0010a22982e0d8f20a295017e62
2014-10-30 08:21:27 -07:00
Yuta HIGUCHI
f1d159a6b5 remove term lock
Change-Id: Ia19323d2bb1e30f2c62ddda7c6269928c4d73fb3
2014-10-30 08:21:27 -07:00
Yuta HIGUCHI
225e63e3d4 turn off duplicate check for now
Change-Id: Ic11a4e4c33ae219df1ddf49f512b8f61a145dc91
2014-10-30 08:21:27 -07:00
Toshio Koide
106d4495d3 Initial implementation of LinkResourceStore for single instance env. 2014-10-30 04:23:23 -07:00
Thomas Vachuska
e3784c9c09 Added protection against no resources to PathIntentInstaller. 2014-10-29 21:09:10 -07:00
Thomas Vachuska
a05c0a2941 Merge "Prototype bandwidth reservation" 2014-10-29 18:26:50 -07:00
Jonathan Hart
68fef9d95e Added modification instructions to Kryo
Change-Id: I4c571240560442aa6ac105c0ec6b3488641f0530
2014-10-29 17:30:03 -07:00
Thomas Vachuska
d16ce18d0c Added Port.Type and plumbed it throughout. 2014-10-29 17:25:29 -07:00
Ray Milkey
caa450ba34 Prototype bandwidth reservation
This is a prototype of the bandwidth reservation implementation.
There is no bandwidth discovery, it is all faked.  The bandwidth is
specified by allocating a special Intent used for demonstration purposes.
This code also uses faked out interfaces in the Resource Manager, and will
need to be refactored when the real Resource Manager is in place.

Change-Id: I1f9a16b4144f5440bb529014a6a6f0f21d22839e
2014-10-29 16:10:16 -07:00
Yuta HIGUCHI
eb5a0b9d7d minor Device - Mastership fixes
Change-Id: Id6d46e22fb67f01cd5c0802cf4fad135a043ec77
2014-10-29 15:59:40 -07:00
Jonathan Hart
29858af463 Add an empty topology at initialization so we can never have a null topology
Change-Id: I07921583e107895aeeb627f7d61920fed800e77c
2014-10-29 15:33:18 -07:00
Pavlin Radoslavov
52307e60ba IpAddress and IpPrefix related cleanup:
* Removed IpAddress.MAX_INET_MASK and use IpPrefix.MAX_INET_MASK_LENGTH
   instead
 * Renamed IpAddress.INET_LEN to INET_BYTE_LENGTH
 * Added IpAddress.INET_BIT_LENGTH, INET6_BYTE_LENGTH, and INET6_BIT_LENGTH
 * Removed methods that are semantically incorrect, or are not needed/used
   - IpAddress.prefixLength()
   - IpAddress.toPrefix()
   - IpAddress.mask()
   - IpAddress.netmask()
   - IpAddress.network()
   - IpAddress.host()
   - IpAddress.isMasked()
   - IpAddress.contains()
   - IpPrefix constructor for version and bytes (but no netmask)
   - IpPrefix.valueOf(int)

 * Misc. other cleanup.
2014-10-29 15:07:37 -07:00
Yuta HIGUCHI
6a529232f6 Change ProviderId.NONE to none:none
Change-Id: I556f5cdbb555d195950985cdbd4dab538132a154
2014-10-29 12:21:31 -07:00
Thomas Vachuska
ef5a809573 Merge remote-tracking branch 'origin/master' 2014-10-29 11:28:48 -07:00
Thomas Vachuska
425a2d757f Modified intent compilers to only chose paths that are appropriate to the type of intent, i.e. packet or optical. 2014-10-29 11:28:28 -07:00
Ayaka Koshibe
317245a6db add check for duplicate MastershipEvents to DeviceManager
Change-Id: I2753366b29ef32fa77ebcefff4b2202f1afe0006
2014-10-29 11:15:59 -07:00
Ayaka Koshibe
e60d452eda avoid transient changes to MastershipStore from being posted as events
Change-Id: Id033cf50f865e44439138f5b3814ebaedb832b73
2014-10-29 11:15:59 -07:00
Yuta HIGUCHI
b87ef9587d human readable time representation for toString
Example:
 LinkEvent{time=2014-10-28T23:24:23.461, ...

Change-Id: I439cea488afd97dfa4f1c1e5770f2e2d7b64d321
2014-10-28 23:34:23 -07:00
Yuta HIGUCHI
ea15015f7c convert anonymous class to nested class
Change-Id: I2d0770b80ca4806fabf31fd358ecb165d3e9f778
2014-10-28 22:55:14 -07:00
Yuta HIGUCHI
72569d6571 remove synchronized
Change-Id: I1a11e48d042797744a4ac834fd65f6417c700f57
2014-10-28 22:40:01 -07:00
Yuta HIGUCHI
71fa493b96 Add TODO memo
Change-Id: I2ae516383b02516b8d36e1f23331f81b57569ac5
2014-10-28 22:27:49 -07:00
Yuta HIGUCHI
56df70f929 Added debug log
Change-Id: Icc86bb91a382fd2d9bb013b9d6d30e0f45ffad74
2014-10-28 22:26:15 -07:00
Yuta HIGUCHI
4b52444082 DistributedFlowRuleStore related fixes
- handle no master for Device case
- Changed failed item type to FlowRule

Change-Id: If6c85751759cf6ba9ab0ed0384cbe1bf08a5d572
2014-10-28 22:23:57 -07:00
Yuta HIGUCHI
087019ba56 register some Intent related classes
Change-Id: I71ec0c7db930ffb9a1f2bc3da7c3de2f598ee5ee
2014-10-28 21:08:33 -07:00
Thomas Vachuska
bd8c988f24 Merge remote-tracking branch 'origin/master' 2014-10-28 15:53:35 -07:00
Thomas Vachuska
c0bbbd4f89 Allowing link stores to create links injected by ancillary providers.
Fixed oe-linc config
2014-10-28 15:53:30 -07:00
Yuta HIGUCHI
10a31c3b85 initial Distributed IntentStore using Hz
Change-Id: Iffb3f5fdfe8ba080fd039e67f8473ea18348f20d
2014-10-28 14:42:06 -07:00
Thomas Vachuska
4f1a60c9fd Revised copyright message. 2014-10-28 13:39:11 -07:00
Thomas Vachuska
444eda6066 Added JSON for role command. 2014-10-28 13:09:42 -07:00
Toshio Koide
9be539e079 Preparing implementation of link resource data store. 2014-10-28 11:07:52 -07:00
Pavlin Radoslavov
444b519327 Replaced the usage of IpPrefix with IpAddress in the context of
Controller Nodes.

Change-Id: Id2b25fb071bb20541db3f77b7afefe886520538e
2014-10-28 10:45:19 -07:00
Thomas Vachuska
e0f804aa3f Added application ID store; both trivial and distributed variants. 2014-10-27 23:40:48 -07:00
Yuta HIGUCHI
92891d1c20 add basic backup to DistributedFlowRuleStore
Change-Id: I8eedf0cf30a2555d45145889b5ef210e826b0ac0
2014-10-27 22:52:29 -07:00
Pavlin Radoslavov
3f4ccb286d Updated the IpAddress serialization/deserialization
inside class IpAddressSerializer to exclude reading/writing
the prefix length for IpAddress, because it is not applicable.
2014-10-27 20:15:10 -07:00
Pavlin Radoslavov
33f228af5a Replaced IpPrefix and IpAddress in the following methods
and cleanup related code:

 - Host.ipAddresses()
 - DefaultHost.ipAddresses()
 - HostDescription.ipAddress()
 - DefaultHostDescription.ipAddress()
 - HostService.getHostsByIp()
 - HostManager.getHostsByIp()
 - HostStore.getHosts()
 - GossipHostStore.getHosts()
 - SimpleHostStore.getHosts()
 - ProxyArpService.known()
 - ProxyArpManager.known()

As a result of the above cleanup, the "hosts" CLI command outputs
the IP addresses as "1.2.3.4" instead of "1.2.3.4/32".

Also, the following REST calls might be affected as well with
the above format replacement:
  - REST POST: config/topology
  - REST GET: topology/graph
2014-10-27 19:33:16 -07:00
Pavlin Radoslavov
76b0ae2789 Work toward common IP address classes.
* Updated classes PortAddresses (in core/api) and Interface (in sdnip)
   to use class InterfaceIpAddress instead of IpPrefix
 * Updated corresponding unit tests and relevant code
 * Minor refactoring inside ProxyArpManager to simplify some of the
   logic and usage related to PortAddresses. Also, renamed
   method findOutsidePortInSubnet() to findPortInSubnet() and updated
   its implementation to reflect better its usage.
2014-10-27 15:33:19 -07:00
Yuta HIGUCHI
bf89c74cf8 DistributedFlowRuleStore
- replace pendingFuture Map with Cache
- remove the future after setting the Future value

Change-Id: I152dfd586350c472dde74a28579536b44761680a
2014-10-27 15:21:14 -07:00
Thomas Vachuska
4353a5a390 Fixed graph relaxEdge to properly deal with Double.MIN_VALUE. 2014-10-27 15:18:10 -07:00
Jonathan Hart
dc09a3ba25 Fixed flaky HostMonitor unit tests.
Change-Id: Ie9e9e922733e6210b61a0360feae38d683685fe7
2014-10-27 11:40:18 -07:00
Yuta HIGUCHI
41f2ec0ccc moved Hazelcast based Mastership+Cluster store to onos-code-dist bundle
Change-Id: I304f916f3a400eaf050a5351825634349790e1bf
2014-10-27 10:40:49 -07:00
Yuta HIGUCHI
eb24e9d0ac Attempt to fix Link vanishing after mastership change
- LLDPLinkProvider: handle DeviceUpdate event
- DeviceManager: publish Device events caused by Mastership change
- DeviceManager: Always try to markOffLine on deviceDisconnected
- GossipDeviceStore: Silently ignore failure to get Timestamp on port events

Change-Id: I51fbb3f1924007867512f20e62d6d53090c63640
2014-10-26 19:58:10 -07:00
Yuta HIGUCHI
fd5cdf191f add toString
Change-Id: Iaab5d307e93b3784359a3bc1f80791b1ea833e58
2014-10-26 19:44:56 -07:00