You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/10/02 18:41:48 UTC
[18/50] [abbrv] git commit: updated refs/heads/marvin-refactor to
bbaf354
marvin_refactor: network data factory
network can create isolated guest and shared guest networks. the network
object will inturn use the default networkofferings which are
auto-enabeld by their postgenerators
Signed-off-by: Prasanna Santhanam <ts...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ffb7820a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ffb7820a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ffb7820a
Branch: refs/heads/marvin-refactor
Commit: ffb7820a869a117506c89554563ae59fd41a7348
Parents: b19faea
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Sat Sep 7 11:02:18 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Wed Oct 2 20:27:28 2013 +0530
----------------------------------------------------------------------
tools/marvin/marvin/factory/data/network.py | 48 ++++++++++++++++++++
.../marvin/factory/data/networkoffering.py | 44 +++++++++++++++++-
2 files changed, 91 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ffb7820a/tools/marvin/marvin/factory/data/network.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/factory/data/network.py b/tools/marvin/marvin/factory/data/network.py
new file mode 100644
index 0000000..ad6101c
--- /dev/null
+++ b/tools/marvin/marvin/factory/data/network.py
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+import factory
+from marvin.legacy.utils import random_gen
+from marvin.factory.network import NetworkFactory
+from marvin.factory.data.networkoffering import DefaultIsolatedNetworkOfferingWithSourceNatServiceFactory
+from marvin.factory.data.networkoffering import DefaultSharedNetworkOfferingFactory
+
+class GuestIsolatedNetworkFactory(NetworkFactory):
+
+ displaytext = factory.Sequence(lambda n: 'GuestIsolatedNetwork-%s' % random_gen())
+ name = factory.Sequence(lambda n: 'GuestIsolatedNetwork-%s' % random_gen())
+ networkoffering =\
+ factory.SubFactory(
+ DefaultIsolatedNetworkOfferingWithSourceNatServiceFactory,
+ apiclient=factory.SelfAttribute('..apiclient'),
+ name=factory.Sequence(lambda n: 'GuestIsolatedNetworkOffering-%s' % random_gen()),
+ )
+ networkofferingid = factory.LazyAttribute(lambda no: no.networkoffering.id if no.networkoffering else no.networkoffering)
+ zoneid = None
+
+class SharedNetworkFactory(NetworkFactory):
+
+ displaytext = factory.Sequence(lambda n: 'SharedNetwork-%s' % random_gen())
+ name = factory.Sequence(lambda n: 'SharedNetwork-%d' % random_gen())
+ networkoffering = \
+ factory.SubFactory(
+ DefaultSharedNetworkOfferingFactory,
+ apiclient=factory.SelfAttribute('..apiclient'),
+ name=factory.Sequence(lambda n: 'SharedNetworkOffering-%s' % random_gen())
+ )
+ networkofferingid = factory.LazyAttribute(lambda no: no.networkoffering.id if not no.networkoffering else no.networkoffering)
+ zoneid = None
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ffb7820a/tools/marvin/marvin/factory/data/networkoffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/factory/data/networkoffering.py b/tools/marvin/marvin/factory/data/networkoffering.py
index 4e54c4b..829aee0 100644
--- a/tools/marvin/marvin/factory/data/networkoffering.py
+++ b/tools/marvin/marvin/factory/data/networkoffering.py
@@ -17,7 +17,7 @@
import factory
from marvin.factory.networkoffering import NetworkOfferingFactory
-from marvin.utils import random_gen
+from marvin.legacy.utils import random_gen
class DefaultIsolatedNetworkOfferingWithSourceNatServiceFactory(NetworkOfferingFactory):
@@ -43,6 +43,12 @@ class DefaultIsolatedNetworkOfferingWithSourceNatServiceFactory(NetworkOfferingF
'provider': 'VirtualRouter'
}
)
+ # enable the offering post generation
+ factory.PostGenerationMethodCall('update',
+ factory.SelfAttribute('..apiclient'),
+ id=factory.SelfAttribute('..id'),
+ state='Enabled')
+
class DefaultSharedNetworkOfferingWithSGServiceFactory(NetworkOfferingFactory):
@@ -71,3 +77,39 @@ class DefaultSharedNetworkOfferingWithSGServiceFactory(NetworkOfferingFactory):
'provider': provider
}
)
+
+ # enable the offering post generation
+ factory.PostGenerationMethodCall('update',
+ factory.SelfAttribute('..apiclient'),
+ id=factory.SelfAttribute('..id'),
+ state='Enabled')
+
+
+class DefaultSharedNetworkOfferingFactory(NetworkOfferingFactory):
+
+ displaytext = factory.Sequence(lambda n : "DefaultSharedNetworkOfferingFactory-%d" % n)
+ name = factory.Sequence(lambda n : "DefaultSharedNetworkOfferingFactory-%d" % n)
+ availability = "Optional"
+ supportedservices = "Dns,Dhcp,UserData"
+ guestiptype = "Shared"
+ traffictype = "GUEST"
+
+ specifyVlan = True
+ specifyIpRanges = True
+ isPersistent = False
+ conserveMode = True
+
+ serviceProviderList = []
+ for service in map(lambda l: l.strip(' '), supportedservices.split(',')):
+ serviceProviderList.append(
+ {
+ 'service': service,
+ 'provider': 'VirtualRouter'
+ }
+ )
+
+ # enable the offering post generation
+ factory.PostGenerationMethodCall('update',
+ factory.SelfAttribute('..apiclient'),
+ id=factory.SelfAttribute('..id'),
+ state='Enabled')