lib/ohai/plugins/ec2.rb in ohai-6.24.2 vs lib/ohai/plugins/ec2.rb in ohai-7.0.0.rc.0
- old
+ new
@@ -15,43 +15,45 @@
# 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.
-provides "ec2"
-
require 'ohai/mixin/ec2_metadata'
-require_plugin "hostname"
-require_plugin "kernel"
-require_plugin "network"
+Ohai.plugin(:EC2) do
+ include Ohai::Mixin::Ec2Metadata
-extend Ohai::Mixin::Ec2Metadata
+ provides "ec2"
-def has_ec2_mac?
- network[:interfaces].values.each do |iface|
- unless iface[:arp].nil?
- if iface[:arp].value?("fe:ff:ff:ff:ff:ff")
- Ohai::Log.debug("has_ec2_mac? == true")
- return true
+ depends "network/interfaces"
+
+ def has_ec2_mac?
+ network[:interfaces].values.each do |iface|
+ unless iface[:arp].nil?
+ if iface[:arp].value?("fe:ff:ff:ff:ff:ff")
+ Ohai::Log.debug("has_ec2_mac? == true")
+ return true
+ end
end
end
+ Ohai::Log.debug("has_ec2_mac? == false")
+ false
end
- Ohai::Log.debug("has_ec2_mac? == false")
- false
-end
-def looks_like_ec2?
- # Try non-blocking connect so we don't "block" if
- # the Xen environment is *not* EC2
- hint?('ec2') || has_ec2_mac? && can_metadata_connect?(EC2_METADATA_ADDR,80)
-end
+ def looks_like_ec2?
+ # Try non-blocking connect so we don't "block" if
+ # the Xen environment is *not* EC2
+ hint?('ec2') || has_ec2_mac? && can_metadata_connect?(Ohai::Mixin::Ec2Metadata::EC2_METADATA_ADDR,80)
+ end
-if looks_like_ec2?
- Ohai::Log.debug("looks_like_ec2? == true")
- ec2 Mash.new
- fetch_metadata.each {|k, v| ec2[k] = v }
- ec2[:userdata] = self.fetch_userdata
-else
- Ohai::Log.debug("looks_like_ec2? == false")
- false
+ collect_data do
+ if looks_like_ec2?
+ Ohai::Log.debug("looks_like_ec2? == true")
+ ec2 Mash.new
+ fetch_metadata.each {|k, v| ec2[k] = v }
+ ec2[:userdata] = self.fetch_userdata
+ else
+ Ohai::Log.debug("looks_like_ec2? == false")
+ false
+ end
+ end
end