diff --git a/openstack_dashboard/dashboards/project/stacks/mappings.py b/openstack_dashboard/dashboards/project/stacks/mappings.py
index d59beca442..18eda6bfb5 100644
--- a/openstack_dashboard/dashboards/project/stacks/mappings.py
+++ b/openstack_dashboard/dashboards/project/stacks/mappings.py
@@ -12,12 +12,12 @@
import json
import logging
-import re
from django.core.urlresolvers import reverse
from django.template.defaultfilters import register # noqa
from django.utils import html
from django.utils import safestring
+import six
import six.moves.urllib.parse as urlparse
from openstack_dashboard.api import swift
@@ -169,6 +169,82 @@ resource_images = {
'SERVER_IN_PROGRESS': '/static/dashboard/img/server-gray.gif',
'SERVER_INIT': '/static/dashboard/img/server-gray.svg',
'SERVER_COMPLETE': '/static/dashboard/img/server-green.svg',
+ 'ALARM_FAILED': '/static/dashboard/img/alarm-red.svg',
+ 'ALARM_DELETE': '/static/dashboard/img/alarm-red.svg',
+ 'ALARM_IN_PROGRESS': '/static/dashboard/img/alarm-gray.gif',
+ 'ALARM_INIT': '/static/dashboard/img/alarm-gray.svg',
+ 'ALARM_COMPLETE': '/static/dashboard/img/alarm-green.svg',
+ 'VOLUME_FAILED': '/static/dashboard/img/volume-red.svg',
+ 'VOLUME_DELETE': '/static/dashboard/img/volume-red.svg',
+ 'VOLUME_IN_PROGRESS': '/static/dashboard/img/volume-gray.gif',
+ 'VOLUME_INIT': '/static/dashboard/img/volume-gray.svg',
+ 'VOLUME_COMPLETE': '/static/dashboard/img/volume-green.svg',
+ 'IMAGE_FAILED': '/static/dashboard/img/image-red.svg',
+ 'IMAGE_DELETE': '/static/dashboard/img/image-red.svg',
+ 'IMAGE_IN_PROGRESS': '/static/dashboard/img/image-gray.gif',
+ 'IMAGE_INIT': '/static/dashboard/img/image-gray.svg',
+ 'IMAGE_COMPLETE': '/static/dashboard/img/image-green.svg',
+ 'WAIT_FAILED': '/static/dashboard/img/wait-red.svg',
+ 'WAIT_DELETE': '/static/dashboard/img/wait-red.svg',
+ 'WAIT_IN_PROGRESS': '/static/dashboard/img/wait-gray.gif',
+ 'WAIT_INIT': '/static/dashboard/img/wait-gray.svg',
+ 'WAIT_COMPLETE': '/static/dashboard/img/wait-green.svg',
+ 'FIREWALL_FAILED': '/static/dashboard/img/firewall-red.svg',
+ 'FIREWALL_DELETE': '/static/dashboard/img/firewall-red.svg',
+ 'FIREWALL_IN_PROGRESS': '/static/dashboard/img/firewall-gray.gif',
+ 'FIREWALL_INIT': '/static/dashboard/img/firewall-gray.svg',
+ 'FIREWALL_COMPLETE': '/static/dashboard/img/firewall-green.svg',
+ 'FLOATINGIP_FAILED': '/static/dashboard/img/floatingip-red.svg',
+ 'FLOATINGIP_DELETE': '/static/dashboard/img/floatingip-red.svg',
+ 'FLOATINGIP_IN_PROGRESS': '/static/dashboard/img/floatingip-gray.gif',
+ 'FLOATINGIP_INIT': '/static/dashboard/img/floatingip-gray.svg',
+ 'FLOATINGIP_COMPLETE': '/static/dashboard/img/floatingip-green.svg',
+ 'ROUTER_FAILED': '/static/dashboard/img/router-red.svg',
+ 'ROUTER_DELETE': '/static/dashboard/img/router-red.svg',
+ 'ROUTER_IN_PROGRESS': '/static/dashboard/img/router-gray.gif',
+ 'ROUTER_INIT': '/static/dashboard/img/router-gray.svg',
+ 'ROUTER_COMPLETE': '/static/dashboard/img/router-green.svg',
+ 'POLICY_FAILED': '/static/dashboard/img/policy-red.svg',
+ 'POLICY_DELETE': '/static/dashboard/img/policy-red.svg',
+ 'POLICY_IN_PROGRESS': '/static/dashboard/img/policy-gray.gif',
+ 'POLICY_INIT': '/static/dashboard/img/policy-gray.svg',
+ 'POLICY_COMPLETE': '/static/dashboard/img/policy-green.svg',
+ 'CONFIG_FAILED': '/static/dashboard/img/config-red.svg',
+ 'CONFIG_DELETE': '/static/dashboard/img/config-red.svg',
+ 'CONFIG_IN_PROGRESS': '/static/dashboard/img/config-gray.gif',
+ 'CONFIG_INIT': '/static/dashboard/img/config-gray.svg',
+ 'CONFIG_COMPLETE': '/static/dashboard/img/config-green.svg',
+ 'NETWORK_FAILED': '/static/dashboard/img/network-red.svg',
+ 'NETWORK_DELETE': '/static/dashboard/img/network-red.svg',
+ 'NETWORK_IN_PROGRESS': '/static/dashboard/img/network-gray.gif',
+ 'NETWORK_INIT': '/static/dashboard/img/network-gray.svg',
+ 'NETWORK_COMPLETE': '/static/dashboard/img/network-green.svg',
+ 'PORT_FAILED': '/static/dashboard/img/port-red.svg',
+ 'PORT_DELETE': '/static/dashboard/img/port-red.svg',
+ 'PORT_IN_PROGRESS': '/static/dashboard/img/port-gray.gif',
+ 'PORT_INIT': '/static/dashboard/img/port-gray.svg',
+ 'PORT_COMPLETE': '/static/dashboard/img/port-green.svg',
+ 'SECURITYGROUP_FAILED': '/static/dashboard/img/securitygroup-red.svg',
+ 'SECURITYGROUP_DELETE': '/static/dashboard/img/securitygroup-red.svg',
+ 'SECURITYGROUP_IN_PROGRESS':
+ '/static/dashboard/img/securitygroup-gray.gif',
+ 'SECURITYGROUP_INIT': '/static/dashboard/img/securitygroup-gray.svg',
+ 'SECURITYGROUP_COMPLETE': '/static/dashboard/img/securitygroup-green.svg',
+ 'VPN_FAILED': '/static/dashboard/img/vpn-red.svg',
+ 'VPN_DELETE': '/static/dashboard/img/vpn-red.svg',
+ 'VPN_IN_PROGRESS': '/static/dashboard/img/vpn-gray.gif',
+ 'VPN_INIT': '/static/dashboard/img/vpn-gray.svg',
+ 'VPN_COMPLETE': '/static/dashboard/img/vpn-green.svg',
+ 'FLAVOR_FAILED': '/static/dashboard/img/flavor-red.svg',
+ 'FLAVOR_DELETE': '/static/dashboard/img/flavor-red.svg',
+ 'FLAVOR_IN_PROGRESS': '/static/dashboard/img/flavor-gray.gif',
+ 'FLAVOR_INIT': '/static/dashboard/img/flavor-gray.svg',
+ 'FLAVOR_COMPLETE': '/static/dashboard/img/flavor-green.svg',
+ 'KEYPAIR_FAILED': '/static/dashboard/img/keypair-red.svg',
+ 'KEYPAIR_DELETE': '/static/dashboard/img/keypair-red.svg',
+ 'KEYPAIR_IN_PROGRESS': '/static/dashboard/img/keypair-gray.gif',
+ 'KEYPAIR_INIT': '/static/dashboard/img/keypair-gray.svg',
+ 'KEYPAIR_COMPLETE': '/static/dashboard/img/keypair-green.svg',
'UNKNOWN_FAILED': '/static/dashboard/img/unknown-red.svg',
'UNKNOWN_DELETE': '/static/dashboard/img/unknown-red.svg',
'UNKNOWN_IN_PROGRESS': '/static/dashboard/img/unknown-gray.gif',
@@ -177,27 +253,91 @@ resource_images = {
}
+resource_types = {
+ # LB
+ 'LoadBalance': 'LB',
+ 'HealthMonitor': 'LB',
+ 'PoolMember': 'LB',
+ 'Pool': 'LB',
+ # DB
+ 'DBInstance': 'DB',
+ 'Database': 'DB',
+ # SERVER
+ 'Instance': 'SERVER',
+ 'Server': 'SERVER',
+ # ALARM
+ 'Alarm': 'ALARM',
+ 'CombinationAlarm': 'ALARM',
+ 'CWLiteAlarm': 'ALARM',
+ # VOLUME
+ 'Volume': 'VOLUME',
+ 'VolumeAttachment': 'VOLUME',
+ # STACK
+ 'stack': 'STACK',
+ 'AutoScalingGroup': 'STACK',
+ 'InstanceGroup': 'STACK',
+ 'ServerGroup': 'STACK',
+ 'ResourceGroup': 'STACK',
+ # IMAGE
+ 'Image': 'IMAGE',
+ # WAIT
+ 'WaitCondition': 'WAIT',
+ 'WaitConditionHandle': 'WAIT',
+ 'UpdateWaitConditionHandle': 'WAIT',
+ # FIREWALL
+ 'Firewall': 'FIREWALL',
+ 'FirewallPolicy': 'FIREWALL',
+ 'FirewallRule': 'FIREWALL',
+ # FLOATINGIP
+ 'FloatingIP': 'FLOATINGIP',
+ 'FloatingIPAssociation': 'FLOATINGIP',
+ # ROUTER
+ 'Router': 'ROUTER',
+ 'RouterGateway': 'ROUTER',
+ 'RouterInterface': 'ROUTER',
+ # POLICY
+ 'ScalingPolicy': 'POLICY',
+ # CONFIG
+ 'CloudConfig': 'CONFIG',
+ 'MultipartMime': 'CONFIG',
+ 'SoftwareConfig': 'CONFIG',
+ 'SoftwareDeployment': 'CONFIG',
+ 'StructuredConfig': 'CONFIG',
+ 'StructuredDeployment': 'CONFIG',
+ # NETWORK
+ 'Net': 'NETWORK',
+ 'Subnet': 'NETWORK',
+ 'NetworkGateway': 'NETWORK',
+ 'ProviderNet': 'NETWORK',
+ # PORT
+ 'Port': 'PORT',
+ # SECURITYGROUP
+ 'SecurityGroup': 'SECURITYGROUP',
+ # VPN
+ 'VPNService': 'VPN',
+ # FLAVOR
+ 'Flavor': 'FLAVOR',
+ # KEYPAIR
+ 'KeyPair': 'KEYPAIR',
+}
+
+
def get_resource_type(type):
- if re.search('LoadBalancer', type):
- return 'LB'
- elif re.search('DBInstance', type) or re.search('Database', type):
- return 'DB'
- elif re.search('Instance', type) or re.search('Server', type):
- return 'SERVER'
- elif re.search('stack', type):
- return 'STACK'
- else:
- return 'UNKNOWN'
+ for key, value in six.iteritems(resource_types):
+ if key in type:
+ return value
+
+ return 'UNKNOWN'
def get_resource_status(status):
- if re.search('IN_PROGRESS', status):
+ if ('IN_PROGRESS' in status):
return 'IN_PROGRESS'
- elif re.search('FAILED', status):
+ elif ('FAILED' in status):
return 'FAILED'
- elif re.search('DELETE', status):
+ elif ('DELETE' in status):
return 'DELETE'
- elif re.search('INIT', status):
+ elif ('INIT' in status):
return 'INIT'
else:
return 'COMPLETE'
diff --git a/openstack_dashboard/static/dashboard/img/alarm-gray.gif b/openstack_dashboard/static/dashboard/img/alarm-gray.gif
new file mode 100644
index 0000000000..5b1ae56deb
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/alarm-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/alarm-gray.svg b/openstack_dashboard/static/dashboard/img/alarm-gray.svg
new file mode 100644
index 0000000000..87a1cbe7e5
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/alarm-gray.svg
@@ -0,0 +1,36 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/alarm-green.svg b/openstack_dashboard/static/dashboard/img/alarm-green.svg
new file mode 100644
index 0000000000..5dd81b8dc7
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/alarm-green.svg
@@ -0,0 +1,36 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/alarm-red.svg b/openstack_dashboard/static/dashboard/img/alarm-red.svg
new file mode 100644
index 0000000000..4a9ccce96f
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/alarm-red.svg
@@ -0,0 +1,36 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/config-gray.gif b/openstack_dashboard/static/dashboard/img/config-gray.gif
new file mode 100644
index 0000000000..5b514eaa94
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/config-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/config-gray.svg b/openstack_dashboard/static/dashboard/img/config-gray.svg
new file mode 100644
index 0000000000..caa909657d
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/config-gray.svg
@@ -0,0 +1,46 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/config-green.svg b/openstack_dashboard/static/dashboard/img/config-green.svg
new file mode 100644
index 0000000000..b1595950a5
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/config-green.svg
@@ -0,0 +1,46 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/config-red.svg b/openstack_dashboard/static/dashboard/img/config-red.svg
new file mode 100644
index 0000000000..1c6655acf8
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/config-red.svg
@@ -0,0 +1,46 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/firewall-gray.gif b/openstack_dashboard/static/dashboard/img/firewall-gray.gif
new file mode 100644
index 0000000000..afc89b33bb
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/firewall-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/firewall-gray.svg b/openstack_dashboard/static/dashboard/img/firewall-gray.svg
new file mode 100644
index 0000000000..fccfb14041
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/firewall-gray.svg
@@ -0,0 +1,49 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/firewall-green.svg b/openstack_dashboard/static/dashboard/img/firewall-green.svg
new file mode 100644
index 0000000000..c7dd757fc8
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/firewall-green.svg
@@ -0,0 +1,49 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/firewall-red.svg b/openstack_dashboard/static/dashboard/img/firewall-red.svg
new file mode 100644
index 0000000000..4bd5866818
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/firewall-red.svg
@@ -0,0 +1,49 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/flavor-gray.gif b/openstack_dashboard/static/dashboard/img/flavor-gray.gif
new file mode 100644
index 0000000000..bd518fe32d
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/flavor-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/flavor-gray.svg b/openstack_dashboard/static/dashboard/img/flavor-gray.svg
new file mode 100644
index 0000000000..c2c9a7354f
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/flavor-gray.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/flavor-green.svg b/openstack_dashboard/static/dashboard/img/flavor-green.svg
new file mode 100644
index 0000000000..4308c7b1a3
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/flavor-green.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/flavor-red.svg b/openstack_dashboard/static/dashboard/img/flavor-red.svg
new file mode 100644
index 0000000000..b1b3169a1a
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/flavor-red.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/floatingip-gray.gif b/openstack_dashboard/static/dashboard/img/floatingip-gray.gif
new file mode 100644
index 0000000000..b59b7b495b
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/floatingip-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/floatingip-gray.svg b/openstack_dashboard/static/dashboard/img/floatingip-gray.svg
new file mode 100644
index 0000000000..86f340b4f8
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/floatingip-gray.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/floatingip-green.svg b/openstack_dashboard/static/dashboard/img/floatingip-green.svg
new file mode 100644
index 0000000000..a15461a89e
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/floatingip-green.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/floatingip-red.svg b/openstack_dashboard/static/dashboard/img/floatingip-red.svg
new file mode 100644
index 0000000000..d8576bfcc8
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/floatingip-red.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/image-gray.gif b/openstack_dashboard/static/dashboard/img/image-gray.gif
new file mode 100644
index 0000000000..19505306cd
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/image-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/image-gray.svg b/openstack_dashboard/static/dashboard/img/image-gray.svg
new file mode 100644
index 0000000000..2912f6987d
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/image-gray.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/image-green.svg b/openstack_dashboard/static/dashboard/img/image-green.svg
new file mode 100644
index 0000000000..eabacd4b9b
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/image-green.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/image-red.svg b/openstack_dashboard/static/dashboard/img/image-red.svg
new file mode 100644
index 0000000000..a77fea98d5
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/image-red.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/keypair-gray.gif b/openstack_dashboard/static/dashboard/img/keypair-gray.gif
new file mode 100644
index 0000000000..56ac021333
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/keypair-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/keypair-gray.svg b/openstack_dashboard/static/dashboard/img/keypair-gray.svg
new file mode 100644
index 0000000000..b9110a8ac5
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/keypair-gray.svg
@@ -0,0 +1,46 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/keypair-green.svg b/openstack_dashboard/static/dashboard/img/keypair-green.svg
new file mode 100644
index 0000000000..8874bcd7dc
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/keypair-green.svg
@@ -0,0 +1,46 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/keypair-red.svg b/openstack_dashboard/static/dashboard/img/keypair-red.svg
new file mode 100644
index 0000000000..3b852696c8
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/keypair-red.svg
@@ -0,0 +1,46 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/network-gray.gif b/openstack_dashboard/static/dashboard/img/network-gray.gif
new file mode 100644
index 0000000000..214f80d468
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/network-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/network-gray.svg b/openstack_dashboard/static/dashboard/img/network-gray.svg
new file mode 100644
index 0000000000..262f892451
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/network-gray.svg
@@ -0,0 +1,35 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/network-green.svg b/openstack_dashboard/static/dashboard/img/network-green.svg
new file mode 100644
index 0000000000..f08f30b418
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/network-green.svg
@@ -0,0 +1,35 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/network-red.svg b/openstack_dashboard/static/dashboard/img/network-red.svg
new file mode 100644
index 0000000000..414d5c6848
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/network-red.svg
@@ -0,0 +1,35 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/policy-gray.gif b/openstack_dashboard/static/dashboard/img/policy-gray.gif
new file mode 100644
index 0000000000..a1dc8dc217
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/policy-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/policy-gray.svg b/openstack_dashboard/static/dashboard/img/policy-gray.svg
new file mode 100644
index 0000000000..7ab6c4aa96
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/policy-gray.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/policy-green.svg b/openstack_dashboard/static/dashboard/img/policy-green.svg
new file mode 100644
index 0000000000..5e55029171
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/policy-green.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/policy-red.svg b/openstack_dashboard/static/dashboard/img/policy-red.svg
new file mode 100644
index 0000000000..37428247c6
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/policy-red.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/port-gray.gif b/openstack_dashboard/static/dashboard/img/port-gray.gif
new file mode 100644
index 0000000000..79a024d370
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/port-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/port-gray.svg b/openstack_dashboard/static/dashboard/img/port-gray.svg
new file mode 100644
index 0000000000..b3d38d75f4
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/port-gray.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/port-green.svg b/openstack_dashboard/static/dashboard/img/port-green.svg
new file mode 100644
index 0000000000..d2ff80d9da
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/port-green.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/port-red.svg b/openstack_dashboard/static/dashboard/img/port-red.svg
new file mode 100644
index 0000000000..dc03ab395b
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/port-red.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/router-gray.gif b/openstack_dashboard/static/dashboard/img/router-gray.gif
new file mode 100644
index 0000000000..73bee33813
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/router-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/router-gray.svg b/openstack_dashboard/static/dashboard/img/router-gray.svg
new file mode 100644
index 0000000000..74dcd9a729
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/router-gray.svg
@@ -0,0 +1,48 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/router-green.svg b/openstack_dashboard/static/dashboard/img/router-green.svg
new file mode 100644
index 0000000000..eed5cf8f8b
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/router-green.svg
@@ -0,0 +1,48 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/router-red.svg b/openstack_dashboard/static/dashboard/img/router-red.svg
new file mode 100644
index 0000000000..a82eb234b1
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/router-red.svg
@@ -0,0 +1,48 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/securitygroup-gray.gif b/openstack_dashboard/static/dashboard/img/securitygroup-gray.gif
new file mode 100644
index 0000000000..3ac72a7335
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/securitygroup-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/securitygroup-gray.svg b/openstack_dashboard/static/dashboard/img/securitygroup-gray.svg
new file mode 100644
index 0000000000..d51e45f612
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/securitygroup-gray.svg
@@ -0,0 +1,32 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/securitygroup-green.svg b/openstack_dashboard/static/dashboard/img/securitygroup-green.svg
new file mode 100644
index 0000000000..e710d5bd46
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/securitygroup-green.svg
@@ -0,0 +1,32 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/securitygroup-red.svg b/openstack_dashboard/static/dashboard/img/securitygroup-red.svg
new file mode 100644
index 0000000000..acb97ec0f5
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/securitygroup-red.svg
@@ -0,0 +1,32 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/volume-gray.gif b/openstack_dashboard/static/dashboard/img/volume-gray.gif
new file mode 100644
index 0000000000..0fd02169e9
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/volume-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/volume-gray.svg b/openstack_dashboard/static/dashboard/img/volume-gray.svg
new file mode 100644
index 0000000000..cdb3ae51a2
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/volume-gray.svg
@@ -0,0 +1,41 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/volume-green.svg b/openstack_dashboard/static/dashboard/img/volume-green.svg
new file mode 100644
index 0000000000..7df5170e73
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/volume-green.svg
@@ -0,0 +1,41 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/volume-red.svg b/openstack_dashboard/static/dashboard/img/volume-red.svg
new file mode 100644
index 0000000000..776c197eec
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/volume-red.svg
@@ -0,0 +1,41 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/vpn-gray.svg b/openstack_dashboard/static/dashboard/img/vpn-gray.svg
new file mode 100644
index 0000000000..3b8a4c3ebe
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/vpn-gray.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/vpn-green.svg b/openstack_dashboard/static/dashboard/img/vpn-green.svg
new file mode 100644
index 0000000000..98147633cf
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/vpn-green.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/vpn-red.svg b/openstack_dashboard/static/dashboard/img/vpn-red.svg
new file mode 100644
index 0000000000..50aba606e6
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/vpn-red.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/vpn.gif b/openstack_dashboard/static/dashboard/img/vpn.gif
new file mode 100644
index 0000000000..0e0c5dfb7e
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/vpn.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/wait-gray.gif b/openstack_dashboard/static/dashboard/img/wait-gray.gif
new file mode 100644
index 0000000000..b5bf1f50bd
Binary files /dev/null and b/openstack_dashboard/static/dashboard/img/wait-gray.gif differ
diff --git a/openstack_dashboard/static/dashboard/img/wait-gray.svg b/openstack_dashboard/static/dashboard/img/wait-gray.svg
new file mode 100644
index 0000000000..27a7c546b9
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/wait-gray.svg
@@ -0,0 +1,44 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/wait-green.svg b/openstack_dashboard/static/dashboard/img/wait-green.svg
new file mode 100644
index 0000000000..6d2b9e6321
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/wait-green.svg
@@ -0,0 +1,44 @@
+
+
+
diff --git a/openstack_dashboard/static/dashboard/img/wait-red.svg b/openstack_dashboard/static/dashboard/img/wait-red.svg
new file mode 100644
index 0000000000..3da9305670
--- /dev/null
+++ b/openstack_dashboard/static/dashboard/img/wait-red.svg
@@ -0,0 +1,44 @@
+
+
+